{"id":16,"date":"2026-09-23T14:40:29","date_gmt":"2026-09-23T14:40:29","guid":{"rendered":"https:\/\/pt.tonedog.design\/?page_id=16"},"modified":"2026-09-23T20:17:20","modified_gmt":"2026-09-23T20:17:20","slug":"booking-test-page","status":"publish","type":"page","link":"https:\/\/pt.tonedog.design\/?page_id=16","title":{"rendered":"Booking Test Page"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"16\" class=\"elementor elementor-16\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-17048b7 e-flex e-con-boxed e-con e-parent\" data-id=\"17048b7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f25933f elementor-widget elementor-widget-pt-tours\" data-id=\"f25933f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pt-tours.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.pt-tours-grid{display:grid}.pt-tour-card{overflow:hidden;border:1px solid rgba(0,0,0,.08);height:100%;display:flex;flex-direction:column}.pt-tour-image{display:block;width:100%;overflow:hidden;background:#f2f2f2}.pt-tour-image img{display:block;width:100%;height:100%;object-fit:cover}.pt-tour-image.ratio-16-9{aspect-ratio:16\/9}.pt-tour-image.ratio-4-3{aspect-ratio:4\/3}.pt-tour-image.ratio-1-1{aspect-ratio:1\/1}.pt-tour-image.ratio-original img{height:auto}.pt-tour-card-content{display:flex;flex-direction:column;flex:1}.pt-tour-categories,.pt-tour-filter{display:flex;flex-wrap:wrap;gap:8px}.pt-tour-category,.pt-tour-filter button{font-size:.85em;line-height:1.2}.pt-tour-category{display:inline-block;padding:5px 9px;border-radius:999px;background:rgba(0,0,0,.06)}.pt-tour-filter{margin-bottom:24px}.pt-tour-filter button{border:1px solid currentColor;background:transparent;padding:8px 14px;border-radius:999px;cursor:pointer}.pt-tour-filter button.is-active{background:currentColor;color:#fff}.pt-tour-title{margin:0 0 10px}.pt-tour-description{margin:0 0 15px}.pt-tour-details{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 0 18px;font-size:.9em}.pt-tour-detail strong{font-weight:600}.pt-tour-button{margin-top:auto;display:inline-block;align-self:flex-start}<\/style><div id=\"pt-tours-f25933f\" class=\"pt-tours-widget\"><div class=\"pt-tours-grid\"><article class=\"pt-tour-card\" data-categories=\"\"><div class=\"pt-tour-image ratio-16-9\"><div aria-hidden=\"true\"><\/div><\/div><div class=\"pt-tour-card-content\"><h3 class=\"pt-tour-title\">Bertha&#039;s Beach<\/h3><div class=\"pt-tour-description\"><p>A trip to Bertha's Beach<\/p>\n<\/div><div class=\"pt-tour-details\"><span class=\"pt-tour-detail\"><strong>Duration:<\/strong> 6 hours<\/span><span class=\"pt-tour-detail\"><strong>Activity:<\/strong> Moderate<\/span><\/div><\/div><\/article><article class=\"pt-tour-card\" data-categories=\"\"><div class=\"pt-tour-image ratio-16-9\"><div aria-hidden=\"true\"><\/div><\/div><div class=\"pt-tour-card-content\"><h3 class=\"pt-tour-title\">VP<\/h3><div class=\"pt-tour-description\"><p>Tour to VP<\/p>\n<\/div><div class=\"pt-tour-details\"><span class=\"pt-tour-detail\"><strong>Duration:<\/strong> 6.5 hours<\/span><span class=\"pt-tour-detail\"><strong>Activity:<\/strong> High<\/span><\/div><\/div><\/article><\/div><\/div>\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<div class=\"elementor-element elementor-element-5515a4b e-flex e-con-boxed e-con e-parent\" data-id=\"5515a4b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-26744ce e-con e-atomic-element e-flexbox-base e-default-div e-26744ce-d160695 \" data-id=\"26744ce\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"26744ce\" data-e-type=\"e-flexbox\" data-id=\"26744ce\">\n    \t\t<div class=\"elementor-element elementor-element-753f9cc elementor-widget elementor-widget-pt-tour-booking\" data-id=\"753f9cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"pt-tour-booking.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n            .pt-tour-booking-box{border:1px solid rgba(0,0,0,.1);box-sizing:border-box}.pt-tour-booking-box h2{margin:0 0 20px}.pt-tour-booking-tour-name{font-size:1.05em;font-weight:600;margin-bottom:20px}.pt-tour-booking-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(0,0,0,.1)}.pt-tour-booking-section h3{margin:0 0 14px}.pt-tour-booking-date-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.pt-tour-date-option{position:relative}.pt-tour-date-option input{position:absolute;opacity:0;pointer-events:none}.pt-tour-date-option label{display:block;border:1px solid #bbb;padding:12px 14px;border-radius:5px;cursor:pointer}.pt-tour-date-option input:checked+label{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}.pt-tour-booking-ticket{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.08)}.pt-tour-booking-ticket:last-child{border-bottom:0}.pt-tour-ticket-name{font-weight:600}.pt-tour-ticket-note{font-size:.88em;opacity:.75;margin-top:4px}.pt-tour-qty{width:80px}.pt-tour-line-price{text-align:right;font-weight:600}.pt-tour-booking-total{display:flex;justify-content:space-between;align-items:center;font-size:1.15em;font-weight:700;margin-top:18px}.pt-tour-booking-note{padding:12px 14px;background:rgba(0,0,0,.04);margin-top:12px}.pt-tour-booking-error{display:none;margin-top:14px;padding:10px 12px;border:1px solid #c00}.pt-tour-booking-actions{margin-top:22px}.pt-tour-booking-continue{display:inline-block;padding:11px 20px;border:0;cursor:pointer}.pt-tour-requested-date input[type=date]{max-width:240px}.pt-tour-tier-message,.pt-tour-tier-list{font-size:.88em;opacity:.75;margin-top:4px}.pt-tour-tier-heading{font-weight:600;opacity:1}.pt-tour-booking-box button[disabled]{opacity:.5;cursor:not-allowed}@media(max-width:600px){.pt-tour-booking-ticket{grid-template-columns:1fr 80px}.pt-tour-line-price{grid-column:1\/-1;text-align:left}}\n            <\/style><div id=\"pt-tour-booking-753f9cc\" class=\"pt-tour-booking-box\" data-payment-method=\"online_card\" data-booking-behaviour=\"scheduled\"><h2>Book this tour<\/h2><div class=\"pt-tour-booking-tour-name\">Bertha&#039;s Beach<\/div><div class=\"pt-tour-booking-section pt-tour-booking-dates\"><h3>Available dates<\/h3><div class=\"pt-tour-booking-date-grid\"><div class=\"pt-tour-date-option\"><input type=\"radio\" name=\"pt-tour-booking-753f9cc-date\" id=\"pt-tour-booking-753f9cc-date-1\" value=\"2026-10-01\"  checked='checked'><label for=\"pt-tour-booking-753f9cc-date-1\">October 1, 2026<\/label><\/div><div class=\"pt-tour-date-option\"><input type=\"radio\" name=\"pt-tour-booking-753f9cc-date\" id=\"pt-tour-booking-753f9cc-date-2\" value=\"2026-10-03\" ><label for=\"pt-tour-booking-753f9cc-date-2\">October 3, 2026<\/label><\/div><div class=\"pt-tour-date-option\"><input type=\"radio\" name=\"pt-tour-booking-753f9cc-date\" id=\"pt-tour-booking-753f9cc-date-3\" value=\"2026-10-07\" ><label for=\"pt-tour-booking-753f9cc-date-3\">October 7, 2026<\/label><\/div><\/div><\/div><div class=\"pt-tour-booking-section\"><h3>Tickets<\/h3><div class=\"pt-tour-booking-ticket\" data-ticket-id=\"1\" data-model=\"per_person\" data-price=\"50\" data-tiers=\"[]\"><div><div class=\"pt-tour-ticket-name\">Adult<\/div><div class=\"pt-tour-ticket-note\">Per person<\/div><\/div><input class=\"pt-tour-qty\" type=\"number\" min=\"0\" step=\"1\" value=\"0\" aria-label=\"Adult quantity\"><div class=\"pt-tour-line-price\" data-line-price=\"0\">\u00a30.00<\/div><\/div><div class=\"pt-tour-booking-ticket\" data-ticket-id=\"2\" data-model=\"per_person\" data-price=\"40\" data-tiers=\"[]\"><div><div class=\"pt-tour-ticket-name\">Child<\/div><div class=\"pt-tour-ticket-note\">Per person<\/div><\/div><input class=\"pt-tour-qty\" type=\"number\" min=\"0\" step=\"1\" value=\"0\" aria-label=\"Child quantity\"><div class=\"pt-tour-line-price\" data-line-price=\"0\">\u00a30.00<\/div><\/div><div class=\"pt-tour-booking-ticket\" data-ticket-id=\"6\" data-model=\"tiered_group\" data-price=\"0\" data-tiers=\"[{&quot;id&quot;:&quot;1&quot;,&quot;ticket_type_id&quot;:&quot;6&quot;,&quot;min_quantity&quot;:&quot;1&quot;,&quot;max_quantity&quot;:&quot;4&quot;,&quot;price&quot;:&quot;150.00&quot;,&quot;sort_order&quot;:&quot;1&quot;,&quot;created_at&quot;:&quot;2026-09-23 20:26:26&quot;,&quot;updated_at&quot;:&quot;2026-09-23 20:26:26&quot;},{&quot;id&quot;:&quot;4&quot;,&quot;ticket_type_id&quot;:&quot;6&quot;,&quot;min_quantity&quot;:&quot;5&quot;,&quot;max_quantity&quot;:&quot;10&quot;,&quot;price&quot;:&quot;350.00&quot;,&quot;sort_order&quot;:&quot;5&quot;,&quot;created_at&quot;:&quot;2026-09-23 20:27:55&quot;,&quot;updated_at&quot;:&quot;2026-09-23 20:27:55&quot;},{&quot;id&quot;:&quot;3&quot;,&quot;ticket_type_id&quot;:&quot;6&quot;,&quot;min_quantity&quot;:&quot;11&quot;,&quot;max_quantity&quot;:&quot;16&quot;,&quot;price&quot;:&quot;500.00&quot;,&quot;sort_order&quot;:&quot;11&quot;,&quot;created_at&quot;:&quot;2026-09-23 20:27:02&quot;,&quot;updated_at&quot;:&quot;2026-09-23 20:27:02&quot;},{&quot;id&quot;:&quot;5&quot;,&quot;ticket_type_id&quot;:&quot;6&quot;,&quot;min_quantity&quot;:&quot;17&quot;,&quot;max_quantity&quot;:&quot;25&quot;,&quot;price&quot;:&quot;750.00&quot;,&quot;sort_order&quot;:&quot;17&quot;,&quot;created_at&quot;:&quot;2026-09-23 20:28:12&quot;,&quot;updated_at&quot;:&quot;2026-09-23 20:28:12&quot;}]\"><div><div class=\"pt-tour-ticket-name\">Group<\/div><div class=\"pt-tour-ticket-note\">One group \u2014 price based on number of people<div class=\"pt-tour-tier-list\"><span class=\"pt-tour-tier-heading\">Group pricing:<\/span> 1\u20134 people \u00a3150.00 &nbsp;\u2022&nbsp; 5\u201310 people \u00a3350.00 &nbsp;\u2022&nbsp; 11\u201316 people \u00a3500.00 &nbsp;\u2022&nbsp; 17\u201325 people \u00a3750.00<\/div><\/div><\/div><input class=\"pt-tour-qty\" type=\"number\" min=\"0\" step=\"1\" value=\"0\" max=\"25\" aria-label=\"Group quantity\"><div class=\"pt-tour-line-price\" data-line-price=\"0\">\u00a30.00<\/div><\/div><div class=\"pt-tour-booking-total\"><span>Total<\/span><span class=\"pt-tour-total-value\">\u00a30.00<\/span><\/div><\/div><div class=\"pt-tour-booking-error\" role=\"alert\"><\/div><div class=\"pt-tour-booking-actions\"><button type=\"button\" class=\"pt-tour-booking-continue\">Continue<\/button><\/div><div class=\"pt-tour-booking-note pt-tour-payment-note\">Payment will be arranged online at checkout.<\/div><\/div><script>(function(){var root=document.getElementById(\"pt-tour-booking-753f9cc\");if(!root)return;var money=function(n){return \"\u00a3\"+(Number(n)||0).toFixed(2)};var totalEl=root.querySelector(\".pt-tour-total-value\"),rows=root.querySelectorAll(\".pt-tour-booking-ticket\"),err=root.querySelector(\".pt-tour-booking-error\"),btn=root.querySelector(\".pt-tour-booking-continue\");function price(row){var input=row.querySelector(\".pt-tour-qty\"),qty=parseInt(input.value||\"0\",10);if(qty<0)qty=0;var maxAttr=input.getAttribute(\"max\"),maxQty=maxAttr?parseInt(maxAttr,10):0;if(maxQty&&qty>maxQty){qty=maxQty;input.value=maxQty}var model=row.getAttribute(\"data-model\"),base=parseFloat(row.getAttribute(\"data-price\")||\"0\"),value=0;if(model===\"tiered_group\"){var tiers=[];try{tiers=JSON.parse(row.getAttribute(\"data-tiers\")||\"[]\")}catch(e){}for(var i=0;i<tiers.length;i++){var min=parseInt(tiers[i].min_quantity,10)||1,max=tiers[i].max_quantity?parseInt(tiers[i].max_quantity,10):0;if(qty>=min&&(!max||qty<=max)){value=parseFloat(tiers[i].price)||0;break}}}else if(model===\"per_group\"){value=qty*base}else{value=qty*base}row.querySelector(\"[data-line-price]\").textContent=money(value);return value}function update(){var total=0;rows.forEach(function(r){total+=price(r)});totalEl.textContent=money(total);return total}rows.forEach(function(r){r.querySelector(\".pt-tour-qty\").addEventListener(\"input\",update);});btn.addEventListener(\"click\",function(){var rows=root.querySelectorAll(\".pt-tour-booking-ticket\"),tickets=[];rows.forEach(function(r){var q=parseInt(r.querySelector(\".pt-tour-qty\").value||\"0\",10);if(q>0)tickets.push({ticket_id:parseInt(r.getAttribute(\"data-ticket-id\"),10),quantity:q});});var selected=root.querySelector(\"input[type=radio]:checked\"),requested=root.querySelector(\".pt-tour-requested-date-input\"),date=selected?selected.value:(requested?requested.value:\"\");if(!date){err.textContent=\"Please select a date.\";err.style.display=\"block\";return}if(!tickets.length){err.textContent=\"Please select at least one ticket.\";err.style.display=\"block\";return}btn.disabled=true;fetch(\"https:\/\/pt.tonedog.design\/wp-admin\/admin-ajax.php\",{method:\"POST\",headers:{\"Content-Type\":\"application\/x-www-form-urlencoded; charset=UTF-8\"},body:new URLSearchParams({action:\"pt_create_tour_session\",nonce:\"48d801667a\",tour_id:\"1\",date:date,booking_behaviour:root.getAttribute(\"data-booking-behaviour\"),tickets:JSON.stringify(tickets)})}).then(function(r){return r.json()}).then(function(res){btn.disabled=false;if(!res.success){err.textContent=res.data&&res.data.message?res.data.message:\"Unable to start booking.\";err.style.display=\"block\";return}root.dataset.sessionKey=res.data.session_key;root.dispatchEvent(new CustomEvent(\"pt:tour-selection\",{detail:{tourId:1,date:date,bookingBehaviour:root.getAttribute(\"data-booking-behaviour\"),paymentMethod:root.getAttribute(\"data-payment-method\"),total:res.data.total,sessionKey:res.data.session_key}}));err.textContent=\"Booking session created: \"+res.data.session_key;err.style.display=\"block\";});return;var date=\"\";var selected=root.querySelector(\"input[type=radio]:checked\");var requested=root.querySelector(\".pt-tour-requested-date-input\");if(selected)date=selected.value;else if(requested)date=requested.value;if(!date){err.textContent=\"Please select a date.\";err.style.display=\"block\";return}var total=update();if(total<=0){err.textContent=\"Please select at least one ticket.\";err.style.display=\"block\";return}root.dispatchEvent(new CustomEvent(\"pt:tour-selection\",{detail:{tourId:1,date:date,bookingBehaviour:root.getAttribute(\"data-booking-behaviour\"),paymentMethod:root.getAttribute(\"data-payment-method\"),total:total}}));err.textContent=\"Selection captured. Checkout\/session connection will be added in the next booking step.\";err.style.display=\"block\";});update();})();<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Bertha&#039;s Beach A trip to Bertha&#8217;s Beach Duration: 6 hoursActivity: Moderate VP Tour to VP Duration: 6.5 hoursActivity: High Book this tour Bertha&#039;s Beach Available dates October 1, 2026October 3, 2026October 7, 2026 Tickets AdultPer person\u00a30.00ChildPer person\u00a30.00GroupPer group\u00a30.00Total\u00a30.00ContinuePayment will be arranged online at checkout.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-16","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/pt.tonedog.design\/index.php?rest_route=\/wp\/v2\/pages\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pt.tonedog.design\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/pt.tonedog.design\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/pt.tonedog.design\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pt.tonedog.design\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16"}],"version-history":[{"count":22,"href":"https:\/\/pt.tonedog.design\/index.php?rest_route=\/wp\/v2\/pages\/16\/revisions"}],"predecessor-version":[{"id":53,"href":"https:\/\/pt.tonedog.design\/index.php?rest_route=\/wp\/v2\/pages\/16\/revisions\/53"}],"wp:attachment":[{"href":"https:\/\/pt.tonedog.design\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}