{"id":7022,"date":"2026-01-12T06:15:09","date_gmt":"2026-01-12T06:15:09","guid":{"rendered":"https:\/\/bhutanspiritsanctuary.com\/?page_id=7022"},"modified":"2026-02-08T21:49:52","modified_gmt":"2026-02-08T21:49:52","slug":"4-for-5-promotion","status":"publish","type":"page","link":"https:\/\/bhutanspiritsanctuary.com\/de_lang\/promotions\/4-for-5-promotion\/","title":{"rendered":"4 + 1 N\u00e4chte"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7022\" class=\"elementor elementor-7022\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fa3558c e-con-full e-flex e-con e-parent\" data-id=\"fa3558c\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1ec2e6a e-flex e-con-boxed e-con e-parent\" data-id=\"1ec2e6a\" 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-2bc300b elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-html\" data-id=\"2bc300b\" 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<section class=\"journey-intro\" style=\"font-family: 'Montserrat', sans-serif; width: 100%; padding: 2rem 2.3rem; background-color: #FDFBF5;\">\r\n<h1>\r\n    4 for 5 Promotion\r\n<\/h1>\r\n\r\n<\/section>\r\n<form id=\"multiStepForm\" class=\"bg-cream form-validate\" action=\"https:\/\/formspree.io\/f\/mwvvkppw\" method=\"POST\" novalidate>\r\n<input type=\"hidden\" name=\"_subject\" id=\"_subject\">\r\n  \r\n  <!-- Step 1 -->\r\n  <div class=\"form-step form-step-active pt-5\">\r\n    <div class=\"form-horizontal\">\r\n      <div class=\"form-group\">\r\n        <label for=\"name\">Name:<\/label>\r\n        <input type=\"text\" id=\"name\" name=\"name\" required>\r\n        <span class=\"error-message\"><\/span>\r\n      <\/div>\r\n      <div class=\"form-group\">\r\n        <label for=\"email\">Email:<\/label>\r\n        <input type=\"email\" id=\"email\" name=\"email\" required>\r\n        <span class=\"error-message\"><\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <label for=\"phone\">Your Phone Number:<\/label>\r\n    <input type=\"tel\" id=\"phone\" name=\"phone\">\r\n    <span class=\"error-message\"><\/span>\r\n\r\n    <label for=\"guests\">Number of Guests:<\/label>\r\n    <input type=\"number\" id=\"guests\" name=\"number_of_guest\" required>\r\n    <span class=\"error-message\"><\/span>\r\n\r\n    <!-- \ud83d\udecf\ufe0f ROOM TYPE ADDITION -->\r\n    <label for=\"room_type\">Room Type:<\/label>\r\n    <select id=\"room_type\" name=\"room_type\" required>\r\n      <option value=\"\" disabled selected>Select a room type<\/option>\r\n      <option value=\"balcony\">Balcony Room<\/option>\r\n      <option value=\"terrace\">Terrace Room<\/option>\r\n    <\/select>\r\n    <span class=\"error-message\"><\/span>\r\n\r\n    <div class=\"form-horizontal\">\r\n      <div class=\"form-group\">\r\n        <label for=\"checkin\">Check-in Date:<\/label>\r\n        <input type=\"date\" id=\"checkin\" name=\"checkin\" required>\r\n        <span class=\"error-message\"><\/span>\r\n      <\/div>\r\n      <div class=\"form-group\">\r\n        <label for=\"checkout\">Check-out Date:<\/label>\r\n        <input type=\"date\" id=\"checkout\" name=\"checkout\" required>\r\n        <span class=\"error-message\"><\/span>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <label for=\"remarks\">Remarks<\/label>\r\n    <textarea id=\"remarks\" name=\"remarks\" style=\"height: 100px;\"><\/textarea>\r\n    <span class=\"error-message\"><\/span>\r\n\r\n    <div class=\"clearfix pt-50\">\r\n      <button type=\"button\" class=\"btn-next\">Next<\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- Step 2 -->\r\n  <div class=\"form-step pt-5\">\r\n    <h2>Confirm Details<\/h2>\r\n    <p>Please review your details before submitting:<\/p>\r\n    <div class=\"review-section\">\r\n      <p><strong>Name:<\/strong> <span id=\"review-name\"><\/span><\/p>\r\n      <p><strong>Email:<\/strong> <span id=\"review-email\"><\/span><\/p>\r\n      <p><strong>Phone:<\/strong> <span id=\"review-phone\"><\/span><\/p>\r\n      <p><strong>Number of Guests:<\/strong> <span id=\"review-guests\"><\/span><\/p>\r\n\r\n      <!-- \ud83d\udecf\ufe0f ROOM TYPE ADDITION -->\r\n      <p><strong>Room Type:<\/strong> <span id=\"review-room_type\"><\/span><\/p>\r\n\r\n      <p><strong>Check-in Date:<\/strong> <span id=\"review-checkin\"><\/span><\/p>\r\n      <p><strong>Check-out Date:<\/strong> <span id=\"review-checkout\"><\/span><\/p>\r\n      <p><strong>Remarks:<\/strong> <span id=\"review-remarks\"><\/span><\/p>\r\n    <\/div>\r\n\r\n    <div class=\"clearfix pt-50\">\r\n      <button type=\"button\" class=\"btn-prev\">Previous<\/button>\r\n      <button type=\"submit\" class=\"btn-type\">Submit<\/button>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <input type=\"hidden\" name=\"subject\" value=\"New enquiry from {{ name }}\">  \r\n<\/form>\r\n<script>\r\ndocument.addEventListener(\"DOMContentLoaded\", function () {\r\n  const nextBtn = document.querySelector(\".btn-next\");\r\n  const prevBtn = document.querySelector(\".btn-prev\");\r\n  const submitBtn = document.querySelector(\".btn-type\");\r\n  const formSteps = document.querySelectorAll(\".form-step\");\r\n  let currentStep = 0;\r\n\r\n  const checkinInput = document.getElementById(\"checkin\");\r\n  const checkoutInput = document.getElementById(\"checkout\");\r\n  const roomSelect = document.getElementById(\"room_type\");\r\n\r\n  function validateFields(step) {\r\n    let isValid = true;\r\n    const inputs = formSteps[step].querySelectorAll(\"input[required], textarea[required], select[required]\");\r\n\r\n    inputs.forEach(input => {\r\n      const errorSpan = input.nextElementSibling;\r\n      if (!input.value.trim()) {\r\n        input.classList.add(\"error\");\r\n        if (errorSpan) errorSpan.textContent = \"This field is required.\";\r\n        isValid = false;\r\n      } else {\r\n        input.classList.remove(\"error\");\r\n        if (errorSpan) errorSpan.textContent = \"\";\r\n      }\r\n    });\r\n\r\n    \/\/ \u2705 Date must not be in the past\r\n    if (step === 0 && checkinInput.value) {\r\n      const checkinDate = new Date(checkinInput.value);\r\n      const today = new Date(); today.setHours(0, 0, 0, 0);\r\n      const error = checkinInput.nextElementSibling;\r\n\r\n      if (checkinDate < today) {\r\n        checkinInput.classList.add(\"error\");\r\n        error.textContent = \"Check-in cannot be in the past.\";\r\n        isValid = false;\r\n      } else {\r\n        checkinInput.classList.remove(\"error\");\r\n        error.textContent = \"\";\r\n      }\r\n    }\r\n\r\n    \/\/ \u2705 Check-out must be after check-in\r\n    if (step === 0 && checkinInput.value && checkoutInput.value) {\r\n      const inDate = new Date(checkinInput.value);\r\n      const outDate = new Date(checkoutInput.value);\r\n      const error = checkoutInput.nextElementSibling;\r\n\r\n      if (outDate <= inDate) {\r\n        checkoutInput.classList.add(\"error\");\r\n        error.textContent = \"Check-out must be after check-in.\";\r\n        isValid = false;\r\n      } else {\r\n        checkoutInput.classList.remove(\"error\");\r\n        error.textContent = \"\";\r\n      }\r\n    }\r\n\r\n    return isValid;\r\n  }\r\n\r\n  function updateReview() {\r\n    document.getElementById(\"review-name\").textContent = document.getElementById(\"name\").value;\r\n    document.getElementById(\"review-email\").textContent = document.getElementById(\"email\").value;\r\n    document.getElementById(\"review-phone\").textContent = document.getElementById(\"phone\").value;\r\n    document.getElementById(\"review-guests\").textContent = document.getElementById(\"guests\").value;\r\n    document.getElementById(\"review-checkin\").textContent = checkinInput.value;\r\n    document.getElementById(\"review-checkout\").textContent = checkoutInput.value;\r\n    document.getElementById(\"review-remarks\").textContent = document.getElementById(\"remarks\").value;\r\n\r\n    \/\/ \ud83d\udecf\ufe0f ROOM TYPE ADDITION\r\n    document.getElementById(\"review-room_type\").textContent = roomSelect.value;\r\n  }\r\n\r\n  nextBtn.addEventListener(\"click\", function () {\r\n    if (!validateFields(currentStep)) return;\r\n    updateReview();\r\n    formSteps[currentStep].classList.remove(\"form-step-active\");\r\n    currentStep++;\r\n    formSteps[currentStep].classList.add(\"form-step-active\");\r\n  });\r\n\r\n  prevBtn?.addEventListener(\"click\", function () {\r\n    formSteps[currentStep].classList.remove(\"form-step-active\");\r\n    currentStep--;\r\n    formSteps[currentStep].classList.add(\"form-step-active\");\r\n  });\r\n\r\n  submitBtn.addEventListener(\"click\", function (e) {\r\n    if (!validateFields(currentStep)) e.preventDefault();\r\n  });\r\n\r\n  const todayStr = new Date().toISOString().split(\"T\")[0];\r\n  checkinInput.setAttribute(\"min\", todayStr);\r\n  checkoutInput.setAttribute(\"min\", todayStr);\r\n  checkinInput.addEventListener(\"change\", function () {\r\n    checkoutInput.setAttribute(\"min\", checkinInput.value);\r\n  });\r\n\r\n  [checkinInput, checkoutInput].forEach(input => {\r\n    input.addEventListener(\"keydown\", e => e.preventDefault());\r\n    input.addEventListener(\"input\", e => e.preventDefault());\r\n  });\r\n\r\n   function validatePastDate(input, label) {\r\n    const date = new Date(input.value);\r\n    const today = new Date(); today.setHours(0, 0, 0, 0);\r\n    const error = input.nextElementSibling;\r\n\r\n    if (input.value && date < today) {\r\n      input.classList.add(\"error\");\r\n      error.textContent = `${label} cannot be in the past.`;\r\n    } else {\r\n      input.classList.remove(\"error\");\r\n      error.textContent = \"\";\r\n    }\r\n  }\r\n\r\n  function validateDateOrder() {\r\n    if (checkinInput.value && checkoutInput.value) {\r\n      const inDate = new Date(checkinInput.value);\r\n      const outDate = new Date(checkoutInput.value);\r\n      const error = checkoutInput.nextElementSibling;\r\n\r\n      if (outDate <= inDate) {\r\n        checkoutInput.classList.add(\"error\");\r\n        error.textContent = \"Check-out must be after check-in.\";\r\n      } else {\r\n        checkoutInput.classList.remove(\"error\");\r\n        error.textContent = \"\";\r\n      }\r\n    }\r\n  }\r\n\r\n  checkinInput.addEventListener(\"focusout\", () => {\r\n    validatePastDate(checkinInput, \"Check-in\");\r\n    validateDateOrder();\r\n  });\r\n\r\n  checkoutInput.addEventListener(\"focusout\", () => {\r\n    validatePastDate(checkoutInput, \"Check-out\");\r\n    validateDateOrder();\r\n  });\r\n});\r\n\r\n\/\/ \u2705 SET EMAIL SUBJECT DYNAMICALLY\r\ndocument.querySelector('form').addEventListener('submit', function () {\r\n  const name = document.getElementById('name').value || 'Unknown';\r\n  document.querySelector('input[name=\"_subject\"]').value = `New enquiry from ${name}`;\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-044795d e-con-full elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-child\" data-id=\"044795d\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\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","protected":false},"excerpt":{"rendered":"<p>4 for 5 Promotion Name: Email: Your Phone Number: Number of Guests: Room Type: Select a room typeBalcony RoomTerrace Room Check-in Date: Check-out Date: Remarks Next Confirm Details Please review your details before submitting: Name: Email: Phone: Number of Guests: Room Type: Check-in Date: Check-out Date: Remarks: Previous Submit<\/p>","protected":false},"author":1,"featured_media":0,"parent":4093,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"unboxed","site-sidebar-style":"unboxed","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-7022","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bhutanspiritsanctuary.com\/de_lang\/wp-json\/wp\/v2\/pages\/7022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bhutanspiritsanctuary.com\/de_lang\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bhutanspiritsanctuary.com\/de_lang\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bhutanspiritsanctuary.com\/de_lang\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bhutanspiritsanctuary.com\/de_lang\/wp-json\/wp\/v2\/comments?post=7022"}],"version-history":[{"count":8,"href":"https:\/\/bhutanspiritsanctuary.com\/de_lang\/wp-json\/wp\/v2\/pages\/7022\/revisions"}],"predecessor-version":[{"id":7104,"href":"https:\/\/bhutanspiritsanctuary.com\/de_lang\/wp-json\/wp\/v2\/pages\/7022\/revisions\/7104"}],"up":[{"embeddable":true,"href":"https:\/\/bhutanspiritsanctuary.com\/de_lang\/wp-json\/wp\/v2\/pages\/4093"}],"wp:attachment":[{"href":"https:\/\/bhutanspiritsanctuary.com\/de_lang\/wp-json\/wp\/v2\/media?parent=7022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}