{"id":511,"date":"2025-09-11T23:14:17","date_gmt":"2025-09-11T23:14:17","guid":{"rendered":"https:\/\/cafefellix.pusaq8.com\/?page_id=511"},"modified":"2025-12-26T13:33:40","modified_gmt":"2025-12-26T13:33:40","slug":"reservetion","status":"publish","type":"page","link":"https:\/\/testcafe.pusaq8.com\/en\/reservetion\/","title":{"rendered":"Reservation"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"511\" class=\"elementor elementor-511\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0645ad5 e-con-full e-flex e-con e-parent\" data-id=\"0645ad5\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bac57c5 elementor-widget elementor-widget-heading\" data-id=\"bac57c5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Table Reservation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-62539bc elementor-widget elementor-widget-text-editor\" data-id=\"62539bc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We are happy to accept reservations.<br \/>No reservations are possible on Saturdays and Sundays after 2:00 PM.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cfcf949 elementor-widget elementor-widget-html\" data-id=\"cfcf949\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- FORMULARIO RESERVA -->\r\n<div id=\"reservation-form-container\">\r\n  <form class=\"reservation-form\" method=\"POST\" action=\"\">\r\n    <!-- Selecci\u00f3n sucursal -->\r\n    <h3>Location<\/h3>\r\n    <div class=\"branch-section\">\r\n      <label class=\"custom-radio\">\r\n        <input type=\"radio\" name=\"branch\" value=\"Bellevueplatz\" checked>\r\n        <span class=\"radio-btn\"><\/span>\r\n        <span class=\"radio-text\">Bellevueplatz 5<\/span>\r\n      <\/label>\r\n      <label class=\"custom-radio\">\r\n        <input type=\"radio\" name=\"branch\" value=\"Bahnhofstrasse\">\r\n        <span class=\"radio-btn\"><\/span>\r\n        <span class=\"radio-text\">Bahnhofstrasse 79<\/span>\r\n      <\/label>\r\n    <\/div>\r\n\r\n    <!-- Informaci\u00f3n cliente -->\r\n    <h3>Client information<\/h3>\r\n    <label>Full Name\r\n      <input type=\"text\" id=\"name\" name=\"name\" placeholder=\"Enter your full name\" required>\r\n    <\/label>\r\n    <label>Your E-mail Address\r\n      <input type=\"email\" id=\"email\" name=\"email\" placeholder=\"Enter your E-mail\" required>\r\n    <\/label>\r\n    <label>Phone Number\r\n      <input type=\"tel\" id=\"phone\" name=\"phone\" placeholder=\"Enter your phone number\" required>\r\n    <\/label>\r\n\r\n    <!-- Calendario -->\r\n    <h3>Date<\/h3>\r\n    <div id=\"calendar\"><\/div>\r\n    <input type=\"hidden\" name=\"date\" id=\"selected-date\">\r\n\r\n    <!-- Hora -->\r\n    <h3>Time<\/h3>\r\n    <div id=\"saturday-warning\" style=\"display:none; background:#fff3cd; padding:10px; border-radius:6px; margin-bottom:10px; font-size:13px; color:#856404; border:1px solid #ffeaa7;\">\r\n      On Saturdays, reservations are only possible until 1:00 PM.\r\n    <\/div>\r\n    <div class=\"time-picker\">\r\n      <input type=\"number\" id=\"hours\" min=\"1\" max=\"12\" value=\"\">\r\n      <span>:<\/span>\r\n      <input type=\"number\" id=\"minutes\" min=\"0\" max=\"59\" value=\"\">\r\n      <select id=\"ampm\">\r\n        <option>AM<\/option>\r\n        <option selected>PM<\/option>\r\n      <\/select>\r\n    <\/div>\r\n    <input type=\"hidden\" name=\"time\" id=\"hidden-time\">\r\n\r\n    <!-- Invitados -->\r\n    <h3>Guests<\/h3>\r\n    <div class=\"guests\">\r\n      <button type=\"button\" onclick=\"updateGuests(-1)\">\u2212<\/button>\r\n      <div>\r\n          <span id=\"guest-count\">2<\/span>\r\n          <span>Guests<\/span>\r\n      <\/div>\r\n      <button type=\"button\" onclick=\"updateGuests(1)\">+<\/button>\r\n    <\/div>\r\n    <input type=\"hidden\" name=\"guests\" id=\"hidden-guests\" value=\"2\">\r\n    <p class=\"guests-disclaimer\">\r\n      For reservations of 9 people or more, please call us in advance at\r\n      <a href=\"tel:+41442518047\">+41 44 251 80 47<\/a> (Bahnhofstrasse)\n or at <a href=\"tel:+41442518060\">+41 44 251 80 60<\/a> (Bellevue) an.\r\n    <\/p>\r\n\r\n    <!-- Contacto -->\r\n    <h3>Contact me<\/h3>\r\n    <label class=\"custom-radio\">\r\n      <input type=\"radio\" name=\"contact\" value=\"email\" checked>\r\n      <span class=\"radio-btn\"><\/span>\r\n      Via Email\r\n    <\/label>\r\n    <label class=\"custom-radio\">\r\n      <input type=\"radio\" name=\"contact\" value=\"phone\">\r\n      <span class=\"radio-btn\"><\/span>\r\n      Via Telephone\r\n    <\/label>\r\n\r\n    <!-- Bot\u00f3n -->\r\n    <button class=\"confirm-btn\" type=\"submit\" name=\"reservation_submit\">Confirm<\/button>\r\n  <input type=\"hidden\" name=\"trp-form-language\" value=\"en\"\/><\/form>\r\n<\/div>\r\n\r\n<!-- Confirmation screen -->\r\n<div class=\"confirmation-screen\" id=\"confirmation-screen\" style=\"display:none;\"><\/div>\r\n\r\n<style>\r\n.reservation-form {\r\n  background: #fff;\r\n  padding: 25px;\r\n  max-width: 620px;\r\n  margin: 0 auto;\r\n  border-radius: 12px;\r\n  box-shadow: 0 4px 12px rgba(0,0,0,0.1);\r\n  font-family: \"Inter\", sans-serif;\r\n  color: #333;\r\n}\r\n.reservation-form h3 {\r\n  margin-top: 20px;\r\n  font-size: 16px;\r\n  font-weight: 600;\r\n  color: #444;\r\n}\r\n.reservation-form label {\r\n  margin: 10px 0;\r\n  font-size: 14px;\r\n  color: #555;\r\n}\r\n.reservation-form input[type=\"text\"],\r\n.reservation-form input[type=\"email\"],\r\n.reservation-form input[type=\"tel\"] {\r\n  width: 100%;\r\n  padding: 10px;\r\n  margin-top: 6px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 8px;\r\n  font-size: 14px;\r\n}\r\n\/* === Radios personalizados === *\/\r\n.custom-radio {\r\n  display: flex;\r\n  flex-direction: row;\r\n  align-items: center;\r\n  gap: 10px;\r\n  margin: 8px 0;\r\n  cursor: pointer;\r\n  font-size: 15px;\r\n  position: relative;\r\n}\r\n.custom-radio input { display: none; }\r\n.radio-btn {\r\n  width: 22px;\r\n  height: 22px;\r\n  border: 2px solid #d44d77;\r\n  border-radius: 50%;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  flex-shrink: 0;\r\n  position: relative;\r\n}\r\n.custom-radio input:checked + .radio-btn {\r\n  background-color: #d44d77;\r\n}\r\n.custom-radio input:checked + .radio-btn::after {\r\n  content: \"\";\r\n  position: absolute;\r\n  width: 6px;\r\n  height: 12px;\r\n  border: solid white;\r\n  border-width: 0 2px 2px 0;\r\n  transform: rotate(45deg);\r\n}\r\n.radio-text {\r\n  display: inline-block;\r\n  vertical-align: middle;\r\n  line-height: 1.2;\r\n}\r\n\/* Calendario *\/\r\n#calendar {\r\n  border: 1px solid #ddd;\r\n  border-radius: 8px;\r\n  padding: 10px;\r\n  margin-top: 10px;\r\n}\r\n.calendar-header {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  margin-bottom: 10px;\r\n  font-weight: bold;\r\n}\r\n.calendar-header button {\r\n  background: none;\r\n  border: none;\r\n  font-size: 18px;\r\n  color: #d44d77;\r\n  cursor: pointer;\r\n}\r\n.calendar-days, .calendar-dates {\r\n  display: grid;\r\n  grid-template-columns: repeat(7, 1fr);\r\n  text-align: center;\r\n}\r\n.calendar-days div {\r\n  font-weight: bold;\r\n  padding: 5px 0;\r\n}\r\n.calendar-dates div {\r\n  padding: 8px;\r\n  cursor: pointer;\r\n  border-radius: 6px;\r\n}\r\n.calendar-dates div:hover { background: #f5d2dc; }\r\n.calendar-dates .selected {\r\n  background: #d44d77;\r\n  color: #fff;\r\n}\r\n.calendar-dates .disabled {\r\n  color: #ccc;\r\n  cursor: not-allowed;\r\n  pointer-events: none;\r\n  text-decoration: line-through;\r\n}\r\n.calendar-dates .disabled:hover {\r\n  background: transparent;\r\n}\r\n\/* Hora *\/\r\n.time-picker {\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  gap: 6px;\r\n  margin-top: 10px;\r\n}\r\n.time-picker input, .time-picker select {\r\n  width: 70px;\r\n  text-align: center;\r\n  padding: 8px;\r\n  border: 1px solid #ddd;\r\n  border-radius: 6px;\r\n  font-size: 14px;\r\n}\r\n.time-picker span { font-weight: bold; }\r\n\/* Invitados *\/\r\n.guests {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  padding-right: 50px;\r\n  padding-left: 50px;\r\n  gap: 15px;\r\n  margin-top: 10px;\r\n}\r\n.guests button {\r\n  width: 32px;\r\n  height: 32px;\r\n  border: none;\r\n  border-radius: 15%;\r\n  background: #D47491;\r\n  color: #fff;\r\n  font-size: 18px;\r\n  cursor: pointer;\r\n}\r\n.guests button:hover{\r\n    background: #b61748;\r\n}\r\n.guests span { font-weight: 600; }\r\n.guests-disclaimer {\r\n  font-size: 12px;\r\n  color: #222222;\r\n  margin-top: 1rem;\r\n}\r\n\r\n\/* Bot\u00f3n *\/\r\n.confirm-btn {\r\n  width: 100%;\r\n  margin-top: 25px;\r\n  padding: 14px;\r\n  background: #D47491 ;\r\n  border: none;\r\n  border-radius: 8px;\r\n  color: #fff;\r\n  font-weight: bold;\r\n  font-size: 16px;\r\n  cursor: pointer;\r\n}\r\n.confirm-btn:hover { background: #b61748; }\r\n\/* message *\/\r\n.confirmation-screen {\r\n  text-align: center;\r\n  padding: 40px;\r\n  max-width: 620px;\r\n  margin: 0 auto;\r\n  border-radius: 12px;\r\n  box-shadow: 0 4px 12px rgba(0,0,0,0.1);\r\n  background: #fff;\r\n  font-family: \"Inter\", sans-serif;\r\n}\r\n.confirmation-icon {\r\n  width: 80px;\r\n  height: 80px;\r\n  background: #d44d77;\r\n  border-radius: 50%;\r\n  display: inline-flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  margin-bottom: 20px;\r\n}\r\n.confirmation-icon svg {\r\n  color: #fff;\r\n  width: 40px;\r\n  height: 40px;\r\n}\r\n.confirmation-screen h2 {\r\n  font-family: \"Times New Roman\";\r\n  font-size: 20px;\r\n  font-weight: 700;\r\n  margin-bottom: 10px;\r\n  color: #333;\r\n}\r\n.confirmation-screen p {\r\n  font-family: \"Times New Roman\";\r\n  color: #777;\r\n  font-size: 20px;\r\n  margin-bottom: 25px;\r\n}\r\n.reservation-details {\r\n  border: 1px solid #eee;\r\n  padding: 20px;\r\n  background: #fafafa;\r\n  border-radius: 10px;\r\n  margin: 20px 0;\r\n}\r\n.reservation-details h4 {\r\n  font-family: \"Times New Roman\";\r\n  font-size: 16px;\r\n  font-weight: 700;\r\n  margin-bottom: 15px;\r\n  color: #000;\r\n}\r\n.reservation-details p {\r\n  font-family: \"Times New Roman\";\r\n  margin: 0;\r\n  font-size: 16px;\r\n  color: #000;\r\n  text-align: left;\r\n}\r\n.reservation-details p b {\r\n  color: #333;\r\n  display: inline-block;\r\n  min-width: 80px;\r\n}\r\n.contact-info {\r\n  font-family: \"Times New Roman\";\r\n  margin-top: 25px;\r\n  font-size: 20px;\r\n  color: #888;\r\n}\r\n<\/style>\r\n\r\n<script>\r\nlet guests = 2;\r\nlet selectedDateObj = null;\r\n\r\nfunction updateGuests(change) {\r\n  guests = Math.max(1, guests + change);\r\n  \r\n  \/\/ Cap at 9\r\n  if (guests > 8) {\r\n    guests = 8;\r\n    \r\n  }\r\n  \r\n  document.getElementById(\"guest-count\").innerText = guests;\r\n  document.getElementById(\"hidden-guests\").value = guests;\r\n}\r\n\r\n\/\/ Funci\u00f3n para verificar si es s\u00e1bado\r\nfunction isSaturday(year, month, day) {\r\n  const date = new Date(year, month, day);\r\n  return date.getDay() === 6; \/\/ 6 = S\u00e1bado\r\n}\r\n\/\/ Funci\u00f3n para aplicar restricciones de hora seg\u00fan el d\u00eda\r\nfunction applyTimeRestrictions() {\r\n  const hoursInput = document.getElementById(\"hours\");\r\n  const minutesInput = document.getElementById(\"minutes\");\r\n  const ampmSelect = document.getElementById(\"ampm\");\r\n  const saturdayWarning = document.getElementById(\"saturday-warning\");\r\n  \r\n  if (!selectedDateObj) return;\r\n  \r\n  const isSat = isSaturday(selectedDateObj.year, selectedDateObj.month, selectedDateObj.day);\r\n  \r\n  if (isSat) {\r\n    \/\/ Mostrar advertencia\r\n    saturdayWarning.style.display = \"block\";\r\n    \r\n    \/\/ Si est\u00e1 en PM y la hora es mayor a 1, ajustar\r\n    if (ampmSelect.value === \"PM\") {\r\n      const currentHour = parseInt(hoursInput.value);\r\n      if (currentHour > 1) {\r\n        hoursInput.value = 1;\r\n        minutesInput.value = \"00\";\r\n      }\r\n    }\r\n  } else {\r\n    \/\/ Ocultar advertencia si no es s\u00e1bado\r\n    saturdayWarning.style.display = \"none\";\r\n  }\r\n}\r\n\/\/ Validar cambios en el selector de hora\r\nfunction validateTimeInput() {\r\n  if (!selectedDateObj) return;\r\n  \r\n  const hoursInput = document.getElementById(\"hours\");\r\n  const minutesInput = document.getElementById(\"minutes\");\r\n  const ampmSelect = document.getElementById(\"ampm\");\r\n  \r\n  const isSat = isSaturday(selectedDateObj.year, selectedDateObj.month, selectedDateObj.day);\r\n  \r\n  if (isSat && ampmSelect.value === \"PM\") {\r\n    const hour = parseInt(hoursInput.value);\r\n    \r\n    if (hour > 1) {\r\n      alert(\"Samstags sind Reservierungen nur bis 13:00 Uhr (1:00 PM) m\u00f6glich.\");\r\n      hoursInput.value = 1;\r\n      minutesInput.value = \"00\";\r\n    }\r\n  }\r\n}\r\n\/\/ Agregar listeners a los inputs de tiempo\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const hoursInput = document.getElementById(\"hours\");\r\n  const minutesInput = document.getElementById(\"minutes\");\r\n  const ampmSelect = document.getElementById(\"ampm\");\r\n  \r\n  hoursInput.addEventListener(\"change\", validateTimeInput);\r\n  minutesInput.addEventListener(\"change\", validateTimeInput);\r\n  ampmSelect.addEventListener(\"change\", function() {\r\n    applyTimeRestrictions();\r\n    validateTimeInput();\r\n  });\r\n});\r\n\/\/ Guardar hora elegida antes de enviar\r\ndocument.querySelector(\"form.reservation-form\").addEventListener(\"submit\", function(e) {\r\n  const hours = document.getElementById(\"hours\").value;\r\n  const minutes = document.getElementById(\"minutes\").value.padStart(2, \"0\");\r\n  const ampm = document.getElementById(\"ampm\").value;\r\n  \r\n  \/\/ Validaci\u00f3n final antes de enviar\r\n  if (selectedDateObj) {\r\n    const isSat = isSaturday(selectedDateObj.year, selectedDateObj.month, selectedDateObj.day);\r\n    const hour = parseInt(hours);\r\n    \r\n    if (isSat && ampm === \"PM\" && hour > 1) {\r\n      e.preventDefault();\r\n      alert(\"Samstags sind Reservierungen nur bis 13:00 Uhr (1:00 PM) m\u00f6glich.\");\r\n      return false;\r\n    }\r\n  }\r\n  \r\n  document.getElementById(\"hidden-time\").value = `${hours}:${minutes} ${ampm}`;\r\n});\r\n\r\n\/* ===================== CALENDARIO ===================== *\/\r\nconst calendar = document.getElementById(\"calendar\");\r\nlet today = new Date();\r\nlet currentMonth = today.getMonth();\r\nlet currentYear = today.getFullYear();\r\nconst monthNames = [\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"];\r\n\r\nfunction renderCalendar(month, year) {\r\n  calendar.innerHTML = \"\";\r\n  const header = document.createElement(\"div\");\r\n  header.className = \"calendar-header\";\r\n  header.innerHTML = `<button onclick=\"prevMonth()\">&#8249;<\/button> <span>${monthNames[month]} ${year}<\/span> <button onclick=\"nextMonth()\">&#8250;<\/button>`;\r\n  calendar.appendChild(header);\r\n\r\n  const days = document.createElement(\"div\");\r\n  days.className = \"calendar-days\";\r\n  [\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\",\"Su\"].forEach(d => {\r\n    const day = document.createElement(\"div\");\r\n    day.textContent = d;\r\n    days.appendChild(day);\r\n  });\r\n  calendar.appendChild(days);\r\n\r\n  const dates = document.createElement(\"div\");\r\n  dates.className = \"calendar-dates\";\r\n  let firstDay = new Date(year, month, 1).getDay();\r\n  if(firstDay === 0) firstDay = 7;\r\n  for(let i=1; i<firstDay; i++){\r\n    dates.appendChild(document.createElement(\"div\"));\r\n  }\r\n  \r\n  let daysInMonth = new Date(year, month+1, 0).getDate();\r\n  const todayDate = new Date();\r\n  todayDate.setHours(0, 0, 0, 0); \/\/ Resetear horas para comparar solo fechas\r\n  \r\n  \/\/ === Fechas bloqueadas del 20 al 25 de diciembre ===\r\n  const blockedStart = new Date(year, 11, 20); \/\/ Mes 11 = diciembre\r\n  const blockedEnd = new Date(year, 11, 25);\r\n  blockedStart.setHours(0,0,0,0);\r\n  blockedEnd.setHours(0,0,0,0);\r\n  \r\n  for(let d=1; d<=daysInMonth; d++)\r\n  {\r\n    const dateDiv = document.createElement(\"div\");\r\n    dateDiv.textContent = d;\r\n    \r\n    \/\/ Crear fecha para comparar\r\n    const currentDate = new Date(year, month, d);\r\n    currentDate.setHours(0, 0, 0, 0);\r\n    \r\n    \/\/ === Bloquear fechas del 20-25 diciembre ===\r\n    if (currentDate >= blockedStart && currentDate <= blockedEnd) {\r\n      dateDiv.classList.add(\"disabled\");\r\n    }\r\n    \r\n    \/\/ Verificar si la fecha ya pas\u00f3\r\n    else if (currentDate < todayDate) {\r\n      dateDiv.classList.add(\"disabled\");\r\n    } \r\n    else {\r\n      dateDiv.onclick = () => {\r\n        document.querySelectorAll(\".calendar-dates div\").forEach(el => el.classList.remove(\"selected\"));\r\n        dateDiv.classList.add(\"selected\");\r\n        document.getElementById(\"selected-date\").value = `${year}-${month+1}-${d}`;\r\n        \r\n        \/\/ Guardar fecha seleccionada\r\n        selectedDateObj = {\r\n          year: year,\r\n          month: month,\r\n          day: d\r\n        };\r\n        \r\n        \/\/ Aplicar restricciones de hora\r\n        applyTimeRestrictions();\r\n      };\r\n    }\r\n    \r\n    dates.appendChild(dateDiv);\r\n  }\r\n  calendar.appendChild(dates);\r\n}\r\n\r\nfunction prevMonth(){\r\n  currentMonth--;\r\n  if(currentMonth<0){currentMonth=11; currentYear--;}\r\n  renderCalendar(currentMonth,currentYear);\r\n}\r\nfunction nextMonth(){\r\n  currentMonth++;\r\n  if(currentMonth>11){currentMonth=0; currentYear++;}\r\n  renderCalendar(currentMonth,currentYear);\r\n}\r\nrenderCalendar(currentMonth, currentYear);\r\n\r\n\/* ===================== ENV\u00cdO RESERVA ===================== *\/\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const urlParams = new URLSearchParams(window.location.search);\r\n  const reservationStatus = urlParams.get(\"reservation\");\r\n\r\n  if (reservationStatus === \"success\") {\r\n    const formContainer = document.getElementById(\"reservation-form-container\");\r\n    const confirmationScreen = document.getElementById(\"confirmation-screen\");\r\n\r\n    \/\/ Recuperar datos b\u00e1sicos de la reserva (se guardan justo antes de enviar)\r\n    const branch = localStorage.getItem(\"branch\");\r\n    const branch_address = localStorage.getItem(\"branch_address\");\r\n    const date = localStorage.getItem(\"date\");\r\n    const time = localStorage.getItem(\"time\");\r\n    const guests = localStorage.getItem(\"guests\");\r\n\r\n    \/\/ Mostrar pantalla de confirmaci\u00f3n\r\n    formContainer.style.display = \"none\";\r\n    confirmationScreen.innerHTML = `\r\n      <div class=\"confirmation-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\r\n          <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"3\" d=\"M5 13l4 4L19 7\" \/>\r\n        <\/svg>\r\n      <\/div>\r\n      <h2>VIELEN DANK, DASS SIE SICH F\u00dcR UNS ENTSCHIEDEN HABEN!<\/h2>\r\n      <p>Wir haben Ihre Tischreservierung erhalten. Wir werden Sie umgehend kontaktieren, um Ihre Reservierung zu best\u00e4tigen.<\/p>\r\n      <div class=\"reservation-details\">\r\n        <h4>RESERVIERUNGSDETAILS<\/h4>\r\n        <p><b>Adresse:<\/b> ${branch_address}<\/p>\r\n        <p><b>Zeit:<\/b> ${time}<\/p>\r\n        <p><b>Datum:<\/b> ${date}<\/p>\r\n        <p><b>G\u00e4ste:<\/b> ${guests} Personen<\/p>\r\n      <\/div>\r\n      <p class=\"contact-info\">\r\n        Bei weiteren Fragen kontaktieren Sie uns gerne unter \r\n        +41 44 251 80 60 oder auf +41 44 251 80 47.\r\n      <\/p>\r\n    `;\r\n    confirmationScreen.style.display = \"block\";\r\n\r\n    \/\/ Limpiar URL \u2192 as\u00ed al refrescar vuelve el formulario normal\r\n    window.history.replaceState({}, document.title, window.location.pathname);\r\n  }\r\n});\r\n\r\n\/\/ Guardar datos antes de enviar\r\ndocument.querySelector(\".reservation-form\").addEventListener(\"submit\", function() {\r\n  const branchRadio = document.querySelector('input[name=\"branch\"]:checked');\r\n  const branchAddress = branchRadio.nextElementSibling.nextElementSibling.textContent.trim();\r\n  localStorage.setItem(\"branch\", branchRadio.value);\r\n  localStorage.setItem(\"branch_address\", branchAddress);\r\n  localStorage.setItem(\"date\", document.getElementById(\"selected-date\").value);\r\n  localStorage.setItem(\"time\", `${document.getElementById(\"hours\").value}:${document.getElementById(\"minutes\").value.padStart(2,\"0\")} ${document.getElementById(\"ampm\").value}`);\r\n  localStorage.setItem(\"guests\", document.getElementById(\"hidden-guests\").value);\r\n});\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f31dca8 e-flex e-con-boxed e-con e-child\" data-id=\"f31dca8\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30ec2ee elementor-widget elementor-widget-heading\" data-id=\"30ec2ee\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our Musical Sunday<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ff0cc25 elementor-widget elementor-widget-shortcode\" data-id=\"ff0cc25\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class=\"event-card-container\">    <div class=\"event-card-container\">\n        <div class=\"event-image\"><img decoding=\"async\" src=\"https:\/\/testcafe.pusaq8.com\/wp-content\/uploads\/2025\/10\/Cedric-Cafe-Felix-e1760695370507.jpg\" alt=\"Cedric Von Rauscher \"><\/div>\n        <div class=\"event-content\">\n            <div class=\"event-info\">\n\t\t\t\t<div class=\"event-date\">Sonntag, 28. November <\/div>\n\t\t\t\t<div class=\"event-schedule\">\n\t\t\t\t\t<span class=\"event-location\">Bellevueplatz 5<\/span>  \u2022   \n\t\t\t\t\t<span class=\"event-time\">13:30<\/span>  \n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"event-schedule\">\n\t\t\t\t\t<span class=\"event-location\">Bahnhofstrasse 79<\/span>  \u2022  \n\t\t\t\t\t<span class=\"event-time\">15:00<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n            <h2 class=\"event-name\">Cedric Von Rauscher <\/h2>\n            <p class=\"event-description\">Geniessen Sie am Sonntag im Caf\u00e9 Felix einen entspannten Live-Auftritt von Cedric Von Rauscher.<\/p>\n            <div class=\"event-footer\">\n                <!--<span class=\"event-price\"><\/span>-->\n\t\t\t    <a href=\"\/en\/performance-reservation\/\" class=\"event-reserve\">Reserve a table<\/a>\n                <button class=\"event-seats\">\n\t\t\t\t  <img decoding=\"async\" src=\"\/wp-content\/uploads\/2025\/09\/stool-1-1.png\" alt=\"icon\" class=\"seats-icon\">\n\t\t\t\t  Few seats left\n\t\t\t\t<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n    <\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Tischreservierung Gerne nehmen wir Reservationen entgegen.Samstag und Sonntag ab 14:00 Uhr keine Reservation m\u00f6glich. Standort Bellevueplatz 5 Bahnhofstrasse 79 Kundeninformationen Vorname \/ Nachname Ihre E-mail Adresse Telefonnummer Datum Zeit \u26a0\ufe0f Samstags sind Reservierungen nur bis 13:00 Uhr m\u00f6glich. : AMPM G\u00e4ste \u2212 2 G\u00e4ste + F\u00fcr Reservationen ab 9 Personen, rufen Sie uns bitte im [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-511","page","type-page","status-publish","hentry"],"blocksy_meta":[],"acf":[],"_links":{"self":[{"href":"https:\/\/testcafe.pusaq8.com\/en\/wp-json\/wp\/v2\/pages\/511","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/testcafe.pusaq8.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/testcafe.pusaq8.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/testcafe.pusaq8.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/testcafe.pusaq8.com\/en\/wp-json\/wp\/v2\/comments?post=511"}],"version-history":[{"count":246,"href":"https:\/\/testcafe.pusaq8.com\/en\/wp-json\/wp\/v2\/pages\/511\/revisions"}],"predecessor-version":[{"id":2560,"href":"https:\/\/testcafe.pusaq8.com\/en\/wp-json\/wp\/v2\/pages\/511\/revisions\/2560"}],"wp:attachment":[{"href":"https:\/\/testcafe.pusaq8.com\/en\/wp-json\/wp\/v2\/media?parent=511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}