{"id":7970,"date":"2026-05-06T17:25:17","date_gmt":"2026-05-06T17:25:17","guid":{"rendered":"https:\/\/kaypiperutours.com\/?page_id=7970"},"modified":"2026-05-21T15:19:39","modified_gmt":"2026-05-21T15:19:39","slug":"formulario-de-viagem","status":"publish","type":"page","link":"https:\/\/kaypiperutours.com\/pt\/travel-tour-form\/","title":{"rendered":"Travel Tour Form"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"7970\" class=\"elementor elementor-7970\" data-elementor-post-type=\"page\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-fae84d2 e-con-full e-flex e-con e-parent\" data-id=\"fae84d2\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-29e063c e-con-full e-flex e-con e-parent\" data-id=\"29e063c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-f73aaa8 e-con-full e-flex e-con e-parent\" data-id=\"f73aaa8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1675f10 elementor-widget elementor-widget-html\" data-id=\"1675f10\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"kaypi-booking-container\">\n    <h2>Reserve sua aventura<\/h2>\n    <p class=\"kaypi-subtitle\">Preencha o formul\u00e1rio abaixo para garantir sua reserva.<\/p>\n\n    <div class=\"kaypi-tour-summary\">\n        <h3>Pacote selecionado<\/h3>\n        <div class=\"summary-grid\">\n            <div><strong>Percorrer:<\/strong> <span id=\"summary-tour\">N\u00e3o selecionado<\/span><\/div>\n            <div><strong>Categoria:<\/strong> <span id=\"summary-hotel\">-<\/span><\/div>\n            <div><strong>Avaliar:<\/strong> <span id=\"summary-price\">-<\/span><\/div>\n        <\/div>\n    <\/div>\n\n    <form id=\"kaypi-booking-form\" action=\"https:\/\/kaypiperutours.com\/wp-admin\/admin-ajax.php\" method=\"POST\">\n        \n        <input type=\"hidden\" name=\"action\" value=\"procesar_reserva_kaypi\">\n\n        <input type=\"hidden\" name=\"Tour_Name\" id=\"hidden-tour\">\n        <input type=\"hidden\" name=\"Hotel_Category\" id=\"hidden-hotel\">\n        <input type=\"hidden\" name=\"Price_Selected\" id=\"hidden-price\">\n\n        <fieldset>\n            <legend>Informa\u00e7\u00f5es de contato<\/legend>\n            <div class=\"form-group\">\n                <label>Nome completo<\/label>\n                <input type=\"text\" name=\"Lead_Name\" required placeholder=\"Jo\u00e3o Ningu\u00e9m\">\n            <\/div>\n            <div class=\"form-row\">\n                <div class=\"form-group\">\n                    <label>Endere\u00e7o de email<\/label>\n                    <input type=\"email\" name=\"Lead_Email\" required placeholder=\"example@domain.com\">\n                <\/div>\n                <div class=\"form-group\">\n                    <label>Telefone \/ WhatsApp<\/label>\n                    <input type=\"tel\" name=\"Lead_Phone\" required placeholder=\"+1 123 456 7890\">\n                <\/div>\n            <\/div>\n        <\/fieldset>\n\n        <fieldset>\n            <legend>Detalhes da viagem<\/legend>\n            <div class=\"form-row\">\n                <div class=\"form-group\">\n                    <label>Data de in\u00edcio da excurs\u00e3o<\/label>\n                    <input type=\"date\" name=\"Start_Date\" required>\n                <\/div>\n                <div class=\"form-group\">\n                    <label>N\u00famero de pessoas (Pax)<\/label>\n                    <select id=\"pax-number\" name=\"Total_Pax\" required><\/select>\n                <\/div>\n            <\/div>\n\n            <div class=\"form-group\">\n                <label>Deseja incluir voos internacionais?<\/label>\n                <div class=\"radio-options\">\n                    <label><input type=\"radio\" name=\"International_Flights\" value=\"No\" checked onclick=\"toggleFlights(false)\"> N\u00e3o<\/label>\n                    <label><input type=\"radio\" name=\"International_Flights\" value=\"Yes\" onclick=\"toggleFlights(true)\"> Sim<\/label>\n                <\/div>\n            <\/div>\n\n            <div id=\"flight-city-field\" style=\"display:none;\" class=\"form-group\">\n                <label>Digite o aeroporto ou a cidade.<\/label>\n                <input type=\"text\" id=\"flight-input\" name=\"Origin_City\" placeholder=\"Exemplo: JFK, Nova York\">\n            <\/div>\n        <\/fieldset>\n\n        <fieldset id=\"passengers-section\">\n            <legend>Informa\u00e7\u00f5es sobre passaportes de passageiros<\/legend>\n            <div id=\"passengers-list\"><\/div>\n        <\/fieldset>\n\n        <button type=\"submit\" id=\"kaypi-btn\">ENVIAR RESERVA<\/button>\n    <\/form>\n    <div id=\"form-result-message\" style=\"margin-top: 15px; display: none; padding: 15px; border-radius: 5px; font-weight: bold;\"><\/div>\n<\/div>\n\n<style>\n\/* DISE\u00d1O VERDE KAYPI *\/\n:root { --green: #4CAF50; --dark: #1E293B; --bg: #F8FAFC; }\n.kaypi-booking-container { max-width: 700px; margin: auto; padding: 30px; background: white; border-radius: 10px; box-shadow: 0 5px 20px rgba(0,0,0,0.1); color: var(--dark); font-family: sans-serif; }\n.kaypi-tour-summary { background: var(--bg); border-left: 5px solid var(--green); padding: 15px; margin-bottom: 25px; border-radius: 5px; }\n.summary-grid { display: flex; gap: 20px; font-size: 14px; flex-wrap: wrap; }\nfieldset { border: none; margin-bottom: 25px; padding: 0; }\nlegend { font-weight: bold; border-bottom: 1px solid #ddd; width: 100%; padding-bottom: 8px; margin-bottom: 15px; }\n.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }\n.form-group { margin-bottom: 15px; }\nlabel { display: block; font-size: 13px; margin-bottom: 5px; font-weight: 600; }\ninput, select { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; }\n.radio-options { display: flex; gap: 20px; }\n.pax-card { background: var(--bg); padding: 15px; border-radius: 5px; margin-bottom: 15px; border: 1px solid #eee; }\n.pax-card h4 { margin-top: 0; margin-bottom: 12px; color: var(--green); border-bottom: 1px dashed #ddd; padding-bottom: 5px; }\n#kaypi-btn { width: 100%; background: var(--green); color: white; border: none; padding: 15px; font-weight: bold; cursor: pointer; border-radius: 5px; font-size: 16px; }\n@media (max-width: 600px) { .form-row { grid-template-columns: 1fr; } }\n<\/style>\n<script>\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n    const paxSelect = document.getElementById(\"pax-number\");\n    const container = document.getElementById(\"passengers-list\");\n    const form = document.getElementById(\"kaypi-booking-form\");\n    const msgBox = document.getElementById(\"form-result-message\");\n\n    \/\/ Llenar Pax 1-20\n    for(let i=1; i<=20; i++) {\n        let opt = document.createElement(\"option\");\n        opt.value = i; opt.textContent = i + (i===1 ? \" Person\" : \" People\");\n        paxSelect.appendChild(opt);\n    }\n\n    \/\/ Capturar URL Params\n    const params = new URLSearchParams(window.location.search);\n    if(params.get('tour')) { document.getElementById(\"summary-tour\").textContent = params.get('tour'); document.getElementById(\"hidden-tour\").value = params.get('tour'); }\n    if(params.get('price')) { document.getElementById(\"summary-price\").textContent = \"$\" + params.get('price'); document.getElementById(\"hidden-price\").value = \"$\" + params.get('price'); }\n    if(params.get('hotel')) { document.getElementById(\"summary-hotel\").textContent = params.get('hotel'); document.getElementById(\"hidden-hotel\").value = params.get('hotel'); }\n\n    \/\/ Generar Pasajeros con Fecha de Nacimiento\n    function updatePax() {\n        container.innerHTML = \"\";\n        for(let i=1; i<=paxSelect.value; i++) {\n            let div = document.createElement(\"div\");\n            div.className = \"pax-card\";\n            div.innerHTML = `<h4>Passenger 0${i}<\/h4>\n                <div class=\"form-group\">\n                    <label>Full Name (as in Passport)<\/label>\n                    <input type=\"text\" name=\"Pax_${i}_Name\" required>\n                <\/div>\n                <div class=\"form-group\">\n                    <label>Birth Date<\/label>\n                    <input type=\"date\" name=\"Pax_${i}_Birth_Date\" required>\n                <\/div>\n                <div class=\"form-row\">\n                    <div class=\"form-group\">\n                        <label>Passport Number<\/label>\n                        <input type=\"text\" name=\"Pax_${i}_Passport\" required>\n                    <\/div>\n                    <div class=\"form-group\">\n                        <label>Nationality<\/label>\n                        <input type=\"text\" name=\"Pax_${i}_Nationality\" required>\n                    <\/div>\n                <\/div>`;\n            container.appendChild(div);\n        }\n    }\n    paxSelect.addEventListener(\"change\", updatePax);\n    updatePax();\n\n    \/\/ Env\u00edo as\u00edncrono corregido (Usa la URL din\u00e1mica del navegador)\n    form.addEventListener(\"submit\", function(e) {\n        e.preventDefault();\n        \n        const ajaxUrl = window.location.origin + \"\/wp-admin\/admin-ajax.php\";\n        const formData = new FormData(form);\n        \n        const btn = document.getElementById(\"kaypi-btn\");\n        const originalBtnText = btn.textContent;\n        btn.textContent = \"PROCESSING...\";\n        btn.disabled = true;\n\n        fetch(ajaxUrl, { \n            method: \"POST\", \n            body: formData\n        })\n        .then(res => {\n            if (!res.ok) throw new Error('Server error: ' + res.status);\n            return res.json();\n        })\n        .then(data => {\n            msgBox.style.display = \"block\";\n            if(data.success) {\n                msgBox.style.background = \"#E8F5E9\"; msgBox.style.color = \"#2E7D32\";\n                msgBox.style.border = \"1px solid #C8E6C9\";\n                msgBox.textContent = \"Thank you! Your reservation has been sent successfully.\";\n                form.reset(); \n                updatePax();\n                msgBox.scrollIntoView({ behavior: 'smooth', block: 'center' });\n            } else {\n                msgBox.style.background = \"#FFEBEE\"; msgBox.style.color = \"#C62828\";\n                msgBox.style.border = \"1px solid #FFCDD2\";\n                msgBox.textContent = \"Error: \" + data.data;\n            }\n        })\n        .catch(err => {\n            msgBox.style.display = \"block\"; \n            msgBox.style.background = \"#FFEBEE\"; \n            msgBox.style.color = \"#C62828\";\n            msgBox.style.border = \"1px solid #FFCDD2\";\n            msgBox.textContent = \"Submission error. Please verify your connection or contact support.\";\n            console.error(\"Error:\", err);\n        })\n        .finally(() => {\n            btn.textContent = originalBtnText;\n            btn.disabled = false;\n        });\n    });\n});\n\nfunction toggleFlights(show) {\n    document.getElementById(\"flight-city-field\").style.display = show ? \"block\" : \"none\";\n    document.getElementById(\"flight-input\").required = show;\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Book Your Adventure Complete the form below to secure your reservation. Selected Package Tour: Not selected Category: &#8211; Rate: &#8211; Contact Information Full Name Email Address Phone \/ WhatsApp Trip Details Tour Start Date Number of People (Pax) Do you want to include international flights? No Yes Type the airport or city Passengers Passport Information [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-7970","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/kaypiperutours.com\/pt\/wp-json\/wp\/v2\/pages\/7970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kaypiperutours.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kaypiperutours.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kaypiperutours.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kaypiperutours.com\/pt\/wp-json\/wp\/v2\/comments?post=7970"}],"version-history":[{"count":21,"href":"https:\/\/kaypiperutours.com\/pt\/wp-json\/wp\/v2\/pages\/7970\/revisions"}],"predecessor-version":[{"id":8465,"href":"https:\/\/kaypiperutours.com\/pt\/wp-json\/wp\/v2\/pages\/7970\/revisions\/8465"}],"wp:attachment":[{"href":"https:\/\/kaypiperutours.com\/pt\/wp-json\/wp\/v2\/media?parent=7970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}