{"id":4848,"date":"2025-07-02T09:23:35","date_gmt":"2025-07-02T09:23:35","guid":{"rendered":"https:\/\/bhutanspiritsanctuary.com\/staging\/?page_id=4848"},"modified":"2026-02-08T21:49:11","modified_gmt":"2026-02-08T21:49:11","slug":"one-day-wellness-retreat","status":"publish","type":"page","link":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/promotions\/one-day-wellness-retreat\/","title":{"rendered":"One day wellness retreat"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4848\" class=\"elementor elementor-4848\" 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>\r\n    One-day wellness retreat\r\n<\/h1>\r\n\r\n<\/section>\r\n<form id=\"multiStepForm\" class=\"bg-cream form-validate\" action=\"https:\/\/formspree.io\/f\/mqaegnon\" 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        <div class=\"form-horizontal\">\r\n            <div class=\"form-group\">\r\n                <label for=\"reservation\">Reservation Date:<\/label>\r\n                <input type=\"date\" id=\"checkin\" name=\"reservation\" required>\r\n                <span class=\"error-message\"><\/span>\r\n            <\/div>\r\n            \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            <p><strong>Reservation Date:<\/strong> <span id=\"review-checkin\"><\/span><\/p>\r\n            \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 INIT FORM SETUP\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\r\n    \/\/ ========================\r\n    \/\/ \u2705 VALIDATION LOGIC\r\n    \/\/ ========================\r\n    function validateFields(step) {\r\n      let isValid = true;\r\n      const inputs = formSteps[step].querySelectorAll(\"input[required], textarea[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 Check reservation date\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 = \"Reservation date 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      return isValid;\r\n    }\r\n\r\n    \/\/ ========================\r\n    \/\/ \u2705 SYNC DATA TO REVIEW PANEL\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-remarks\").textContent = document.getElementById(\"remarks\").value;\r\n    }\r\n\r\n    \/\/ ========================\r\n    \/\/ \u2705 FORM 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 DATE FIELD RESTRICTIONS\r\n    \/\/ ========================\r\n    const todayStr = new Date().toISOString().split(\"T\")[0];\r\n    checkinInput.setAttribute(\"min\", todayStr);\r\n\r\n    \/\/ Prevent keyboard entry\r\n    checkinInput.addEventListener(\"keydown\", e => e.preventDefault());\r\n    checkinInput.addEventListener(\"input\", e => e.preventDefault());\r\n\r\n    \/\/ Validate on blur\r\n    checkinInput.addEventListener(\"focusout\", () => {\r\n      const date = 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 (checkinInput.value && date < today) {\r\n        checkinInput.classList.add(\"error\");\r\n        error.textContent = \"Reservation date cannot be in the past.\";\r\n      } else {\r\n        checkinInput.classList.remove(\"error\");\r\n        error.textContent = \"\";\r\n      }\r\n    });\r\n  });\r\n\r\n  \/\/ ========================\r\n  \/\/ \u2705 SET EMAIL SUBJECT\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\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>One-day wellness retreat Name: Email: Your Phone Number: Number of Guests: Reservation Date: Remarks Next Confirm Details Please review your details before submitting: Name: Email: Phone: Number of Guests: Reservation 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-4848","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/pages\/4848","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=4848"}],"version-history":[{"count":25,"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/pages\/4848\/revisions"}],"predecessor-version":[{"id":7101,"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/pages\/4848\/revisions\/7101"}],"up":[{"embeddable":true,"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/pages\/4093"}],"wp:attachment":[{"href":"https:\/\/bhutanspiritsanctuary.com\/pt_br\/wp-json\/wp\/v2\/media?parent=4848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}