1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7151],{9578:(e,r,n)=>{"use strict";n.d(r,{A:()=>u,F:()=>l});var t=n(27925),o=n(14232),a=n(3041),i=n(37641),s=n(25714),c=n(37876),l=(0,o.createContext)({progress:s.B,isSearchPanelEnabled:!1,isSearchPanelShowState:[!1,function(){return!1}],editAccommodationOpen:[!1,function(){return!1}],showProgressionBackButton:!1,isLoading:!1,showWhoModalState:[!1,function(){return!1}]});let u=function(e){var r,n=e.children,u=e.properties,d=(0,a.A)(),p=(0,o.useState)(!1),h=(0,o.useState)(!1),f=(0,o.useState)((0,i.i2w)(d)),A=(0,t.A)(h,2)[1],g={progress:null!=(r=null==u?void 0:u.progress)?r:s.B,isSearchPanelEnabled:!!(null!=u&&u.isSearchPanelEnabled),showProgressionBackButton:!!(null!=u&&u.showProgressionBackButton),handleProgressionBack:function(){null!=u&&u.handleProgressionBack&&u.handleProgressionBack(A)},isLoading:!!(null!=u&&u.isLoading),isSearchPanelShowState:p,editAccommodationOpen:h,showWhoModalState:f};return(0,c.jsx)(l.Provider,{value:g,children:n})}},31631:(e,r,n)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/booking/accommodation/[accommodation]",function(){return n(62273)}])},62273:(e,r,n)=>{"use strict";n.r(r),n.d(r,{__N_SSP:()=>F,default:()=>K});var t=n(7634),o=n(67411),a=n(71422),i=n(3041),s=n(37641),c=n(25889),l=n(55529),u=n(45061),d=n(10493),p=n(37876);let h=function(){var e=(0,i.A)(),r=(0,a.z)(),n=r.getUnits,o=r.getSelectedBreak,h=r.parties,f=(0,l.w)(),A=(0,l.d)(d.A.getIsAllocateAllPartiesOpen),g=function(){f(u.Ay.actions.handleAllocateAllPartiesModal(!1))};return(0,p.jsx)(c.A,{id:"allocate-all-parties",show:A,onClose:g,modalButtons:[{onClick:function(){g();var r=o();if(!r)return void e.push(t.Nb_.BOOKING_SEARCH);e.push((0,s.axV)(t.Nb_.BOOKING_SEARCH,(0,s.CeT)(n(),h),r))},label:"Back to search results"}],title:"Allocate all parties",description:"You have one or more parties that require larger accommodation - please select an alternative accommodation from the search results for your remaining parties.",subDescription:"Your current selections will be remembered.",buttonStyle:{fontSize:"1.3rem"}})};var f=n(66284),A=n(63857),g=n(43081),O=n.n(g),m=n(35881),v=n(14232),S=n(28377),C=n(64149),P=n(90083),b=n(81999),B=n(35336),y=n(99927),_=n(31916),k=n(76104),E=n(93455),w=n(57062),I=n(69893),L=n(80490),T=n(30031),H=n(65531);function x(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,t)}return n}function N(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?x(Object(n),!0).forEach(function(r){(0,f.A)(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var M=(0,m.Mz)(d.A.getIsLoading,d.A.getBookingUnits,d.A.getTotalPrice,d.A.getError,d.A.getResults,function(e,r,n,t,o){return{isLoading:e,bookingUnits:r,totalPrice:n,error:t,results:o}});let G=function(){var e,r,n,o,c=(0,l.w)(),d=(0,i.A)(),p=(0,v.useState)(!1),h=p[0],f=p[1],g=(0,v.useState)(!1),m=g[0],x=g[1],G=(0,a.z)(),j=G.bookingUnits,D=G.selectedBreak,U=G.family.searchPanelSelectedResort,R=G.parties,F=G.getUnits,K=G.getSelectedBreak,Y=(0,s.uJZ)(d),J=d.query.accommodation,z="true"===(0,s.Hdx)(t.HrL.BOOKING_UNITS_INITIALISED),q=(0,s.Fw$)(t.uBs.isPrivateBreak),W=(0,l.d)(M),$=W.isLoading,Q=W.bookingUnits,V=W.totalPrice,X=W.error,Z=W.results,ee=1===Q.length,er=Z.filter(function(e){return e.resortCode===(null==D?void 0:D.resortCode)}),en=(e=(0,A.A)(O().mark(function e(){var r,n;return O().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(r=(0,s.Hdx)(t.HrL.ACCOMMODATION_TYPE),n=(0,s.Hdx)(t.HrL.SEARCH_PAGE_ACCOMMODATION_SUB_TYPE),D){e.next=4;break}return e.abrupt("return",void 0);case 4:return u.Ay.actions.handleGetAccommodationLoading(!0),e.next=7,c((0,_.J)({resort:null==D?void 0:D.resortCode})).unwrap().then(function(){var e=(0,A.A)(O().mark(function e(t){var o,a;return O().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.results,a=(0,s.J3s)(j,D,r),e.next=4,c((0,L.x)(a)).unwrap().then(function(e){var r,t=null==(r=e.data)?void 0:r.find(function(e){var r=e.accommodationSubType;return n===r}),a=o.find(function(e){var r=e.systemName,t=e.resort;return(null==r?void 0:r.toUpperCase())===n&&t===(null==D?void 0:D.resortCode)});t&&a||c(u.Ay.actions.handleGetAccommodationTypesError(null!=X?X:"Failed to load the matched accommodation types!"));var i=N(N({},null!=t?t:Object.create(null)),null!=a?a:Object.create(null));
1c(u.Ay.actions.handleSetAccommodationType(i))}).catch(function(e){var r=e.error;c(u.Ay.actions.handleGetAccommodationTypesError(null!=r?r:"Failed to load the accommodation types!"))});case 4:case"end":return e.stop()}},e)}));return function(r){return e.apply(this,arguments)}}()).catch(function(e){var r=e.error;c(u.Ay.actions.handleGetAccommodationError(null!=r?r:"Failed to load the selected accommodation!"))});case 7:case"end":return e.stop()}},e)})),function(){return e.apply(this,arguments)}),et=(r=(0,A.A)(O().mark(function e(){var r,n,o,a,i,l;return O().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=(0,s.Hdx)(t.HrL.ACCOMMODATION_TYPE),i=(0,s.Hdx)(t.HrL.SEARCH_PAGE_ACCOMMODATION_SUB_TYPE),l=(0,s.Hdx)(t.HrL.PACKAGE_TYPE),c(u.Ay.actions.handleGetSpecificAccommodationsLoading(!0)),e.next=6,c((0,T.g)({accommodationType:null!=a?a:"",accommodationSubType:null!=i?i:"",packageType:null!=l?l:"",units:j,resortCode:null!=(r=null==D?void 0:D.resortCode)?r:"",arrivalDate:null!=(n=null==D?void 0:D.date)?n:"",duration:null!=(o=null==D?void 0:D.duration)?o:0})).unwrap().then(function(){var e=(0,A.A)(O().mark(function e(r){var n,t,o;return O().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.allSettled(null!=(n=null==(t=r.data)?void 0:t.map(function(e){var r=e.accommodationCode,n=e.resortCode;return c((0,k.L)({accommodationCode:r,resort:n}))}
1))?n:[]);case 2:o=e.sent.reduce(function(e,n){if("rejected"===n.status&&(0,s.Zkr)(n.reason),"fulfilled"===n.status){var t,o,a,i=null!=(t=null==(o=n.value.payload)||null==(o=o.results)?void 0:o[0])?t:Object.create(null);e.push(N(N({},i),null==(a=r.data)?void 0:a.find(function(e){return e.accommodationCode===i.accommodationCode})))}return e},[]),(0,S.qu)(o,D,R,null!=a?a:"",null!=i?i:"",null!=l?l:"",!0),c(u.Ay.actions.handleSpecificAccommodations(o));case 6:case"end":return e.stop()}},e)}));return function(r){return e.apply(this,arguments)}}()).catch(function(){c(u.Ay.actions.handleGetSpecificAccommodationsError(null!=X?X:"Failed to load the specific accommodations!"))});case 6:case"end":return e.stop()}},e)})),function(){return r.apply(this,arguments)}),eo=(n=(0,A.A)(O().mark(function e(r,n){var o,a,i,l;return O().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(o=(0,s.Hdx)(t.HrL.PACKAGE_ID),c(u.Ay.actions.handleSetCreateBookingFlowIsLoading()),a=(0,s.Hdx)(t.HrL.IS_ACCOMMODATION_FROM_DYNAMIC_PRICE_TABLE),i={packageId:o,units:null!=n?n:Q.map(function(e){return N(N({},e),{},{price:void 0})}),isEligibleForWHOffer:(0,s.Hdx)(t.HrL.IS_ELIGIBLE_FOR_WH_OFFER)},"true"!==(0,s.Hdx)(t.HrL.BOOKING_INITIALISED)){e.next=14;break}return c(b.A.actions.clearBookingJourneyBusinessLogicSlice()),c(P.A.actions.clearBFFResponseSlice()),(0,s.J2r)(t.HrL.BOOKING_UNITS,Q.map(function(e){return N(N({},e),{},{cabinPrice:void 0,cabinSteps:void 0,selectedCabinCode:void 0})})),e.next=10,c((0,w.d)()).unwrap().catch(function(e){console.error(e.error||e.message||"Failed to clear booking state!")});case 10:if(!(l=(0,s.Hdx)(t.HrL.AGENCY_ID))){e.next=14;break}return e.next=14,c((0,E.W)({agencyId:l}));case 14:return e.next=16,c((0,I.s)(i)).unwrap().then(function(){var e=(0,A.A)(O().mark(function e(o){var i,l,p;return O().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if((0,s.J2r)(t.HrL.BOOKING_INITIALISED,"true"),(0,s.J2r)(t.HrL.BOOKING_UNITS_INITIALISED,"true"),!o.error){e.next=5;break}return c(u.Ay.actions.handleSetCreateBookingError(null!=(i=o.error)?i:"Failed to load create booking! Please try again!")),e.abrupt("return");case 5:return l=(0,s.Hdx)(t.HrL.IS_USER_ROOM_SELECTION),r||l||n||(0,S.iY)(Z,D,null!=D&&D.resortCode?(0,s.slw)(D.resortCode):"",R,j,!1,a?"price grid":"accommodation search page"),c(B.A.actions.clearSessionExpiredTimestamp()),c(u.Ay.actions.handleSetCreateBookingIsLoading(!1)),p=l?Q.map(function(e){return e.hiredCots+e.ownCots>0?N(N({},e),{},{hiredCots:0,ownCots:0,infants:e.infants-(e.hiredCots+e.ownCots)}):N({},e)}):Q,e.next=12,c((0,H.v)({units:p})).unwrap().then(function(e){if(e.error){var n;c(u.Ay.actions.handleSetGuestMixError(null!=(n=e.error)?n:"Failed to load set guest data!"))}if(!r){if((0,s.aYn)(t.HrL.IS_USER_ROOM_SELECTION),l){(0,C.Rv)(Z,Q),d.push(t.Nb_.BOOKING_ACCOMMODATION_PICKER,[t.uBs.isPrivateBreak]);return}d.push(t.Nb_.BOOKING_DINING,[t.uBs.isPrivateBreak,t.uBs.hidePicker])}}).catch(function(e){var r=e.error;c(u.Ay.actions.handleSetGuestMixError(null!=r?r:"Failed to load create booking! Please try again!"))});case 12:case"end":return e.stop()}},e)}));return function(r){return e.apply(this,arguments)}}()).catch(function(e){var r=e.error;c(u.Ay.actions.handleSetCreateBookingError(null!=r?r:"Failed to load create booking! Please try again!"))}).finally(function(){(0,s.aYn)(t.HrL.COT_TYPES_CALLED)});case 16:case"end":return e.stop()}},e)})),function(e,r){return n.apply(this,arguments)}),ea=(o=(0,A.A)(O().mark(function e(r){var n,o;return O().wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(!r&&Q.length>1&&(0,s.oq2)(Q)&&(0,s.qJ9)(null==D?void 0:D.date)&&!q&&!m)){e.next=3;break}return x(!0),e.abrupt("return");case 3:if(n=(0,s.Hdx)(t.HrL.UPGRADE_ACCOMMODATION),o=(0,s.Hdx)(t.HrL.IS_USER_ROOM_SELECTION),!(null!=n&&n.code&&!r&&!o)){e.next=9;break}return f(!0),(0,S.aD)(),e.abrupt("return");case 9:return e.next=11,eo(r,void 0);case 11:case"end":return e.stop()}},e)})),function(e){return o.apply(this,arguments)}),ei=function(){(0,s.J2r)(t.HrL.BREAK_DATA,N(N({},t.hJ6),{},{parties:R,selectedBreak:D,resort:U}))},es=function(){ei();var e,r=null==Y?void 0:Y.accommodationType,n=null==Y?void 0:Y.packageType,o=null==Y?void 0:Y.accommodationSubType;r&&n&&o&&((0,s.J2r)(t.HrL.ACCOMMODATION_TYPE,r),(0,s.J2r)(t.HrL.SEARCH_PAGE_ACCOMMODATION_SUB_TYPE,o),(0,s.J2r)(t.HrL.PACKAG
1E_TYPE,n),(0,s.J2r)(t.HrL.ACCOMMODATION_LINK,null!=(e=null==J?void 0:J.toString())?e:""))};(0,v.useEffect)(function(){if(Q.length>0){var e=(0,s.Kr1)(Q);(0,s.J2r)(t.HrL.ACCOMMODATION_PAGE_TOTAL_PRICE,e),c(u.Ay.actions.handleSetTotalPrice(e))}},[Q]),(0,v.useEffect)(function(){if(z)return void(0,s.Bz7)(j,D,R,!0,d);if(D){es(),en(),et(),c((0,y.w)({resort:"".concat(D.resortCode,"|all")}));var e=(0,s.Hdx)(t.HrL.ACCOMMODATION_PAGE_TOTAL_PRICE);if(Array.isArray(null==Y?void 0:Y.parties)&&!e){var r,n=(0,s.mhY)((null==Y||null==(r=Y.parties)?void 0:r.length)>0?null==Y?void 0:Y.parties:R);(0,s.J2r)(t.HrL.BOOKING_UNITS,n),c(u.Ay.actions.handleSetBookingUnits(n));return}c(u.Ay.actions.handleSetBookingUnits(j))}},[]);var ec=Q.every(function(e){return!!e.accommodationCode}),el=(0,s.$Rc)(Q,er),eu=ee?el:ec,ed=(0,s.Hdx)(t.HrL.IS_USER_ROOM_SELECTION);return{isContinueEnabled:eu,progressHint:(0,s.BeH)(el,Q,ec,!!ed,(0,s.Fw$)(t.uBs.isPrivateBreak)),hideTotalPriceByFilledBookingUnits:ee&&!el,totalPrice:V,isUserRoomSelection:ed,isLoading:$,onContinue:ea,handleProgressionBack:function(){var e=K(),r=(0,s.CeT)(F(),R);if(!e)return void d.push(t.Nb_.BOOKING_SEARCH);d.push((0,s.axV)(t.Nb_.BOOKING_SEARCH,r,e),[t.uBs.isPrivateBreak,t.uBs.hidePicker])},isPrivateBreak:q,showSelectorModal:m,setShowSelectorModal:x,bookingUnits:Q,showUpgradeModal:h,setShowUpgradeModal:f,onCreateBooking:eo,normalizedAccommodation:(0,s.Crf)(null==J?void 0:J.toString()),matchedSpecificAccommodations:er}};var j=n(71121),D=n(75121),U=n(29843);let R=function(e){var r=e.layout,n=e.bookingLayout,a=e.siteGlobalBannerContent,i=(0,l.w)(),s=G(),c=s.isContinueEnabled,d=s.progressHint,f=s.hideTotalPriceByFilledBookingUnits,A=s.totalPrice,g=s.isUserRoomSelection,O=s.isLoading,m=s.onContinue,v=s.handleProgressionBack,S=s.isPrivateBreak,C=s.showSelectorModal,P=s.setShowSelectorModal,b=s.bookingUnits,B=s.showUpgradeModal,y=s.setShowUpgradeModal,_=s.onCreateBooking,k=s.normalizedAccommodation,E=s.matchedSpecificAccommodations;return(0,p.jsx)(p.Fragment,{children:(0,p.jsxs)(j.A,{progress:{current:t.Gc2.ACCOMMODATION,canProgress:c,progressHint:d},isSaveQuoteDisabled:!c,showTotalPrice:!f&&!!A&&A>0&&!g,totalPrice:A,isLoading:O,setIsLoading:function(e){return i(u.Ay.actions.handleLoadingChange(e))},onContinue:m,handleProgressionBack:v,showProgressionBackButton:!S,showProgressionTrackerAndKspBanner:!0,showSaveQuoteButton:!0,showProgressionTracker:!0,showBottomBar:!0,isSearchPanelEnabled:!S,showContinueButton:!0,showHeader:!S,showKSPBanner:!S,siteGlobalBannerContent:a,layout:r,bookingLayout:n,children:[(0,p.jsx)(o.Ay,{showSelectorModal:C,onContinue:m,price:A,onClose:function(){return P(!1)},numberOfParties:b.length}),B&&(0,p.jsx)(U.A,{showUpgradeModal:B,onCreateBooking:_,closeUpgradeAccommodationModal:function(){return y(!1)}}),(0,p.jsx)(h,{}),(0,p.jsx)(D.Ay,{accommodation:k,matchedSpecificAccommodations:E})]})})};var F=!0;let K=function(e){var r=e.layout,n=e.bookingLayout,t=e.siteGlobalBannerContent;return(0,p.jsx)(R,{layout:r,bookingLayout:n,siteGlobalBannerContent:t})}},71121:(e,r,n)=>{"use strict";n.d(r,{A:()=>p});var t=n(66284),o=n(18847),a=n.n(o),i=n(25714),s=n(9578),c=n(37876);function l(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,t)}return n}function u(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?l(Object(n),!0).forEach(function(r){(0,t.A)(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var d=a()(function(){return Promise.all([n.e(4775),n.e(9357),n.e(8689),n.e(187),n.e(2555),n.e(1200),n.e(1147),n.e(2051),n.e(7612),n.e(2196),n.e(6046),n.e(2438),n.e(6854),n.e(4310)]).then(n.bind(n,6854))},{ssr:!1,loadableGenerated:{webpack:function(){return[6854]}}});let p=function(e){var r=e.progress,n=void 0===r?i.B:r,t=e.isSearchPanelEnabled,o=e.showProgressionBackButton,a=e.handleProgressionBack,l=e.isLoading;return(0,c.jsx)(s.A,{properties:u({},{progress:n,isSearchPanelEnabled:t,showProgressionBackButton:o,handleProgressionBack:a,isLoading:l}),children:(0,c.jsx)(d,u(u({},e),{},{children:e.children}))})}}},e=>{e.O(0,[3576,9357,4976,4357,3587,187,1147,3356,2393,636,6593,8792],()=>e(e.s=31631)),_N_E=e.O()}]);
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.