1(self.webpackChunkedition_node_gulp=self.webpackChunkedition_node_gulp||[]).push([[570],{42481:(e,t,n)=>{"use strict";n.d(t,{A:()=>T});var i=n(82124),a=n(4754),o=n(50527),r=n.n(o),s=n(43298),d=n(50475);function c(e){try{if(!e||e.kind!==s.b.DOCUMENT||!e.definitions)return console.error("Passed object is not a valid GraphQL DocumentNode."),null;const t=e.definitions.find(e=>e.kind===s.b.OPERATION_DEFINITION&&e.operation===d.cE.QUERY);if(!t)return console.error("No query operation definition found."),null;const n=t.selectionSet?.selections?.[0];return n&&n.kind===s.b.FIELD&&n.name?n.name.value:(console.error("Could not find a root field selection."),null)}catch(t){return console.error("Error inspecting GraphQL AST:",t),null}}const l={cache:null,fetch:null},m=e=>{const t=e?.data?.bookingDetails?.booking?.itinerary;return Array.isArray(t?.unavailableSources)&&(e.unavailableSources=t.unavailableSources),e};var u=n(6570);var g=n(83806),k=n(63039),v=n(55303),p=n(4732),f=n(9892),h=n(10573),y=n(1595),b=n(13857),A=n(74353),N=n.n(A);const S={accommodations:[],payments:[],activityWindowStartDate:null,isWithInActivityWindow:null,currencyCode:null,transactionType:null,insuranceText:null,insuranceViewDocumentLabel:null,insuranceViewDocumentLink:null,isLeadBooker:null,numberOfDaysForActivityBooking:null,activityWindowStartTime:null,activityWindowStartDateTime:null,totalPrice:null,minimumDepositAmount:null,balanceDueAmount:null,balanceDueDate:null,insuranceCode:null,insuranceName:null,insurancePrice:null,bookingReference:null,clientNumber:null,bookingMaxCapacityReached:null,onlineGuestCheckinComplete:null,onlineVehicleCheckinComplete:null,lodgeOverOccupied:null,extras:[],bookingWarnings:[],lodgeTypes:null,lodgeCount:null},I={fieldMap:[{field:"centralBookingReference",mapAs:"bookingReference"},{field:"villa"},{field:"activityWindow",handler(e,t){const n={};return n.activityWindowStartDateTime=e.startDateTime,n.activityWindowStartDate=(0,h.aL)(e.startDateTime,g.DX.CURRENT_SITE),n.activityWindowStartTime=(0,h.aL)(e.startDateTime,g.G$.DEFAULT),n.isWithInActivityWindow=e.isWithinActivityWindow,n.lodgeCount=t.accommodations.length,n}},{field:"leadBooker"},{field:"accommodations",handler:e=>({accommodations:e.map(e=>{const t={...e,accommodationDescription:e.accommodationName,villageDescription:e.village.name,villageMapLink:e.village.map,villagePostcode:e.village.villageAddress[0].postcode,villagecode:e.village.code,typeOfGuests:`Adults-${e.adults??0},Children-${e.children??0},Toddlers-${e.toddlers??0},Infants-${e.infants??0}`,locationDescription:e.location?.description??"",locationPreference:e.location?.description??"",locationPrice:e.location?.price??0,arrivalDate:N()(e.arrivalDate).format(g.DX.CURRENT_SITE),departureDate:N()(e.departureDate).format(g.DX.CURRENT_SITE),arrivalDay:N()(e.arrivalDate).format("dddd").toUpperCase(),arrivalMonth:N()(e.arrivalDate).format("MMMM").toUpperCase(),departureDay:N()(e.departureDate).format("dddd").toUpperCase(),departureMonth:N()(e.departureDate).format("MMMM").toUpperCase(),enhancements:e.enhancements?.map(e=>({enhancementPrice:e.price,enhancementDesc:e.title,enhancementCode:e.code,priceVariants:e.priceVariants?.map(e=>({desc:e.title,quantity:e.quantity}))||[]}))||[]};return delete t.village,delete t.accommodationName,delete t.location,t})})},{field:"payments"},{field:"extras"},{field:"totalPrice"},{field:"onlineVehicleCheckInComplete",mapAs:"onlineVehicleCheckinComplete"},{field:"onlineGuestCheckInComplete",mapAs:"onlineGuestCheckinComplete"},{field:"balanceDueAmount",defaultsTo:0},{field:"balanceDueDate",handler:e=>e?{balanceDueDate:N()(e).format(g.DX.CURRENT_SITE)}:{balanceDueDate:null}},{field:"clientNumber"},{field:"isLeadBooker"},{field:"notifications",defaultsTo:[]},{field:"insuranceCode",handler(e,t){y.A.log(e);const[n]=t.accommodations,{insurance:i}=n;return{insuranceCode:i.code,insuranceName:i.title,insurancePrice:i.price,insuranceText:i.description,insuranceViewDocumentLabel:i.documentLabel,insuranceViewDocumentLink:i.documentLink}}},{field:"others",handler(e,t){y.A.log(e);const[n]=t.accommodations,i=t.accommodations.map(e=>e.accommodationName).join(","),a=(0,h.c_)(t.activityWindow.startDateTime)+1,o=b.A.getISOCurrencyCodeForVillage(n.village.code),r=t.balanceDueAmount>0?"deposit":"balance";
1return{lodgeCount:t.accommodations.length,lodgeTypes:i,numberOfDaysForActivityBooking:a,currencyCode:o,transactionType:r}}}]},C=e=>{const{booking:t,itinerary:n}=e.bookingDetails,i=((e,t,n)=>{const i={...e};return(0,f.z0)(t,e=>{const{handler:t,field:a,mapAs:o,defaultsTo:r}=e;if(t){const e=t(n[a],n,o);return void Object.assign(i,e)}const s={},d=n[a]||(r||0===r?r:null);s[o||a]=void 0===d||null===d?null:d,Object.assign(i,s)}),i})(S,I.fieldMap,t),a=Object.assign({bookingDetails:null,bookingReference:null,leadBooker:null,totalNumberOfGuests:null},{bookingDetails:i,leadBooker:i.leadBooker,bookingReference:i.bookingReference,totalNumberOfGuests:null});return{currentBooking:a,bookings:{...a,notifications:i.notifications,itinerary:n}}},D={bookingsData:null,unconfirmedActivitiesData:null,bookingsMockData:null,bookingsAPIData:null,availabilityData:null,lodgeDetails:null,bookingsServiceErrors:null,hasBroadcastedBookingDetailsLoaded:!1},E={getAccommodationBookingsData:e=>e.bookingsData,getAccommodationBookingsDataMock:e=>e.bookingsMockData,getUnconfirmedActivitiesData(e){const t=v.A.getProfileID();return e.bookingsData?.bookingDetails?.itinerary?.activities.filter(e=>!e.confirmed&&e.activityBooker===t)},getConfirmedActivitiesData:e=>e.bookingsData?.bookingDetails?.itinerary?.activities.filter(e=>e.confirmed),getAccommodationBundleActivities(e){const t=v.A.getProfileID();return e.bookingsData?.bookingDetails?.itinerary?.bundleActivities.filter(e=>e.bundle.some(e=>!e.confirmed&&e.activityBooker===t))},getAccommodationConfirmedBundleActivities(e){const t=v.A.getProfileID();return e.bookingsData?.bookingDetails?.itinerary?.bundleActivities.filter(e=>e.bundle.some(e=>e.confirmed&&e.activityBooker===t))},getBookingAPIData:e=>e.bookingsAPIData,getAvailabilityData:e=>e.availabilityData,getBookingsServiceErrors:e=>e.bookingsServiceErrors},F={async fetchConfirmedBooking({commit:e},t){try{const n=Object.values(t),i=await(async(e,t)=>{const n=t.refetch?"fetch":"cache";if(t.graphqlOptions={context:{evictFieldName:c(r())}},t.errorPolicy="all",!l[n]){const i=t.refetch?"network-only":"cache-first";l[n]=(0,a.W)(r(),e,!0,!1,i,!0,t).then(m).finally(async()=>{l[n]=null})}return l[n]})(...n);return e("setBookingsServiceErrors",i.errors||null),e("setAccommodationBookingsData",i.data),e("setAccommodationAPIData",i.data),p.A.setCartBookingRef(i.data?.bookingDetails?.booking?.centralBookingReference),!D.hasBroadcastedBookingDetailsLoaded&&i.data?.bookingDetails&&((0,k.ei)({eventName:g.mb.bookingDetailsLoaded,component:g.MU.bookingDetails,rootLevel:!0},i.data?.bookingDetails),e("setHasBroadcastedBookingDetailsLoaded",!0)),p.A.populateBookingDataToContexthub({...C(i.data)}),i.data}catch(n){throw console.error("Error fetching booking details:",n),n}},async setDummyBooking({commit:e},t){e("setAccommodationBookingsData",t)},async getLodgeDetails({commit:e},t){const n=await(async e=>{const t=`/api/v1/content/graphql/execute.json/lodge-titles;villageCode=${e.villageCode}`,n=await(0,u.e5)(t),{data:i}=n;return i.data})(t);return e("setLodgeDetails",n),n}},B={setAccommodationBookingsData(e,t){e.bookingsData=t,window.dispatchEvent(new CustomEvent("dispatchAccommodationBookingsData",{detail:{...t,serviceErrors:e.bookingsServiceErrors||[]}}))},setBookingsServiceErrors(e,t){e.bookingsServiceErrors=t},setAccommodationBookingsDataMock(e,t){e.bookingsMockData=t},setAccommodationAPIData(e,t){e.bookingsAPIData=t},setAvailabilityData(e,t){e.availabilityData=t},setLodgeDetails(e,t){e.lodgeDetails=t},setHasBroadcastedBookingDetailsLoaded(e,t){e.hasBroadcastedBookingDetailsLoaded=t}},w={state:D,getters:E,actions:F,mutations:B},T=(0,i.y$)({modules:{accommodation:w}})},7945:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>z,aO:()=>q,UV:()=>G,dO:()=>j});var i=n(1595),a=n(46630),o=n(62890),r=n(17852),s=n(79197);class d{constructor(e){this.$basketIcon=e,this.$count=e.querySelector(".avatar__counter"),this.$total=e.querySelector(".basket__cta__price"),this.$basketIconCTA=e.querySelector(".js-toggle-basket-nav"),this.$jsToggleHeaderBasketMobApp=document.querySelector(".header--mobile-app"),this.addHighlight=this.addHighlight.bind(this),this.removeHightlight=this.removeHightlight.bind(this)}show(){this.$basketIcon.classList.remove("hidden"),this.$jsToggleHeaderBasketMobApp&&this.$jsToggleHeaderBasketMobApp.classList.remove("hidden")}hide(){this.$basketIcon.classList.add("hidden"),this.$jsToggleHeaderBasketMobApp&&this.$jsToggleHeaderBasketMobApp.classList.add("hidden")}addHighlight(){this.$basketIcon.classList.add("opened")}removeHightlight(){this.$basketIcon.classList.remove("opened")}setCountAndTotal(e,t,n){this.$count.textContent=e,this.$total.textContent=n+t.toFixed(2)}addEventListener(e,t){this.$basketIconCTA.addEventListener(e,t)}}var c=n(4732),l=n(55303),m=n(88436),u=n(13857),g=n(88231),k=n(57749),v=n(48581),p=n(42481),f=n(1202),h=n(18082),y=n(63039),b=n(83806),A=n(39653),N=n(10573),S=n(72369);const I=(0,a.gA)(),C=(0,a.G0)(),D=document.querySelector(".header__basket"),E=document.querySelector(".nav__item--basket");let F=null,B=null;const w="addToBasket",T="removeFromBasket",R=window.innerWidth;let O,L,x,M;const P=e=>e&&e.filter(e=>"U"===e.bundle[0].status)||[],$=async(e=!1,t=!1)=>{let n=t;sessionStorage.getItem("partialFailure")&&(n=!0,sessionStorage.removeItem("partialFailure"));const i=await A.g.getBooking(n);V(),E&&(x.length>0||M.length>0)?(_(i),e||H(),Q(!1)):localStorage.removeItem("basket:firstActivityAddedTime"),(0,a.ZO)("#v-basket-expiry").then(()=>{const e=document.querySelector("#v-basket-expiry");if(e&&!B){const t=(0,g.Ef)({setup(){const t=(0,g.KR)(!1),n=(0,g.KR)(null),i=e=>{t.value=!1,e.preventDefault(),e.stopPropagation(),l.A.setBasketExpiryFlag()},a=(e,i)=>{if(!l.A.getBasketExpiryFlag()){(0,N.oM)(e)>=i?(t.value=!0,n.value.focus()):t.value=!1}};return(0,g.sV)(()=>
1{if(x.length>0||M.length>0){n.value=e.querySelector(".basket__expiry__close"),n.value.addEventListener("click",i);const t=10,o="basket:firstActivityAddedTime";let r=localStorage.getItem(o);r||(r=Date.now(),localStorage.setItem(o,r)),r=Number(r);const s=(0,N.oM)(r),d=Math.max(0,60*(t-s)*1e3);a(r,t),d>0&&setTimeout(()=>{a(r,t)},d)}}),{showBasketExpiry:t,closePopup:i,checkExpiry:a}}});return B=t.mount("#v-basket-expiry"),B}})},V=()=>{x=p.A.getters.getUnconfirmedActivitiesData||[],M=P(p.A.getters.getAccommodationBundleActivities)},_=e=>{const t=c.A.getShowBasket();O=new s.Ay(D,{items:x,showBasket:t,booking:e}),t&&U(e),L=new d(E)},H=()=>{O.addEventListener(s.qY.OPEN,()=>{L.addHighlight(),c.A.clearViewPendingFlags()}),O.addEventListener(s.qY.CLOSE,()=>{c.A.clearViewPendingFlags(),L.removeHightlight()}),O.addEventListener(s.qY.REMOVE,e=>j(e.detail.activity)),L.addEventListener("click",Y),O.addEventListener(s.qY.RENDERBASKET,()=>{Q(!0)})},Y=e=>{e.preventDefault(),O.toggleBasket(e)},U=async e=>{const t=l.A.getRecentlyAddedActivity(),[n]=e.bookingDetails.booking.accommodations;if(!t)return;const i={...q(t)||{},bookingReference:e?.bookingDetails?.booking?.centralBookingReference,daySelected:(0,N.VJ)(n.arrivalDate),breakDuration:n.duration};(0,y.ei)({component:b.MU.basket,eventName:b.mb.addToBasket,action:"addToBasket"},i)},q=(e,t)=>{let n=t||p.A.getters.getUnconfirmedActivitiesData;try{const t=n?.itinerary??n?.bookingDetails?.itinerary;if(!t)throw new Error("Itinerary data not found in basketData");const i=t.bundleActivities?t.bundleActivities.flatMap(e=>e.bundle??[]):[],a=t.activities??[],o=[...i,...a].find(t=>t.activityBookingReference===e);if(!o)throw new Error(`Activity not found for reference ${e}`);return o}catch(a){return void i.A.error(a)}},G=e=>{K(w,Promise.resolve(e))},j=(e,t)=>{B.showBasketExpiry=!1,l.A.removeBasketExpiryFlag();let n=e;t&&(n=W(e)),K(T,new Promise(e=>e(c.A.formatActivityForDtm(n))))},W=e=>({...e,date:(0,N.Ri)(e.date,"DD/MM/YYYY")}),K=(e,t)=>{Promise.all([t,c.A.getDtmCartData()]).then(([t,n])=>{(0,a.Rj)(e,{activity:t,cartData:n,searchData:m.A.getDtmCheckAvailability()})})},Q=async e=>{const t=x?.reduce((e,t)=>e+parseFloat(t.amount),0)+(()=>{let e=0;return P(M).forEach(t=>{const n=t?.bundle?.filter(e=>e.multiBuyFields?.multiBuyParent);e+=n[0].multiBuyFields?.multiBuyPrice/1}),e})(),n=(()=>{let e=0;return P(M).forEach(t=>{const n=t.bundle.filter(e=>e.multiBuyFields?.multiBuyParent);e+=n[0].multiBuyFields?.multiBuyFullPrice/1-n[0].multiBuyFields?.multiBuyPrice/1}),e})(),d=await(0,v.B)(),l=u.A.getCurrencySymbolForVillage(d),m=document.querySelector("#v-basket-bundle");if(m.classList.add("hidden"),e&&(x=p.A.getters.getUnconfirmedActivitiesData||[],M=P(p.A.getters.getAccommodationBundleActivities)),x.length>0||M.length>0){m.classList.remove("hidden"),O.render();const e=[...x],d=c.A.getMultiBuyAddedItems(e,M.length),u=d.finalBasket,p=d.checkedObj;if(F)F.basketBooking=u.length?u:x,F.bundleBooking=M,F.total=t,F.savings=n,F.villageCode=await(0,v.B)(),F.bookingReference=(0,v.L)();else{const e=(0,g.Ef)({setup(){const e=(0,g.KR)([]),d=(0,g.KR)([]),m=(0,g.KR)(t),y=(0,g.KR)(n),b=(0,g.KR)((0,v.B)()),I=(0,g.KR)((0,v.L)()),C=(0,g.KR)(l),E=(0,g.KR)(""),F=(0,g.KR)([]),B=(0,g.KR)(p),w=(0,g.KR)(0),T=(0,g.KR)(!1),P=new h.A,$=async(e,t,n)=>{V(),await Q(!0),D.dispatchEvent((0,o.l)(s.qY.REMOVEGRID,{target:this,activityRef:t})),await J(!0,n),await(0,r.A)(!1),P.hide(),O.close()},_=(e,t)=>{if(e.responseJSON&&e.responseJSON.errorCode){const{errorCode:n}=e.responseJSON;D.dispatchEvent((0,o.l)(s.qY.REMOVAL_RESTRICTED,{target:this,status:n,activityRef:t.code,activityBookingRef:t.activityBookingReference,bundleRef:t.code,data:t}))}P.hide()},H=(0,g.EW)(()=>{let e=[];
1if(d.value&&d.value[0]&&d.value[0].bundle){let t=0;d.value.forEach((n,i)=>{F.value.push({index:!1});const a={...n.bundle.filter(e=>e.multiBuyFields?.multiBuyParent)[0]};a.parent=!0,a.key=t%2===0?"even":"odd",t+=1,a.checked=i,a.children=n.bundle,a.currency=l,a.villageCode=(0,v.B)(),a.bookingReference=(0,v.L)();const o=[];n.bundle.forEach(e=>{e={...e,checked:i},o.push(e.activityBookingReference)}),a.activityBookRefList=o,e.push(a),e=e.concat(n.bundle)})}return e});return(0,g.sV)(()=>{const n=document.querySelector(".receipt-bundle__added"),i=document.querySelector(".receipt-bundle__added table");if(R<=736&&n&&i){const e=i.getBoundingClientRect(),t=w.value-e.y;n.scrollTop=t>=0?t:-t}const a=u.length?u:x;e.value.push(...a),d.value.push(...M),T.value=!0,L.show(),L.setCountAndTotal(x.length+M.length,t,l)}),{basketBooking:e,bundleBooking:d,total:m,savings:y,villageCode:b,bookingReference:I,currency:C,currentlabel:E,checked:F,checkedMultibuy:B,hasBasketBookingMounted:T,scrollPosition:e=>{if(R<=736){const t=e.target.getBoundingClientRect();w.value=t.y}},close:()=>{c.A.clearViewPendingFlags(),O.close()},removeBundle:async e=>{let t={};if(e.target.getAttribute("data-village")&&e.target.getAttribute("data-bookingref")&&e.target.getAttribute("data-activityref")){const n=e.target.getAttribute("data-activityref");return t={centralBookingReference:await(0,v.L)(),channel:"CP",source:e.target.getAttribute("data-source"),activityBookReferences:(n||"").split(",")},P.show(),(0,f.M)(t).then(e=>{if(e&&e.data&&e.data.removeActivityFromBasket){const{activity:t}=e.data.removeActivityFromBasket;$(0,n)}}).catch(e=>{i.A.error("BasketRow removeFromBasket - error",e),_(e,t)})}},getTime:e=>e?.startDateTime?(0,N.Sp)(e?.startDateTime,"HH:mm"):"",getDate:e=>e?.date?(0,N.Ri)(e.date,"DD/MM/YYYY"):"",getLocation:e=>{const t=e.location?.replace(/<\/?p>/g,"").trim();return t||""},formattedBundleBooking:H,getPriceVariants:e=>{const t=e.itineraryPriceVariants||[],n=(i="variantName",t.reduce((e,t)=>((e[t[i]]=e[t[i]]||[]).push(t),e),{}));var i;let a="";for(const o in n)if(n.hasOwnProperty(o)){a+=`<li>${n[o].reduce((e,t)=>e+parseFloat(t.quantity),0)} x ${n[o][0].variantDisplayName} ${l}${(0,k.$g)(n[o][0].price)}</li>`}return a},getActivityTotal:e=>{const t=e.itineraryPriceVariants||[];let n=0;return t.forEach(e=>{const t=parseFloat(e.price),i=parseFloat(e.quantity)||1;n+=t*i}),n.toFixed(2)},hasDiscount:e=>(e.itineraryPriceVariants||[]).some(e=>parseFloat(e.tieredPricingFields?.discountPercentage)>0),getOriginalPrice:e=>{const t=e.itineraryPriceVariants||[];let n=0;return t.forEach(e=>{const t=parseFloat(e.tieredPricingFields?.originalPrice??e.price)||0,i=parseFloat(e.quantity)||1;n+=t*i}),n.toFixed(2)},setHeldUntilTimeout:e=>{let t=null,n=e.clearDateTime;if(n){const o=(0,a.Yi)(e.clearDateTime);n=(0,N.Cl)(o,a.O),i.A.log("BASKET TIMEOUT for '"+e.activityBookingReference+"/"+e.code+"' in minutes: ",Math.floor(o/a.d2)),t=setTimeout(async()=>{await r()},o);const r=async()=>{i.A.log(`BASKET TIMEOUT EXPIRY for '${e.activityBookingReference}/${e.code}' in minutes: ${Math.floor(o/a.d2)}`);const t=await(0,v.L)(),n=e.activityBookRefList??[e.activityBookingReference];try{P.show();const o=await(async e=>{try{const t=(0,a.gZ)(),n=await S.rS.getWorker().checkBasketExpiryCall({payload:e,requestId:t});if(n.expiryCallStatus)return await S.rS.getWorker().waitForBasketResponse(t);const i=n.payload;return{...(await(0,f.M)(i)).data,filteredPayload:i,requestId:t}}catch(t){throw new Error(t)}})({centralBookingReference:t,activityBookReferences:n,source:e.source,channel:"CP"});if(o.crossBasketCall&&i.A.log("[DEBUG] Cross basket call response received."),o&&o.removeActivityFromBasket){const{activity:t}=o.removeActivityFromBasket;await A.g.getBooking(!0),await $(0,e.activityBookingReference,o.crossBasketCall),o.crossBasketCall||S.rS.getWorker().trigger("basketCallCompleted",{tokenCall:!1,response:{...o||{}},payload:o.filteredPayload,requestId:o.requestId})}}catch(r){_(r,e.activityBookingReference)}};i.A.log(`Held TIMEOUT check '${t}`)}return n}}}});F=e.mount("#v-basket-bundle")}L.setCountAndTotal(x.length+M.length,t,l)}else O&&L&&(c.A.clearViewPendingFlags(),localStorage.removeItem("basket:firstActivityAddedTime"),O.close(),L.hide())};async function J(e,t){try{await $(e,t)}catch(n){i.A.error(n)}}async function z(){!l.A.isUserLoggedIn()||I||C||await J(!1)}},79197:(e,t,n)=>{"use strict";n.d(t,{Ay:()=>p,qY:()=>v,to:()=>f});var i=n(46630),a=n(17013),o=n(62890),r=n(4732),s=n(13857),d=n(34035),c=n(3302);const l=document.body,m=document.querySelector(".root.responsivegrid"),u=document.querySelector(".js-close-basket"),g=document.querySelectorAll(".basket__bt
1n.btn--book"),k=document.querySelector(".booking-total__price"),v={OPEN:"open",CLOSE:"close",CHANGE:"change",RESIZE:"resize",REMOVE:"remove",REMOVAL_RESTRICTED:"removalRestricted",REMOVEGRID:"removeGrid",RENDERBASKET:"renderBasket",RENDERGRID:"renderGrid"};class p extends a.A{constructor(e,t){super(e),this.$basket=e,this.basketItems=t.items||[],this.showBasket=t.showBasket,this.$activitiesList=this.$basket.querySelector(".basket__activities--list"),this.isOpen=!1;const{booking:n}=t.booking.bookingDetails||{},[a]=n.accommodations;this.bookingRef=n.centralBookingReference,this.villageCode=a.village.code,this.$basketOverlay=document.createElement("div"),this.$basketOverlay.className="basket-overlay",this.open=this.open.bind(this),this.close=this.close.bind(this),this.toggleBasket=this.toggleBasket.bind(this),this.onClickOutside=this.onClickOutside.bind(this),this.setMaxHeight=this.setMaxHeight.bind(this),g.forEach(e=>{e.setAttribute("href",`${i.GU("activitiesPaymentPageURL")}/${this.bookingRef}/${this.villageCode}`)}),u.addEventListener("click",this.close)}open(e){e&&e.preventDefault(),r.A.clearViewPendingFlags(),l.classList.add("noscroll"),m&&(m.classList.add("noscroll"),m.appendChild(this.$basketOverlay)),this.$basket.classList.add("opened"),this.dispatchEvent((0,o.l)(v.OPEN,{target:this})),this.setMaxHeight(),this.addWindowOnResize(),this.isOpen=!0}close(e){e&&e.preventDefault(),r.A.clearViewPendingFlags(),this.isOpen&&(l.classList.remove("noscroll"),m&&(m.classList.remove("noscroll"),this.$basketOverlay.remove()),this.removeTimer(),this.$basket.classList.remove("opened"),this.dispatchEvent((0,o.l)(v.CLOSE,{target:this})),this.removeWindowOnResize(),this.isOpen=!1)}toggleBasket(e){this.isOpen?this.close(e||null):this.open(e||null)}updateBasketTotal(e){k.textContent=s.A.getCurrencySymbolForVillage(this.villageCode)+e.toFixed(2)}onClickOutside(e){const t=document.querySelector(".nav__item--basket"),n=e.target.classList.contains("basket__remove");i.Wu(e.target,t)||n||!this.isOpen||this.close()}addTimer(){this.basketTimer=setTimeout(e=>{e.close()},6e3,this)}removeTimer(){this.basketTimer&&clearTimeout(this.basketTimer)}render(){this.setMaxHeight(),this.showBasket&&(this.open(),this.addTimer(),this.showBasket=!1,r.A.clearViewPendingFlags());document.querySelector(".header__basket").addEventListener(v.REMOVAL_RESTRICTED,e=>{this.showRemoveActivityAlert(e)})}setMaxHeight(){const e=document.querySelector("header").getBoundingClientRect().bottom,t=this.$basket.querySelector(".receipt__booking-total"),n=window.innerHeight-e-t.clientHeight;this.$basket.querySelector(".receipt__wrapper").style.maxHeight=n+"px"}clearBasket(){for(;this.$activitiesList.childElementCount>1;)this.$activitiesList.removeChild(this.$activitiesList.lastChild)}addWindowOnResize(){window.addEventListener(v.RESIZE,this.setMaxHeight)}removeWindowOnResize(){window.removeEventListener(v.RESIZE,this.setMaxHeight)}showRemoveActivityAlert(e){const t=new c.A({});f(e.detail.status,t,()=>{r.A.getDetails(e.detail.activityBookingRef,!0),this.dispatchEvent((0,o.l)(v.RENDERBASKET,{target:this})),this.dispatchEvent((0,o.l)(v.RENDERGRID,{target:this,bookingRef:e.detail.activityBookingRef})),t.close()})}}function f(e,t,n){if(10522===e){const e=i.hb(`<div class="modal-content">\n\t\t\t\t<div class="modal__body">${i.GU("confirmActivityCanNotBeRemovedMessage")}</div>\n\t\t\t\t<div class="modal__footer">\n\t\t\t\t\t<button class="btn okButton">OK</button>\n\t\t\t\t</div>\n\t\t\t</div>`);e.querySelector(".okButton").addEventListener("click",n),t.appendAndShow(e)}else"4312"===e&&t.appendAndShow((0,d.a$)());const a=document.querySelector(".modal .btn");a&&a.focus()}},9892:(e,t,n)=>{"use strict";n.d(t,{jc:()=>a,rg:()=>o,z0:()=>s});const i={fieldMap:[{field:"name",mapAs:"title"},{field:"code",mapAs:"activityCode"},{field:"featureIcons",mapAs:"featureIcons",handler(e,t){const n={};return e?(n[t]=e.map(e=>({name:e.name||"",title:e.title||"",description:e.description||"",image:e.image||""})),n):(n[t]=[],n)}},{field:"image",mapAs:"image"},{field:"descriptionText",mapAs:"summaryText"},{field:"descriptionText",mapAs:"description"},{field:"aemTemplate",mapAs:"template"},{field:"url",mapAs:"url",handler(e,t){const n={};return n[t]=e||null,n}},{field:"tags",mapAs:"tags",handler(e,t){const n={};return e?(n[t]=e.map(e=>({tagTitle:e.title||"",tagId:e.id||"",tagName:e.name||"",description:e.description||"",image:e.image})),n):(n[t]=[],n)}},{field:"favourite",mapAs:"favourite"},{field:"promoted",mapAs:"promoted"},{field:"groupBookingLimit",mapAs:"groupBookingLimit"},{field:"onlineBookingLimit",mapAs:"onlineBookingLimit"},{field:"strapline",mapAs:"strapline"},{field:"summaryText",mapAs:"summaryText"},{field:"ribbon",mapAs:"ribbonText",handler(e){const t={};return t.ribbonText=e&&e.text?e.text:"",t}},{field:"ribbon",mapAs:"ribbonColour",handler(e){const t={};return t.ribbonColour=e&&e.colour?e.colour:"",t}},{field:"pricing",mapAs:"pricing"},{field:"location",mapAs:"location"}]},a=e=>{const{fieldMap:t}=i;return r(t,e)},o=e=>{const{fieldMap:t}=i;return r(t,e,!0)},r=(e,t,n)=>{const i=function(e,t){const n=[];for(let i=0,a=e.length;i<a;++i)n.push(t(e[i],i,a,e));return n}(t,t=>{const i={};return s(e,e=>{const{handler:a,field:o,mapAs:r}=e;if(a){const e=a(t[o],r);return void Object.assign(i,e)}const s={};s[r]=t[o]||null,n&&"favourite"===r&&(s[r]=!0),Object.assign(i,s)}),i});return i};function s(e,t){for(let n=0,i=e.length;n<i;++n)t(e[n],n,i,e)}},95506:(e,t,n)=>{"use strict";n.d(t,{VB:()=>c,iD:()=>r});var i=n(72369),a=n(55303),o=(n(1595),n(58328));const r=async(e=!1)=>{try{if(!a.A.isUserLoggedIn())return"";if(await i.rS.getWorker().checkActiveTokenCall())return await i.rS.getWorker().waitForCrossToken(),window.top.accessTokenPromise=void 0,i.rS.getAccessToken();if(i.rS.getAccessToken()&&""!==i.rS.getAccessToken()&&!e)return i.rS.getAccessToken();window.top.accessTokenPromise||(i.rS.getWorker().setTokenFlag(!0),window.top.accessTokenPromise=new Promise((e,t)=>
1{s().then(t=>{if(!t.data.accessToken)throw new Error(`Received response without token at ${new Date}`);i.z4.setAccessToken(t.data.accessToken),e(t.data.accessToken)}).catch(e=>{t(e.message)})}));const t=await window.top.accessTokenPromise;return i.z4.setAccessToken(t),window.top.accessTokenPromise=void 0,i.rS.getWorker().trigger("tokenRequestCompleted",{tokenCall:!1,accessToken:t}),i.rS.getAccessToken()}catch(t){throw i.rS.getWorker().setTokenFlag(!1),window.top.accessTokenPromise=void 0,console.error(t),new Error(t)}},s=()=>(0,o.oD)("/api/v1/guest/token.json",{options:{id:"access-token",cache:{methods:["post"]}}});const d=()=>{for(var e in ContextHub.getStore("profiledata").reset(),ContextHub.getStore("bookingsdata").reset(),sessionStorage)-1!==e.indexOf("uxp-cache")&&sessionStorage.removeItem(e)},c=async()=>{try{if(!a.A.isUserLoggedIn())return void d();const e=await(0,o.e5)("/api/v1/guest/authenticated.json",{options:{id:"check-authentication"}});return!1===e.data.isAuthenticated&&d(),e.data.rememberMe}catch(e){throw d(),e}}},67868:(e,t,n)=>{"use strict";n.d(t,{Co:()=>r,OI:()=>s,OK:()=>o,is:()=>d,ri:()=>c});var i=n(58328),a=n(46630);const o=async(e=!1)=>(0,i.e5)("/api/v1/guest/profile.json",{options:{id:"uxp-profile"},cache:{override:e}}),r=async e=>(0,i.e5)("/api/v1/guest/profile.json",{query:{email:e}}),s=(e,t)=>(0,i.oD)(`/api/v1/guest/profile.json?resource=${t}`,{body:e}),d=(e,t)=>(0,i.pY)((0,a.x1)("/api/v1/guest/profile.json",e,{update:{"uxp-profile":"delete"}},t)),c=e=>(0,i.e5)("/api/v1/guest/logout.json",{query:{resource:e.resource},update:{"uxp-profile":"delete"}})},72369:(e,t,n)=>{"use strict";n.d(t,{JH:()=>m,rS:()=>l,z4:()=>c});var i=n(58328),a=n(95506),o=n(97555),r=n(55303),s=n(6570);const d={accessToken:null,worker:null},c={setAccessToken(e){d.accessToken=e},setWorker(e){d.worker=e}},l={getAccessToken:()=>d.accessToken,getWorker:()=>d.worker},m={async setTokenWorker(e){const t={onRefreshToken:async()=>await(0,a.iD)(!0),region:o.A.getRegionCode(),isLoggedIn:()=>r.A.isUserLoggedIn(),checkSignModal:()=>(0,s.Zn)()},n=await(0,i.Ld)(e,t);return c.setWorker(n.getWorker()),n},initStoreListener(){(0,i.xI)().subscribe(e=>{console.log("[UXP TokenStore] Syncing token from Core..."),c.setAccessToken(e)})},setLoginSuccess(e){(0,i.xI)().setToken(e)}}}
1,51788:(e,t,n)=>{"use strict";n.d(t,{d:()=>a});var i=n(6570);const a=async(e=!1)=>{try{const t=e?`?cacheBuster=${(new Date).getTime()}`:"";return await(0,i.e5)(`/api/v1/bookings.json${t}`,{options:{id:"bookings",cache:{override:e}}})}catch(t){throw new Error(t)}}},39653:(e,t,n)=>{"use strict";n.d(t,{g:()=>d});var i=n(51788),a=n(34035),o=n(48581),r=n(55303),s=n(42481);const d={async getBookings(e=!1){if(!r.A.isUserLoggedIn())return Promise.reject(new Error("Unauthenticated session"));const t=await(0,i.d)(e);return a.Ay.bookings.setAllBookings(t.data),ContextHub.getItem("bookingsdata/dummyBooking")&&a.Ay.bookings.addToAllBookings(ContextHub.getItem("bookingsdata/dummyBooking")),t},async getBooking(e=!1){const t=await(0,o.L)(),n=ContextHub.getItem("bookingsdata/dummyBooking"),i=n&&n.bookingReference===t;return t?i?(s.A.dispatch("setDummyBooking",n),Promise.resolve(n)):s.A.dispatch("fetchConfirmedBooking",{params:{centralBookingReference:t},options:{refetch:e}}):Promise.resolve()}}},65472:(e,t,n)=>{"use strict";n.d(t,{$i:()=>d,cg:()=>l,ck:()=>m,hK:()=>u,vr:()=>c});var i=n(51953),a=n(1595),o=n(46630),r=n(34035),s=n(61523);function d(e){return!!e.includes('class="js-error-msg"')}function c(e){const t=JSON.parse(e.response);if(400===(0,i.L)(t.statusCode)){switch(JSON.parse(e.response).errorCode){case 20400:case 90400:(0,s.A)(),(0,r.V)();break;case 20503:case 20505:case 20507:case 20509:r.Ay.basket.reset(),o.bw(o.GU("raceConditionErrorURL"))}}}function l(e,t){if(e){const n=-1,i=g(t);if(e.indexOf("/confirm")!==n||e.indexOf("/paybalanceconfirm")!==n)if(r.Ay.basket.reset(),t&&t.response){const e=JSON.parse(t.response),{errorDetails:n}=e;n&&(n.includes("API.31")||n.includes("API.28")||n.includes("API177"))?window.location=`${o.GU("atcoreErrorPageURL")}${i}`:window.location=`${o.GU("confirmationErrorPageURL")}${i}`}else window.location=`${o.GU("confirmationErrorPageURL")}${i}`}}function m(e,t={}){if(e){const t=(0,i.L)(e.status);401!==t&&403!==t||(window.location=`${o.GU("signOutPageURL")}`)}else t.redirectToBookingErrorPage&&(window.location=`${o.GU("bookingErrorPageURL")}`)}function u(e,t){if(t&&t.response){const n=g(t);window.location=`${o.GU("activitiesBookingFailurePageURL")}${n}`,a.A.error("Error confirming activities",{bookingReference:e,response:t.response})}else window.location=`${o.GU("activitiesBookingFailurePageURL")}`}function g(e){try{if(e&&e.responseText){const t=JSON.parse(e.responseText);if(t.errorCode)return`/${t.errorCode}`}}catch(t){a.A.info("Cannot parse the error response just now {}",e),a.A.info("Because of error {}",t)}return""}},17013:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(46630);class a{constructor(e){this.$rootEl=e,this.activeEventListeners=[],this.initCommonEventListeners()}initCommonEventListeners(){this.onWindowClick=this.onWindowClick.bind(this),this.onEscapeKeyPress=this.onEscapeKeyPress.bind(this),window.addEventListener("click",this.onWindowClick),window.addEventListener("keyup",this.onEscapeKeyPress)}onWindowClick(e){i.Wu(e.target,this.$rootEl)||this.onClickOutside(e)}onEscapeKeyPress(e){e.stopPropagation(),27===e.keyCode&&this.onClickOutside(e)}onClickOutside(){}dispatchEvent(e){this.$rootEl.dispatchEvent(e)}addEventListener(e,t,n){return this.activeEventListeners.push({type:e,listener:t}),this.$rootEl.addEventListener(e,t,n)}removeEventListener(e,t,n){const i=this.activeEventListeners.filter(({listenerType:n,listenerMethod:i})=>e===n&&t===i).pop();return i&&this.activeEventListeners.splice(i,1),this.$rootEl.removeEventListener(e,t,n)}unload(){this.activeEventListeners.forEach(({type:e,listener:t,options:n})=>this.removeEventListener(e,t,n)),window.removeEventListener("click",this.onWindowClick),window.removeEventListener("keyup",this.onEscapeKeyPress),this.activeEventListeners=null,this.$rootEl.parentNode&&this.$rootEl.parentNode.removeChild(this.$rootEl),this.$rootEl=null}getRootElement(){return this.$rootEl}}},92241:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var i=n(68307),a=n(48821),o=n(88231),r=n(1595);const s={name:"signInOktaModal",props:{conf:Object,callback:Function},setup(e){(0,o.KC)(()=>{window.addEventListener("keyup",n)}),(0,o.sV)(()=>{r.A.log("in Vue modal new"),(0,i.A)(s),(0,a.A)(s)});const t=()=>{d(),e.callback(!1,"CLOSE_CLICKED")},n=e=>{27===e.which&&t()},s=(t,n,i)=>{t&&(d(),e.callback(t,n,i))},d=()=>{const e=document.querySelector(".v-modal");e&&e.parentNode.removeChild(e)};return{close:t}}
1,template:'<div\n\t\tclass="v-modal"\n\t\t:class="conf.className" role="dialog"\n\t\taria-modal="true">\n\t\t\t<div class="v-modal__modal-container">\n\t\t\t\t<div class="v-modal__modal-hoverlay"></div>\n\t\t\t\t<div\n\t\t\t\t\trole="dialog"\n\t\t\t\t\taria-labelledby="v-modal-modal-label"\n\t\t\t\t\taria-modal="true"\n\t\t\t\t\tclass="v-modal__modal-context" >\n\t\t\t\t\t<div class="v-modal__modal-header" id="v-modal-modal-label">\n\t\t\t\t\t\t<h2 class="v-modal__modal-title" >{{conf.title}}</h2>\n\t\t\t\t\t\t<slot name="header"></slot>\n\t\t\t\t\t\t<button class="v-modal__modal-dismiss" aria-label="Close" @click.stop.prevent="close()">\n\t\t\t\t\t\t\t<span class="icon-close"></span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="v-modal__modal-header--description">\n\t\t\t\t\t\t<div v-html="conf.descriptionText"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="v-modal__modal-content">\n\t\t\t\t\t\t<div v-html="conf.modalData"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>'}},68307:(e,t,n)=>{"use strict";n.d(t,{A:()=>k});var i=n(88231),a=n(8807),o=n(46630),r=n(34035),s=n(72369),d=n(4105),c=n(29249),l=n(3603),m=n(1595),u=n(63039);const g="Logged In";function k(e){let t=null;const n=document.querySelector(".global-sign-in");if(n){const k=document.createElement("div"),v=n.querySelector("form")?.getAttribute("data-mode");n.appendChild(k);t=(0,i.Ef)({setup(){const t=(0,i.Kh)({username:"",password:"",rememberMeSignIn:!1}),k=(0,i.KR)(!1),p=(0,i.KR)(!1),f=(0,i.KR)(!1),h=(0,i.KR)(!1),y=(0,i.KR)(!1),b=(0,i.KR)("password"),A=(0,i.KR)(!1),N=(0,i.KR)(!1),S={username:{required:d.mw,email:d.Rp},password:{required:d.mw}},I=(0,c.fG)(S,t);(0,i.sV)(()=>{const e=n.getAttribute("screen");m.A.log("Sign in component mounted"),window.addEventListener("resize",()=>D()(!0)),N.value=window.UXP.Constants.IS_MOBILE_APP,"forgot-password"===e&&E();const i=document.querySelector("[data-modal-remembermestatesignin]");i&&(t.rememberMeSignIn="opt-in"===i.getAttribute("data-modal-remembermestatesignin")),C(),A.value=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)});const C=()=>{(0,l.F)(n,D())},D=()=>(0,o.xN)(n,".sign-in-main",360),E=()=>{const e=n.closest(".cmp-tabs"),t=n.closest(".sign-in-main");n.closest(".cmp-tabs").querySelector(".cmp-tabs__tablist").classList.add("visibility-hidden"),h.value=!0,e&&e.querySelector(".cmp-tabs__tablist").classList.add("hidden"),t&&t.classList.add("sign-in-main--forgot-password"),n.classList.add("global-sign-in--forgot-password")};return{user:t,showInvalidMessage:k,showAccountLockMessage:p,isServiceUnavailable:f,showForgotPassword:h,hasForgotPasswordEmailTriggered:y,passwordFieldType:b,isSafari:A,isMobileApp:N,v$:I,onSubmit:async()=>{await I.value.$touch(),k.value=!1,p.value=!1,f.value=!1,I.value.$invalid||(0,a.r)("/api/v1/guest/login.json/j_security_check",!0).postWithSpinner({username:t.username,password:t.password,rememberMe:!!N.value||t.rememberMeSignIn,resource:(0,o.LK)("resource")}).then(i=>{s.z4.setAccessToken(i.tokens.guest.security.accessToken),r.Ay.profile.setProfileID(i.uid),r.Ay.profile.setAuthToken(i.tokens.authToken),r.Ay.profile.onLogin(),s.JH.setLoginSuccess(i.tokens.guest.security.accessToken),(0,u.ei)({component:(0,u.j9)(n),eventName:"uxp:user:signedin"},{uid:i.uid,success:!0,rememberMe:t.rememberMeSignIn,loggedInStatus:g,signInMethod:v,referrer:window.location.pathname}),e?e(!0):i.redirect?window.location=i.redirect:window.location=(0,o.GU)("homePageURL")}).catch(n=>{throw m.A.error("account invalid",n),(0,u.ei)({component:"user",eventName:"uxp:user:signedin",rootLevel:!0},{uid:t.username,success:!1,rememberMe:t.rememberMeSignIn}),403===n.status?(k.value=!0,"423"===n.getResponseHeader("x-reason-code")&&(k.value=!1,p.value=!0),parseInt(n.getResponseHeader("x-reason-code"))>=500&&(k.value=!1,f.value=!0)):n.status>=500&&(f.value=!0),e&&e(!1),new Error(n)})},onForgotPasswordSubmit:()=>{y.value=!0,(0,a.r)("/api/v1/guest/resetPassword.json").postWithSpinner({email:t.username}).then(e=>{m.A.log("Password reset requested",e)}).catch(e=>{m.A.error("Failed to request password reset",e),y.value=!1})},backToSignIn:()=>{const e=n.closest(".sign-in-main");t.username="",t.password="",I.value.$reset(),h.value=!1,p.value=!1,k.value=!1,y.value=!1;const i=n.closest(".cmp-tabs").querySelector(".cmp-tabs__tablist");i&&i.classList.remove("hidden","visibility-hidden"),e&&e.classList.remove("sign-in-main--forgot-password")},forgotPassword:E,validateFormField:e=>e.$touch(),togglePasswordVisibility:()=>{b.value="password"===b.value?"text":"password"}}}}).mount(".global-sign-in")}return t}},48821:(e,t,n)=>{"use strict";n.d(t,{A:()=>k});var i=n(88231),a=n(4105),o=n(29249),r=n(67868),s=n(46630),d=n(34035),c=n(88006),l=n(3603),m=n(1595),u=n(63039);const g="Logged In";function k(e){let t=null;const n=document.querySelector(".sign-up");if(n){const k=document.createElement("div");n.appendChild(k);const v=n.querySelector(".global-sign-up"),p=n.querySelector("form")?.getAttribute("data-mode");t=(0,i.Ef)({setup(){const t=(0,i.Kh)({title:"",firstName:"",lastName:"",email:"",password:"",rememberMe:!1,cpPreferences:{subscribe_cp_email:!1,subscribe_cp_sms:!1,subscribe_cp_directmail:!1,subscribe_cp_phone:!1}}),k=(0,i.KR)(!1),f=(0,i.KR)(!1),h=(0,i.KR)(!1),y=(0,i.KR)(!1),b=(0,i.KR)(!1),A=(0,i.KR)(!1),N=(0,i.KR)("password"),S=(0,i.KR)(!1),I={title:{required:a.mw},firstName:{required:a.mw,validateName:c.yS},lastName:{required:a.mw,validateName:c.yS},email:{required:a.mw,email:a.Rp,maxLength:(0,a.Ru)(75)},password:{required:a.mw,validatePasswordPattern:c.CM,minLength:(0,a.Bp)(8)}},C=(0,o.fG)(I,t);(0,i.sV)(()=>{m.A.log("Sign up component mounted"),k.value=window.UXP.Constants.IS_MOBILE_APP,window.addEventListener("resize",()=>E()(!0)),D(),S.value=/^((?!chrome|android).)*safari/i.test(navigator.userAgent);const e=n.querySelector(".global-sign-up");if(e){const t=e.getAttribute("data-newsletter-opted");f.value="true"===t}});const D=()=>{(0,l.F)(n,E())},E=()=>(0,s.xN)(n,".sign-in-main",460);return{user:t,marketingConsent:f,showInvalidMessage:h,isServiceUnavailable:b,isEmailExist:y,inValidPassword:A,isMobileApp:k,passwordFieldType:N,isSafari:S,v$:C,onSubmit:async()=>
1{if(await C.value.$touch(),h.value=!1,y.value=!1,b.value=!1,A.value=!1,C.value.$invalid)return!1;t.cpPreferences.subscribe_cp_email=f.value,(0,r.OI)(t,(0,s.LK)("resource")).then(t=>{const{uid:n,tokens:i}=t.data;y.value=!1,d.Ay.profile.setProfileID(n),d.Ay.profile.setAuthToken(i.authToken),d.Ay.profile.setLoggedInStatus(g),(0,u.ei)({component:(0,u.j9)(v),eventName:"uxp:user:registered"},{uid:n,success:!0,newsletterOpted:f.value,loggedInStatus:g,registrationMethod:p,referrer:window.location.pathname}),e?e(!0,!1,t.data.redirect):window.location=t.data.redirect}).catch(t=>{(0,u.ei)({component:(0,u.j9)(v),eventName:"uxp:user:registered"},{uid:null,success:!1,newsletterOpted:f.value,loggedInStatus:"ERROR",registrationMethod:p,referrer:window.location.pathname}),409===t.response.status?y.value=!0:t.response.status>=500?b.value=!0:t.response.status>=400&&(h.value=!0),e&&e(!1)})},validateFormField:e=>{e.$touch()},togglePasswordVisibility:()=>{N.value="password"===N.value?"text":"password"}}}}).mount(".sign-up")}return t}},21407:(e,t,n)=>{"use strict";n.d(t,{E4:()=>a,Ij:()=>r,KR:()=>i,Kn:()=>s,Mx:()=>o});const i=["January","February","March","April","May","June","July","August","September","October","November","December"],a="DD-MM-YYYY",o=" ddd, DD MMM",r="dddd, DD MMMM",s={AEM:"DD/MM/YYYY",ESL:"DD-MM-YYYY",IPS:"YYYY-MM-DD",SUMMARY_DATE:"DD MMM",SUMMARY_DATE_YEAR:"DD MMM YYYY"}},63959:(e,t,n)=>{"use strict";n.d(t,{KV:()=>d,P2:()=>i,PG:()=>c,Zq:()=>a,Zy:()=>s,hC:()=>r,mo:()=>o});const i=["sequenceNumber","villageCode","arrivalDate","duration","durationType","specialBreakCode","bedrooms","adults","children","toddlers","infants","dogs","specialNeeds"],a="-",o="dates",r="ddd DD MMM YYYY",s="DD MMM YYYY",d="months",c="MMMM YYYY"},92410:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});const i=new class{constructor(e={}){const t=localStorage.getItem("ContextHubPersistence");if(this.store={...e},this.events={},t){const e=JSON.parse(t).store;Object.keys(e).forEach(t=>{this.store[t]={...this.store[t]||{},...e[t]}})}this.defaults=e,this._persist(),this.console={log:(...e)=>console.log("[ContextHubMock]",...e),warn:(...e)=>console.warn("[ContextHubMock]",...e),error:(...e)=>console.error("[ContextHubMock]",...e)},this.Shared={timestamp:()=>(new Date).toISOString()},this.Utils={JSON:{tree:{sanitizeKey:e=>"string"===typeof e?e.split("/").filter(e=>e.length>0):Array.isArray(e)?e:[]}}},this.Constants={EVENT_ALL_STORES_READY:"MOCK_ALL_STORES_READY",EVENT_STORES_PARTIALLY_READY:"MOCK_STORES_PARTIALLY_READY",EVENT_STORE_UPDATED:"MOCK_STORE_UPDATED",EVENT_STORE_READY:"MOCK_STORE_READY"},this.eventing={once(e,t){console.log(`[ContextHubMock] Fired "once" event: ${e}`),t({type:e})},on(e,t){console.log(`[ContextHubMock] Registered "on" listener for event: ${e}`),this.events=this.events||{},this.events[e]=this.events[e]||[],this.events[e].push(t)},off(e){console.log(`[ContextHubMock] "off" called for event: ${e}`)},subscribe(e,t){console.log(`[ContextHubMock] Fired "subscribe" event: ${e}`),t({type:e})},trigger(e){console.log(`[ContextHubMock] Fired "subscribe" event: ${e}`)}},this.SegmentEngine={PageInteraction:{Teaser:{prototype:{info:{loadEvent:"MOCK_TEASER_LOAD_EVENT"}}}}}}_persist(){localStorage.setItem("ContextHubPersistence",JSON.stringify({store:this.store}))}_resolvePath(e){return e.split("/")}getItem(e){const t=this._resolvePath(e);let n=this.store;for(const i of t){if(null===n||"object"!==typeof n)return;n=n[i]}return n}setItem(e,t){const n=this._resolvePath(e);let i=this.store;for(let a=0;a<n.length-1;a++){const e=n[a];"object"===typeof i[e]&&null!==i[e]||(i[e]={}),i=i[e]}i[n[n.length-1]]=t,this._persist()}getStore(e){const t=this;return{reset(){t.store[e]={...t.defaults[e]||{}},t._persist()},addListener(e,t){t({type:e})},subscribe(e,t){t({type:e})},on(e,t){t({type:e})},off(e,t){t({type:e})},addItemToSearch(e){t.store.searchdata={...t.store.searchdata,...e},t._persist()}}}}({villagesdata:{data:{}},profiledata:{profileID:"",firstName:"",marketingOptInEmail:"",marketingOptInPhone:"",marketingOptInMail:"",signinMethod:"",registrationMethod:"",loggedInStatus:"Logged Out",socialProfile:"",lastActionTimestamp:"",authToken:"",signature:"",signatureTimeStamp:"",rememberMe:!1},searchdata:{category:"",displayCategory:"",village:"",date:"",month:"",day:"",flexible:"",flexidays:"",totalNumSearchResults:"",numSearchResultsDisplayed:"",sortBy:"",f
1ilter:"",selectedTab:"",isMagnetClosed:"",dayDifference:"",villageCode:"",lodges:[]},cartdata:{basketConfirmed:!1,bookingExpiryTimestamp:"",bookingRef:"",bookingStatus:"",bookingType:"",cardToken:"",cardTransNo:"",checkoutStep:"",checkoutType:"",currency:"",currencyCode:"",currencySymbol:"",total:"",transactionID:"",villageCode:"",items:{},addedItem:{},removedItem:{}},bookingsdata:{flag:"",bookingReference:"",items:{}}}),a=!(!window.ContextHub||"function"!==typeof window.ContextHub.getStore),o=a?window.ContextHub:i;a||(console.warn("AEM ContextHub not found. Using mock implementation."),window.ContextHub=i);const r=o},87266:(e,t,n)=>{"use strict";n.d(t,{$:()=>E,A:()=>F});var i=n(95093),a=n.n(i),o=n(31705),r=n(1595),s=n(46630),d=n(55303),c=n(34035),l=n(3302);const m="cartdata",u="cartdata/accommodations",g="/enhancements",k="cartdata/totalPrice",v="cartdata/subAccounts",p="cartdata/bookingReference",f="cartdata/vehicleDetailsList",h="cartdata/leadBooker/villa",y="cartdata/sequenceNumber",b="TWNCON",A="DBLCON",N="cartdata/totalNumberOfGuests",S="btn",I="cart-data-bookingref-changed";let C=new l.A({}),D={reset:()=>ContextHub.getStore(m).reset(),getSubAccounts:()=>ContextHub.getItem(v),setSubAccounts:function(e){for(var t=0;t<e.length;t++)null===e[t].title&&(e[t].title="Mr");ContextHub.setItem(v,e)},setVehicles:function(e){ContextHub.setItem(f,e)},getBooking:()=>ContextHub.getItem(m),getAccommodationDetails:e=>ContextHub.getItem(u+"/"+e),getAccommodations:()=>ContextHub.getItem(u),setSequenceNumber:e=>ContextHub.setItem(y,e),getSequenceNumber:()=>ContextHub.getItem(y),isMultiLodge:()=>Object.keys(ContextHub.getItem(u)).length>1,getAccommodationsCount:()=>{const e=ContextHub.getItem(u);return e?Object.keys(e).length:0},setDogsCount:(e,t)=>ContextHub.setItem(u+"/"+e+"/dogs",t),setLocationPreference:(e,t)=>ContextHub.setItem(u+"/"+e+"/locationPreference",t),isEmpty:()=>null===ContextHub.getItem(u)||!(Object.keys(ContextHub.getItem(u)).length>0),setAccommodationBookingResponse:function(e){let t=(n=e,(0,s.$Q)(n.accommodations,e=>{let t=e.enhancements;t&&t.forEach((e,n)=>{e.enhancementCode!==b&&e.enhancementCode!==A||t.splice(n,1)})}),o.merge(ContextHub.getItem(m),n));var n;ContextHub.setItem(m,t)},setAccommodation:e=>ContextHub.setItem(u,e),setCurrencyCode:e=>ContextHub.setItem("cartdata/currencyCode",e),setTimeStamp(){const e=(0,s.GU)("tsl");ContextHub.setItem(`${m}/sessionExpiryTimeStamp`,a()(new Date).add(e,"seconds"))},setBedPreference:function(e,t){ContextHub.setItem(u+"/"+e+"/bedPreference",t)},setLocationOptionSelected:function(e,t){ContextHub.setItem(u+"/"+e+"/locationOptionSelected",t)},getTimeStamp:()=>ContextHub.getItem(`${m}/sessionExpiryTimeStamp`),getLocationOptionSelected:function(e){return ContextHub.getItem(u+"/"+e+"/locationOptionSelected")},getLocationDescription:function(e){return ContextHub.getItem(u+"/"+e+"/locationDescription")},getLocationPreference:function(e){return ContextHub.getItem(u+"/"+e+"/locationPreference")},setAddrDescription:function(e,t){ContextHub.setItem(u+"/"+e+"/addrDescription",t)},setLocationDescription:function(e,t){ContextHub.setItem(u+"/"+e+"/locationDescription",t)},setLocationPrice:function(e,t){ContextHub.setItem(u+"/"+e+"/locationPrice",t)},setVillaNumber:(e,t)=>{ContextHub.setItem(u+"/"+e+"/villaNumber",t)},getVillaNumber:e=>ContextHub.getItem(u+"/"+e+"/villaNumber"),setLocationMapClicked:function(e){ContextHub.setItem("cartdata/locationMapClicked",e)},setLocationMapDownloadClicked:function(e){ContextHub.setItem("cartdata/locationMapDownloadClicked",e)},getAddrDescription:function(e){return ContextHub.getItem(u+"/"+e+"/addrDescription")},resetLocationDetails:function(e){this.setVillaNumber(e,""),this.setAddrDescription(e,""),this.setLocationDescription(e,""),this.setLocationPrice(e,"")},getInsurancePrice:function(e){let t=ContextHub.getItem(u+"/"+e+"/insurancePrice");return t?parseFloat(t):parseFloat(0)},updateInsurance:function(e,t,n,i,a,o){if(t&&n&&i){let r=this.getTotalPrice(),s=this.getInsurancePrice(e);ContextHub.setItem(u+"/"+e+"/insuranceCode",t),ContextHub.setItem(u+"/"+e+"/insurancePrice",i),ContextHub.setItem(u+"/"+e+"/insuranceDescription",n),ContextHub.setItem(u+"/"+e+"/insuranceStartDate",a),ContextHub.setItem(u+"/"+e+"/insuranceEndDate",o),ContextHub.setItem(m+"/insurancePrice",i);let d=parseFloat(r)-parseFloat(s)+parseFloat(i);this.updateTotalPrice(d)}else{let t=this.getTotalPrice(),n=this.getInsurancePrice(e);ContextHub.removeItem(u+"/"+e+"/insuranceCode",""),ContextHub.removeItem(u+"/"+e+"/insurancePrice",""),ContextHub.removeItem(u+"/"+e+"/insuranceDescription",""),ContextHub.removeItem(u+"/"+e+"/insuranceStartDate",""),ContextHub.removeItem(u+"/"+e+"/insuranceEndDate","");let i=parseFloat(t)-parseFloat(n);this.updateTotalPrice(i)}},getBookingReference:()=>ContextHub.getItem(p),setBookingReference:e=>ContextHub.setItem(p,e),getEnhancements:e=>ContextHub.getItem(u+"/"+e+g),addEnhancement:function(e,t,n,i,a,o){let r=this.getAccommodationDetail
1s(e).enhancements,d=!1,c=!1;if((0,s.sh)(r)&&(r=[]),Object.keys(r).forEach((e,l)=>{const m=r[l]||{};m.enhancementCode===t&&(d=!0,Object.keys(m.priceVariants).forEach((e,t)=>{m.priceVariants[t].bookVariant===a&&(m.priceVariants[t].quantity+=i,c=!0)}),c||(m.priceVariants.push({bookVariant:a,quantity:i,bookPrice:o,desc:n}),m.priceVariants=(0,s.cl)(m.priceVariants,"bookVariant")))}),!d){let e={enhancementCode:t,enhancementDesc:n,priceVariants:[{bookVariant:a,quantity:i,bookPrice:o,desc:n}]};r.push(e),r=(0,s.cl)(r,"enhancementCode")}ContextHub.setItem(u+"/"+e+g,r);let l=ContextHub.getItem(k),m=parseFloat(l)+parseFloat(o);this.updateTotalPrice(m)},removeEnhancement:function(e,t,n,i,a){let o=this.getAccommodationDetails(e).enhancements,r=!1;(0,s.sh)(o)||Object.keys(o).forEach((e,a)=>{let s=o[a];if(!r&&s.enhancementCode===t){let e=s.priceVariants;for(var d=e.length-1;d>=0;d--)e[d].bookVariant===i&&(e[d].quantity-=n,0===e[d].quantity&&e.splice(d,1),r=!0);0===s.priceVariants.length&&o.splice(a,1)}});let d=ContextHub.getItem(k),c=parseFloat(d)-parseFloat(a);ContextHub.setItem(u+"/"+e+g,o),this.updateTotalPrice(c),0===Object.keys(this.getEnhancements(e)).length&&ContextHub.removeItem(u+"/"+e+g)},getTotalPrice:()=>ContextHub.getItem(k),updateTotalPrice:e=>ContextHub.setItem(k,e),updateBalanceDueAmount:e=>ContextHub.setItem("cartdata/balanceDueAmount",e),calculateTotalPrice:function(){let e=0,t=this.getAccommodations();return(0,s.sh)(t)||Object.keys(t).forEach((n,i)=>{let a=t[i];a.accommodationPrice&&(e+=parseFloat(a.accommodationPrice)),a.locationPrice&&(e+=parseFloat(a.locationPrice)),a.insurancePrice&&(e+=parseFloat(a.insurancePrice));let o=a.enhancements;(0,s.sh)(o)||Object.keys(o).forEach((t,n)=>{let i=o[n].priceVariants;for(let a=i.length-1;a>=0;a--)e+=parseFloat(i[a].bookPrice)*i[a].quantity})}),e},getCurrentLodge:function(e){return(parseInt(e)/2-1)%this.getAccommodationsCount()},setCurrentLodgeNumber:function(e){ContextHub.setItem("cartdata/currentLodgeNumber",e)},getInsuranceDetails:(e,t)=>ContextHub.getItem(u+"/"+e+"/"+t),getGuestDetails(){return{uid:d.A.getProfileID(),title:d.A.getTitle(),firstName:d.A.getFirstName(),lastName:d.A.getLastName(),email:d.A.getEmail(),gender:d.A.getGender(),birthDay:d.A.getBirthDay(),birthMonth:d.A.getBirthMonth(),birthYear:d.A.getBirthYear(),address:{address1:d.A.getAddressLine1(),address2:d.A.getAddressLine2(),city:d.A.getTownCity(),postcode:d.A.getPostcode(),country:d.A.getCountry(),county:d.A.getCounty()},phones:d.A.getPhonesData(),cpPreferences:{subscribe_cp_email:!("Opt In"!==d.A.getCenterparcsMarketingOptInEmail()),subscribe_cp_directmail:!("Opt In"!==d.A.getCenterparcsMarketingOptInMail()),subscribe_cp_sms:!("Opt In"!==d.A.getCenterparcsMarketingOptInSms())},vehicleDetailsList:ContextHub.getItem(f),bicycleDetailsList:[],participatingGuests:this.getSubAccounts(),canAmendBooking:!0,villa:this.getVilla()}},setNumberOfLodges(){ContextHub.setItem("cartdata/numberOfLodges",this.getAccommodationsCount())},getTotalGuests:()=>ContextHub.getItem(N),setDTMLodgeFields(e){this.setNumberOfLodges();let t,n,i=0,o=0,r=0,s=0,d=this.getAccommodationDetails(e),c=d.arrivalDate,l=d.departureDate,m=d.duration;d.arrivalMonth=a()(c,"DD-MM-YYYY").format("MMMM"),d.arrivalDay=a()(c,"DD-MM-YYYY").format("dddd"),d.depatureMonth=a()(l,"DD-MM-YYYY").format("MMMM"),d.departureDay=a()(l,"DD-MM-YYYY").format("dddd"),d.lengthOfStay=m.toString().concat(" Nights"),i+=parseInt(d.adults),d.children&&(o+=parseInt(d.children)),d.toddlers&&(r+=parseInt(d.toddlers)),d.infants&&(s+=parseInt(d.infants)),t=`Adults-${i},Children-${o},Toddlers-${r},Infants-${s}`,n=i+o+r+s,d.typeOfGuests=t,d.numberOfGuests=n,ContextHub.setItem(u+"/"+e,d),ContextHub.setItem(N,this.getTotalGuests()+n)},setVilla:e=>{let t={villaNum:e||"",villaTyp:"",villaCat:""},n=ContextHub.getItem(h);n?(n.villaNum=e,ContextHub.setItem(h,n)):ContextHub.setItem(h,t)},getVilla:()=>ContextHub.getItem(h),initializeMonitoring:()=>{r.A.log("Registering contexthub:cartdata monitoring."),ContextHub.eventing.on(ContextHub.Constants.EVENT_STORE_UPDATED,function(e,t){if(t&&"cartdata"===t.store&&t.data.length>0){0!==t.data[0].key.indexOf("/sessionExpiryTimeStamp",0)&&(r.A.log("Cart data has changed. Trigger event to notify other windows."),localStorage.setItem("cart-data-changed",new Date));let e=t.keys.all.list.indexOf("/bookingReference");if(-1!==e){let n=t.data[e].value;r.A.log("Booking reference changed to: "+n),localStorage.setItem(I,n)}}},"contextHubMonitoring",!1),localStorage.setItem(I,ContextHub.getItem(p))},getVillageCode:()=>
1(D.getAccommodationDetails(0)||{}).villagecode};function E(){r.A.log("Registering storage event handler."),(0,s.vW)(function(e){if(e.key===I&&e.newValue!==e.oldValue){r.A.log("session invalid-redirect to home page | key: "+e.key+" | caller: monitorDuplicateBooking()"),C.appendAndShow((0,c.a$)(!0));const t=document.querySelector(`.modal .${S}`);t&&t.focus()}else r.A.log(e.key+" changed.")})}const F=D},4732:(e,t,n)=>{"use strict";n.d(t,{A:()=>_});var i=n(95093),a=n.n(i),o=n(58039),r=n.n(o),s=n(8807),d=n(12579),c=n.n(d),l=n(1595),m=n(46630),u=n(55303),g=n(87266),k=n(27281),v=n(36327),p=n(34035),f=n(65472);var h=n(21407),y=n(97555),b=n(13857),A=n(51788),N=n(7121),S=n(39653),I=n(48581);const C="bookingsdata",D="bookingsdata/bookings",E="bookingsdata/currentDueAmount",F="bookingsdata/confirmItinerary",B=C+"/allBookings",w=C+"/currentBookingInScope/bookingDetails/isWithInActivityWindow",T=`${C}/currentBookingInScope`,R="bookingsdata/inviteSent",O="U",L="C",x={},M={};let P=!1;const $={reset:()=>ContextHub.getStore(C).reset(),getDetails:(e,t)=>((0,m.sh)(t)&&(t=!1),new(r())((t,n)=>{if(e&&u.A.getProfileID())if(-1!==e.indexOf("/confirm"))if(g.A.isEmpty())window.location=(0,m.GU)("confirmationBackErrorPageURL");else{(function(e){return new(r())((t,n)=>{M[e]?V(e,t,n):function(e){const t={sequenceNo:e,guests:g.A.getGuestDetails()},n={load:t};return M[e]=!0,l.A.debug("Confirm booking with ESL",t),x[e]=new(r())(()=>{(0,s.r)("/api/v1/accommodation/bookingConfirmation.json").postWithSpinner(n,!0).then(t=>{l.A.debug("Confirmed booking: ",t),M[e]=!1,g.A.reset(),k.A.reset(),$.setTransactionId(t.bookingDetails.bookingReference+"_"+(new Date).getTime()),function(e){"0.00"===e.bookingDetails.balanceDueAmount?$.setPaymentAmount(e.bookingDetails.totalPrice):$.setPaymentAmount(e.bookingDetails.minimumDepositAmount)}(t),r().resolve().then(()=>(0,A.d)(!0)).then(()=>{(0,m.Rj)("bookingConfirmed",{data:t},()=>{window.location=(0,m.GU)("confirmationPageURL")+"/"+t.bookingDetails.bookingReference})}).catch(()=>{(0,m.Rj)("bookingFailed",{},()=>{(0,f.cg)("/confirm")})})}).catch(e=>{(0,m.Rj)("bookingFailed",{},()=>{(0,f.cg)("/confirm",e)})})}),x[e]}(e).then(n=>{l.A.debug("Remote call succeeded",n),M[e]=!1,t(n)}).catch(t=>{l.A.debug("Remote call failed",t),M[e]=!1,n(t)})})})((0,m.tc)()).then(e=>{!function(e){e=ContextHub.getStore(C).addLeadBookerFlag(e)}(e),t(e)}).catch(t=>{(0,f.cg)(e,t),n()})}else-1!==e.indexOf("/paybalanceconfirm")?new(r())((e,t)=>{M.partial?V("partial",e,t):(l.A.debug("Confirm booking with ESL"),M.partial=!0,x.partial=new(r())(()=>{(0,s.r)("/api/v1/accommodation/payBalanceConfirm.json").postWithSpinner({},!0).then(e=>{M.partial=!1,l.A.debug("Payment Confirmed booking: ",e),$.setTransactionId(e.bookingDetails.bookingReference+"_"+(new Date).getTime()),function(e){if("0.00"===e.bookingDetails.balanceDueAmount)$.setPaymentAmount($.getCurrentDueAmount());else{l.A.debug("due amount was: "+$.getCurrentDueAmount()),l.A.debug("current balance due amount is: "+e.bookingDetails.balanceDueAmount);const t=Number($.getCurrentDueAmount())-Number(e.bookingDetails.balanceDueAmount);$.setPaymentAmount(t)}$.removeCurrentDueAmount()}(e),$.invalidateBooking(e.bookingDetails.bookingReference),window.location=(0,m.GU)("payBalanceConfirmationPageURL")+"/"+e.bookingDetails.bookingReference}).catch(e=>{(0,f.cg)("/confirm",e)})}),x.partial).then(t=>{l.A.debug("Remote call succeeded",t),e(t)}).catch(e=>{l.A.debug("Remote call failed",e),t(e)})}).then(e=>{t(e)}).catch(t=>{(0,f.cg)(e,t),n()}):-1!==e.indexOf("/activityConfirm")?(e=(0,m.tc)(),$.confirmActivityBooking(e).then(t=>{$.invalidateBooking(e),0!==t.failed.length?window.location=`${(0,m.GU)("activitiesPartialFailurePageURL")}/${e}`:window.location=`${(0,m.GU)("activitiesBookingConfirmationPageUrl")}/${e}`}).catch(t=>{$.invalidateBooking(e),(0,f.hK)(e,t)})):S.g.getBooking().then(e=>{e.bookingDetails?(!function(e){if(e.leadBooker){const n=e.leadBooker.participatingGuests?e.leadBooker.participatingGuests.slice():[];try{(0,v.zB)(e.leadBooker,e.bookingDetails.accommodations)}catch(t){e.leadBooker.participatingGuests=n}p.Ay.bookings.setParticipatingGuests(e.bookingReference,e.leadBooker.participatingGuests)}}(e),t(e)):((0,f.ck)(e,{redirectToBookingErrorPage:!1}),n())});else n(new Error("Profile missing")),$.resetCurrentBooking()})),confirmActivityBooking(e){const t=`confirm-${e}`;return new(r())((n,i)=>
1{M[t]?V(t,n,i):(M[t]=!0,x[e]=new(r())(()=>{$.getDetails(e).then(i=>{const a=function(e,t){const n={};n.centralBookingRef=t,n.cardToken=sessionStorage.getItem("bookingsdata/activityCardToken"),n.cardTransNo=sessionStorage.getItem("bookingsdata/activityCardTransNo");const i=(e.bookingDetails?.itinerary?.activities||[]).filter(e=>!e.confirmed&&e.activityBooker===u.A.getProfileID()),a=(e.bookingDetails?.itinerary?.bundleActivities||[]).filter(e=>e.bundle.some(e=>e.activityBooker===u.A.getProfileID())).flatMap(e=>e.bundle);return a&&a.length>0&&i.push(...a),n.activityCodes=i.map(e=>e.code),n}(i,e),{bookingsInfo:o}=a;if(o&&0===o.length)window.location=(0,m.GU)("pageNotFoundPageUrl");else{const e={activityBookings:a.activityCodes,cardTransactionNumber:a.cardTransNo,cardToken:a.cardToken,centralBookingReference:a.centralBookingRef};l.A.debug("Confirm activity booking with ESL",a),(0,N.Jt)(e).then(e=>{M[t]=!1;const i=e.confirmItinerary;ContextHub.setItem("bookingsdata/confirmItinerary",i),ContextHub.removeItem("bookingsdata/basket"),l.A.debug("Confirmed activity booking: ",e),n(i)})}}).catch(e=>{l.A.error("Unable to fetch the booking",e),ContextHub.removeItem("bookingsdata/basket"),i(e)})}))})},async getCartBookingDetails(){const e=await(0,I.L)();return new(r())((t,n)=>{e?$.getDetails(e).then(t).catch(n):n()})},async addActivity(e){const t=await(0,I.L)();l.A.info(t);const n=c()({},e,{activityBooker:u.A.getProfileID()});return $.getCartBookingDetails().then(e=>{if(e){l.A.groupCollapsed("Add to Basket"),l.A.info(`activityCode: ${n.activityCode}`),l.A.info(`activityExportId: ${n.activityExportId}`),l.A.info(`centralBookingReference: ${n.centralBookingReference}`),l.A.info(`accommodationLeadBookerEmail: ${n.accommodationLeadBookerEmail}`),l.A.info(`activityBookerUID: ${n.activityBookerUID}`),l.A.info(`slots: ${n.slots}`),l.A.info(`bookAvailPeople: ${n.bookAvailPeople}`),l.A.info(`startDate: ${n.startDate}`),l.A.info(`startTime: ${n.startTime}`),l.A.table(n.bookingDetails.participatingGuests),l.A.table(n.bookingDetails.priceVariants),l.A.info(n),l.A.groupEnd();const e=`${(0,m.GU)("bookActivityUrl")}`;return new s.r(e).postWithSpinner({load:n})}}).then(async e=>{if(u.A.setRecentlyAddedActivity(e.activityBookRef),l.A.groupCollapsed(`Basket view pending for ${e.activityCode}`),l.A.info(e),l.A.groupEnd(),e.multiBuys){l.A.info("Setting multibuy array");const t=[...e.multiBuys],n=sessionStorage.getItem("bookingsdata/multiBuys")&&JSON.parse(sessionStorage.getItem("bookingsdata/multiBuys"))||[];let i=!1;const a=[];t.forEach(e=>{i=!1,n.forEach(t=>{t.multiBuyActivityCode===e.multiBuyActivityCode&&(i=!0)}),i||a.push(e)}),sessionStorage.setItem("bookingsdata/multiBuys",JSON.stringify([...n.concat(a)]))}return e}).catch(e=>{throw l.A.error(`'/services/centerparcs/activityBook' request failed: ${e}`),e})},getLocalBooking:e=>ContextHub.getStore(C).getBooking(e),async getUnconfirmedActivities(){const e=await(0,I.L)(),t=$.getLocalBooking(e);return $.getActivities(t).filter(e=>e.status===O)},async getActiveBundleActivities(){const e=await(0,I.L)(),t=$.getLocalBooking(e);return $.getBundleActivities(t).filter(e=>e.bundle[0].status===O)},getMultiBuyAddedItems(e,t){const n=JSON.parse(sessionStorage.getItem("bookingsdata/multiBuys")),i=[...e];let a=[];const o=[];if(n&&n.length&&e&&e.length){let e=t;
1i.forEach((t,i)=>{if(!t.multibuy){const r=[];if(n.forEach(e=>{-1!==e.multiBuyActivityCode.indexOf(t.code)&&r.push(e)}),r.length){const n={...t},s={...t};n.multibuy=!0,n.multiactivities=r,n.multiIndex=i,n.checkedMultibuy=i,s.multiIndex=i,s.multibuyparent=!0,s.key=e%2===0?"even":"odd",e+=1,s.checkedMultibuy=i,o[i]={index:!0},a=a.concat(s,n)}else{const n={...t};n.multibuy=!1,n.checkedMultibuy=i,n.key=e%2===0?"even":"odd",e+=1,a=a.concat(n)}}})}return{finalBasket:a,checkedObj:o}},setCurrentBooking(e){(ContextHub.getItem(T)||{}).bookingReference!==e.bookingDetails.bookingReference&&ContextHub.getStore(C).setCurrentBooking(e)},resetCurrentBooking(){ContextHub.getStore(C).resetCurrentBooking()},setTransactionId(e){ContextHub.setItem("bookingsdata/transactionId",e)},setLastUpdated(){ContextHub.setItem("bookingsdata/lastUpdated",Date.now())},setPaymentAmount(e){l.A.debug("setting payment amount: "+e),ContextHub.setItem("bookingsdata/paymentAmount",e)},setCurrentDueAmount(e){l.A.debug("setting dueAmount: "+e),ContextHub.setItem(E,e)},getCurrentDueAmount:()=>ContextHub.getItem(E),removeCurrentDueAmount:()=>ContextHub.removeItem(E),setInviteSent:e=>ContextHub.setItem(R,e),getInviteSent:()=>ContextHub.getItem(R),removeInviteSent:()=>ContextHub.removeItem(R),getUpcomingBooking(){return($.getAllBookings().filter(e=>this.isValidBookingReference(e.bookingReference))[0]||{}).bookingReference},setUpcomingBooking(e){ContextHub.getStore(C).setUpcomingBooking(e)},getCurrentBooking:()=>ContextHub.getItem("bookingsdata/currentBookingInScope/bookingReference"),getCurrentBookingAccommodation:()=>ContextHub.getItem("bookingsdata/currentBookingInScope/bookingDetails/accommodations/0"),isCurrentBookingInsideActivityWindow:()=>ContextHub.getItem(w),async getCurrentBookingArrivalDate(){const e=await(0,I.L)(),t=$.getLocalBooking(e);return t.bookingDetails?.accommodations[0]?.arrivalDate||null},async getCurrentBookingDepartureDate(){const e=await(0,I.L)(),t=$.getLocalBooking(e);return t.bookingDetails?.accommodations[0]?.departureDate||null},sortParticipatingGuestsByGuestType:(e,t)=>function(e,t){let n={};const i=t||ContextHub.getStore(C).getBooking(e),a=c()({},i),{participatingGuests:o}=a.leadBooker;if(o){const e=a.accommodations[0];n=(0,v.nm)(o,e)}return n}(e,t),getBookingFromReferenceNumber:e=>function(e){return ContextHub.getStore(C).getBooking(e)}(e),setParticipatingGuests(e,t){!function(e,t){const n=ContextHub.getStore(C).getBooking(e),i=c()({},n);i.bookingDetails.bookingReference===e&&(i.leadBooker.participatingGuests=t,ContextHub.set(D,n))}(e,t)},setJustConfirmedActivitytBlock(e){ContextHub.setItem(F,e)},getJustConfirmedActivityBlock(){const e=ContextHub.getItem(F);return ContextHub.setItem(F,!1),e},setAllBookings(e){ContextHub.setItem(B,e)},populateBookingDataToContexthub(e){ContextHub.setItem("bookingsdata/currentBookingInScope",e.currentBooking),ContextHub.setItem("bookingsdata/cartBookingRef",e.currentBooking.bookingReference),ContextHub.setItem("bookingsdata/bookings",e.bookings)},addToAllBookings(e){e&&ContextHub.setItem(B+"/"+$.getAllBookings().length,$.getDummyBookingInfo(e))},getDummyBookingInfo:e=>({bookingReference:e.bookingDetails.bookingReference,villageDescription:e.bookingDetails.booking.accommodations[0].village.name,villageCode:e.bookingDetails.booking.accommodations[0].village.code,startDate:a()(e.bookingDetails.booking.accommodations[0].arrivalDate,"YYYY-MM-DD").format("DD-MM-YYYY"),endDate:a()(e.bookingDetails.booking.accommodations[0].departureDate,"YYYY-MM-DD").format("DD-MM-YYYY")}),getBookingInfo:e=>({bookingReference:e.bookingDetails.bookingReference,villageDescription:e.bookingDetails.accommodations[0].village.name,villageCode:e.bookingDetails.accommodations[0].village.code,startDate:e.bookingDetails.accommodations[0].arrivalDate,endDate:e.bookingDetails.accommodations[0].departureDate}),getAllBookings:()=>ContextHub.getItem(B)||[],async getUpcomingAndFutureBookings(){const e=[...$.getAllBookings()],t=await(0,I.L)();if(e.length&&t){const n=e.findIndex(e=>parseInt(e.bookingReference)===parseInt(t));e.splice(0,n)}return e},invalidateBooking(e){ContextHub.getStore(C).invalidateBooking(),l.A.debug("Invalidate booking for booking reference "+e)},getEnhancementQuantity(e){const t=e.priceVariants;let n=0;
1return t&&t.forEach(e=>{n+=e.quantity}),n},setCartBookingRef(e){if("string"!==typeof e)return;sessionStorage.setItem("currentBookingRef",e);const t=ContextHub.getStore(C);t&&t.setCartBookingRef&&t.setCartBookingRef(e)},isValidBookingReference(e){let t=!1,n=!1;return $.getAllBookings().filter(i=>{const a=i.bookingReference===e;return a&&(t=$.isValidEndDate(i),n=b.A.getVillageListForRegion(y.A.getRegionCode()).find(e=>e.value===i.villageCode)),a&&t&&n}).length>0},isValidEndDate(e){const t=a()();let n=!1;const i=a()(e.endDate,[h.E4]).add(1,"days");return n=!t.isAfter(i),n},isInActivityWindow(){return $.getAllBookings().filter(e=>e.inBookingWindow&&e.bookingReference!==this.getCurrentBooking()).length>0},getBookingReferenceFromUrl(){const e=(0,m.Nd)().filter(e=>$.isValidBookingReference(e));return e.length>0&&e[0]},getShowBasket:()=>!!u.A.getRecentlyAddedActivity(),async getVillageCode(){const e=await(0,I.L)(),t=$.getLocalBooking(e);return t.bookingDetails?.accommodations[0]?.villagecode},clearViewPendingFlags(){u.A.setRecentlyAddedActivity(0)},removeFromBasket:e=>new(r())((t,n)=>{$.getDetails(e.bookingReference).then(i=>{var a;i.bookingDetails&&(a=e,new(r())((e,t)=>{(0,s.r)((0,m.GU)("removeFromBasketUrl")).postWithSpinner(a).then(n=>{n.failed&&n.failed.length>0?(l.A.debug("removeFromBasketESLCall failed: ",a),t(n)):(l.A.debug("removeFromBasketESLCall response: ",a),e(n))}).catch(e=>{l.A.error("removeFromBasketESLCall error: ",a),t(e)})})).then(n=>{l.A.debug("[CH] removeFromBasket response: ",n),n.activity=$.removeActivityFromContextHub(e.bookingReference,e.activityBookingRef,e.bundleref,e),t(n)}).catch(t=>{l.A.error("[CH] removeFromBasket error: ",t),10522===t.responseJSON.errorCode&&$.removeActivityFromContextHub(e.bookingReference,e.activityBookingRef),n(t)})}).catch(e=>{l.A.error("[CH] removeFromBasket error: ",e)})}),getActivities:e=>e&&e.itinerary&&e.itinerary.activities||[],getBundleActivities:e=>e&&e.itinerary&&e.itinerary.bundleActivities&&e.itinerary.bundleActivities[0]&&e.itinerary.bundleActivities||[],getConfirmedBundleActivitiesForCurrentUser(e){if(e&&e.itinerary&&e.itinerary.bundleActivities&&e.itinerary.bundleActivities[0]){return e.itinerary.bundleActivities.filter(t=>t.bundle[0].status===L&&$.includeBundle(t.bundle[0],e))||[]}return[]},getIndividualBundleActivities(e){const t=[];return e&&e.itinerary&&e.itinerary.bundleActivities&&e.itinerary.bundleActivities[0]&&e.itinerary.bundleActivities.forEach(e=>{e.bundle.forEach(e=>{t.push(e)})}),t},includeBundle(e,t){const n=u.A.getProfileID(),i=n===t.bookingDetails.leadBooker.uid;return e.activityBooker===n||!(0!==parseInt(e.activityBooker)||!i)},removeActivityFromContextHub(e,t,n,i){let a,o;const r=ContextHub.getStore(C).getBooking(e);let s=c()({},r);if(s.bookingDetails&&n){if(s=c()({},s),i&&i.activityBookingRefList&&i.activityBookingRefList.deleteBookingInfos&&s.itinerary&&s.itinerary.bundleActivities){const e=s.itinerary.bundleActivities.filter(e=>{const t=e.bundle[0].activityBookRef,n=i.activityBookingRefList.deleteBookingInfos;return t!==n[0].activityBookRef&&t!==n[1].activityBookRef||(o=e,!1)});s.itinerary.bundleActivities=e}a=!0}else if(s.bookingDetails){const e=$.getActivities(s).findIndex(e=>e.activityBookRef===t);if(e>-1){s=c()({},s);const t=[].concat($.getActivities(s));o=t.splice(e,1),s.itinerary.activities=t}a=!0}return a&&(ContextHub.setItem(D,s,{silent:!0}),$.setLastUpdated()),o},getActivityByBookingRef:e=>$.getCartBookingDetails().then(t=>{const n=$.getActivities(t),i=n.findIndex(t=>t.activityBookRef===e);return-1===i&&l.A.warn(`Could not find activity with activityBookingReference '${e}' in booking with id '${t.bookingDetails.bookingReference}'`),n[i]}),getItineraryData(){const e=ContextHub.getItem("bookingsdata");return e&&e.bookings&&e.bookings.itinerary?e.bookings.itinerary:null},getActivityByRef(e,t){let n=null;const{bundleActivities:i,activities:a}=t;if(i&&i.length>0){for(let t=0;t<i.length;t++){const{bundle:a}=i[t];let o=!1;for(let t=0;t<a.length;t++)if(a[t].activityBookingReference===e){o=!0;break}if(o){n=a;break}}if(n)return n}if(a&&a.length>0){for(const t of a)if(t.activityBookingReference===e){n=t;break}if(n)return n}return n},getCurrencyType(){const e=ContextHub.getItem("bookingsdata/bookings");return e&&e.bookingDetails&&e.bookingDetails.currencyCode?e.bookingDetails.currencyCode:null},getLeadBooker(){const e=ContextHub.getItem("bookingsdata/bookings");return e&&e.leadBooker&&e.leadBooker.email?e.leadBooker:null},getDtmActivityByBookingRef:e=>$.getActivityByBookingRef(e).then(e=>e&&$.formatActivityForDtm(e)),getDtmCartData:()=>$.getCartBookingDetails().then(e=>{const t=u.A.getProfileID(),{bookingDetails:n}=e,{booking:i}=n,[a]=i.accommodations;return{bookingReference:i.centralBookingReference,bookingTotal:$.getActivities(n).filter(e=>"U"===e.status&&e.activityBooker===t).reduce((e,t)=>
1e+parseFloat(t.amount)||0,0).toFixed(2),village:a.villagecode,villageCode:a.villageDescription}}),formatActivityForDtm(e){const t=a()(e.date,h.Kn.AEM),n=e.itineraryPriceVariants.reduce((e,t)=>{const n=e[t.bookVariant]||0;return e[t.bookVariant]=n+1,e},{});return{name:e.activityDesc,categories:e.categories,activityCode:e.activityCode,quantity:e.itineraryPriceVariants.length,quantitiesByVariant:Object.keys(n).map(e=>`${e}-${n[e]}`).join("|"),bookVariants:Object.keys(n).map(e=>`${e}`).join(":"),price:e.amount,day:t.format("dddd"),month:t.format("MMMM"),date:t.format("DD/MM/YYYY"),time:e.activityTimePeriod,template:e.template}},getGuestsList:()=>ContextHub.getItem("bookingsdata/currentBookingInScope/leadBooker"),getTotalNumberGuests:()=>ContextHub.getItem("bookingsdata/currentBookingInScope/totalNumberOfGuests")};function V(e,t,n){l.A.debug("ESL call in progress. Wait for it"),r().all([x[e]]).then(e=>{l.A.debug("Pending call complete - go find it",e),t(e[0])}).catch(e=>{l.A.debug("Problem with the previous call",e),n(e[0])})}P||(P=!0);const _=$},27281:(e,t,n)=>{"use strict";n.d(t,{A:()=>y});const i="productdata",a=i+"/lodges/",o="/accommodationCode",r="/accommodationType",s="/accommodationName",d="/accommodationWarning",c="/configurableBeds",l="/accommodationStrapline",m="/numberOfBedrooms",u="/price",g=i+"/activities/activityCode",k=i+"/activities/activityGroups",v=i+"/activities/activityGroupTitles",p=i+"/activities/activityVillages",f=i+"/activities/activityTitle",h=i+"/activities/activityWindowDays";const y={reset:()=>ContextHub.getStore("productdata").reset(),resetLodgeData:function(e){ContextHub.setItem(a+e,"")},addLodgeData:function(e,t){ContextHub.setItem(a+t,e)},setAccommodationCode:(e,t)=>ContextHub.setItem(a+t+o,e),getAccommodationCode:e=>ContextHub.getItem(a+e+o),setAccommodationType:(e,t)=>ContextHub.setItem(a+t+r,e),getAccommodationType:e=>ContextHub.getItem(a+e+r),setAccommodationWarning:(e,t)=>ContextHub.setItem(a+t+d,e),getAccommodationWarning:e=>ContextHub.getItem(a+e+d),getAccommodationName:e=>ContextHub.getItem(a+e+s),setAccommodationName:(e,t)=>ContextHub.setItem(a+t+s,e),getAccommodationStrapline:e=>ContextHub.getItem(a+e+l),setAccommodationStrapline:(e,t)=>ContextHub.setItem(a+t+l,e),getNumberOfBedrooms:e=>ContextHub.getItem(a+e+m),setNumberOfBedrooms:(e,t)=>
1ContextHub.setItem(a+t+m,e),getPrice:e=>ContextHub.getItem(a+e+u),setPrice:(e,t)=>ContextHub.setItem(a+t+u,e),getAccommodationConfigurableBeds:e=>ContextHub.getItem(a+e+c),setAccommodationConfigurableBeds:(e,t)=>ContextHub.setItem(a+t+c,e),setActivityCode:e=>ContextHub.setItem(g,e),getActivityCode:()=>ContextHub.getItem(g),setActivityGroups:e=>ContextHub.setItem(k,e),getActivityGroups:()=>ContextHub.getItem(k),setActivityGroupTitles:e=>ContextHub.setItem(v,e),getActivityGroupTitles:()=>ContextHub.getItem(v),setActivityVillages:e=>ContextHub.setItem(p,e),getActivityVillages:()=>ContextHub.getItem(p),setActivityTitle:e=>ContextHub.setItem(f,e),getActivityTitle:()=>ContextHub.getItem(f),setActivityWindowDays:e=>ContextHub.setItem(h,e),getActivityWindowDays:()=>ContextHub.getItem(h)}},55303:(e,t,n)=>{"use strict";n.d(t,{A:()=>K});var i=n(92410),a=n(51953),o=n(36327);const r="profiledata",s="profiledata/profileID",d="profiledata/email",c="profiledata/title",l="profiledata/gender",m="profiledata/firstName",u="profiledata/lastName",g="profiledata/phones/0/type",k="profiledata/phones/0/countryCode",v="profiledata/phones/0/number",p="profiledata/dob",f="profiledata/address/address1",h="profiledata/address/address2",y="profiledata/address/city",b="profiledata/address/county",A="profiledata/address/country",N="profiledata/address/postcode",S="profiledata/channelAccess/initialDomainName",I="profiledata/loggedInStatus",C="Logged In",D="profiledata/authToken",E="persistedprofiledata/resetRedirectPage",F="profiledata/signature",B="profiledata/signatureTimeStamp",w="profiledata/marketingOptInEmail",T="profiledata/marketingOptInPhone",R="profiledata/marketingOptInMail",O="profiledata/marketingOptInSms",L="profiledata/cpMarketingOptInEmail",x="profiledata/cpMarketingOptInPhone",M="profiledata/cpMarketingOptInMail",P="profiledata/cpMarketingOptInSms",$="profiledata/firstLogin",V="profiledata/subAccounts",_="profiledata/isNewsletterPopinScreen",H="profiledata/flashMessage",Y="profiledata/recentlyAddedActivity",U="persistedprofiledata/accommodationPriceMap",q="profiledata/goldenQuestion",G="profiledata/bookingCount",j="profiledata/basketexpiry";let W={reset:()=>i.A.getStore(r).reset(),updateCookie:e=>i.A.getStore(r).updateCookie(e),refreshToken:e=>i.A.getStore(r).refreshToken(e),setEmail:e=>i.A.setItem(d,e),setTitle:e=>i.A.setItem(c,e),setGender:e=>i.A.setItem(l,e),setFirstName:e=>i.A.setItem(m,e),setLastName:e=>i.A.setItem(u,e),setPhoneNumberType:e=>i.A.setItem(g,e),setPhoneIntCode:e=>i.A.setItem(k,e),setPhoneNumber:e=>i.A.setItem(v,e),getPhonesData:()=>{const e={type:W.getPhoneNumberType(),number:W.getPhoneNumber()};return W.getPhoneIntCode()&&(e.countryCode=W.getPhoneIntCode()),[e]},setDob:e=>i.A.setItem(p,e),setAddressLine1:e=>i.A.setItem(f,e),setAddressLine2:e=>i.A.setItem(h,e),setTownCity:e=>i.A.setItem(y,e),setCounty:e=>i.A.setItem(b,e),setCountry:e=>i.A.setItem(A,e),setPostcode:e=>i.A.setItem(N,e),setInitialDomainName:e=>i.A.setItem(S,e),initialDomainName:()=>i.A.getItem(S),setIsNewsletterPopinScreen:e=>i.A.setItem(_,e),isNewsletterPopinScreen:()=>i.A.getItem(_),onLogin:()=>{i.A.setItem(I,C)},onLogout:()=>{i.A.getStore(r).reset(),i.A.setItem(I,"Logged Out"),sessionStorage.removeItem("currentBookingRef")},isUserLoggedIn:()=>!(i.A.getItem(I)!==C),sync:e=>{for(const t in e)e.hasOwnProperty(t)&&i.A.setItem(`${r}/${t}`,e[t])},getBasketExpiryFlag:()=>i.A.getItem(j),setBasketExpiryFlag:()=>i.A.setItem(j,!0),removeBasketExpiryFlag:()=>i.A.removeItem(j),setAquasanaMarketingOptions(e){e&&(this.setAquasanaMarketingOptInEmail(e.subscribe_email||e.subscribe?"Opt In":"Opt Out"),this.setAquasanaMarketingOptInPhone(e.subscribe_phone?"Opt In":"Opt Out"),this.setAquasanaMarketingOptInMail(e.subscribe_directmail?"Opt In":"Opt Out"),this.setAquasanaMarketingOptInSms(e.subscribe_sms?"Opt In":"Opt Out"))},setCenterparcsMarketingOptions(e){e&&(this.setCenterparcsMarketingOptInEmail(e.subscribe_cp_email||e.subscribe?"Opt In":"Opt Out"),this.setCenterparcsMarketingOptInPhone(e.subscribe_cp_phone?"Opt In":"Opt Out"),this.setCenterparcsMarketingOptInMail(e.subscribe_cp_directmail?"Opt In":"Opt Out"),this.setCenterparcsMarketingOptInSms(e.subscribe_cp_sms?"Opt In":"Opt Out"))},setGoldenQuestion:e=>i.A.setItem(q,e),setAuthToken:e=>i.A.setItem(D,e),getGoldenQuestion:()=>i.A.getItem(q),getDob:()=>i.A.getItem(p),getBirthDay:()=>i.A.getItem("profiledata/birthDay"),getBirthMonth:()=>i.A.getItem("profiledata/birthMonth"),getBirthYear:()=>i.A.getItem("profiledata/birthYear"),getGender:()=>
1i.A.getItem(l),getPhoneIntCode:()=>i.A.getItem(k),getTitle:()=>i.A.getItem(c),getFirstName:()=>i.A.getItem(m),getLastName:()=>i.A.getItem(u),getEmail:()=>i.A.getItem(d),getPhoneNumber:()=>i.A.getItem(v),getPhoneNumberType:()=>i.A.getItem(g),getAddressLine1:()=>i.A.getItem(f),getAddressLine2:()=>i.A.getItem(h),getTownCity:()=>i.A.getItem(y),getCounty:()=>i.A.getItem(b),getCountry:()=>i.A.getItem(A),getPostcode:()=>i.A.getItem(N),getProfileID:()=>i.A.getItem(s),getFirstLogin:()=>i.A.getItem($),getProfileSignature:()=>i.A.getItem(F),getProfileSignatureTimestamp:()=>i.A.getItem(B),getAuthToken:()=>i.A.getItem(D),setProfileID:e=>i.A.setItem(s,e),setProfileSignature:e=>i.A.setItem(F,e),setProfileSignatureTimestamp:e=>i.A.setItem(B,e),setLoggedInStatus:e=>i.A.setItem(I,e),setRedirectURL:e=>i.A.setItem(E,e),getRedirectURL:()=>i.A.getItem(E),setAquasanaMarketingOptInEmail:e=>i.A.setItem(w,e),setAquasanaMarketingOptInPhone:e=>i.A.setItem(T,e),setAquasanaMarketingOptInMail:e=>i.A.setItem(R,e),setAquasanaMarketingOptInSms:e=>i.A.setItem(O,e),getAquasanaMarketingOptInEmail:()=>i.A.getItem(w),getAquasanaMarketingOptInPhone:()=>i.A.getItem(T),getAquasanaMarketingOptInMail:()=>i.A.getItem(R),getAquasanaMarketingOptInSms:()=>i.A.getItem(O),setCenterparcsMarketingOptInEmail:e=>i.A.setItem(L,e),setCenterparcsMarketingOptInPhone:e=>i.A.setItem(x,e),setCenterparcsMarketingOptInMail:e=>i.A.setItem(M,e),setCenterparcsMarketingOptInSms:e=>i.A.setItem(P,e),getCenterparcsMarketingOptInEmail:()=>i.A.getItem(L),getCenterparcsMarketingOptInPhone:()=>i.A.getItem(x),getCenterparcsMarketingOptInMail:()=>i.A.getItem(M),getCenterparcsMarketingOptInSms:()=>i.A.getItem(P),setFirstLogin:e=>i.A.setItem($,e),firstLogin:()=>i.A.getItem($),getFlashMessage:()=>{const e=i.A.getItem(H)||!1;return i.A.setItem(H,!1),e},setFlashMessage:e=>i.A.setItem(H,e),getRecentlyAddedActivity:()=>JSON.parse(sessionStorage.getItem(Y)),setRecentlyAddedActivity:e=>sessionStorage.setItem(Y,JSON.stringify(e)),getSubAccounts:()=>i.A.getItem(V),setSubAccounts:e=>i.A.setItem(V,e),getSortedSubaccounts(e){var t=i.A.getItem(V);return(0,o.nm)(t,e)||{}},addSubAccounts(e){var t=i.A.getItem(V);if(null!==t){for(var n=0;n<e.length;n++){for(var o=!1,r=0;r<t.length;r++)if((0,a.L)(e[n].id)===(0,a.L)(t[r].id)){t[r]=e[n],o=!0;break}o||t.push(e[n])}i.A.setItem(V,t)}else i.A.setItem(V,e)},setViewedAccommodationOffersPriceMap:e=>i.A.setItem(U,e),clearViewedAccommodationOffersPriceMap:()=>i.A.removeItem(U),getPriceForAccommodationPage:e=>{const t=i.A.getItem(`${U}/${btoa(e)}`);return t&&atob(t)},setPhoneData(e){const t=e instanceof Array?e[0]:e||{},{type:n,countryCode:i,number:a}=t;W.setPhoneNumberType(n||""),W.setPhoneIntCode(i||""),W.setPhoneNumber(a||"")},setAddressData(e={}){const{address1:t,address2:n,county:i,city:a,country:o,postcode:r}=e;W.setAddressLine1(t||""),W.setAddressLine2(n||""),W.setCounty(i||""),W.setTownCity(a||""),W.setCountry(o||""),W.setPostcode(r||"")},getAddressData:()=>({address1:W.getAddressLine1()||"",address2:W.getAddressLine2()||"",county:W.getCounty()||"",city:W.getTownCity()||"",country:W.getCountry()||"",postcode:W.getPostcode()||""}),userHasValidAddress(){const e=W.getAddressData();return["address1","city","country"].every(t=>e.hasOwnProperty(t)&&"string"===typeof e[t]&&e[t].length>0)},getBookingCount:()=>i.A.getItem(G),setBookingCount:e=>i.A.setItem(G,e)};const K=W},88436:(e,t,n)=>{"use strict";n.d(t,{A:()=>q});var i=n(92410),a=n(95093),o=n.n(a),r=n(63959);const s=["adults","children","toddlers","infants"],d="searchdata",c="searchdata/villageCode",l="searchdata/village",m="searchdata/arrivalDate",u="searchdata/specialBreakCode",g="searchdata/departureDate",k="searchdata/duration",v="searchdata/lodges",p="searchdata/scrollPos",f="searchdata/itemCont",h="searchdata/category",y="Accommodation",b="searchdata/stayType",A="searchdata/numberOfLodges",N="searchdata/typeOfGuests",S="searchdata/numberOfGuests",I="searchdata/numSearchResultsAvailable",C="searchdata/searchFiltersSelected",D="searchdata/accommodationType",E="searchdata/numberOfBedrooms",F="searchdata/startTime",B="searchdata/endTime",w="searchdata/category",T="searchdata/sortData",R="searchdata/origNormalBreakArrivalDate",O="searchdata/origNormalBreakLength",L="searchdata/checkAvailability/datesSelected",x="searchdata/checkAvailability/daysSelected",M="searchdata/checkAvailability/numDaysSelected",P="searchdata/dateskipped",$="searchdata/clearactivityfilters",V="searchdata/noResultsSearchTerm",_="searchdata/activitySearchTerm",H="searchdata/durationType",Y="searchdata/deepLinkedFilters",U={getAll:()=>i.A.getItem(d),isEmpty:()=>null===i.A.getItem(l)||""===i.A.getItem(l),isMultiLodge:()=>(i.A.getItem(v)||[]).length>1,getArrivalDate:()=>i.A.getItem(m),getCurrentLodge:e=>(e/2-1)%U.getLodgesCount(),getDepartureDate:()=>i.A.getItem(g),getDuration:()=>i.A.getItem(k),getDurationType:()=>i.A.getItem(H)||r.Zq,getSpecialBreakCode:()=>i.A.getItem(u)||r.Zq,getItemContainerNo:()=>i.A.getItem(f),getLodges:()=>
1i.A.getItem(v),getLodgesCount:()=>(i.A.getItem(v)||{}).length,getLodgeItem:e=>i.A.getItem(v+"/"+e),getScrollPosition:()=>i.A.getItem(p),getVillages:()=>i.A.getItem(l),getVillage:()=>i.A.getItem(l),getVillagesCodes:()=>i.A.getItem(c),getVillageCode:()=>i.A.getItem(c),getAccommodationType:()=>i.A.getItem(D),getNumberOfBedrooms:()=>i.A.getItem(E),getStartTime:()=>i.A.getItem(F),getEndTime:()=>i.A.getItem(B),getActivityCategory:()=>i.A.getItem(w),getProperty:e=>i.A.getItem(`${d}/${e}`),getSortData:()=>i.A.getItem(T),getSearchNumberOfGuests:()=>i.A.getItem(S),getDateSkipperAnalyticsFlag:()=>i.A.getItem(P),getActivityClearFiltersFlag:()=>i.A.getItem($),getNoResultSearchTerm:()=>i.A.getItem(V),getActivitySearchTerm:()=>i.A.getItem(_),getNumberOfSearchResults:()=>i.A.getItem(I),addItem(e){i.A.getStore(d).addItemToSearch(e),function(e){i.A.setItem(h,y),U.setDTMSearchArrivalDay(e.arrivalDate),U.setDTMSearchArrivalMonth(e.arrivalDate),U.setDTMSearchDepartureDay(e.departureDate),U.setDTMSearchDepartureMonth(e.departureDate),U.setDTMSearchLengthOfStay(e.duration),i.A.setItem(b,e.
1stayType),i.A.setItem(A,e.lodges.length);let t=0,n=0,a=0,o=0;const r=U.getLodges();for(let i=0;i<r.length;i++)t+=parseInt(r[i].adults),n+=parseInt(r[i].children),a+=parseInt(r[i].toddlers),o+=parseInt(r[i].infants);const s=`Adults-${t},Children-${n},Toddlers-${a},Infants-${o}`;i.A.setItem(N,s);const d=t+n+a+o;i.A.setItem(S,d)}(e)},reset:()=>i.A.getStore(d).reset(),setArrivalDate:e=>i.A.setItem(m,e),setDepartureDate:e=>i.A.setItem(g,e),setDTMSearchNumberOfLodges:e=>i.A.setItem(A,e),setDTMSearchNumberOfGuests:e=>i.A.setItem(S,e),setDTMSearchTypeOfGuestsCombined:e=>i.A.setItem(N,e),setDTMSearchNumberOfResults:e=>i.A.setItem(I,e),setDTMNumSearchResultsDisplayed:e=>i.A.setItem("searchdata/numSearchResultsDisplayed",e),getSearchFiltersSelected:()=>i.A.getItem(C)||[],setSearchFiltersSelected:e=>i.A.setItem(C,e),setDTMSearchResultButtonClicked:e=>i.A.setItem("searchdata/searchResultButtonClicked",e),setDTMSearchResultMessageClicked:e=>i.A.setItem("searchdata/searchResultMessageClicked",e),setDTMSearchResultBookNowHidden:e=>i.A.setItem("searchdata/searchResultBookNowHidden",e),setDuration:e=>i.A.setItem(k,e),setDurationType:e=>i.A.setItem(H,e),setItemContainerNo:e=>i.A.setItem(f,e),setLodges:e=>i.A.setItem(v,e),setScrollPosition:e=>i.A.setItem(p,e),setAccommodationType:e=>i.A.setItem(D,e),setNumberOfBedrooms:e=>i.A.setItem(E,e),setStartTime:()=>i.A.setItem(F),setEndTime:()=>i.A.setItem(B),setActivityCategory:e=>i.A.setItem(w,e),setProperty:(e,t)=>i.A.setItem(`${d}/${e}`,t),setSortData:e=>i.A.setItem(T,e),setDTMSearchArrivalDay:e=>i.A.setItem("searchdata/arrivalDay",o()(e,"DD-MM-YYYY").format("dddd")),setDTMSearchArrivalMonth:e=>i.A.setItem("searchdata/arrivalMonth",o()(e,"DD-MM-YYYY").format("MMMM")),setDTMSearchDepartureDay:e=>i.A.setItem("searchdata/departureDay",o()(e,"DD-MM-YYYY").format("dddd")),setDTMSearchDepartureMonth:e=>i.A.setItem("searchdata/departureMonth",o()(e,"DD-MM-YYYY").format("MMMM")),setDTMSearchLengthOfStay:e=>i.A.setItem("searchdata/lengthOfStay",e.toString().concat(" Nights")),setSpecialBreakCode:e=>i.A.setItem(u,e),setOrigNormalBreakArrivalDate:e=>i.A.setItem(R,e),setOrigNormalBreakLength:e=>i.A.setItem(O,e),getOrigNormalBreakArrivalDate:()=>i.A.getItem(R),getOrigNormalBreakLength:()=>i.A.getItem(O),setCurrentLodgeAdults:(e,t)=>i.A.setItem(`${v}/${e}/adults`,t),setCurrentLodgeChildren:(e,t)=>i.A.setItem(`${v}/${e}/children`,t),setCurrentLodgeToddlers:(e,t)=>i.A.setItem(`${v}/${e}/toddlers`,t),setCurrentLodgeInfants:(e,t)=>i.A.setItem(`${v}/${e}/infants`,t),setCurrentLodgeDogs:(e,t)=>i.A.setItem(`${v}/${e}/dogs`,t),setCurrentLodgeBedrooms:(e,t)=>i.A.setItem(`${v}/${e}/bedrooms`,t),setCurrentLodgeSpecialNeeds:(e,t)=>i.A.setItem(`${v}/${e}/specialNeeds`,t),setDatesEitherSideAnalyticsData:e=>i.A.setItem("searchdata/availability",e),setDateSkipperAnalyticsFlag:()=>i.A.setItem(P,!0),setActivityClearFiltersFlag:()=>i.A.setItem($,!0),setDeepLinkedFiltersFlag:()=>i.A.setItem(Y,!0),setNoResultSearchTerm:e=>i.A.setItem(V,e),setActivitySearchTerm:e=>i.A.setItem(_,e),setNoResultsAnalytics(e){switch(e){case"nextMonth":i.A.setItem("searchdata/nextMonth",!0);break;case"previousMonth":i.A.setItem("searchdata/previousMonth",!0);break;case"nextAvailableDates":i.A.setItem("searchdata/nextAvailableDates",!0)}},setCurrentLodgeNumber(e){i.A.setItem("searchdata/currentLodgeNumber",e)},setCheckAvailabilityDatesSelected:e=>i.A.setItem(L,e),setCheckAvailabilityDaysSelected:e=>i.A.setItem(x,e),setCheckAvailabilityNumDaysSelected:e=>i.A.setItem(M,e),getTotalGuestsForLodge(e){const t=U.getLodgeItem(e)||{};return s.reduce((e,n)=>e+(parseInt(t[n])||0),0)},setVillages:e=>i.A.setItem(l,e),setVillagesCodes:e=>i.A.setItem(c,e),getDtmCheckAvailability:()=>({datesSelected:i.A.getItem(L),daysSelected:i.A.getItem(x),numDaysSelected:i.A.getItem(M)}),removeActivityClearFiltersFlag(){i.A.removeItem($)},removeDeepLinkedFiltersFlag(){i.A.removeItem(Y)},removeActivitySearchTerm(){i.A.removeItem(_)}};const q=U},36327:(e,t,n)=>{"use strict";n.d(t,{Br:()=>k,MH:()=>y,kl:()=>A,nm:()=>u,zB:()=>g});var i=n(95093),a=n.n(i),o=n(1595),r=n(74353),s=n.n(r),d=n(90445),c=n.n(d);s().extend(c());const l=".js-age-validation",m={ADULTS:"adults",INFANTS:"infants",TODDLERS:"toddlers",CHILDREN:"children"};function u(e,t){const n={};if(e){const a=N(),o=a.children,r=a.toddlers,d=a.infants,c=s()(t.arrivalDate,["DD-MM-YYYY","YYYY-MM-DD"]),l=[],m=[],u=[],g=[];for(var i=0;i<e.length;i++){const t=e[i];if(t.birthDay&&"0"!==t.birthDay){const e=`${t.birthDay}/${t.birthMonth}/${t.birthYear}`,n=Math.floor(A(e,c));o&&y(n,o)?m.push(t):r&&y(n,r)?u.push(t):d&&y(n,d)?g.push(t):l.push(t)}else l.push(t)}n.adults=l,n.children=m,n.toddlers=u,n.infants=g}return n}function g(e,t){const n=b(t,e),i=e.participatingGuests||[],r=[],s=N(),d=a()(t[0].arrivalDate,"DD-MM-YYYY");
1return i.forEach(e=>{const t=function(e,t,n,i){if(e){const t=n.children,a=n.toddlers,o=n.infants;if(e.birthDay&&"0"!==e.birthDay){const n=`${e.birthDay}/${e.birthMonth}/${e.birthYear}`,r=Math.floor(A(n,i));return t&&y(r,t)?m.CHILDREN:a&&y(r,a)?m.TODDLERS:o&&y(r,o)?m.INFANTS:m.ADULTS}return m.ADULTS}}(e,0,s,d);if(e.villa){const{villaNum:i}=e.villa,a=n[i]||{};a[t]=a[t]||[],a[t].push(e),h(a,t)}else e.type=t,r.push(e),o.A.debug("villa missing")}),r&&r.length>0&&r.forEach(e=>{const t=e.type,i=v(t,n);if(!i)throw Error("insufficient villa capacity");{e=f(e,i);const a=n[i]||{};a[t]=a[t]||[],a[t].push(e),h(a,t)}}),n}function k(e,t){const n=b(t,e),i=e.participatingGuests||[],a=[];return i.forEach(e=>{let t;switch(e.guestAgeGroup){case"A":default:t=m.ADULTS;break;case"C":t=m.CHILDREN;break;case"T":t=m.TODDLERS;break;case"I":t=m.INFANTS}if(e.villa){const{villaNumber:i}=e.villa,a=n[i]||{};a[t]=a[t]||[],a[t].push(e),h(a,t)}else e.type=t,a.push(e),o.A.debug("villa missing")}),a&&a.length>0&&a.forEach(e=>{const t=e.type,i=v(t,n);if(!i)throw Error("insufficient villa capacity");{e=f(e,i);const a=n[i]||{};a[t]=a[t]||[],a[t].push(e),h(a,t)}}),n}function v(e,t){for(const n in t)if(t.hasOwnProperty(n)){if(p(e,t[n]))return n}}function p(e,t){const n=t.capacity[e];return n&&n>0}function f(e,t){return{...e,villa:{villaNum:t}}}function h(e,t){let n=e.capacity[t];if(0===n)throw Error("guest assigned to incorrect lodge");return n-=1,e.capacity[t]=n,e}function y(e,t){const n=parseFloat(e);if(t)return n>=parseFloat(t.minAge)&&n<=parseFloat(t.maxAge)}function b(e,t){const n=function(e,t){return e.villa&&e.villa.villaNum?e.villa.villaNum:t[0].villaNumber}(t,e),i={};return e.forEach(e=>{i[e.villaNumber]={},i[e.villaNumber].capacity=function(e){const t={};return t[m.ADULTS]=e[m.ADULTS]||0,t[m.CHILDREN]=e[m.CHILDREN]||0,t[m.TODDLERS]=e[m.TODDLERS]||0,t[m.INFANTS]=e[m.INFANTS]||0,t}(e),e.villaNumber===n&&h(i[e.villaNumber],m.ADULTS)}),i}function A(e,t){const n=s()(e,["D/M/YYYY","DD/MM/YYYY"],!0);return s()(t,!0).diff(n,"year",!0).toFixed(2)}function N(){const e=document.querySelector(l);return e?JSON.parse(e.innerHTML):{}}},13857:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var i=n(92410),a=n(95093),o=n.n(a),r=n(97555),s=n(6570);const d="villagesdata/data",c={initialize:async()=>(0,s.e5)("/services/centerparcs/village-list.json").then(e=>{i.A.setItem(d,e.data)}),getCurrencySymbolForVillage:e=>(c.getVillageDetails(e)||{}).currencySymbol||"",getCurrencyCodeForVillage(e){switch((c.getVillageDetails(e)||{}).currencySymbol){case"\xa3":return"POUNDS";case"\u20ac":return"EURO"}},getISOCurrencyCodeForVillage(e){switch((c.getVillageDetails(e)||{}).currencySymbol){case"\xa3":return"GBP";case"\u20ac":return"EUR"}},getVillageDetails:(e,t=null)=>c.getVillageListForRegion(t).find(t=>t.value===e),getVillageListForRegion(e){e=e||r.A.getRegionCode();const t=i.A.getItem(`${d}/${e}`)||{};return Object.keys(t).map(e=>t[e])},getDogPricesForVillage(e){const t=c.getVillageDetails(e)||{};return{dogPrice1:t.oneDogPrice||0,dogPrice2:t.twoDogPrice||0}},getEarliestCheckInDateForVillage(e){const t=(c.getVillageDetails(e)||{}).firstAvailableDate;return t?o()(t,"DD/MM/YYYY"):o()()},getVillageCodeByBookingRef(e){const t=i.A.getItem("bookingsdata");if(t&&t.allBookings&&t.allBookings.length>0){const{allBookings:n}=t;for(let t=0;t<n.length;t++)if(n[t].bookingReference===e)return n[t].villageCode}return null}},l=c},34035:(e,t,n)=>{"use strict";n.d(t,{V:()=>W,M9:()=>G,Hn:()=>U,Zx:()=>q,Ay:()=>Q,a$:()=>K,n_:()=>V});var i=n(95093),a=n.n(i),o=n(1595),r=n(8915),s=n(46630),d=n(27281),c=n(88436),l=n(55303),m=n(67868);const u=document.querySelector(".js-newletter-signup"),g=document.querySelector(".js-newsletter-change-preference"),k=document.querySelector(".js-newsletter-non-logged-in"),v=document.querySelector(".footer__signup__form");function p(e){s.Dq(e),s.bw(s.GU("myPreferencePageURL"))}function f(e){s.Dq(e),function(){const e=s.mX('input[name="signup"]');e.trim()&&(0,m.Co)(e).then(h).catch(h)}()}function h(e){let t,n="";200===e.status?(t=s.GU("newsletterSignInUrl"),n+="?newsletter",n+="&resource="+s.GU("myPreferencePageURL"),s.bw(t+n)):(window.scrollTo(0,0),window.centerparcs.initNewsletterPopup())}const y=function(e){let t=function(){if(document.querySelector("#gigya-raas-embed"))return!0;return!1}();e?g&&(s.vy(g,"hide"),g.addEventListener("click",p)):u&&k&&(s.vy(k,"hide"),u.addEventListener("click",f)),t&&v&&s.iQ(v,"hide")};let b={initialize:function(){const e=l.A.isUserLoggedIn();C?.classList.add("hide"),e?function(){const e=D(35),t=D(12);
1S.forEach(t=>t.innerText=e),I.forEach(e=>e.innerText=t),N&&(N.classList.remove("show"),N.classList.add("hide"));(0,s.$Q)(A,e=>e.classList.remove("hide"))}():function(){N&&(N.classList.remove("hide"),N.classList.add("show"));(0,s.$Q)(A,e=>{e.classList.add("hide")})}();y(e)},get:{pageTitle:()=>ContextHub.getItem("pagedata/title")}};const A=document.querySelectorAll(".nav__item--profile"),N=document.querySelector(".signedout-btn"),S=document.querySelectorAll(".subnav__myprofile__username"),I=document.querySelectorAll(".subnav__myprofile__username--short"),C=document.querySelector(".signed-in-state-placeholder");function D(e){const t=l.A.getFirstName()||"",n=l.A.getLastName()||"",i=`${n.charAt(0).toUpperCase()}`;let a=`${t} ${n}`;return a.length>e&&(a=`${t} ${i}.`),a.length>e&&(a=t),a.length>e&&(a=`${a.slice(0,e).replace(/(\W)+$/g,"")}\u2026`),a}const E=b;var F=n(87266),B=n(4732),w=n(13857),T=n(3302);const R=(0,s.gA)(),O=new T.A({}),L="btn",x="okButton",M={CONTEXT_HUB_READY:"contextHubReady"};let P,$={product:d.A,search:c.A,profile:l.A,page:E,basket:F.A,bookings:B.A,villages:w.A};function V(){return P||(P=new Promise(e=>{let t;E.initialize();const n=n=>{o.A.log(`ContextHub initialised in response to ${n&&n.type?n.type:"unknown trigger"}`),t||(t=!0,o.A.debug("ContextHub: Applying Resets"),function(){o.A.log(`Current page: ${(0,r.s0)()}`);let e=[r.Nb.ACTIVITY_SEARCH_BOOKING,r.Nb.ACTIVITY_SEARCH_BROCHURE,r.Nb.ACTIVITY_DETAIL,r.Nb.ACTIVITY_CHECK_AVAILABILITY,r.Nb.CONFIRMATION,r.Nb.CONFIRMATION_ERROR,r.Nb.RACECONDITION_ERROR,r.Nb.NEWSLETTER_SIGN_IN,r.Nb.NEWSLETTER_SIGN_UP,r.Nb.PERSONAL_DETAILS,r.Nb.MYPREFERENCE,r.Nb.BOOKING_OVERVIEW,r.Nb.FORGOT_PASSWORD,r.Nb.RESET_PASSWORD,r.Nb.SIGN_IN,r.Nb.TERMS_AND_CONDITIONS],t=(0,r.s0)();if(F.A.initializeMonitoring(),e.indexOf(t)>-1)return;const n=(0,r.Mu)(),i=(0,r.Ci)();switch(t){case r.Nb.ACCOMMODATION_SEARCH:H(n),j(),l.A.clearViewedAccommodationOffersPriceMap(),F.A.isEmpty()||W();break;case r.Nb.LOCATION:W(),o.A.log("clearCartDataLocations"),$.basket.isEmpty()||$.basket.getAccommodations().forEach((e,t)=>{ContextHub.removeItem(`cartdata/accommodations/${t}/locationDescription`),ContextHub.removeItem(`cartdata/accommodations/${t}/locationPreference`),ContextHub.removeItem(`cartdata/accommodations/${t}/locationPrice`),ContextHub.removeItem(`cartdata/accommodations/${t}/addrDescription`),ContextHub.removeItem(`cartdata/accommodations/${t}/locationOptionSelected`)}),Y(i),G(),q(n),U(n),j(),(0,F.$)();break;case r.Nb.ENHANCEMENT:W(),Y(i),G(),q(n),U(n),j(),(0,F.$)();break;case r.Nb.YOUR_DETAILS:case r.Nb.GUEST_DETAILS:W(),G(),q(n),U(n),j(),(0,F.$)();break;case r.Nb.PAYMENT:W(),G(),q(n),U(n),j();break;case r.Nb.ACCOMMODATION_BOOKING_DETAILS:H(n),G(),j();break;default:!function(){o.A.log("clearSearchData");const e=$.search.getActivitySearchTerm();$.search.reset(),e&&$.search.setActivitySearchTerm(e)}()}}(),o.A.debug("ContextHub: Ready"),(0,s.Rj)(M.CONTEXT_HUB_READY),e())};ContextHub.eventing.once(ContextHub.Constants.EVENT_ALL_STORES_READY,n,"allReadyHandler",!0),ContextHub.eventing.once(ContextHub.Constants.EVENT_STORES_PARTIALLY_READY,n,"partiallyReadyHandler",!0)})),P}function _(){o.A.log("clearCartData"),$.basket.reset()}function H(e){if(o.A.log("clearCartDataAccommodations"),e=e||0,!$.basket.isEmpty())if(0===e)o.A.log("On first search lodge, clearing all cartdata"),_();else{for(let t=$.basket.getAccommodationsCount()-1;t>=e;t--){o.A.log(`removing cartdata/accommodations/i at index ${t}`);const e=$.basket.getAccommodations("cartdata/accommodations");e.splice(t,1),$.basket.setAccommodation(e)}}}function Y(e){o.A.log("clearCartDataEnhancements"),$.basket.isEmpty()||(e=e||0,$.basket.getAccommodations().forEach((t,n)=>{n>=e&&(o.A.log(`removing cartdata/accommodations/i/enhancements at index ${n}`),ContextHub.removeItem(`cartdata/accommodations/${n}/enhancements`))}))}function U(e){const t=["CBSOON","CBSVOU"];o.A.log("clearCartDataOfferEnhancements"),$.basket.isEmpty()||(e=e||0,$.basket.getAccommodations().forEach((n,i)=>{const a=ContextHub.getItem(`cartdata/accommodations/${i}/enhancements`);if(i>=e&&a){const e=a.filter(e=>!t.includes(e.enhancementCode));o.A.log(`removing cartdata/accommodations/i/enhancements at index ${i}`),ContextHub.removeItem(`cartdata/accommodations/${i}/enhancements/`),ContextHub.setItem(`cartdata/accommodations/${i}/enhancements`,e)}}))}function q(e,t=!0){if(o.A.log("clearCartDataOffers"),!$.basket.isEmpty()){e=e||0,$.basket.getAccommodations().forEac
1h((t,n)=>{const i=ContextHub.getItem(`cartdata/accommodations/${n}/accommodationOffers`);n>=e&&i&&(o.A.log(`removing cartdata/accommodations/i/accommodationOffers at index ${n}`),ContextHub.removeItem(`cartdata/accommodations/${n}/accommodationOffers/`),ContextHub.removeItem(`cartdata/accommodations/${n}/accommodationOfferPrice/`))});const n=ContextHub.getItem("cartdata/totalBookingDiscount");if(t&&n){const e=parseFloat(F.A.getTotalPrice())-parseFloat(n);F.A.updateTotalPrice(e)}o.A.log("removing cartdata/totalBookingDiscount"),ContextHub.removeItem("cartdata/totalBookingDiscount")}}function G(){o.A.log("clearCartDataInsurance"),$.basket.isEmpty()||$.basket.getAccommodations().forEach((e,t)=>{ContextHub.removeItem(`cartdata/accommodations/${t}/insuranceCode`),ContextHub.removeItem(`cartdata/accommodations/${t}/insuranceDescription`),ContextHub.removeItem(`cartdata/accommodations/${t}/insuranceEndDate`),ContextHub.removeItem(`cartdata/accommodations/${t}/insurancePrice`),ContextHub.removeItem(`cartdata/accommodations/${t}/insuranceStartDate`)})}function j(){const e=F.A.calculateTotalPrice();parseFloat(F.A.getTotalPrice())!==parseFloat(e)&&(F.A.updateTotalPrice(e),F.A.updateBalanceDueAmount(e))}function W(){if(!R&&(!function(){const e=a()(),t=a()($.basket.getTimeStamp());return e.isBefore(t)}()||F.A.isEmpty())){o.A.log("session invalid-redirect to home page | caller: checkSessionExpiryAndCartData()"),O.appendAndShow(K());const e=document.querySelector(`.modal .${L}`);e&&e.focus()}}function K(e){const t=function(){const e=document.getElementById("important-data");let t={};if(e){const n=e.textContent;t=JSON.parse(n)}return{title:t.sessionExpireWarningLabel,text:t.sessionExpireWarningMessage,buttons:[{type:x,text:t.sessionExpireWarningOkButton,cssClass:L}]}}(),n="div",i=document.createElement(n);i.className="modal-content";const a=document.createElement(n);a.className="modal__header",a.innerHTML=`<div class="h5">${t.title}</div>`,i.appendChild(a);const o=document.createElement(n);o.className="modal__body",o.innerHTML=t.text,i.appendChild(o);const r=document.createElement(n);return r.className="modal__footer",(0,s.$Q)(t.buttons,t=>{const n=document.createElement("button");if(n.className=t.cssClass,n.innerHTML=t.text,r.appendChild(n),t.type===x)n.addEventListener("click",()=>{O.close(),void 0!==e&&!1!==e||_(),(0,s.bw)((0,s.GU)("homePageURL"))})}),i.appendChild(r),i}const Q=$},61523:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var i=n(34035);function a(){i.Ay.basket.reset(),i.Ay.search.reset()}},97288:(e,t,n)=>{"use strict";n.d(t,{TH:()=>$,bq:()=>x,oL:()=>V,H4:()=>P,fq:()=>M,yc:()=>Y,WZ:()=>H});var i=n(36191),a=n(76852),o=n(82460),r=n(75336),s=n(32033),d=n(82081),c=n(6570),l=n(95506),m=n(55303),u=n(77783);var g=n(41231),k=n(56164),v=n(42548),p=n(2564),f=n(13790),h=n.n(f),y=n(2433),b=n.n(y),A=n(72878),N=n.n(A),S=n(18082),I=n(58328);const C=new class{async getItem(e){if(!e)return console.warn("[IndexedDBStorageWrapper] getItem called with null or empty key."),null;const[t,n]=await Promise.all([(0,u.Jt)(e),(0,u.Jt)(`${e}__ttl`)]);return n&&Date.now()>n?(await this.removeItem(e),null):t}async setItem(e,t,n=600){if(e)try{await this.clearAllExpiredItems(),await(0,u.hZ)(e,t);await(0,u.Jt)(`${e}__ttl`)||await(0,u.hZ)(`${e}__ttl`,Date.now()+1e3*n)}catch(d){console.error(`[IndexedDBStorageWrapper] Error setting item with key ${e}:`,d)}else console.warn("[IndexedDBStorageWrapper] setItem called with null or empty key.")}async removeItem(e){if(e)try{await(0,u.yH)(e),await(0,u.yH)(`${e}__ttl`)}catch(d){console.error(`[IndexedDBStorageWrapper] Error removing item with key ${e}:`,d)}else console.warn("[IndexedDBStorageWrapper] removeItem called with null or empty key.")}async destroyStorage(){try{await(0,u.IU)()}catch(d){console.error("[IndexedDBStorageWrapper] Error destroying storage:",d)}}async clearAllExpiredItems(){try{const e=(await(0,u.HP)()).filter(e=>!this.isInternalExpiryTimestampKey(e)).map(async e=>{const t=await(0,u.Jt)(`${e}__ttl`);t&&Date.now()>t&&await this.removeItem(e)});await Promise.all(e)}catch(d){console.error("[IndexedDBStorageWrapper] Error clearing expired items:",d)}}isInternalExpiryTimestampKey(e){return!!e.match(/\w*__ttl/g)}};let D=null;console.log(`[DEBUG] CONFIG: ${JSON.stringify({isDev:void 0})}`);const E=new S.A;let F=null;const B=new i.InMemoryCache({fragments:(0,p.G)(i.gql`${h()} ${b()} ${N()}`),typePolicies:{BookingDetailsResponse:{keyFields:["booking",["centralBookingReference"]]},Activity:{keyFields:["code"],fields:{url:{read:e=>w(e)}}},ActivityAvailabilityTimeSlot:{keyFields:!1},ActivityAvailabilityVariant:{keyFields:!1},ItineraryActivity:{keyFields:["activityBookingReference"],fields:{bookThingsToDoUrl:{read:e=>w(e)},activityCheckoutUrl:{read:e=>w(e)},cancellationUrl:{read:e=>w(e)},manageParticipantsUrl:{read:e=>w(e)}}}}}),w=e=>{try{const t=new URL(e),{pathname:n,search:i}=t;return n+(i?`?${i}`:"")}catch{return e}},T=(0,o.o)(async(e,{headers:t})=>{E.show();const n={...t},{ipsVersion:i}=await(0,s.s)();if(n["X-Client-Version"]=i||"",n["X-Client-Name"]="Web",n["CSRF-Token"]=await window.Granite.csrf.refreshToken(),m.A.isUserLoggedIn()){const e=await(0,l.iD)();n.Authorization=`Bearer ${e}`}return{headers:n}}),R=(0,g.e)({sha256:k.sc}),O=(0,d.S)(e=>{E.hide();const{operation:t,forward:n,graphQLErrors:a,response:o}=e,{response:r}=t.getContext(),s=t.getContext().headers;if(401===r?.status)return new i.Observable(e=>{(0,c.Zn)().then(async()=>{await window.Granite.csrf.refreshToken(),t.setContext({headers:{...s,Authorization:`Bearer ${await(0,l.iD)()}`}}),E.show();return n(t).subscribe({next:e.next.bind(e),error:e.error.bind(e),complete(){e.complete(),!s.skipReload&&m.A.isUserLoggedIn()&&location.reload()}})}).catch(t=>{e.error(t)})});if(a){if(o?.data)return;return new i.Observable(e=>{e.error({graphQLErrors:a})})}}),L=new i.ApolloLink((e,t)=>t(e).map(e=>(E.hide(),e)));const x=async()=>{try{await D.persist(),console.log("[ApolloSetup] Cache persistence ensured successfully.")}catch(d){console.error("[ApolloSetup] Error during persistor.persist():",d)}},M=async()=>(F=await async function(){const e=await(0,s.s)();(0,I.xI)().setIpsVersion(e.ipsVersion);const t=new a.PR({uri(t){const{apiName:n}=t.getContext();return e[n]||e.ipsEndpoint},includeExtensions:!0}),n=(0,v.H)([T,O,L,t]);D=new r.U8({cache:B,storage:C,key:"apollo-cache-web",debug:void 0});try{console.log("[ApolloSetup] Attempting to restore cache from IndexedDB..."),await D.restore(
1),console.log("[ApolloSetup] Cache persistence restored successfully.")}catch(d){console.error("[ApolloSetup] Error during persistor.restore():",d),D&&await D.purge()}return new i.ApolloClient({link:a.PR.split(e=>e.getContext().apiName||void 0,n,R.concat(n)),cache:B})}(),F),P=()=>F;async function $(){try{const e=await F;await e.clearStore(),console.log("[ClearCache] In-memory cache cleared (client.clearStore)."),C?(await C.destroyStorage(),console.log("[ClearCache] IndexedDB database destruction complete.")):console.error("[ClearCache] IndexedDBStorageWrapper instance not available for destruction.")}catch(d){console.error("[ClearCache] Error clearing cache and persistence:",d)}}async function V(e,t=!1){if(F){const n=await F;await n.cache.evict({id:n.cache.identify(e)}),t||await n.cache.gc(),await x()}else console.error("[EvictCache] Apollo Client instance not available.")}const _=async(e,t)=>{console.log(`${t}:`,e);try{const n=await(async()=>{if(!F)throw new Error("Apollo Client instance not available.");return F})(),i=((e,t,n)=>{const i=e.cache.identify(t);return i||console.warn(`[${n}] Could not identify object`,t),i})(n,e,t);if(console.log("cacheId - ",i),!i)return;n.cache[t.toLowerCase()](i),"release"===t&&(n.cache.evict({id:i}),n.cache.gc())}catch(d){console.error(`[${t}]`,d.message)}},H=e=>_(e,"retain"),Y=e=>_(e,"release")},3415:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var i=n(97288),a=n(83806);const o=(e=[])=>e.map(({message:e,extensions:t,path:n})=>{const i=t?.code,o={code:i,message:a.UU[i]||`Unexpected error: ${e}`,sources:t?.sources?[...t.sources]:[],path:n};return t?.zeroResult&&(o.zeroResult=t.zeroResult),o}),r=(e={})=>{if(!e||"object"!==typeof e)return[];const t=((e=[])=>e.map(e=>{const t=e.code||a.m3[e.__typename]||e.__typename;return{code:t,message:a.UU[t]||`Unexpected error: ${e.message||e.__typename}`,sources:e.sources?[...e.sources]:[],__typename:e.__typename}}))(e.errors||[]);return Array.isArray(e.unavailableSources)&&e.unavailableSources.length&&t.push({code:"SOURCE_SERVICE_UNAVAILABLE",message:a.UU.SOURCE_SERVICE_UNAVAILABLE,sources:[...e.unavailableSources]}),t};class s{async init(){this.apolloClient=await(0,i.H4)()}async useQuery(e,t={},n={},i,a={}){try{const o=a.graphqlOptions||{},r={...n,...o.context||{},_explicitFetchPolicy:i},s=await this.apolloClient.query({query:e,variables:t,context:r,fetchPolicy:i,...a.errorPolicy?{errorPolicy:a.errorPolicy}:{}});return this.handleResult(s,a.payloadKey)}catch(o){return this.handleError(null,null,o)}}async useMutate(e,t={},n={},i={}){try{const a=i.graphqlOptions||{},o=await this.apolloClient.mutate({mutation:e,variables:t,context:n,...a});return this.handleResult(o,i.payloadKey)}catch(a){const{graphQLErrors:e,networkError:t}=a;return this.handleError(e,t,a)}}async useRefetch(e,t={},n={},i){try{const a=await this.apolloClient.refetchQueries({include:[{query:e,variables:t,context:n,fetchPolicy:i}]});return this.handleResult(a)}catch(a){return this.handleError(null,null,a)}}handleResult(e,t){const{data:n,errors:i,error:a,graphQLErrors:s,networkError:d}=e,c=[...i||s?o(i||s):[],...t?r(n?.[t]):[]];return c.length?{...e,errors:c}:d||a?this.handleError(s,d,a):e}handleError(e,t,n){const i=new Error("An error occurred while processing the GraphQL request"),a=e?.length&&e||n?.graphQLErrors?.length&&n.graphQLErrors||t?.graphQLErrors?.length&&t.graphQLErrors||[],r=o(a);throw i.extensions=r,i}getClient(){return this.apolloClient}}},32033:(e,t,n)=>{"use strict";n.d(t,{F:()=>a,s:()=>o});var i=n(6570);const a="accommodationEndpoint";async function o(){return(await(0,i.e5)("/api/v1/config.json",{options:{id:"graphql-endpoint-config"}})).data}},1202:(e,t,n)=>{"use strict";n.d(t,{G:()=>p,M:()=>f});var i=n(4754),a=n(68004),o=n.n(a),r=n(95117),s=n.n(r),d=n(50527),c=n.n(d),l=n(1595),m=n(63039),u=n(83806),g=n(97288),k=n(39653),v=n(7121);const p=async e=>{l.A.log("[DEBUG] setting activity from Basket",o());const{centralBookingReference:t}=e,n=await(0,i.W)(o(),e,!0,!0,"network-only",!1,{payloadKey:"addActivityToBasketV2",graphqlOptions:{update(e,n){const i=n.data.addActivityToBasketV2?.result?.itinerary;if(!i)return;const a=e.readQuery({query:c(),variables:{centralBookingReference:t}});a?.bookingDetails&&e.writeQuery({query:c(),data:{bookingDetails:{...a.bookingDetails,itinerary:i}},variables:{centralBookingReference:t}})}}});return await(0,g.bq)(),n},f=async e=>{l.A.log("[DEBUG] removing activity from Basket",s());const{centralBookingReference:t}=e,n=await(0,i.W)(s(),e,!0,!0,null,!0,{payloadKey:"removeActivityFromBasketV2",graphqlOptions:{update(e,n){const i=n.data.removeActivityFromBasketV2?.result?.itinerary;if(!i)return;const a=e.readQuery({query:c(),variables:{centralBookingReference:t}});a?.bookingDetails&&e.writeQuery({query:c(),data:{bookingDetails:{...a.bookingDetails,itinerary:i}},variables:{centralBookingReference:t}})}}}),a=n?.data?.removeActivityFromBasketV2?.result;a||await(0,g.oL)({__typename:"BookingDetailsResponse",booking:{centralBookingReference:e.centralBookingReference}});const[o]=await(0,v.cj)(e.activityBookReferences);try{(0,m.ei)({component:u.MU.basket,eventName:u.mb.removeFromBasket,action:"removeFromBasket"},o)}catch(r){console.error("Error while broadcasting event",r)}return await k.g.getBooking(),await(0,g.bq)(),{data:{removeActivityFromBasket:{...a,activity:o}}}}},7121:(e,t,n)=>{"use strict";n.d(t,{Jt:()=>k,cj:()=>v});var i=n(20459),a=n.n(i),o=n(1595),r=n(4754),s=n(63039),d=n(83806),c=n(50527),l=n.n(c),m=n(13790),u=n.n(m),g=n(3415);const k=e=>
1new Promise((t,n)=>{const i={activityBookings:e.activityBookings,client:{firstName:e.firstName,lastName:e.lastName,email:e.email,title:e.title,phone:e.phoneNumber},centralBookingReference:e.centralBookingReference,cardNumber:e.cardNumber,cardToken:e.cardToken,cardTransactionNumber:e.cardTransactionNumber};(async()=>{try{const e=await(async e=>{o.A.log("[DEBUG] cancel Activity Bookings",a());const{centralBookingReference:t}=e;return await(0,r.W)(a(),e,!0,!0,"network-only",!1,{payloadKey:"confirmActivityBookingsV2",graphqlOptions:{update(e,n){const i=n.data.confirmActivityBookingsV2?.result?.itinerary;if(!i)return;const a=e.readQuery({query:l(),variables:{centralBookingReference:t}});a&&e.writeQuery({query:l(),data:{bookingDetails:{...a.bookingDetails,itinerary:i}},variables:{centralBookingReference:t}})}}})})(i);o.A.log(`[DEBUG] GraphQL response ${e}`),(0,s.ei)({component:d.MU.activity,eventName:d.mb.confirmActivity,action:"confirm"},e.data),t(e)}catch(e){o.A.error(e),n(e)}})()}),v=e=>new Promise((t,n)=>{(async()=>{try{const n=new g.A;await n.init();const i=n.getClient(),a=[],o=[];e.forEach(e=>{const t=i.cache.identify({__typename:"ItineraryActivity",activityBookingReference:e});if(t)try{const n=i.readFragment({id:t,fragment:u()});n?(console.log(`Activity with booking reference ${e} found in cache:`,n),a.push(n)):(console.log(`Activity with booking reference ${e} not found in cache.`),o.push(e))}catch(n){console.error(`Error reading fragment for reference ${e} from cache:`,n),o.push(e)}else console.error(`Could not identify cache ID for ItineraryActivity with booking reference ${e}`),o.push(e)}),t(a)}catch(i){o.A.error(i),n(i)}})()})},4754:(e,t,n)=>{"use strict";n.d(t,{W:()=>o});var i=n(3415),a=n(1595);async function o(e,t,n,o,r="cache-first",s=!0,d){const c=new i.A;await c.init();try{const i=n?{skipReload:s}:{};let a,l=[];
1if(o){if(a=await c.useMutate(e,t,{headers:i},d),d?.refetchQueries){const e=Array.isArray(d.refetchQueries)?d.refetchQueries:[d.refetchQueries],t=e.map(e=>c.useRefetch(e.query,e.variables,{headers:i}));(await Promise.all(t)).forEach((t,n)=>{const i=e[n]?.query,a=i?.definitions?.[0]?.name?.value||"UnknownQuery";l.push({query:i,queryName:a,result:t})})}}else a=await c.useQuery(e,t,{headers:i},r,d);return a.refetchQueriesResults=l,a}catch(l){return a.A.error("Error fetching booking details:",l),l}}},3302:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});const i=".modal-content";const a=class{constructor({opaque:e,width:t}){this.modal=document.createElement("div"),this.opaque=e||!1,this.cb=null,t&&(this.width=t)}init(){const e=this.opaque?" opaque":"";this.modal.className="modal",this.modal.innerHTML=`<div class="modal-overlay${e}"></div>`}open(){document.body.appendChild(this.modal)}close(e){this.modal.remove(),this.cb&&this.cb(e)}appendContent(e){this.clearContent(),this.modal.appendChild(e),this.setWidth(this.width)}appendAndShow(e,t){t&&(this.cb=t),this.init(),this.appendContent(e),this.open()}setWidth(e){const t=this.modal.querySelector(i);t.style.width=`${e}px`,t.style.left=`calc(50% - ${e/2}px)`}clearContent(){const e=this.modal.querySelector(i);e&&e.remove()}}},48581:(e,t,n)=>{"use strict";n.d(t,{B:()=>s,L:()=>r});var i=n(39653),a=n(55303),o=n(4732);async function r(){if(!a.A.isUserLoggedIn())return null;const e=await i.g.getBookings();let t=o.A.getBookingReferenceFromUrl();return await d(t)?t:(t=sessionStorage.getItem("currentBookingRef"),await d(t)?t:e?.data?.[0]?.bookingReference||null)}async function s(){if(sessionStorage.getItem("bookingRefVillage"))return sessionStorage.getItem("bookingRefVillage");const e=await i.g.getBookings();return e?.data?.[0]?.villageCode||null}async function d(e){const t=await i.g.getBookings();return!!t&&t.data.some(t=>t.bookingReference===e)}},63039:(e,t,n)=>{"use strict";n.d(t,{ei:()=>c,j9:()=>m});var i=n(83806),a=n(7945);const o={[i.mb.addToBasket](e){e&&(0,a.UV)(e)},[i.mb.removeFromBasket](e){(0,a.dO)(e,!0)}};var r=n(46630);const s={...o,...{[i.mb.accommodationLoaded](e){e&&(0,r.Rj)("accommodationSearchResultsLoad")},[i.mb.accommodationMonthsearch](e){r.Yy(e.searchFor,()=>{const t=`${window.location.pathname.slice(0,window.location.pathname.indexOf(".html")+5)}${e.suffixPath||e.suffixUrl}`;window.location=t})}}};var d=n(1595);window.adobeDataLayer=window.adobeDataLayer||[];const c=(e,t)=>{const n={path:e.rootLevel?e.component:`component.${e.component}`};e.action&&Object.assign(n,{action:e.action});const i={event:e.eventName,eventInfo:n,...e.rootLevel?{[e.component]:t}:{component:{[e.component]:t}}};window.adobeDataLayer.push(i),d.A.log({event:e.eventName,eventData:i})},l=e=>{try{const{event:t,eventInfo:n}=e,i=s[t];if(i&&n){const e=n.path;i(window.adobeDataLayer.getState(e))}}catch(t){throw console.error(t),new Error("Error while processing the analytics event.")}};window.adobeDataLayer.push(e=>{e.addEventListener("adobeDataLayer:change",l)}),window.adobeDataLayer.push(e=>{e.addEventListener("cmp:show",t=>{const n=t&&t.eventInfo&&t.eventInfo.path;if(!n)return;const i=n.split(".").reduceRight((e,t)=>({[t]:e}),{"uxp:url":window.location.href});e.push(i)})});const m=e=>e&&e.dataset.cmpDataLayer?Object.keys(JSON.parse(e.dataset.cmpDataLayer))[0]:e.id},18082:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});var i=n(3302);const a=(()=>{let e=0,t=null;return{acquire(n){e+=1,t||(t=new i.A({opaque:n}),t.appendAndShow(function(){const e=document.createElement("div");e.className="modal-content";const t=document.createElement("div");t.className="spinner",t.id="spinnerId",t.textContent="Please wait...";const n=document.createElement("div");return n.className="sr-only",n.textContent="Please wait loading",n.setAttribute("aria-live","assertive"),n.setAttribute("role","alert"),e.appendChild(t),e.appendChild(n),e}()))},release(){e=Math.max(0,e-1),0===e&&t&&(t.close(),t=null)}}})();class o{constructor(e){this.opaque=e||!1,this.held=0,this.timeout=null}show(){this.held+=1,a.acquire(this.opaque)}showAfterDelay(e){this.cancelPendingShow();const t=e||100;this.timeout=setTimeout(()=>{this.timeout=null,this.show()},t)}hide(){this.cancelPendingShow(),0!==this.held&&(this.held-=1,a.release()
1)}cancelPendingShow(){this.timeout&&(clearTimeout(this.timeout),this.timeout=null)}}},17852:(e,t,n)=>{"use strict";n.d(t,{A:()=>d});var i=n(34035),a=n(1595),o=n(39653),r=n(46630),s=n(48581);async function d(e=!0){if(i.Ay.profile.isUserLoggedIn()&&await async function(){const e=await o.g.getBooking();return e&&e.bookingDetails?.booking?.activityWindow?.isWithinActivityWindow}()){const t=await o.g.getBooking(),n=await(0,s.L)(),i=t.bookingDetails?.itinerary?.activities.length||t.bookingDetails?.itinerary?.bundleActivities.length||0;(0,r.ZO)(".nav__item--itinerary-planner").then(()=>{const t=document.querySelector(".nav__item--itinerary-planner"),o=t.querySelector("iframe");if(i>0){if(t.classList.remove("hidden"),e){const e=document.querySelectorAll("button.itinerary-planner"),i=t.querySelector(".activity-itinerary--modal"),r=t.querySelector(".activity-itinerary__close"),s=o.dataset.src;e.length>0&&(o.addEventListener("load",e=>{const t=e.target.getAttribute("src");t&&""!==t&&(i.classList.remove("hide"),document.body.style.overflow="hidden",a.A.log("Yes the iframe is loaded."))},!0),e.forEach(e=>{e.addEventListener("click",()=>{const e=o.getAttribute("src");e&&""!==e||o.setAttribute("src",`${s}.html/${n}`),i.classList.remove("hide")})})),r&&r.addEventListener("click",()=>{i.classList.add("hide"),document.body.style.overflow=""})}}else t.classList.add("hidden")})}}},83806:(e,t,n)=>{"use strict";n.d(t,{DB:()=>k,DX:()=>i,G$:()=>a,KL:()=>o,MU:()=>l,SC:()=>s,UU:()=>u,c4:()=>m,m3:()=>g,mb:()=>c,s$:()=>d,vB:()=>v,vX:()=>r});const i={CURRENT_SITE:"DD-MM-YYYY",OLD_SITE:"DD/MM/YYYY",REFUND_SUMMARY:"DD/MM/YY"},a={DEFAULT:"HH:mm"},o={BOOKING:"booking",BROCHURE:"brochure"},r={SEARCH:"search",VILLAGE:"village"},s={VILLAGE:"village",GUEST:"guests"},d={CENTERPARCS:"CP",AQUASANA:"AS"},c={bookingDetailsLoaded:"cmp:bookingDetails:loaded",bookingDetailsUpdated:"cmp:bookingDetails:updated",addToBasket:"cmp.activity.addToBasket",removeFromBasket:"cmp.activity.removeFromBasket",confirmActivity:"cmp.activity.book",restaurantBookingBlock:{loaded:"cmp.activity.restuarantBookingBlock.loaded",backToRestaurants:"cmp.activity.restuarantBookingBlock.backToRestuarants.clicked",continueBooking:"cmp.activity.restuarantBookingBlock.continueBooking.clicked",edit:"cmp.activity.restuarantBookingBlock.edit.clicked",addToBasket:"cmp.activity.restuarantBookingBlock.addToBasketCTA.clicked",groupBookingRequested:"cmp.activity.restuarantBookingBlock.groupBookingCTA.clicked",dateSelected:"cmp.activity.restuarantBookingBlock.dateSelected",guestSelected:"cmp.activity.restuarantBookingBlock.guestSelected",timeOfDaySelected:"cmp.activity.restuarantBookingBlock.timeOfDaySelected",timeSlotSelected:"cmp.activity.restuarantBookingBlock.timeSlotSelected",errorMessage:"cmp.activity.restuarantBookingBlock.error",noAvailabilityError:"cmp.activity.restuarantBookingBlock.noAvailabilityError",internalServerError:"cmp.activity.restuarantBookingBlock.internalServerError"},accommodationLoaded:"cmp:accommodationSearchResultsLoad",accommodationFilterUpdated:"cmp:accommodationFilter:updated",accommodationMonthsearch:"cmp:monthsearch:click",chatWidgetOpen:"cmp:chatWidget:open",chatWidgetClose:"cmp:chatWidget:close",locationSelected:"cmp:location:selected",lodgeSelected:"cmp:location:lodgeSelected",voucherCodeApplied:"cmp:voucherCode:applied",voucherCodeError:"cmp:voucherCode:error",voucherOptionSwitched:"cmp:voucherCode:optionSwitched",insuranceSelected:"cmp:insurance:selected"},l={bookingDetails:"bookingDetails",basket:"basket",activity:"activity",restaurantBookingBlock:"restaurantBookingBlock",accommodationSearch:"accommodationSearch",chatWidget:"chatWidget",location:"location",voucherCode:"voucherCode",insurance:"insurance"},m={LOGGED_IN:"Logged In",ERROR:"error"},u={VALIDATION_ERROR:"Validation error",SOURCE_SERVICE_UNAVAILABLE:"Source service unavailable",NOT_FOUND:"Not found",INTERNAL_SERVER_ERROR:"Internal server error",CONFLICT:"Conflict",BAD_REQUEST:"Bad request",AUTH_NOT_AUTHORIZED:"Not authorized",AUTH_NOT_AUTHENTICATED:"Not authenticated"},g={UnavailableSourceError:"SOURCE_SERVICE_UNAVAILABLE",ValidationError:"VALIDATION_ERROR",ActivityBookingNotFoundError:"NOT_FOUND",OperationNotAllowedError:"AUTH_NOT_AUTHORIZED",ActivityDataIntegrityError:"INTERNAL_SERVER_ERROR",AemContentIssueError:"INTERNAL_SERVER_ERROR"},k={ACTIVITIES_PAYLOAD:"ActivitiesPayload",FAVOURITES_PAYLOAD:"FavouritesPayload",ACTIVITY_AVAILABILITY:"ActivityAvailability",ACTIVITY_CANCELLATION_DETAILS:"ActivityCancellationDetail
1s"},v={GET_FAVOURITE_ACTIVITY_CODE:"getFavouriteActivityCode"}},88006:(e,t,n)=>{"use strict";n.d(t,{CM:()=>r,fN:()=>o,yS:()=>a});var i=n(4105);const a=e=>/^[a-zA-Z\s'_-]+$/.test(e),o=e=>i.Rp.$validator(e),r=e=>/^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@\xa3$%^&*()\-_+={[\]}:;"'|\\/?.>,<`~#\u20ac])/.test(e)},96703:(e,t,n)=>{"use strict";function i(e){return"string"===typeof e?JSON.parse(e):e}function a(e){return"string"!==typeof e?JSON.stringify(e):e}function o(e,t){return Object.keys(e).some(n=>e[n]!==t[n])}n.d(t,{VD:()=>i,Yw:()=>o,cR:()=>a})},10573:(e,t,n)=>{"use strict";n.d(t,{AV:()=>B,Cl:()=>M,D0:()=>h,DF:()=>I,Dm:()=>V,MA:()=>C,QM:()=>E,Qw:()=>b,Ri:()=>f,Sp:()=>L,VJ:()=>_,Vq:()=>T,Wp:()=>p,aL:()=>P,aV:()=>D,c_:()=>w,d3:()=>O,dS:()=>x,dZ:()=>F,ic:()=>y,mh:()=>N,oM:()=>R,t:()=>S,uK:()=>$,zW:()=>v});var i=n(74353),a=n.n(i),o=n(90445),r=n.n(o),s=n(98867),d=n.n(s),c=n(8906),l=n.n(c),m=n(83826),u=n.n(m),g=n(88569),k=n.n(g);a().extend(r()),a().extend(d()),a().extend(l()),a().extend(u()),a().extend(k());const v=e=>{const t=a()(e).format("D"),n=["th","st","nd","rd"][t%10>3||1===Math.floor(t%100/10)?0:t%10];return a()(e).format(`ddd D[${n}]`)},p=e=>{const t=a()(e).format("D"),n=["th","st","nd","rd"][t%10>3||1===Math.floor(t%100/10)?0:t%10];return a()(e).format(`D[${n}] MMM`)},f=(e,t="YYYY-MM-DD")=>{const n=A(e);return a()(n).format(t)},h=e=>{const[t,n,i]=e.split("-");return`${i}-${n}-${t}`},y=e=>{const t=a()(e).format("D"),n=["th","st","nd","rd"][t%10>3||1===Math.floor(t%100/10)?0:t%10];return a()(e).format(`dddd D[${n}] MMMM YYYY`)},b=e=>{const t=a()(e).format("D"),n=["th","st","nd","rd"][t%10>3||1===Math.floor(t%100/10)?0:t%10];return a()(e).format(`dddd D[${n}] MMMM`)},A=e=>{if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;const t=e.replace(/\//g,"-"),[n,i,a]=t.split("-");return`${a}-${i}-${n}`},N=e=>{const t=A(e),n=a()(t).format("D"),i=["th","st","nd","rd"][n%10>3||1===Math.floor(n%100/10)?0:n%10];return a()(t).format(`D[${i}] MMMM YYYY`)},S=e=>e.replace(/(\d{2})(\d{2})/,"$1:$2"),I=(e,t)=>a()(e).add(t,"day").format("YYYY-MM-DD"),C=(e,t)=>a()(e).subtract(t,"day").format("YYYY-MM-DD"),D=e=>{const t=a()(e,"DD-MM-YYYY",!0);return t.isValid()?t.format("YYYY-MM-DD"):a()(e).format("YYYY-MM-DD")},E=e=>a()(e).format("YYYY"),F=e=>{const t=A(e),n=a()(t).format("D"),i=["th","st","nd","rd"][n%10>3||1===Math.floor(n%100/10)?0:n%10];return`${a()(e).format("D")}<sup>${a()(e).format(`D[${i}]`).replace(/\d/g,"")}</sup> ${a()(e).format("MMMM")}`},B=()=>a()(),w=(e,t=B())=>a()(e).diff(t,"days"),T=(e,t=B())=>a()(t).diff(e,"years"),R=(e,t=B())=>a()(t).diff(a()(e),"minute"),O=e=>{const t=a().utc();return a()(e).isBefore(t)},L=(e,t)=>a()(e).tz("Europe/London").format(t),x=(e,t=B())=>a()(e).isAfter(t),M=(e,t)=>a()().add(e,"millisecond").format(t),P=(e,t)=>a().utc(e).format(t),$=(e,t,n)=>{let i=a()(e,t);return n&&(i=i.format(n)),i};function V(e,t,n="DD-MM-YYYY"){const i=a()(B(),n).startOf("day"),o=a()(e,n).startOf("day"),r=a()(t,n).startOf("day");return i.isSameOrAfter(o)&&i.isSameOrBefore(r)}const _=e=>a()(e).format("dddd")},62890:(e,t,n)=>{"use strict";function i(e,t,n=!1,i=!1){if("function"===typeof CustomEvent)return new CustomEvent(e,{bubbles:!!n,cancelable:!!i,detail:t});const a=document.createEvent("CustomEvent");return a.initCustomEvent(e,!!n,!!i,t),a}n.d(t,{l:()=>i})},8807:(e,t,n)=>{"use strict";n.d(t,{r:()=>p});var i=n(96703),a=n(46630),o=n(18082),r=n(55303),s=n(95506),d=n(6570),c=n(1595);const l="GET",m="PUT",u="POST",g="DELETE",k=[l,m,u,g],v="&";function p(e,t=!1){async function n(e,n,a){if(-1===k.indexOf(e))throw new Error("$http.ajax, request type not supported:",e);let o=null;return t||(o=await(0,s.iD)()),new Promise((s,g)=>{!function k(){const p=new XMLHttpRequest;p.withCredentials=!0;const f=[];if(a&&(e===u||e===m||e===l))for(var h in a)a.hasOwnProperty(h)&&f.push(encodeURIComponent(h)+"="+encodeURIComponent((0,i.cR)(a[h])));e===l&&a&&(n+=`?${f.join(v)}`);p.open(e,n),o&&!t&&p.setRequestHeader("Authorization",`Bearer ${o}`);e!==u&&e!==m||(t||p.setRequestHeader("Auth-Token",r.A.getAuthToken()),p.setRequestHeader("Content-type","application/x-www-form-urlencoded"));p.send(f.join("&")),p.onload=()=>
1{if(p.status>=200&&p.status<300){try{const e=(0,i.VD)(p.response);s(e)}catch(e){c.A.warn(e),s(p.response)}s(f,p.status)}else if(401===p.status){let e;p.response&&(e=JSON.parse(p.response).reason),(0,d.Zn)(e).then(()=>{k()}).catch(()=>{g(p)})}else g(p)},p.onerror=()=>{g(p)}}()})}return{get:t=>n(l,e,t),post:t=>n(u,e,t),postWithSpinner(t,s){const d=new o.A(s);return d.show(),new Promise((o,s)=>{n(u,e,t).then(e=>{d.hide(),o(e)}).catch(e=>{if(d.hide(),e.response){try{e.responseJSON=(0,i.VD)(e.response)}catch(e){c.A.log("Cannot convert response to JSON:",e.response)}e.responseJSON&&(e.responseJSON.statusCode&&"401"===e.responseJSON.statusCode||e.status&&401===e.status)&&n(l,"/services/uxp/logout",null).then(()=>{r.A.onLogout();const e=document.location.pathname;window.location=`${(0,a.GU)("signInPageURL")}?timeout&resource=${e}`})}s(e)})})},put(t){const i=new o.A(!1);return i.show(),new Promise((a,o)=>{n(m,e,t).then(e=>{i.hide(),a(e)}).catch(e=>{i.hide(),o(e)})})},delete(t){const i=new o.A(!1);return i.show(),new Promise((a,o)=>{n(g,e,t).then(e=>{i.hide(),a(e)}).catch(e=>{i.hide(),o(e)})})}}}},97555:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});const i={getRegionCode(){const e=document.querySelector('meta[name="region"]');return e?e.getAttribute("content"):document.documentElement.getAttribute("data-region")},getLocaleForCurrency(){return{uk:"en-GB",ie:"en-IE"}[this.getRegionCode()]},getCountryCode(){return{uk:"GB",ie:"IE"}[this.getRegionCode()]},getCountryCurrencyCode(){return{uk:"GBP",ie:"EUR"}[this.getRegionCode()]}}},12579:function(e,t){var n=9007199254740991,i="[object Arguments]",a="[object Function]",o="[object GeneratorFunction]",r=/^(?:0|[1-9]\d*)$/;var s,d,c=Object.prototype,l=c.hasOwnProperty,m=c.toString,u=c.propertyIsEnumerable,g=(s=Object.keys,d=Object,function(e){return s(d(e))}),k=Math.max,v=!u.call({valueOf:1},"valueOf");function p(e,t){var n=A(e)||function(e){return function(e){return function(e){return!!e&&"object"===typeof e}(e)&&N(e)}(e)&&l.call(e,"callee")&&(!u.call(e,"callee")||m.call(e)===i)}(e)?function(e,t){for(var n=-1,i=Array(e);++n<e;)i[n]=t(n);return i}(e.length,String):[],a=n.length,o=!!a;for(var r in e)!t&&!l.call(e,r)||o&&("length"===r||h(r,a))||n.push(r);return n}function f(e,t,n){var i=e[t];l.call(e,t)&&b(i,n)&&(void 0!==n||t in e)||(e[t]=n)}function h(e,t){return!!(t=null===t?n:t)&&("number"===typeof e||r.test(e))&&e>-1&&e%1===0&&e<t}function y(e){var t=e&&e.constructor;return e===("function"===typeof t&&t.prototype||c)}function b(e,t){return e===t||e!==e&&t!==t}var A=Array.isArray;function N(e){return null!==e&&function(e){return"number"===typeof e&&e>-1&&e%1===0&&e<=n}(e.length)&&!function(e){var t=S(e)?m.call(e):"";return t===a||t===o}(e)}function S(e){var t=typeof e;return!!e&&("object"===t||"function"===t)}var I,C=(I=(e,t)=>{if(v||y(t)||N(t))!function(e,t,n,i){n||(n={});for(var a=-1,o=t.length;++a<o;){var r=t[a],s=i?i(n[r],e[r],r,n,e):void 0;f(n,r,void 0===s?e[r]:s)}}(t,function(e){return N(e)?p(e):function(e){if(!y(e))return g(e);var t=[];for(var n in Object(e))l.call(e,n)&&"constructor"!==n&&t.push(n);return t}(e)}(t),e);else for(var n in t)l.call(t,n)&&f(e,n,t[n])},function(e,t){return t=k(void 0===t?e.length-1:t,0),function(){for(var n=arguments,i=-1,a=k(n.length-t,0),o=Array(a);++i<a;)o[i]=n[t+i];i=-1;for(var r=Array(t+1);++i<t;)r[i]=n[i];return r[t]=o,function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}(e,this,r)}}((e,t)=>{var n=-1,i=t.length,a=i>1?t[i-1]:void 0,o=i>2?t[2]:void 0;for(a=I.length>3&&"function"===typeof a?(i--,a):void 0,o&&function(e,t,n){if(!S(n))return!1;var i=typeof t;return!!("number"===i?N(n)&&h(t,n.length):"string"===i&&t in n)&&b(n[t],e)}(t[0],t[1],o)&&(a=i<3?void 0:a,i=1),e=Object(e);++n<i;){var r=t[n];r&&I(e,r,n,a)}return e}));e.exports=C},1595:(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const i={};let a;a="true"===localStorage.getItem("cp-debug"),["log","debug","warn","info","error","table","group","groupCollapsed","groupEnd"].forEach(e=>{i[e]=a&&window.console[e]||(()=>{})});const o=i},51953:(e,t,n)=>{"use strict";function i(e){return isNaN(e)?e:parseInt(e)}n.d(t,{L:()=>i})}
1,57749:(e,t,n)=>{"use strict";function i(e){return e||0===parseFloat(e)?parseFloat(e).toFixed(2):""}function a(e,t,n){return new Intl.NumberFormat(e,{style:"currency",currency:n}).format(t)}n.d(t,{$g:()=>i,vv:()=>a})},8915:(e,t,n)=>{"use strict";n.d(t,{Ci:()=>p,JZ:()=>l,Mu:()=>f,Nb:()=>o,On:()=>u,Ww:()=>y,al:()=>g,bR:()=>S,c8:()=>N,g5:()=>A,pZ:()=>r,qi:()=>k,s0:()=>v,uQ:()=>h});var i=n(34035),a=n(46630);const o={HOMEPAGE:"homePageURL",ACCOMMODATION_SEARCH:"accommodationSearchPageURL",ACTIVITY_SEARCH_BOOKING:"activitySearchBookingPageURL",ACTIVITY_SEARCH_BROCHURE:"activitySearchBrochurePageURL",LOCATION:"locationPageURL",ENHANCEMENT:"enhancementPageURL",PERSONAL_DETAILS:"personalDetailsPageURL",YOUR_DETAILS:"yourDetailsPageURL",GUEST_DETAILS:"guestDetailsPageURL",PAYMENT:"paymentPageURL",CONFIRMATION:"confirmationPageURL",CONFIRMATION_ERROR:"confirmationErrorPageURL",RACECONDITION_ERROR:"raceConditionErrorURL",NEWSLETTER_SIGN_IN:"newsletterSignInUrl",NEWSLETTER_SIGN_UP:"newsletterSignUpURL",MYPREFERENCE:"myPreferencePageURL",BOOKING_OVERVIEW:"bookingOverviewPageURL",ACCOMMODATION_BOOKING_DETAILS:"accommodationBookingDetails",FORGOT_PASSWORD:"forgotPassword",RESET_PASSWORD:"resetPassword",SIGN_IN:"signInPageURL",TERMS_AND_CONDITIONS:"termsAndConditionsPageURL",ACTIVITY_DETAIL:"activityDetail",ACTIVITY_CHECK_AVAILABILITY:"activitiesCheckAvailabilityPageUrl"},r={ACCOMMODATION_SEARCH:["sequenceNumber","villageCode","arrivalDate","duration","durationType","specialBreakCode","numberOfBedrooms","adults","children","toddlers","infants","dogs","adaptedLodge"],ACCOMMODATION_DETAILS:["sequenceNumber","villageCode","arrivalDate","duration","specialBreakCode","numberOfBedrooms","price"],ACTIVITY_SEARCH_BOOKING:["villageCode","arrivalDate","departureDate","category","startTime","endTime"]},s="bookingReferenceAppendedURLs",d=document.querySelector("#important-data"),c=d?JSON.parse(d.innerText):{};function l(e){return c&&c[e]}function m(e,t){return(t||window.location.pathname).split(e||u()).pop().split("/").filter(e=>e.length>0)}const u=()=>{const e=window.location.pathname.match(/^.*\.html(\/)?/);return e&&e[0]?e[0]:window.location.pathname},g=(e,t,n)=>{const i=m(t,n),a={};return e?.forEach((e,t)=>{a[e]=i[t]}),a},k=({prependString:e="/"}={})=>{const t=m().join("/");return t?`${e}${t}`:""},v=()=>{const e=window.location.pathname,t=e.slice(0,e.indexOf(".html")+5);for(const n in c)if(c[n]===t)return n;return-1!==document.getElementsByTagName("html")[0].className.indexOf("uxp-template-detailspage")?o.ACCOMMODATION_BOOKING_DETAILS:-1!==document.getElementsByTagName("html")[0].className.indexOf("uxp-pagename-forgot-password")?o.FORGOT_PASSWORD:-1!==document.getElementsByTagName("html")[0].className.indexOf("uxp-pagename-reset-password")?o.RESET_PASSWORD:-1!==document.getElementsByTagName("html")[0].className.indexOf("uxp-template-activitypage")?o.ACTIVITY_DETAIL:void 0},p=()=>{const e=parseInt((0,a.tc)());return i.Ay.basket.getCurrentLodge(e)},f=()=>{const e=parseInt((0,a.tc)());return i.Ay.search.getCurrentLodge(e)},h=(e,t,n,i="-")=>`${e}/${t.map(e=>n[e]||i).reduceRight((e,t)=>{const n=t!==i,a=e.length>0&&e[0]!==i,o=e.lastIndexOf(i)>-1;return(n||a||o)&&e.unshift(t),e},[]).join("/")}`,y=()=>{const e=b(),t=[{url:l(o.ACTIVITY_SEARCH_BOOKING),paramOrder:r.ACTIVITY_SEARCH_BOOKING}];return[].concat(e,t)},b=()=>{const e=l(s)||[],t=["bookingReference"];return e.map(e=>({url:e,paramOrder:t}))},A=(e,t,n)=>{window.history.replaceState(e,t,n)},N=(e,t,n)=>{window.history.pushState(e,t,n)},S=()=>"uk"===document.querySelector("html").dataset.region},6570:(e,t,n)=>{"use strict";n.d(t,{IL:()=>s.IL,LO:()=>s.LO,Zn:()=>d,e5:()=>s.e5,oD:()=>s.oD,yn:()=>s.yn});var i=n(92241),a=n(46630),o=n(88231),r=n(1595),s=n(58328);const d=async e=>{const{readyState:t}=document;let n=e;if(!n||""===n){const e=document.getElementById("defaultUnauthorizedLoginMessage");n=`<h2>${e?e.innerHTML:""}</h2>`}try{if(t&&"complete"===t){const e=a.GU("signInOrSignUpModalExperienceFragmentPath"),t=await c(e+".html");return l(n,t)}}catch(i){throw new Error(i)}},c=async e=>await fetch(e).then(e=>e.text()).then(e=>e).catch(e=>r.A.log(e)),l=(e,t)=>
1new Promise((n,a)=>{if(document.querySelector(".sign-in-modal"))return;const r=document.createElement("div");document.body.appendChild(r);(0,o.Ef)({render:()=>(0,o.h)(i.A,{conf:{className:"sign-in-modal",descriptionText:e,modalData:t},callback(e,t){e?n():"CLOSE_CLICKED"===t?a(new Error("closed")):a()}})}).mount(r)})},46630:(e,t,n)=>{"use strict";n.d(t,{$Q:()=>U,AT:()=>Oe,Al:()=>m,BJ:()=>ne,Cq:()=>Ne,Dq:()=>B,EJ:()=>Be,Fr:()=>he,G$:()=>c,G0:()=>z,GU:()=>K,Gi:()=>se,Hl:()=>Q,L5:()=>ke,LK:()=>be,ME:()=>me,Mp:()=>w,Nd:()=>le,O:()=>l,Q9:()=>ve,QZ:()=>M,RK:()=>Fe,Rj:()=>Ce,Sn:()=>ae,Tn:()=>Re,Ur:()=>Ee,Vv:()=>G,Wu:()=>te,XF:()=>ye,Xf:()=>Le,Yi:()=>Me,Yj:()=>P,Yy:()=>De,ZO:()=>He,Zj:()=>q,Zk:()=>Ue,a2:()=>xe,aK:()=>Z,bw:()=>Y,bz:()=>_,cl:()=>ge,d2:()=>p,eQ:()=>R,eX:()=>g,gA:()=>J,gZ:()=>Ge,h0:()=>Ve,h8:()=>H,hb:()=>L,hw:()=>Ye,iQ:()=>F,mX:()=>re,my:()=>$,nB:()=>C,nD:()=>T,nH:()=>Pe,or:()=>Te,p1:()=>D,q2:()=>j,qT:()=>ie,r7:()=>ee,rU:()=>qe,sI:()=>pe,sg:()=>we,sh:()=>de,tc:()=>ce,uN:()=>x,ur:()=>Ae,vW:()=>W,vy:()=>E,x1:()=>$e,xN:()=>_e,x_:()=>oe,xl:()=>fe,xu:()=>X,zL:()=>ue,zl:()=>O});var i=n(95093),a=n.n(i),o=n(62890),r=n(1595),s=n(96703),d=n(10573);const c="YYYY-MM-DDTHH:mm:ss.SSSZ",l="HH:mm",m="hours",u="h",g="minutes",k="mins",v="m",p=6e4,f=60*p,h=24*f,y="=",b="&",A="tabindex",N="data-default-tabindex",S="-1",I="a, button";function C(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(^| )"+t+"( |$)","gi").test(e.className))}function D(e,t,n){const i="boolean"===typeof n;if(e.classList)i&&n?e.classList.add(t):i&&!n?e.classList.remove(t):e.classList.toggle(t);else{var a=e.className.split(" "),o=a.indexOf(t);i&&!n||o>=0?a.splice(o,1):a.push(t),e.className=a.join(" ")}}function E(e,t){e&&(e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp("(^|\\b)"+t.split(" ").join("|")+"(\\b|$)","gi")," "))}function F(e,t){e.classList?e.classList.add(t):e.className+=" "+t}function B(e){e.preventDefault(),e.stopImmediatePropagation()}function w(e){return document.querySelector(e)}function T(e){return document.querySelectorAll(e)}function R(e){e&&e.length&&e.forEach(e=>{e.style.display="block"}),e&&!e.length&&(e.style.display="block")}function O(e){e&&e.length&&e.forEach(e=>e.parentNode.parentNode.removeChild(e.parentNode)),e&&!e.length&&e.parentNode.parentNode.removeChild(e.parentNode)}function L(e){const t=document.createElement("div");return t.innerHTML=e,t.children.length>1?t:t.firstElementChild}function x(e,t){var n,i,a=t.charAt(0),o="classList"in document.documentElement;for("["===a&&(n=(t=t.substr(1,t.length-2)).split("=")).length>1&&(i=!0,n[1]=n[1].replace(/"/g,"").replace(/'/g,""));e&&e!==document&&1===e.nodeType;e=e.parentNode){if("."===a)if(o){if(e.classList.contains(t.substr(1)))return e}else if(new RegExp("(^|\\s)"+t.substr(1)+"(\\s|$)").test(e.className))return e;if("#"===a&&e.id===t.substr(1))return e;if("["===a&&n&&e.hasAttribute(n[0])){if(!i)return e;if(e.getAttribute(n[0])===n[1])return e}if(e.tagName.toLowerCase()===t)return e}return null}function M(e,t){if(null!==e)return e.matches(t)?e:e.querySelector(t)||M(e.parentNode,t)}function P(e){return a()(e,"DD-MM-YYYY")}function $(e){return a()(e,"DD-MM-YYYY").format("DD/MM/YYYY")}function V(e,t,n=c){const i=a()(e,n),o=a()(t,n);return a().duration(o.diff(i))}function _(e,t,n=c){return V(e,t,n).asMinutes()}function H(e,t,n=c,i=c){const o=()=>_(e,t,n),r=()=>function(e,t,n=c){return V(e,t,n).asMilliseconds()}(e,t,n),s=()=>H(e,t,n,"HH"),d=()=>H(e,t,n,"H"),l=()=>H(e,t,n,"mm"),p=()=>!!(Math.floor(o()/60)>0)||"",f=()=>!!(o()%60>0)||"";let h;return h=i===`HH ${m} mm ${g}`?(p()&&`${s()} ${m}`)+(f()&&` ${l()} ${g}`):i===`H ${m} mm ${g}`?(p()&&`${d()} ${m}`)+(f()&&` ${l()} ${g}`):i===`mm${g}`?`${o()}${g}`:i===`mm ${g}`?`${o()} ${g}`:i===`mm${k}`?`${o()}${k}`:i===`mm ${k}`?`${o()} ${k}`:i===`HH${u}mm${v}`?(p()&&`${s()}${u}`)+(f()&&`${l()}${v}`):i===`H${u}mm${v}`?(p()&&`${d()}${u}`)+(f()&&`${l()}${v}`):i===`HH${u} mm${v}`?(p()&&`${s()}${u}`)+(f()&&` ${l()}${v}`):i===`H${u} mm${v}`?(p()&&`${d()}${u}`)+(f()&&` ${l()}${v}`):a().utc(r()).format(i),h=h.trim(),h}function Y(e){window.location=e}function U(e,t){const n=e.length;if(n)for(var i=0;i<n;i++)t(e[i],i)}function q(e,t){return e.getAttribute(t)}function G(e,t,n){if(e)return e.setAttribute(t,n)}function j(e,t,n){return!!e&&(e.addEventListener(t,n),!0)}function W(e){let t=!0;window.addEventListener("focus",()=>t=!0,!1),window.addEventListener("blur",()=>t=!1,!1);window.addEventListener("storage",n=>{t||e(n)},!1)}function K(e){const t=document.getElementById("important-data");if(t){const n=t.textContent||t.innerText,i=JSON.parse(n),a=i[e];return""===a?i.homePageURL:a}return!1}function Q(e,t){let n;"createEvent"in document?(n=document.createEvent("HTMLEvents"),n.initEvent(t,!1,!0),e.dispatchEvent(n)):(n=document.createEventObject(),n.eventType=t,e.fireEvent("on"+n.eventType,n))}function J(){return!!document.querySelector(".uxp-wcmmode-edit")}function z(){return!!document.querySelector(".uxp-wcmmode-preview")}function Z(){return!J()&&!z()}function X(e,t){for(var n=[];e=e.nextSibling;)t&&!t(e)||n.push(e);return n}function ee(e,t){for(var n=[];e=e.previousSibling;)t&&!t(e)||n.push(e);return n}function te(e,t){for(;e&&e.parentNode&&e!==t;)e=e.parentNode;return e===t}function ne(){return null!==new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})").exec(navigator.userAgent)&&parseFloat(RegExp.$1)}function ie(e,t){let n=e;if(e){const i=/\$\{([a-zA-Z.]+)\}/g;let a=i.exec(e);for(;null!==a;)n=n.replace(a[0],t[a[1]]||""),a=i.exec(e)}return n}function ae(e){return e.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase())}function oe(e,t){for(let n=0;n<e.options.length;n++)if(e.options[n].text===t){e.selectedIndex=n;break}}function re(e){return document.querySelector(e)?"checkbox"===document.querySelector(e).type?document.querySelector(e).checked:document.querySelector(e).value:null}function se(e){const t=e%1===0?Math.trunc(e):parseFloat(e).toFixed(2);return t%1===0?Math.trunc(t):t}function de(e){return!(null!==e&&""!==e&&void 0!==e)}function ce(){return le()[0]||""}function le(){const e=window.location.pathname;return-1===e.indexOf(".html/")?[]:e.substring(e.indexOf(".html/")+6,e.length).split("/")}function me(e,t){return e=e||"",t=t||1,Array.prototype.slice.call(e).reduce((e,t)=>
1t.charCodeAt(0)+e,0)%t}function ue(){return"number"===typeof window.pageYOffset?window.pageYOffset:document.body&&(document.body.scrollLeft||document.body.scrollTop)?document.body.scrollTop:document.documentElement&&document.documentElement.scrollTop?document.documentElement.scrollTop:0}function ge(e,t){return e.sort((e,n)=>e[t]>n[t]?1:e[t]<n[t]?-1:0),e}function ke(e,t,n){const i=new XMLHttpRequest;i.onreadystatechange=()=>{4===i.readyState&&200===i.status?t(i.responseText,i.status):4===i.readyState&&204===i.status?t(i,i.status):4===i.readyState&&n&&n(i)},i.open("GET",e,!0),i.send(null)}function ve(e,t){return void 0===e?t:e}function pe(e){if(void 0!==e&&null!==e)for(;e.firstChild;)e.removeChild(e.firstChild)}function fe(){return window.matchMedia("(min-width: 960px)").matches}function he(){return Math.max(document.documentElement.clientWidth,window.innerWidth||0)<960}function ye(){return Math.max(document.documentElement.clientWidth,window.innerWidth||0)<651}function be(e){for(var t=window.location.search.substring(1).split("&"),n="",i="",a=0;a<t.length;a++)(i=t[a].split("="))[0]===e&&(n=i[1]);return decodeURIComponent(n)}function Ae(e,t){return e&&t?e.options[e.selectedIndex].getAttribute(t):""}function Ne(e){r.A.info(`Triggering analytics event ${e}`),window._satellite&&window._satellite.track(e)}const Se=3e3,Ie="analytics/register/success";function Ce(e,t,n=null){if(r.A.info(`Triggering analytics event: ${e},`,t),window._satellite){const i=document.getElementById("important-data");if(n){let a=setTimeout(()=>{r.A.info(`Analytics event timed out: ${e},`,t),o()},Se);const o=()=>{i.removeEventListener(Ie,o),a&&(clearTimeout(a),a=null),r.A.info(`Analytics event callback: ${e},`,t),n()};i.addEventListener(Ie,o)}r.A.info(`Sending analytics event: ${e},`,t),i&&i.dispatchEvent((0,o.l)(e,t))}else n&&n()}function De(e,t=null){Ce(e,ContextHub.getItem("cartdata"),t)}function Ee(e){return""===e?e:e<10?"0"+e:e}function Fe(e,t){const n=document.querySelector(e);n&&(n.textContent=t)}const Be=(e="",t=-1,n="")=>t<0?"":e.length<=t?e:e.substr(0,t)+n,we=(e,t,n)=>{var i;return function(){var a=this,o=arguments;var r=n&&!i;clearTimeout(i),i=setTimeout(function(){i=null,n||e.apply(a,o)},t),r&&e.apply(a,o)}},Te=(e,t="w",n="")=>{const i=document.createElement("span");e.appendChild(i),i.setAttribute("style","visibility: hidden; position: absolute; top: 0; left: 0;"),i.innerHTML=t;const a=e.getBoundingClientRect(),o=i.getBoundingClientRect(),r=parseInt(window.getComputedStyle(e,null).getPropertyValue("max-height").replace("px",""))||a.height,s=parseInt(window.getComputedStyle(e,null).getPropertyValue("max-width").replace("px",""))||a.width;if(0===r||0===s)return-1;const d=(Math.floor(r/o.height)||1)*Math.floor(s/o.width);if(""!==n){i.innerHTML=n;const e=i.getBoundingClientRect(),t=e.height,a=e.width;if(t>r||a>s)return-2}return i.remove(),d},Re=e=>e&&"[object Function]"==={}.toString.call(e);function Oe(e,t){return Math.floor(Math.random()*(t-e+1))+e}const Le=(e,t)=>{let n;const i=e.getAttribute(A);t&&i===S?(n=e.getAttribute(N),n?(e.setAttribute(A,n),e.removeAttribute(N)):e.removeAttribute(A)):t||i===S||(n=e.getAttribute(A),n&&e.setAttribute(N,n))},xe=(e,t)=>{Array.apply([],e.querySelectorAll(I)).forEach(e=>Le(e,t))},Me=e=>{let t=0;return e&&(t=a()(e).utc().diff(a()().utc()),t>=h?t-=h:t<0&&-t<=h&&(t+=h),t>2*f?t-=f:t<0&&-t<2*f&&(t+=f)),t},Pe=e=>{window.adobeDataLayer&&window.adobeDataLayer.push(e)};function $e(e,t,n={},i={}){return{method:"put",url:e,headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8","X-Requested-With":"XMLHttpRequest"},withCredentials:!0,data:{load:t},transformRequest:[e=>{if("string"===typeof e)return e;const t=[];if(e)for(const n in e)e.hasOwnProperty(n)&&t.push(encodeURIComponent(n)+y+encodeURIComponent((0,s.cR)(e[n])));return t.join(b)}],cache:n,...i}}function Ve(e){return new Promise((t,n)=>{const i=new Image;i.onload=()=>{a||clearTimeout(a),t()},i.onerror=()=>{a||clearTimeout(a),n()},i.src=e;const a=setTimeout(()=>{i.onload=null,i.onerror=null,n()},3e3)})}function _e(e,t=".sign-in-main",n=260){return function(i){if(!i)return;const a=e.closest(".heroimage");if(a){const i=e.closest(t);if(!i)return;const o=i.offsetHeight+n;a.style.height=`${o}px`}}}function He(e){return new Promise(t=>{if(document.querySelector(e))return t(document.querySelector(e));const n=new MutationObserver(()=>{document.querySelector(e)&&(n.disconnect(),t(document.querySelector(e)))});n.observe(document.body,{childList:!0,subtree:!0})})}function Ye(e){const t=[];return e?.itinerary?.bundleActivities&&e.itinerary.bundleActivities.forEac
1h(e=>{e.bundle.forEach(e=>{t.push(e)})}),t}const Ue=(e,t)=>{const n=(0,d.Sp)(t,"h:mma");return`${(0,d.Qw)(e)} - ${n}`},qe=(e,t)=>{const n=(0,d.Sp)(t,"h:mma");return`${(0,d.zW)(e)}-${n}`},Ge=()=>"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))},3603:(e,t,n)=>{"use strict";n.d(t,{F:()=>i});const i=(e,t)=>{new window.IntersectionObserver(([e])=>{if(e.isIntersecting)return t(!0);t(!1)},{root:null,threshold:.1}).observe(e)}},13790:e=>{var t={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"BookedActivity"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ItineraryActivity"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"activityBooker"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"activityBookingReference"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"activityCheckoutUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"aemTemplate"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"allowCancellation"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"amount"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"appLocationId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"arrivalTime"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"bookThingsToDoUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"cancelCharge"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"cancellationUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"calendarDisplayEndTime"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"calendarDisplayStartTime"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"cCardNo"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"cardToken"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"cardTransactionNumber"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"clearDateTime"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"confirmed"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"date"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"descriptionText"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"displayOnCalendar"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"duration"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"endDateTime"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"durationText"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"favourite"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"hideDuration"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"hideEndTime"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"image"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"alt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"dynamic"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"height"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"url"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"width"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"multiBuyFields"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"multiBuyBookingReference"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyDescription"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyFullPrice"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyParent"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyPrice"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"informationText"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"itineraryPriceVariants"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"variantName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"variantDisplayName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"fullName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"guestId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"guestSubId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"tieredPricingFields"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"discountPercentage"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"originalPrice"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"tierCode"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"location"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"longDescription"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"manageParticipantsUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"nonTimedExtra"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"otherInformation"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"refundAmount"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"slots"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"source"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"status"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"startDateTime"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"systemCancelledActivity"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"webLocationId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"strapline"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"summaryText"},arguments:[],directives:[]}]}}],loc:{start:0,end:1277}};t.loc.source={body:"fragment BookedActivity on ItineraryActivity {\n\tactivityBooker\n\tactivityBookingReference\n\tactivityCheckoutUrl\n\taemTemplate\n\tallowCancellation\n\tamount\n\tappLocationId\n\tarrivalTime\n\tbookThingsToDoUrl\n\tcancelCharge\n\tcancellationUrl\n\tcalendarDisplayEndTime\n\tcalendarDisplayStartTime\n\tcCardNo\n\tcardToken\n\tcardTransactionNumber\n\tclearDateTime\n\tcode\n\tconfirmed\n\tdate\n\tdescriptionText\n\tdisplayOnCalendar\n\tduration\n\tendDateTime\n\tdurationText\n\tfavourite\
1n\thideDuration\n\thideEndTime\n\tname\n\timage {\n\t\talt\n\t\tdescription\n\t\tdynamic\n\t\theight\n\t\ttitle\n\t\turl\n\t\twidth\n\t}\n\tmultiBuyFields {\n \tmultiBuyBookingReference\n multiBuyCode\n multiBuyDescription\n multiBuyFullPrice\n multiBuyParent\n multiBuyPrice\n }\n\tinformationText\n\titineraryPriceVariants {\n\t\tprice\n\t\tvariantName\n\t\tvariantDisplayName\n\t\tquantity\n\t\tfullName\n\t\tguestId\n\t\tguestSubId\n\t\ttieredPricingFields {\n\t\t\tdiscountPercentage\n\t\t\toriginalPrice\n\t\t\ttierCode\n\t\t}\n\t}\n\tlocation\n\tlongDescription\n\tmanageParticipantsUrl\n\tnonTimedExtra\n\totherInformation\n\trefundAmount\n\tslots\n\tsource\n\tstatus\n\tstartDateTime\n\tsystemCancelledActivity\n\twebLocationId\n\tstrapline\n\tsummaryText\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&t.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){n(e,t)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){n(e,t)}),e.definitions&&e.definitions.forEach(function(e){n(e,t)})}var i={};function a(e,t){for(var n=0;n<e.definitions.length;n++){var i=e.definitions[n];if(i.name&&i.name.value==t)return i}}t.definitions.forEach(function(e){if(e.name){var t=new Set;n(e,t),i[e.name.value]=t}}),e.exports=t,e.exports.BookedActivity=function(e,t){var n={kind:e.kind,definitions:[a(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var o=i[t]||new Set,r=new Set,s=new Set;for(o.forEach(function(e){s.add(e)});s.size>0;){var d=s;s=new Set,d.forEach(function(e){r.has(e)||(r.add(e),(i[e]||new Set).forEach(function(e){s.add(e)}))})}return r.forEach(function(t){var i=a(e,t);i&&n.definitions.push(i)}),n}(t,"BookedActivity")},2433:e=>{var t={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"BookedBundle"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ItineraryActivity"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"BookedActivity"},directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyFields"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"multiBuyBookingReference"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyDescription"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyFullPrice"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyPrice"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"multiBuyParent"},arguments:[],directives:[]}]}}]}}],loc:{start:0,end:204}};t.loc.source={body:"fragment BookedBundle on ItineraryActivity {\n\t...BookedActivity\n\tmultiBuyFields {\n\t\tmultiBuyBookingReference\n\t\tmultiBuyCode\n\t\tmultiBuyDescription\n\t\tmultiBuyFullPrice\n\t\tmultiBuyPrice\n\t\tmultiBuyParent\n\t}\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&t.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){n(e,t)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){n(e,t)}),e.definitions&&e.definitions.forEach(function(e){n(e,t)})}var i={};function a(e,t){for(var n=0;n<e.definitions.length;n++){var i=e.definitions[n];if(i.name&&i.name.value==t)return i}}t.definitions.forEach(function(e){if(e.name){var t=new Set;n(e,t),i[e.name.value]=t}}),e.exports=t,e.exports.BookedBundle=function(e,t){var n={kind:e.kind,definitions:[a(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var o=i[t]||new Set,r=new Set,s=new Set;for(o.forEach(function(e){s.add(e)});s.size>0;){var d=s;s=new Set,d.forEach(function(e){r.has(e)||(r.add(e),(i[e]||new Set).forEach(function(e){s.add(e)}))})}return r.forEach(function(t){var i=a(e,t);i&&n.definitions.push(i)}),n}(t,"BookedBundle")},72878:e=>{var t={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"SearchActivity"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Activity"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"accessibilityText"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"aemTemplate"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"category"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"descriptionText"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"durationText"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"featureIcons"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"image"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"url"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"groupBookingLimit"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"guidePrice"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"informationText"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"summaryText"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"keywords"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"location"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"onlineBookingLimit"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"promoted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"ribbon"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"colour"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"text"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"slotDuration"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"source"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"url"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"strapline"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"pricing"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"discountedPriceMax"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountedPriceMin"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountPercentage"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"originalPriceMax"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"originalPriceMin"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"image"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"alt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"url"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"width"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"height"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"dynamic"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"tags"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"image"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"alt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"url"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"width"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"height"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"dynamic"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]}]}}]}}],loc:{start:0,end:979}};t.loc.source={body:"fragment SearchActivity on Activity {\n accessibilityText\n aemTemplate\n category\n code\n descriptionText\n durationText\n featureIcons {\n description\n image {\n title\n url\n }\n name\n title\n }\n groupBookingLimit\n guidePrice\n informationText\n summaryText\n keywords\n location\n name\n onlineBookingLimit\n promoted\n ribbon {\n colour\n text\n }\n slotDuration\n source\n url\n strapline\n pricing {\n \tdiscountedPriceMax\n \tdiscountedPriceMin\n \tdiscountPercentage\n \toriginalPriceMax\n \toriginalPriceMin\n }\n image {\n alt\n url\n description\n title\n width\n height\n dynamic\n }\n tags {\n id\n image {\n alt\n url\n description\n title\n width\n height\n dynamic\n }\n name\n title\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);
1else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&t.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){n(e,t)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){n(e,t)}),e.definitions&&e.definitions.forEach(function(e){n(e,t)})}var i={};function a(e,t){for(var n=0;n<e.definitions.length;n++){var i=e.definitions[n];if(i.name&&i.name.value==t)return i}}t.definitions.forEach(function(e){if(e.name){var t=new Set;n(e,t),i[e.name.value]=t}}),e.exports=t,e.exports.SearchActivity=function(e,t){var n={kind:e.kind,definitions:[a(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var o=i[t]||new Set,r=new Set,s=new Set;for(o.forEach(function(e){s.add(e)});s.size>0;){var d=s;s=new Set,d.forEach(function(e){r.has(e)||(r.add(e),(i[e]||new Set).forEach(function(e){s.add(e)}))})}return r.forEach(function(t){var i=a(e,t);i&&n.definitions.push(i)}),n}(t,"SearchActivity")},68004:e=>{var t={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"AddActivityToBasketV2"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"activityCode"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"activitySlotId"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"activitySlotSecondaryId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"basketOptions"}},type:{kind:"NamedType",name:{kind:"Name",value:"BasketOptionsInput"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"centralBookingReference"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channel"}},type:{kind:"NamedType",name:{kind:"Name",value:"Channel"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"notes"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"participatingGuestIds"}},type:{kind:"ListType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"priceVariants"}},type:{kind:"NonNullType",type:{kind:"ListType",type:{kind:"NamedType",name:{kind:"Name",value:"BasketPriceVariantInput"}}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"slots"}},type:{kind:"NamedType",name:{kind:"Name",value:"Int"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"source"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Source"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"startDate"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"LocalDate"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"startTime"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"LocalTime"}}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"addActivityToBasketV2"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"ObjectValue",fields:[{kind:"ObjectField",name:{kind:"Name",value:"activityCode"},value:{kind:"Variable",name:{kind:"Name",value:"activityCode"}}},{kind:"ObjectField",name:{kind:"Name",value:"activitySlotId"},value:{kind:"Variable",name:{kind:"Name",value:"activitySlotId"}}},{kind:"ObjectField",name:{kind:"Name",value:"activitySlotSecondaryId"},value:{kind:"Variable",name:{kind:"Name",value:"activitySlotSecondaryId"}}},{kind:"ObjectField",name:{kind:"Name",value:"basketOptions"},value:{kind:"Variable",name:{kind:"Name",value:"basketOptions"}}},{kind:"ObjectField",name:{kind:"Name",value:"centralBookingReference"},value:{kind:"Variable",name:{kind:"Name",value:"centralBookingReference"}}},{kind:"ObjectField",name:{kind:"Name",value:"channel"},value:{kind:"Variable",name:{kind:"Name",value:"channel"}}},{kind:"ObjectField",name:{kind:"Name",value:"notes"},value:{kind:"Variable",name:{kind:"Name",value:"notes"}}},{kind:"ObjectField",name:{kind:"Name",value:"participatingGuestIds"},value:{kind:"Variable",name:{kind:"Name",value:"participatingGuestIds"}}},{kind:"ObjectField",name:{kind:"Name",value:"priceVariants"},value:{kind:"Variable",name:{kind:"Name",value:"priceVariants"}}},{kind:"ObjectField",name:{kind:"Name",value:"slots"},value:{kind:"Variable",name:{kind:"Name",value:"slots"}}},{kind:"ObjectField",name:{kind:"Name",value:"source"},value:{kind:"Variable",name:{kind:"Name",value:"source"}}},{kind:"ObjectField",name:{kind:"Name",value:"startDate"},value:{kind:"Variable",name:{kind:"Name",value:"startDate"}}},{kind:"ObjectField",name:{kind:"Name",value:"startTime"},value:{kind:"Variable",name:{kind:"Name",value:"startTime"}}}]}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"result"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"activityBookingReference"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"itinerary"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"activities"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"BookedActivity"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"bundleActivities"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"bundle"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"BookedBundle"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"cycle"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"earlyCheckIn"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"multiBuys"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"allocated"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"minMatched"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountAmount"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountType"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountValue"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"activities"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"activityUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"image"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"url"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"isHideStartEndTimeDuration"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"itineraryDetailsUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"priceType"},arguments:[],directives:[]}
1,{kind:"Field",name:{kind:"Name",value:"qtyMatched"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"qtyRemain"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"qtyRequired"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]}]}}]}}]}},{kind:"Field",name:{kind:"Name",value:"unavailableSources"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"errors"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"},arguments:[],directives:[]},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ValidationError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"PriceMismatchError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"PriceVariantPriceIncorrectError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"PriceVariantNotFoundError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ActivitySlotNotAvailableError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"InvalidVariantHashError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"InvalidActivitySlotSecondaryIdError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ActivityNoLongerOnSaleError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ActivityTimeInPastError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UnableToDetermineActivityCategoryError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ParticipatingGuestNotFoundError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"VillageSwitchNotEnabledError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"VillageVenueDataNotFoundError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"VillageSwitchNotFoundError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AemContentIssueError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UnavailableSourceError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sources"},arguments:[],directives:[]}]}}]}}]}}]}}],loc:{start:0,end:2328}};t.loc.source={body:"mutation AddActivityToBasketV2(\n\t$activityCode: String!\n\t$activitySlotId: String!\n\t$activitySlotSecondaryId: String\n\t$basketOptions: BasketOptionsInput\n\t$centralBookingReference: String!\n\t$channel: Channel\n\t$notes: String\n\t$participatingGuestIds: [String]\n\t$priceVariants: [BasketPriceVariantInput]!\n\t$slots: Int\n\t$source: Source!\n\t$startDate: LocalDate!\n\t$startTime: LocalTime!\n) {\n\taddActivityToBasketV2(\n\t\tinput: {\n\t\t\tactivityCode: $activityCode\n\t\t\tactivitySlotId: $activitySlotId\n\t\t\tactivitySlotSecondaryId: $activitySlotSecondaryId\n\t\t\tbasketOptions: $basketOptions\n\t\t\tcentralBookingReference: $centralBookingReference\n\t\t\tchannel: $channel\n\t\t\tnotes: $notes\n\t\t\tparticipatingGuestIds: $participatingGuestIds\n\t\t\tpriceVariants: $priceVariants\n\t\t\tslots: $slots\n\t\t\tsource: $source\n\t\t\tstartDate: $
1startDate\n\t\t\tstartTime: $startTime\n\t\t}\n\t) {\n\t\tresult {\n\t\t\tactivityBookingReference\n\t\t\titinerary {\n\t\t\t\tactivities {\n\t\t\t\t\t...BookedActivity\n\t\t\t\t}\n\t\t\t\tbundleActivities {\n\t\t\t\t\tbundle {\n\t\t\t\t\t\t...BookedBundle\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcycle\n\t\t\t\tearlyCheckIn\n\t\t\t}\n\t\t\tmultiBuys {\n\t\t\t\tcode\n\t\t\t\tallocated\n\t\t\t\tdescription\n\t\t\t\tminMatched\n\t\t\t\tdiscountAmount\n\t\t\t\tdiscountType\n\t\t\t\tdiscountValue\n\t\t\t\tactivities {\n\t\t\t\t\tactivityUrl\n\t\t\t\t\tcode\n\t\t\t\t\tdescription\n\t\t\t\t\timage {\n\t\t\t\t\t\turl\n\t\t\t\t\t}\n\t\t\t\t\tisHideStartEndTimeDuration\n\t\t\t\t\titineraryDetailsUrl\n\t\t\t\t\tpriceType\n\t\t\t\t\tqtyMatched\n\t\t\t\t\tqtyRemain\n\t\t\t\t\tqtyRequired\n\t\t\t\t\ttitle\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tunavailableSources\n\t\terrors {\n\t\t\t__typename\n\t\t\t... on ValidationError { message code }\n\t\t\t... on PriceMismatchError { message code }\n\t\t\t... on PriceVariantPriceIncorrectError { message code }\n\t\t\t... on PriceVariantNotFoundError { message code }\n\t\t\t... on ActivitySlotNotAvailableError { message code }\n\t\t\t... on InvalidVariantHashError { message code }\n\t\t\t... on InvalidActivitySlotSecondaryIdError { message code }\n\t\t\t... on ActivityNoLongerOnSaleError { message code }\n\t\t\t... on ActivityTimeInPastError { message code }\n\t\t\t... on UnableToDetermineActivityCategoryError { message code }\n\t\t\t... on ParticipatingGuestNotFoundError { message code }\n\t\t\t... on VillageSwitchNotEnabledError { message code }\n\t\t\t... on VillageVenueDataNotFoundError { message code }\n\t\t\t... on VillageSwitchNotFoundError { message code }\n\t\t\t... on AemContentIssueError { message code }\n\t\t\t... on UnavailableSourceError { message sources }\n\t\t}\n\t}\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&t.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){n(e,t)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){n(e,t)}),e.definitions&&e.definitions.forEach(function(e){n(e,t)})}var i={};function a(e,t){for(var n=0;n<e.definitions.length;n++){var i=e.definitions[n];if(i.name&&i.name.value==t)return i}}t.definitions.forEach(function(e){if(e.name){var t=new Set;n(e,t),i[e.name.value]=t}}),e.exports=t,e.exports.AddActivityToBasketV2=function(e,t){var n={kind:e.kind,definitions:[a(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var o=i[t]||new Set,r=new Set,s=new Set;for(o.forEach(function(e){s.add(e)});s.size>0;){var d=s;s=new Set,d.forEach(function(e){r.has(e)||(r.add(e),(i[e]||new Set).forEach(function(e){s.add(e)}))})}return r.forEach(function(t){var i=a(e,t);i&&n.definitions.push(i)}),n}(t,"AddActivityToBasketV2")},20459:e=>{var t={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"ConfirmActivityBookingsV2"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"activityBookings"}},type:{kind:"NonNullType",type:{kind:"ListType",type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"centralBookingReference"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"client"}},type:{kind:"NamedType",name:{kind:"Name",value:"ClientInput"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"cardNumber"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"cardToken"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"cardTransactionNumber"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"confirmActivityBookingsV2"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"ObjectValue",fields:[{kind:"ObjectField",name:{kind:"Name",value:"activityBookings"},value:{kind:"Variable",name:{kind:"Name",value:"activityBookings"}}},{kind:"ObjectField",name:{kind:"Name",value:"centralBookingReference"},value:{kind:"Variable",name:{kind:"Name",value:"centralBookingReference"}}},{kind:"ObjectField",name:{kind:"Name",value:"client"},value:{kind:"Variable",name:{kind:"Name",value:"client"}}},{kind:"ObjectField",name:{kind:"Name",value:"cardNumber"},value:{kind:"Variable",name:{kind:"Name",value:"cardNumber"}}},{kind:"ObjectField",name:{kind:"Name",value:"cardToken"},value:{kind:"Variable",name:{kind:"Name",value:"cardToken"}}},{kind:"ObjectField",name:{kind:"Name",value:"cardTransactionNumber"},value:{kind:"Variable",name:{kind:"Name",value:"cardTransactionNumber"}}}]}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"result"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"failedResponses"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"activityBookingReference"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"successfulResponses"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"itinerary"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"activities"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"BookedActivity"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"bundleActivities"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"bundle"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"BookedBundle"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"cycle"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"earlyCheckIn"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"unavailableSources"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"errors"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"},arguments:[],directives:[]},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UnavailableSourceError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sources"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ActivityBookingNotFoundError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"OperationNotAllowedError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ValidationError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}}]}}]}}]}}],loc:{start:0,end:1306}};t.loc.source={body:"mutation ConfirmActivityBookingsV2(\n $activityBookings: [String!]!,\n $centralBookingReference: String!,\n $client: ClientInput,\n $cardNumber: String,\n $cardToken: String,\n $cardTransactionNumber: String\n) {\n confirmActivityBookingsV2(input: {\n activityBookings: $activityBookings,\n centralBookingReference: $centralBookingReference,\n client: $client,\n cardNumber: $cardNumber,\n cardToken: $cardToken,\n cardTransactionNumber: $cardTransactionNumber\n }) {\n result {\n failedResponses {\n activityBookingReference\n }\n successfulResponses\n itinerary {\n activities {\n ...BookedActivity\n }\n bundleActivities {\n bundle {\n ...BookedBundle\n }\n }\n cycle\n earlyCheckIn\n }\n }\n unavailableSources\n errors {\n __typename\n ... on UnavailableSourceError { message sources }\n ... on ActivityBookingNotFoundError { message code }\n ... on OperationNotAllowedError { message code }\n ... on ValidationError { message code }\n }\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);
1else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&t.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){n(e,t)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){n(e,t)}),e.definitions&&e.definitions.forEach(function(e){n(e,t)})}var i={};function a(e,t){for(var n=0;n<e.definitions.length;n++){var i=e.definitions[n];if(i.name&&i.name.value==t)return i}}t.definitions.forEach(function(e){if(e.name){var t=new Set;n(e,t),i[e.name.value]=t}}),e.exports=t,e.exports.ConfirmActivityBookingsV2=function(e,t){var n={kind:e.kind,definitions:[a(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var o=i[t]||new Set,r=new Set,s=new Set;for(o.forEach(function(e){s.add(e)});s.size>0;){var d=s;s=new Set,d.forEach(function(e){r.has(e)||(r.add(e),(i[e]||new Set).forEach(function(e){s.add(e)}))})}return r.forEach(function(t){var i=a(e,t);i&&n.definitions.push(i)}),n}(t,"ConfirmActivityBookingsV2")},95117:e=>{var t={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"removeActivityFromBasketV2"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"centralBookingReference"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"activityBookReferences"}},type:{kind:"NonNullType",type:{kind:"ListType",type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channel"}},type:{kind:"NamedType",name:{kind:"Name",value:"Channel"}},defaultValue:{kind:"EnumValue",value:"CP"},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"source"}},type:{kind:"NamedType",name:{kind:"Name",value:"Source"}},defaultValue:{kind:"EnumValue",value:"CP"},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"removeActivityFromBasketV2"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"ObjectValue",fields:[{kind:"ObjectField",name:{kind:"Name",value:"centralBookingReference"},value:{kind:"Variable",name:{kind:"Name",value:"centralBookingReference"}}},{kind:"ObjectField",name:{kind:"Name",value:"activityBookReferences"},value:{kind:"Variable",name:{kind:"Name",value:"activityBookReferences"}}},{kind:"ObjectField",name:{kind:"Name",value:"channel"},value:{kind:"Variable",name:{kind:"Name",value:"channel"}}},{kind:"ObjectField",name:{kind:"Name",value:"source"},value:{kind:"Variable",name:{kind:"Name",value:"source"}}}]}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"result"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"failedResponses"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"itinerary"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"activities"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"BookedActivity"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"bundleActivities"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"bundle"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"BookedBundle"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"cycle"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"earlyCheckIn"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"successfulResponses"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"unavailableSources"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"errors"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"__typename"},arguments:[],directives:[]},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UnavailableSourceError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sources"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ActivityBookingNotFoundError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"OperationNotAllowedError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}},{kind:"InlineFragment",typeCondition:{kind:"NamedType",name:{kind:"Name",value:"ValidationError"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"message"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]}]}}]}}]}}]}}],loc:{start:0,end:823}};t.loc.source={body:"mutation removeActivityFromBasketV2($centralBookingReference: String!, $activityBookReferences: [String!]!, $channel: Channel = CP, $source: Source = CP) {\n\tremoveActivityFromBasketV2(input: {\n\t\tcentralBookingReference: $centralBookingReference,\n\t\tactivityBookReferences: $activityBookReferences,\n\t\tchannel: $channel,\n\t\tsource: $source\n\t}
1) {\n\t\tresult {\n\t\t\tfailedResponses\n\t\t\titinerary {\n\t\t\t\tactivities {\n\t\t\t\t\t...BookedActivity\n\t\t\t\t}\n\t\t\t\tbundleActivities {\n\t\t\t\t\tbundle {\n\t\t\t\t\t\t...BookedBundle\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcycle\n\t\t\t\tearlyCheckIn\n\t\t\t}\n\t\t\tsuccessfulResponses\n\t\t}\n\t\tunavailableSources\n\t\terrors {\n\t\t\t__typename\n\t\t\t... on UnavailableSourceError { message sources }\n\t\t\t... on ActivityBookingNotFoundError { message code }\n\t\t\t... on OperationNotAllowedError { message code }\n\t\t\t... on ValidationError { message code }\n\t\t}\n\t}\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&t.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){n(e,t)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){n(e,t)}),e.definitions&&e.definitions.forEach(function(e){n(e,t)})}var i={};function a(e,t){for(var n=0;n<e.definitions.length;n++){var i=e.definitions[n];if(i.name&&i.name.value==t)return i}}t.definitions.forEach(function(e){if(e.name){var t=new Set;n(e,t),i[e.name.value]=t}}),e.exports=t,e.exports.removeActivityFromBasketV2=function(e,t){var n={kind:e.kind,definitions:[a(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var o=i[t]||new Set,r=new Set,s=new Set;for(o.forEach(function(e){s.add(e)});s.size>0;){var d=s;s=new Set,d.forEach(function(e){r.has(e)||(r.add(e),(i[e]||new Set).forEach(function(e){s.add(e)}))})}return r.forEach(function(t){var i=a(e,t);i&&n.definitions.push(i)}),n}(t,"removeActivityFromBasketV2")},50527:e=>{var t={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"getBookingDetails"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"centralBookingReference"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"bookingDetails"},arguments:[{kind:"Argument",name:{kind:"Name",value:"centralBookingReference"},value:{kind:"Variable",name:{kind:"Name",value:"centralBookingReference"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"booking"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"notifications"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"category"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"html"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"plainText"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"type"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"centralBookingReference"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"villa"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"villaNumber"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"villaType"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"villaCategory"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"activityWindow"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"startDateTime"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"isWithinActivityWindow"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"leadBooker"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"address"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"address1"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"address2"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"city"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"country"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"county"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"arrivedOnVillage"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"birthDay"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"birthMonth"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"birthYear"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"canAmendBooking"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"firstName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"gender"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"guestAgeGroup"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"guestCheckedIn"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"lastName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"linkStatus"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"participatingGuests"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"arrivedOnVillage"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"birthDay"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"birthMonth"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"birthYear"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"canAmendBooking"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"firstName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"gender"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"guestAgeGroup"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"guestCheckedIn"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"lastName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"linkStatus"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"uid"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"paidForActivityBooking"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"villa"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"villaCategory"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"villaNumber"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"villaType"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"subAccounts"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"birthDay"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"birthMonth"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"birthYear"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"firstName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"gender"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"lastName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"uid"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vehicles"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"make"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"model"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"registration"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"type"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"bicycles"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"model"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"serialNumber"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"accommodations"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"accommodationName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"accommodationCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"accommodationCategory"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"accommodationPrice"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addrDescription"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"adults"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"arrivalDate"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"children"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"departureDate"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"dogs"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"duration"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"infants"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"isWithinActivityWindow"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"toddlers"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"numberBedrooms"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"itinSeqNumber"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"lengthOfStay"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"startDateTime"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"villaNumber"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"offers"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discount"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"location"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"village"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"currencySymbol"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"image"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"alt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"dynamic"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"url"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"map"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"slug"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"villageAddress"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"postalAddress"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"postcode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"region"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"enhancements"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"priceVariants"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"variant"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"insurance"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"documentLabel"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"documentLink"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"title"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"payments"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"paymentAmount"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"paymentDate"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"paymentMethod"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"extras"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"code"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"description"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"priceVariants"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"variant"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"totalPrice"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"onlineVehicleCheckInComplete"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"onlineGuestCheckInComplete"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"balanceDueAmount"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"balanceDueDate"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"clientNumber"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"isLeadBooker"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"itinerary"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"activities"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"BookedActivity"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"bundleActivities"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"bundle"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Fragme
1ntSpread",name:{kind:"Name",value:"BookedBundle"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"cycle"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"earlyCheckIn"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"unavailableSources"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:2806}};t.loc.source={body:"query getBookingDetails($centralBookingReference: String!) {\n\tbookingDetails(centralBookingReference: $centralBookingReference) {\n\t\tbooking {\n\t\t\tnotifications {\n\t\t\t\tcategory\n\t\t\t\thtml\n\t\t\t\tplainText\n\t\t\t\ttype\n\t\t\t}\n\t\t\tcentralBookingReference\n\t\t\tvilla {\n\t\t\t\tvillaNumber\n\t\t\t\tvillaType\n\t\t\t\tvillaCategory\n\t\t\t}\n\t\t\tactivityWindow {\n\t\t\t\tstartDateTime\n\t\t\t\tisWithinActivityWindow\n\t\t\t}\n\t\t\tleadBooker {\n\t\t\t\taddress {\n\t\t\t\t\taddress1\n\t\t\t\t\taddress2\n\t\t\t\t\tcity\n\t\t\t\t\tcountry\n\t\t\t\t\tcounty\n\t\t\t\t}\n\t\t\t\tarrivedOnVillage\n\t\t\t\tbirthDay\n\t\t\t\tbirthMonth\n\t\t\t\tbirthYear\n\t\t\t\tcanAmendBooking\n\t\t\t\temail\n\t\t\t\tfirstName\n\t\t\t\tgender\n\t\t\t\tguestAgeGroup\n\t\t\t\tguestCheckedIn\n\t\t\t\tid\n\t\t\t\tlastName\n\t\t\t\tlinkStatus\n\t\t\t\tparticipatingGuests {\n\t\t\t\t\ttitle\n\t\t\t\t\tarrivedOnVillage\n\t\t\t\t\tbirthDay\n\t\t\t\t\tbirthMonth\n\t\t\t\t\tbirthYear\n\t\t\t\t\tcanAmendBooking\n\t\t\t\t\temail\n\t\t\t\t\tfirstName\n\t\t\t\t\tgender\n\t\t\t\t\tguestAgeGroup\n\t\t\t\t\tguestCheckedIn\n\t\t\t\t\tid\n\t\t\t\t\tlastName\n\t\t\t\t\tlinkStatus\n\t\t\t\t\tuid\n\t\t\t\t\tpaidForActivityBooking\n\t\t\t\t\tvilla {\n\t\t\t\t\t\tvillaCategory\n\t\t\t\t\t\tvillaNumber\n\t\t\t\t\t\tvillaType\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tsubAccounts {\n\t\t\t\t\tbirthDay\n\t\t\t\t\tbirthMonth\n\t\t\t\t\tbirthYear\n\t\t\t\t\tfirstName\n\t\t\t\t\tgender\n\t\t\t\t\tid\n\t\t\t\t\tlastName\n\t\t\t\t\ttitle\n\t\t\t\t\temail\n\t\t\t\t}\n\t\t\t\ttitle\n\t\t\t\tuid\n\t\t\t\tvehicles {\n\t\t\t\t\tmake\n\t\t\t\t\tmodel\n\t\t\t\t\tregistration\n\t\t\t\t\ttype\n\t\t\t\t}\n\t\t\t\tbicycles {\n\t\t\t\t\tmodel\n\t\t\t\t\tserialNumber\n\t\t\t\t}\n\t\t\t}\n\t\t\taccommodations {\n\t\t\t\taccommodationName\n\t\t\t\taccommodationCode\n\t\t\t\taccommodationCategory\n\t\t\t\taccommodationPrice\n\t\t\t\taddrDescription\n\t\t\t\tadults\n\t\t\t\tarrivalDate\n\t\t\t\tchildren\n\t\t\t\tdepartureDate\n\t\t\t\tdogs\n\t\t\t\tduration\n\t\t\t\tinfants\n\t\t\t\tisWithinActivityWindow\n\t\t\t\ttoddlers\n\t\t\t\tnumberBedrooms\n\t\t\t\titinSeqNumber\n\t\t\t\tlengthOfStay\n\t\t\t\tstartDateTime\n\t\t\t\tvillaNumber\n\t\t\t\toffers {\n\t\t\t\t\tcode\n\t\t\t\t\tdescription\n\t\t\t\t\tdiscount\n\t\t\t\t}\n\t\t\t\tlocation {\n\t\t\t\t\tdescription\n\t\t\t\t\tprice\n\t\t\t\t}\n\t\t\t\tvillage {\n\t\t\t\t\tcode\n\t\t\t\t\tcurrencySymbol\n\t\t\t\t\timage {\n\t\t\t\t\t\talt\n\t\t\t\t\t\tdescription\n\t\t\t\t\t\tdynamic\n\t\t\t\t\t\ttitle\n\t\t\t\t\t\turl\n\t\t\t\t\t}\n\t\t\t\t\tmap\n\t\t\t\t\tname\n\t\t\t\t\tslug\n\t\t\t\t\tvillageAddress {\n\t\t\t\t\t\tdescription\n\t\t\t\t\t\tpostalAddress\n\t\t\t\t\t\tpostcode\n\t\t\t\t\t\tregion\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tenhancements {\n\t\t\t\t\tcode\n\t\t\t\t\tdescription\n\t\t\t\t\ttitle\n\t\t\t\t\tprice\n\t\t\t\t\tpriceVariants {\n\t\t\t\t\t\ttitle\n\t\t\t\t\t\tprice\n\t\t\t\t\t\tquantity\n\t\t\t\t\t\tvariant\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tinsurance {\n\t\t\t\t\tcode\n\t\t\t\t\tdescription\n\t\t\t\t\tdocumentLabel\n\t\t\t\t\tdocumentLink\n\t\t\t\t\tprice\n\t\t\t\t\ttitle\n\t\t\t\t}\n\t\t\t}\n\t\t\tpayments {\n\t\t\t\tpaymentAmount\n\t\t\t\tpaymentDate\n\t\t\t\tpaymentMethod\n\t\t\t}\n\t\t\textras {\n\t\t\t\tcode\n\t\t\t\tdescription\n\t\t\t\tprice\n\t\t\t\tpriceVariants {\n\t\t\t\t\tprice\n\t\t\t\t\tquantity\n\t\t\t\t\tvariant\n\t\t\t\t}\n\t\t\t}\n\t\t\ttotalPrice\n\t\t\tonlineVehicleCheckInComplete\n\t\t\tonlineGuestCheckInComplete\n\t\t\tbalanceDueAmount\n\t\t\tbalanceDueDate\n\t\t\tclientNumber\n\t\t\tisLeadBooker\n\t\t}\n\t\titinerary {\n\t\t\tactivities {\n\t\t\t\t...BookedActivity\n\t\t\t}\n\t\t\tbundleActivities {\n\t\t\t\tbundle {\n\t\t\t\t\t...BookedBundle\n\t\t\t\t}\n\t\t\t}\n\t\t\tcycle\n\t\t\tearlyCheckIn\n\t\t\tunavailableSources\n\t\t}\n\t}\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);
1else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&t.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){n(e,t)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){n(e,t)}),e.definitions&&e.definitions.forEach(function(e){n(e,t)})}var i={};function a(e,t){for(var n=0;n<e.definitions.length;n++){var i=e.definitions[n];if(i.name&&i.name.value==t)return i}}t.definitions.forEach(function(e){if(e.name){var t=new Set;n(e,t),i[e.name.value]=t}}),e.exports=t,e.exports.getBookingDetails=function(e,t){var n={kind:e.kind,definitions:[a(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var o=i[t]||new Set,r=new Set,s=new Set;for(o.forEach(function(e){s.add(e)});s.size>0;){var d=s;s=new Set,d.forEach(function(e){r.has(e)||(r.add(e),(i[e]||new Set).forEach(function(e){s.add(e)}))})}return r.forEach(function(t){var i=a(e,t);i&&n.definitions.push(i)}),n}(t,"getBookingDetails")}}]); 2//# sourceMappingURL=570.c0caa0c25f13dca308cf.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.