{"id":4833,"date":"2025-07-02T09:17:20","date_gmt":"2025-07-02T09:17:20","guid":{"rendered":"https:\/\/bhutanspiritsanctuary.com\/staging\/?page_id=4833"},"modified":"2026-02-08T21:45:17","modified_gmt":"2026-02-08T21:45:17","slug":"essence-of-bhutan-9-days-8-nights","status":"publish","type":"page","link":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/journeys\/essence-of-bhutan-9-days-8-nights\/","title":{"rendered":"Ess\u00eancia do But\u00e3o 9 dias \/ 8 noites"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4833\" class=\"elementor elementor-4833\" 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=\"width: 100%; padding: 2rem 2.3rem; background-color: #FDFBF5;\">\r\n<h1 style=\"line-height: 1;\">\r\n  Essence of Bhutan 9 Days \/ 8 Nights\r\n<\/h1>\r\n<\/section>\r\n\r\n<form id=\"form2\" class=\"reservation-form form-validate\" action=\"https:\/\/formspree.io\/xjvgpygn\" method=\"POST\" novalidate>\r\n<input type=\"hidden\" name=\"_subject\" id=\"_subject\">\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        <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        <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        <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        <div class=\"clearfix pt-50\">\r\n            <button type=\"button\" class=\"btn-next\">Next<\/button>\r\n        <\/div>\r\n    <\/div>\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        <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<input type=\"hidden\" name=\"subject\" value=\"New enquiry from {{ name }}\">  \r\n<\/form>\r\n<script>\r\n  \/\/ ========================\r\n  \/\/ \u2705 FORM LOGIC INITIALIZATION\r\n  \/\/ ========================\r\n  document.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    \/\/ ========================\r\n    \/\/ \u2705 FIELD VALIDATION FUNCTION (Includes date checks)\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      \/\/ \ud83d\udd0d Check-in date should not be in the past\r\n      if (step === 0 && checkinInput.value) {\r\n        const inputDate = new Date(checkinInput.value);\r\n        const today = new Date(); today.setHours(0, 0, 0, 0);\r\n        const errorSpan = checkinInput.nextElementSibling;\r\n\r\n        if (inputDate < today) {\r\n          checkinInput.classList.add(\"error\");\r\n          errorSpan.textContent = \"Check-in cannot be in the past.\";\r\n          isValid = false;\r\n        } else {\r\n          checkinInput.classList.remove(\"error\");\r\n          errorSpan.textContent = \"\";\r\n        }\r\n      }\r\n\r\n      \/\/ \ud83d\udd04 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 outError = checkoutInput.nextElementSibling;\r\n\r\n        if (outDate <= inDate) {\r\n          checkoutInput.classList.add(\"error\");\r\n          outError.textContent = \"Check-out must be after check-in.\";\r\n          isValid = false;\r\n        } else {\r\n          checkoutInput.classList.remove(\"error\");\r\n          outError.textContent = \"\";\r\n        }\r\n      }\r\n\r\n      return isValid;\r\n    }\r\n\r\n    \/\/ ========================\r\n    \/\/ \u2705 UPDATE REVIEW PANEL ON STEP ADVANCE\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 = document.getElementById(\"checkin\").value;\r\n      document.getElementById(\"review-checkout\").textContent = document.getElementById(\"checkout\").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    \/\/ ========================\r\n    \/\/ \u2705 STEP CONTROLS\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    \/\/ ========================\r\n    \/\/ \u2705 DISABLE MANUAL DATE INPUT (iOS + desktop)\r\n    \/\/ ========================\r\n    [checkinInput, checkoutInput].forEach(input => {\r\n      input.addEventListener(\"keydown\", event => event.preventDefault());\r\n      input.addEventListener(\"input\", event => event.preventDefault());\r\n    });\r\n\r\n    \/\/ ========================\r\n    \/\/ \u2705 ENFORCE MIN DATES ON LOAD AND CHANGE\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\r\n    checkinInput.addEventListener(\"change\", function () {\r\n      checkoutInput.setAttribute(\"min\", checkinInput.value);\r\n    });\r\n\r\n    \/\/ ========================\r\n    \/\/ \u2705 ADDITIONAL DATE VALIDATION ON FOCUSOUT\r\n    \/\/ ========================\r\n    function validatePastDate(input, label) {\r\n      const inputDate = new Date(input.value);\r\n      const today = new Date(); today.setHours(0, 0, 0, 0);\r\n      const errorSpan = input.nextElementSibling;\r\n\r\n      if (input.value && inputDate < today) {\r\n        input.classList.add(\"error\");\r\n        errorSpan.textContent = `${label} cannot be in the past.`;\r\n      } else {\r\n        input.classList.remove(\"error\");\r\n        errorSpan.textContent = \"\";\r\n      }\r\n    }\r\n\r\n    function validateDateOrder() {\r\n      const checkinDate = new Date(checkinInput.value);\r\n      const checkoutDate = new Date(checkoutInput.value);\r\n      const errorMsgCheckout = checkoutInput.nextElementSibling;\r\n\r\n      if (checkinInput.value && checkoutInput.value) {\r\n        if (checkoutDate <= checkinDate) {\r\n          checkoutInput.classList.add(\"error\");\r\n          errorMsgCheckout.textContent = \"Check-out must be after check-in.\";\r\n        } else {\r\n          checkoutInput.classList.remove(\"error\");\r\n          errorMsgCheckout.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  \/\/ ========================\r\n  \/\/ \u2705 SET EMAIL SUBJECT DYNAMICALLY ON SUBMIT\r\n  \/\/ ========================\r\n  document.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\r\n\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>Essence of Bhutan 9 Days \/ 8 Nights 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":2727,"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-4833","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/pages\/4833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/comments?post=4833"}],"version-history":[{"count":14,"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/pages\/4833\/revisions"}],"predecessor-version":[{"id":7092,"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/pages\/4833\/revisions\/7092"}],"up":[{"embeddable":true,"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/pages\/2727"}],"wp:attachment":[{"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/media?parent=4833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}