@roomstay/frontend 2.5.22-0 → 2.5.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/201.bundle.js +1 -1
  2. package/dist/279.bundle.js +1 -1
  3. package/dist/370.bundle.js +1 -1
  4. package/dist/449.bundle.js +1 -1
  5. package/dist/468.bundle.js +1 -1
  6. package/dist/537.bundle.js +1 -1
  7. package/dist/572.bundle.js +1 -1
  8. package/dist/736.bundle.js +1 -1
  9. package/dist/855.bundle.js +1 -1
  10. package/dist/873.bundle.js +1 -1
  11. package/dist/903.bundle.js +1 -1
  12. package/dist/972.bundle.js +1 -1
  13. package/dist/main.bundle.js +1 -1
  14. package/dist/src/components/generic/date/DatePicker.js +2 -2
  15. package/dist/src/components/generic/date/DatePicker.js.map +1 -1
  16. package/dist/src/components/generic/date/DatePickerDay.js +2 -2
  17. package/dist/src/components/generic/date/DatePickerDay.js.map +1 -1
  18. package/dist/src/components/steps/MinimumNightStayPill.js +2 -2
  19. package/dist/src/components/steps/MinimumNightStayPill.js.map +1 -1
  20. package/dist/src/components/steps/date/StepDatePricePerRoom.js +2 -2
  21. package/dist/src/components/steps/date/StepDatePricePerRoom.js.map +1 -1
  22. package/dist/src/components/steps/room/AvailableUpgradesModal.js +2 -2
  23. package/dist/src/components/steps/room/AvailableUpgradesModal.js.map +1 -1
  24. package/dist/src/components/steps/room/MemberSignInModal/{ExternalMemberModal.d.ts → Big4MemberModal.d.ts} +2 -2
  25. package/dist/src/components/steps/room/MemberSignInModal/{ExternalMemberModal.js → Big4MemberModal.js} +8 -20
  26. package/dist/src/components/steps/room/MemberSignInModal/Big4MemberModal.js.map +1 -0
  27. package/dist/src/components/steps/room/NoRoomsFoundBlock.js +2 -2
  28. package/dist/src/components/steps/room/NoRoomsFoundBlock.js.map +1 -1
  29. package/dist/src/components/steps/room/RoomListCrossSellBlock.js +2 -2
  30. package/dist/src/components/steps/room/RoomListCrossSellBlock.js.map +1 -1
  31. package/dist/src/components/steps/room/StepRoomHotelDetails.js +3 -3
  32. package/dist/src/components/steps/room/StepRoomHotelDetails.js.map +1 -1
  33. package/dist/src/contexts/BasketContext/BasketContextWrapper.js +5 -5
  34. package/dist/src/contexts/BasketContext/BasketContextWrapper.js.map +1 -1
  35. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js +5 -5
  36. package/dist/src/contexts/ConfirmationStepContext/ConfirmationStepContextWrapper.js.map +1 -1
  37. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js +2 -2
  38. package/dist/src/engines/InlineRoomMiniEngine/InlineRoomMiniEngineElement.js.map +1 -1
  39. package/dist/src/hooks/Big4.d.ts +4 -0
  40. package/dist/src/hooks/Big4.js +22 -0
  41. package/dist/src/hooks/Big4.js.map +1 -0
  42. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js +2 -2
  43. package/dist/src/hooks/RoomRateAvailabilityListFromApi.js.map +1 -1
  44. package/dist/src/models/Api/HotelDTO.d.ts +1 -2
  45. package/dist/src/models/Api/HotelDTO.js +0 -1
  46. package/dist/src/models/Api/HotelDTO.js.map +1 -1
  47. package/dist/src/pages/hotel/HotelInfo.js +6 -6
  48. package/dist/src/pages/hotel/HotelInfo.js.map +1 -1
  49. package/dist/src/pages/steps/StepDate/StepDateComponent.js +3 -3
  50. package/dist/src/pages/steps/StepDate/StepDateComponent.js.map +1 -1
  51. package/dist/src/translations/Translation.d.ts +2 -3
  52. package/dist/src/translations/Translation.js +5 -6
  53. package/dist/src/translations/Translation.js.map +1 -1
  54. package/dist/src/translations/languages/en-gb.js +2 -3
  55. package/dist/src/translations/languages/en-gb.js.map +1 -1
  56. package/dist/test.bundle.js +1 -1
  57. package/package.json +1 -1
  58. package/dist/src/components/steps/room/MemberSignInModal/ExternalMemberModal.js.map +0 -1
  59. package/dist/src/hooks/useExternalMember.d.ts +0 -6
  60. package/dist/src/hooks/useExternalMember.js +0 -33
  61. package/dist/src/hooks/useExternalMember.js.map +0 -1
@@ -1 +1 @@
1
- (("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[468],{5032:function(e,t,n){"use strict";n.d(t,{z:function(){return c}});var r=n(5671),a=n(3144),o=n(136),l=n(2963),i=n(1120);var c=function(e){(0,o.Z)(s,e);var t,n,c=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,i.Z)(t);if(n){var a=(0,i.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,l.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),(t=c.call(this)).basketRows=void 0,t.basketRows=e,t}return(0,a.Z)(s,null,[{key:"getLabel",value:function(){return"View/Checkout"}}]),s}(n(7112).x)},468:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Ot}});var r=n(7791),a=n(5032),o=n(7484),l=n.n(o),i=n(7294),c=n(6793),s=n(3727),u=n(9478),d=n(3821),m=n(3010),p=n(6409),f=n(9874),v=n(7462),g=n(885),A=n(7688),y=n(8144),C=n(7582),h=n(3460),b=n(9740),E=n(8442),_=n(8886),x=n(7832),k=n(584),P=n(4184),Z=n.n(P),w=n(4744),S=n(7754);function B(e){var t=e.addon,n=(0,c.$)().t;return i.createElement("div",{className:Z()("additional-offers--column",{"--selected":e.selected}),style:{backgroundImage:"url('".concat(t.image&&w.Z.resizeImage(t.image,w.h.Original),"')")},onClick:function(){var t;null===(t=e.cardClicked)||void 0===t||t.call(e)}},i.createElement("div",{className:"additional-offers--column-body"},i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.White},i.createElement("strong",null,t.name)),i.createElement("div",{className:"u-flex"},i.createElement(k.ZP,{inline:!0,type:k.yG.Small,color:S.Il.White},n(u.W.Misc.SeeDetails)),i.createElement(_.ZP,{icon:_.Tu.ArrowRight,color:S.Il.White}))))}var N=n(4854),R=n(858),I=n(5128),W=n(6380),D=n(3351);function M(e){var t,n=e.addon,a=((0,c.$)().t,(0,i.useContext)(r.hy)),o=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedDate():""),l=(0,g.Z)(o,2),s=l[0],u=l[1],d=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedTime():""),p=(0,g.Z)(d,2),f=p[0],v=p[1],A=(0,i.useState)({quantity:1}),y=(0,g.Z)(A,2),C=y[0],h=y[1],b=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),E=(0,g.Z)(b,2),_=E[0],x=E[1],P=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),Z=(0,g.Z)(P,2),B=Z[0],M=Z[1],T=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),G=(0,g.Z)(T,2),O=G[0],q=G[1];return i.useEffect((function(){var t,r,a,o,l,i;if(n)return e.basketAddonRow?(h(null!==(t=n.availability[e.basketAddonRow.getSelectedDate()])&&void 0!==t?t:n.availability[n.firstDate]),u(null!==(r=e.basketAddonRow.getSelectedDate())&&void 0!==r?r:n.firstDate),v(null!==(a=e.basketAddonRow.getSelectedTime())&&void 0!==a?a:""),x(e.basketAddonRow.getQuantity()),M(e.basketAddonRow.getAdultQuantity()),q(e.basketAddonRow.getChildQuantity())):(h(n.availability[n.firstDate]),u(n.firstDate),v((null===(o=n.availability[n.firstDate])||void 0===o||null===(l=o.selectorTimes)||void 0===l||null===(i=l[0])||void 0===i?void 0:i.value)||"")),function(){x(1),M(1),q(0)}}),[n]),i.createElement(I.Z,{open:e.isOpen,onClose:e.onClose,size:I.g.Small,title:n?n.name:""},n&&i.createElement(i.Fragment,null,i.createElement("div",{style:{height:"350px",width:"100%",backgroundImage:'url("'.concat(n.image&&w.Z.resizeImage(n.image,w.h.Original),'")'),backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"cover"}}),i.createElement("div",{className:"u-marg-heavy u-marg@m-"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},n.name)),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.DarkGrey},n.description)),i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(k.ZP,null,"Date"),i.createElement(D.P,{nativeOnMobile:!0,options:n.selectorDates,value:s,onChange:function(e){var t,r,a,o;t=e,h(n.availability[t]),u(t),v((null===(r=n.availability[t])||void 0===r||null===(a=r.selectorTimes)||void 0===a||null===(o=a[0])||void 0===o?void 0:o.value)||""),n.availability[t].quantity<_&&x(n.availability[t].quantity)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),0!==(null==C||null===(t=C.selectorTimes)||void 0===t?void 0:t.length)&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(k.ZP,null,"Time"),i.createElement(D.P,{nativeOnMobile:!0,options:(null==C?void 0:C.selectorTimes)||[],value:f,onChange:function(e){v(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),C.price&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(k.ZP,null,"Quantity"),i.createElement(W.Z,{number:_,min:1,max:C.quantity,onChange:function(e){x(e)}}))),C.adultPrice&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(k.ZP,null,"Adults"),i.createElement(W.Z,{number:B,min:0,max:C.quantity-O,onChange:function(e){M(e)}}))),C.childPrice&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(k.ZP,null,"Children"),i.createElement(W.Z,{number:O,min:0,max:C.quantity-B,onChange:function(e){q(e)}}))),i.createElement("div",{className:"u-flex align-items-center u-marg-top"},C.price&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,C.price),"/ Qty"),C.adultPrice&&C.childPrice&&i.createElement("h2",{className:"u-marg-none"},i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,C.adultPrice)," / Adult"),i.createElement("br",null),i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,C.childPrice)," / Child")),C.adultPrice&&!C.childPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,C.adultPrice)," / Adult"),C.childPrice&&!C.adultPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,C.childPrice)," / Child"),i.createElement(N.Z,{filled:!0,primary:!0,onClick:function(){a.setAddonQuantities(n,{quantity:_,adult:B,child:O},s,f),e.onClose()}},e.basketAddonRow?"Update Cart":"Add to Cart")),n.guaranteeDescription&&i.createElement(i.Fragment,null,i.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Guarantee"),i.createElement("div",{className:"u-marg-bot--heavy"},i.createElement(k.ZP,{type:k.yG.Small},n.guaranteeDescription))),n.cancelPenalty&&i.createElement(i.Fragment,null,i.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Cancellation Policy"),i.createElement("div",{className:"u-marg-bot--heavy"},i.createElement(k.ZP,{type:k.yG.Small},n.cancelPenalty))))))}function T(){var e=(0,i.useContext)(r.hy),t=(0,i.useContext)(r.Qm),n=(0,A.WP)().hotel,a=(0,y.q_)((function(){return{x:0}})),o=(0,g.Z)(a,2),l=o[0].x,s=o[1],d=(0,h.Z)(),p=(0,g.Z)(d,2),f=p[0],P=p[1],Z=(0,c.$)().t,w=i.useState([]),N=(0,g.Z)(w,2),R=N[0],I=N[1],W=(0,i.useState)(!1),D=(0,g.Z)(W,2),T=D[0],G=D[1],O=(0,i.useState)(null),q=(0,g.Z)(O,2),L=q[0],U=q[1],F=(0,i.useState)(!1),j=(0,g.Z)(F,2),z=j[0],Q=j[1],Y=(0,i.useState)(0),H=(0,g.Z)(Y,2),$=H[0],V=H[1],J=(0,i.useState)(0),K=(0,g.Z)(J,2),X=(K[0],K[1]),ee=(0,i.useState)(-1),te=(0,g.Z)(ee,2),ne=te[0],re=te[1];i.useEffect((function(){var t=!1,r=e.getAllValidRows();return Q(!0),E.Z.Addons.findAddons(r,null==n?void 0:n.hotelID).then((function(e){t||(Q(!1),I(e))})),function(){Q(!1),t=!0}}),[t.currentLanguage]);var ae=222,oe=ae*R.length>=P.width,le=(0,C.c0)((function(e){var t=e.down,n=(0,g.Z)(e.movement,1)[0];ie(t,n)})),ie=function(e,t){if(oe)if(e)s({x:$+1.5*t});else{var n=$+t,r=(R.length-1)*ae,a=0;if(n>0)a=0,re(-1);else if(n<-(r-P.width+ae))a=-(r-P.width+ae),re(1);else{var o=-n/ae,l=n%ae>-111?Math.floor(o):Math.ceil(o);a=-l*ae,X(l),re(0)}s({x:a}),V(a)}};return i.createElement(b.Z,{open:!z&&0!==(null==R?void 0:R.length)||!(null==n||!n.showAddonLoader)},i.createElement("div",{className:"u-pad-bottom--heavy "},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},Z(u.W.Step.Confirmation.AdditionalOfferings))),z&&null!=n&&n.showAddonLoader?i.createElement(x.Z,null):0===(null==R?void 0:R.length)?i.createElement("div",null,i.createElement(k.ZP,{color:S.Il.DarkGrey},Z(u.W.Step.Confirmation.NoAdditionalOfferings))):i.createElement("div",{className:"additional-offers"+(R.length>2?"":" --wide"),ref:f},oe&&i.createElement("div",{className:"additional-offers--navigation"},i.createElement(_.ZP,{icon:_.Tu.ArrowLeft2,onClick:function(){ie(!1,ae)},color:-1===ne?S.Il.DarkGrey:S.Il.White,backgroundColor:S.Il.Navy,borderRadius:"round",size:"24px"}),i.createElement(_.ZP,{icon:_.Tu.ArrowRight2,onClick:function(){ie(!1,-222)},color:1===ne?S.Il.DarkGrey:S.Il.White,backgroundColor:S.Il.Navy,borderRadius:"round",size:"24px"})),i.createElement("div",{className:"additional-offers--track-container"},i.createElement(y.q.div,(0,v.Z)({className:"additional-offers--track"},le(),{style:{left:l}}),R.map((function(t,n){return i.createElement(B,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){G(!0),U(t)}})}))))),i.createElement(M,{isOpen:T&&!!L,addon:L,basketAddonRow:e.getRowForAddon(L),onClose:function(){G(!1)}})))}var G=n(7933);function O(e){var t=(0,i.useState)(e.endTimeDate.diff(l()(),"second")),n=(0,g.Z)(t,2),r=n[0],a=n[1];return(0,i.useEffect)((function(){var t=!1,n=setTimeout((function(){t||(r>0?a((function(e){return e-1})):(e.onEnd&&e.onEnd(),t=!0,clearTimeout(n)))}),1e3);return function(){t=!0,clearTimeout(n)}}),[r]),(0,i.useMemo)((function(){var e=[Math.floor(r/60/60),Math.floor(r/60%60),Math.floor(r%60)];return i.createElement(i.Fragment,null,e.map((function(e){return e.toString().padStart(2,"0")})).join(":"))}),[r])}var q=n(4544);function L(e){var t=(0,i.useState)(!1),n=(0,g.Z)(t,2),r=n[0],a=n[1],o=(0,c.$)().t;return i.createElement(G.ZP,{type:G.NK.Accent1},i.createElement("div",{className:"u-flex w-100 flex-wrap align-items-center"},i.createElement("div",null,i.createElement(k.ZP,null,i.createElement("strong",null,o(u.W.Step.Confirmation.YourRoomIs))),i.createElement(k.ZP,null,i.createElement("strong",null,o(u.W.Step.Confirmation.BeingHeldFor)))),i.createElement("div",{className:r?"a-flash":""},i.createElement(m.Z,{size:"large",bold:!0,color:S.Il.White},i.createElement(O,{endTimeDate:e.endDate,onEnd:function(){q.ZP.instance.sendInteraction("Countdown End Seen",q.s_.LINK,q._J.GUEST_DETAILS),a(!0)}})))))}var U=n(4511),F=n(8279),j=n(370),z=n(3933),Q=n(6337),Y=n(5400),H=n(292),$=n(5692),V=n(5861),J=n(4687),K=n.n(J),X=n(6598),ee=n(9666),te=n(3819),ne=n(7536),re=n(6550),ae=n(9852),oe=(0,i.createContext)({}),le=function(){return(0,i.useContext)(oe)},ie=n(5671),ce=n(3144),se=n(136),ue=n(2963),de=n(1120),me=n(7112);var pe=function(e){(0,se.Z)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,de.Z)(t);if(n){var a=(0,de.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,ue.Z)(this,e)});function a(e,t){var n;return(0,ie.Z)(this,a),(n=r.call(this)).reservation=void 0,n.basketRows=void 0,n.reservation=e,n.basketRows=t,n}return(0,ce.Z)(a,null,[{key:"getLabel",value:function(){return"Booking/Committed"}}]),a}(me.x);var fe=function(e){(0,se.Z)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,de.Z)(t);if(n){var a=(0,de.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,ue.Z)(this,e)});function a(e,t){var n;return(0,ie.Z)(this,a),(n=r.call(this)).reservation=void 0,n.basketRows=void 0,n.reservation=e,n.basketRows=t,n}return(0,ce.Z)(a,null,[{key:"getLabel",value:function(){return"Booking/Placed"}}]),a}(me.x);var ve=function(e){(0,se.Z)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,de.Z)(t);if(n){var a=(0,de.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,ue.Z)(this,e)});function a(e){var t;return(0,ie.Z)(this,a),(t=r.call(this)).reservation=void 0,t.reservation=e,t}return(0,ce.Z)(a,null,[{key:"getLabel",value:function(){return"Booking/RolledBack"}}]),a}(me.x),ge=n(3349),Ae=n(5758),ye=function(){var e=(0,Ae.u)(),t=(0,Ae.a)(),n=(0,i.useMemo)((function(){return["paymentMethod","roomstayId","planpay_checkout_id","returnFromPayment","success"].map((function(n){return t.get(n)||e.get(n)}))}),[e,t]),r=(0,g.Z)(n,5);return{queryPaymentMethod:r[0],queryRoomstayId:r[1],queryPlanpayCheckoutId:r[2],returnFromPayment:r[3],success:r[4]}},Ce=n(9605),he=function(e){var t=e.errorData,n=e.onClose,r=e.isLoading;return i.createElement(I.Z,{open:!!t,size:I.g.Small,alignCenter:!0,onClose:n},i.createElement("div",{className:"u-pad--heavy-plus"},i.createElement("div",{className:"u-flex justify-content-center u-marg-bottom"},i.createElement(_.ZP,{icon:_.Tu.Error,size:"85px",color:S.Il.Accent})),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(m.Z,{align:Ce.P.Center,size:"larger",bold:!0},"Apologies ",i.createElement("br",null),"for the inconvenience.")),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(k.ZP,{type:k.yG.Body,align:Ce.P.Center},null==t?void 0:t.publicMessage)),!(null!=t&&t.isPaymentTaken)&&i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.Grey,align:Ce.P.Center},"* No payment has been taken")),i.createElement("div",{className:"u-flex justify-content-center"},i.createElement(N.Z,{icon:_.Tu.Close,stopIconAnimation:!0,onClick:n,wide:!0,isLoading:e.isLoading,disabled:r},"Reload"),(null==t?void 0:t.canRetryPayment)&&i.createElement(N.Z,{className:"u-marg-left",primary:!0,filled:!0,icon:_.Tu.ArrowRight2,stopIconAnimation:!0,iconPosition:"right",wide:!0,onClick:e.onRetry,isLoading:e.isLoading,disabled:e.isLoading},"Retry"))))},be=oe.Provider,Ee=function(e){var t=e.children,n=ye(),a=n.queryPaymentMethod,o=n.queryRoomstayId,l=n.queryPlanpayCheckoutId,s=n.returnFromPayment,d=n.success,m=(0,i.useContext)(r.g7),p=(0,i.useState)(!1),f=(0,g.Z)(p,2),v=f[0],y=f[1],C=(0,i.useState)(""),h=(0,g.Z)(C,2),b=h[0],_=h[1],x=(0,ge.o)(),k=x.isExternalMemberHotel,P=x.memberNumber,Z=(0,i.useState)(),w=(0,g.Z)(Z,2),S=w[0],B=w[1],N=(0,i.useState)(!1),R=(0,g.Z)(N,2),I=R[0],W=R[1],D=(0,ne.cI)({mode:"onChange"}),M=(0,i.useContext)(r.hy),T=M.getAllValidRows(),G=M.basketAddonRows,O=((0,re.k6)(),(0,i.useMemo)((function(){return m.engine.getInitialSession()}),[])),L=(0,A.WP)().hotel,U=(0,c.$)().t,F=(0,A.zX)().raise;(0,i.useEffect)((function(){null!=L&&L.requireDeposit&&M.getBasketQuoteDetails()}),[null==L?void 0:L.requireDeposit]);var j=function(e){return e.userProfiles.map((function(e){return{FirstName:e.Forename,LastName:e.Surname,Phone:e.Phone.replace(" ",""),Email:e.Email,Address:{Line1:e.Address,City:e.City,PostalCode:e.PostCode,Country:e.Country,CountryId:e.CountryId,CountryCode:e.CountryCode},MarketingOptIn:!1,AuxInputs:e.AuxInputs}}))},z=function(){var e=(0,V.Z)(K().mark((function e(t){var n;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=[],!t.reservations){e.next=5;break}t.reservations.forEach((function(e,t){var r=M.currentBasketRows[t].checkDiffFromReservation(e);r&&n.push(r)})),e.next=7;break;case 5:throw ee.n_({level:te.z.Error,message:"No reservation data: "+JSON.stringify(t)}),new Error("The reservation could not be completed due to an unexpected issue, please try again");case 7:if(!(n.length||t.warnings&&t.warnings.length)){e.next=9;break}return e.abrupt("return",{differences:n,warnings:t.warnings});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Q=function(){var e=(0,V.Z)(K().mark((function e(t,n){var r,a,o,l;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(F(new fe(t,M.currentBasketRows)),n!==X.EBookingPaymentMethod.Planpay){e.next=3;break}return e.abrupt("return");case 3:if((null==L?void 0:L.cardProcessor)!==X.EHotelCardProcessor.Passthrough){e.next=8;break}return e.next=6,null==oe?void 0:oe(t);case 6:e.next=9;break;case 8:null!==(r=t.payment)&&void 0!==r&&null!==(a=r.external)&&void 0!==a&&a.redirectUrl&&ce(null===(o=t.payment)||void 0===o||null===(l=o.external)||void 0===l?void 0:l.redirectUrl);case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),Y=function(e,t,n,r){return function(){var a=(0,V.Z)(K().mark((function a(o){var l,i,c,s;return K().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(q.ZP.instance.sendInteraction("Complete Booking",q.s_.BUTTON,q._J.GUEST_DETAILS),y(!0),a.t0=!n,a.t0){a.next=7;break}return a.next=6,n();case 6:a.t0=a.sent;case 7:if(a.t0){a.next=11;break}return y(!1),a.abrupt("return");case 11:return a.next=13,e();case 13:return i=a.sent,c=j(o),a.prev=15,a.next=18,E.Z.Reservation.bookNow(T,c,i,G,t||"",null==L?void 0:L.hotelID,m.sessionProvider.getCurrentSessionID().toString(),void 0,void 0,void 0,k?P:void 0);case 18:return l=a.sent,a.next=21,M.booked(l,{userProfiles:c,payment:i,comments:t||""});case 21:return a.next=23,z(l);case 23:if(!(s=a.sent)){a.next=29;break}y(!1),null==r||r(s),a.next=31;break;case 29:return a.next=31,Q(l,i.Method);case 31:a.next=36;break;case 33:a.prev=33,a.t1=a.catch(15),B(a.t1);case 36:return a.prev=36,y(!1),a.finish(36);case 39:case"end":return a.stop()}}),a,null,[[15,33,36,39]])})));return function(e){return a.apply(this,arguments)}}()},H=!!l&&!!o&&!!a,$=!(!s||!d&&H||!o),J=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},oe=function(){var e=(0,V.Z)(K().mark((function e(t,n){var a,o;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,n&&_(n),y(!0),!t){e.next=22;break}if(!(a=J(t)).length){e.next=20;break}return e.prev=6,e.next=9,E.Z.Reservation.commit(a,t.itineraryNumber,null==L?void 0:L.hotelID,l||void 0);case 9:o=e.sent;try{q.ZP.instance.sendReservationConfirmed(M.getAllValidRows(),M.basketAddonRows,o)}catch(e){ee.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}M.checkedOut(o),F(new pe(t,M.currentBasketRows)),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(6),B(e.t0);case 18:e.next=22;break;case 20:r.qL.add({message:U(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)}),ee.Tb("No reservation IDs found when attempting to commit: "+JSON.stringify(t));case 22:e.next=28;break;case 24:e.prev=24,e.t1=e.catch(0),console.error(e.t1),ee.Tb(e.t1);case 28:y(!1);case 29:case"end":return e.stop()}}),e,null,[[0,24],[6,15]])})));return function(t,n){return e.apply(this,arguments)}}(),le=function(){var e=(0,V.Z)(K().mark((function e(){var t;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(M.reservationData){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,!(t=J(M.reservationData)).length){e.next=11;break}return y(!0),e.next=8,E.Z.Reservation.rollback(t,M.reservationData.itineraryNumber,null==L?void 0:L.hotelID);case 8:F(new ve(M.reservationData)),e.next=12;break;case 11:ee.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(M.reservationData));case 12:e.next=18;break;case 14:e.prev=14,e.t0=e.catch(2),console.log("Failed to rollback reservations"),ee.Tb(e.t0);case 18:return e.prev=18,M.rollback(),y(!1),e.finish(18);case 22:case"end":return e.stop()}}),e,null,[[2,14,18,22]])})));return function(){return e.apply(this,arguments)}}(),ie=function(){var e=(0,V.Z)(K().mark((function e(t,n,r,a){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,D.handleSubmit(Y(t,n,r,a))();case 2:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}(),ce=function(e,t){y(!0),t&&_(t),window.location.href=e},se=function(){var e=(0,V.Z)(K().mark((function e(){var t,n,r,a,o;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(W(!0),n=null==O?void 0:O.reservationRequest,r=null==O||null===(t=O.reservation)||void 0===t?void 0:t.roomstayId,n&&r){e.next=5;break}return e.abrupt("return",null);case 5:return e.prev=5,e.next=8,E.Z.Reservation.bookNow(T,n.userProfiles,n.payment,G,"",null==L?void 0:L.hotelID,m.sessionProvider.getCurrentSessionID().toString(),void 0,!0,r,k?P:void 0);case 8:return a=e.sent,e.next=11,M.booked(a);case 11:return e.next=13,z(a);case 13:if(!e.sent){e.next=18;break}y(!1),e.next=20;break;case 18:return e.next=20,Q(a,null===(o=n.payment)||void 0===o?void 0:o.Method);case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(5),B(e.t0);case 25:return e.prev=25,y(!1),W(!1),e.finish(25);case 29:case"end":return e.stop()}}),e,null,[[5,22,25,29]])})));return function(){return e.apply(this,arguments)}}(),ue=function(){var e=(0,V.Z)(K().mark((function e(){var t;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return W(!0),e.next=3,le();case 3:t=new URLSearchParams(window.location.search),window.history.replaceState({},"","".concat(window.location.pathname,"?").concat(t)),window.location.reload();case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return i.createElement(ne.RV,D,i.createElement(be,{value:{book:ie,commitReservation:oe,rollbackReservation:le,redirectOut:ce,setLoadingStatus:_,isLoading:v,isBackFromPlanpay:H,isBackFromExternalPayment:$}},v&&i.createElement(ae.E,{isFullscreen:!0,label:b}),i.createElement(he,{onRetry:se,onClose:ue,errorData:S,isLoading:I}),t))},_e=n(2566),xe=n(5112),ke=n(2364);function Pe(){var e=(0,c.$)().t;return i.createElement(xe.Z,{title:e(u.W.Step.Confirmation.SSLSecure)},i.createElement("img",{src:ke.Z.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var Ze=n(8029),we=n(1432),Se=n(4942),Be=n(5729),Ne=n.n(Be),Re=function(e){var t=e.vgsCardName,n=e.large;return i.createElement("div",{className:Z()(Ne().root,(0,Se.Z)({},Ne()["--large"],n)),style:{backgroundImage:"url('".concat(ke.Z.getImageAssetUrl()+t+".png","')")}})},Ie=n(3409),We=n(9111),De=function(e){var t,n=e.isCurrent,r=e.isDefault,a=e.style,o=(0,A.WP)().hotel,l=(null!==(t=null==o?void 0:o.paymentCardTypes)&&void 0!==t?t:[]).map((function(e){return We.wy[e]?{name:We.wy[e],status:!1}:null})).filter((function(e){return e}));return i.createElement("div",{className:"u-flex flex-row justify-content-start"},Object.keys(l).map((function(e){var t,o;return i.createElement("div",{key:e,id:null===(t=l[e])||void 0===t?void 0:t.name,className:Z()("cc-icon u-flex u-marg-right--light",{"-current":null==n?void 0:n(e),"-default":null==r?void 0:r(e)}),style:Object.assign({backgroundImage:"url('".concat(ke.Z.getAssetUrl()+"assets/img/"+(null===(o=l[e])||void 0===o?void 0:o.name)+".png","')"),backgroundSize:"contain"},a||{})})})))},Me=n(9723),Te=n(5498),Ge=n.n(Te),Oe=function(e){var t,n=e.card,a=(e.active,e.overrideSubLabel),o=(0,c.$)().t,l=(0,r.ZS)().roomstayMember,s=(0,(0,r.Kc)().getTotalPrice)(),d=(0,Me.Z)({children:s}),m=d.symbol,p=d.prettyValue,f=a||(n?"Expires ".concat((t=n.expiry).slice(0,2)+" / "+t.slice(2)):o(u.W.Step.Confirmation.CardSubLabel));return i.createElement("div",{className:"u-flex u-flex-justify-between w-100 u-flex-align-center"},i.createElement("div",{className:Ge().root},n?i.createElement("div",{className:"flex-shrink-0"},i.createElement(Re,{vgsCardName:n.type,large:!0})):null,i.createElement("div",null,i.createElement(k.ZP,{align:Ce.P.Left,type:k.yG.Small,color:S.Il.Navy},n?"**** **** **** ".concat(n.cardNumber.slice(-4)):o(u.W.Step.Confirmation.CardLabel)),i.createElement(k.ZP,{className:"u-marg-top--lighter",align:Ce.P.Left,type:k.yG.Caption,color:S.Il.DarkGrey},f)),!n&&i.createElement("div",null,i.createElement(De,{style:{width:24,height:16,borderRadius:1.5,border:"0.5px solid #DFE1E5"},isCurrent:function(){return!0}})),(null==l?void 0:l.defaultCard)&&n&&n.cardId===l.defaultCard&&i.createElement(Ie.ZP,{size:"small",type:Ie.Rm.Primary},"DEFAULT CARD")),i.createElement(k.ZP,{bold:!0,className:"u-flex",color:S.Il.Navy,type:k.yG.Small},m,p))},qe=n(5987),Le=n(9089),Ue=n(8440),Fe=n.n(Ue),je=function(e,t){var n,r=e.checked,a=e.onChange,o=e.disabled,l=e.label,c=e.renderContent,s=e.className,u=e.headerRef;return i.createElement("div",{className:Z()(Fe().root,s,(n={},(0,Se.Z)(n,Fe().disabled,o),(0,Se.Z)(n,Fe().checked,r),n)),onClick:a,ref:t},i.createElement("div",{className:Fe().header,ref:u},i.createElement("div",{className:Fe().design}),i.createElement("div",{className:Fe().text},l)),c&&r&&i.createElement(b.Z,{open:!0},i.createElement("div",{className:Fe().content},c())))},ze=(0,i.forwardRef)(je),Qe=n(9502),Ye=n.n(Qe),He=["renderContent"],$e=function(e){var t=e.option,n=e.value,r=e.onChange,a=e.renderChildrenContent,o=t.options,l=!(null==o||!o.length),c=(0,i.useState)(null),s=(0,g.Z)(c,2),u=s[0],d=s[1],m=(0,i.useState)(!1),p=(0,g.Z)(m,2),f=p[0],v=p[1],A=l&&n&&o.find((function(e){return e.value===n}))||t,y=i.createElement(ze,{headerRef:d,className:Ye().item,key:null==A?void 0:A.value,checked:!(null!=A&&A.disabled)&&(null==A?void 0:A.value)===n,onChange:function(){null!=A&&A.disabled||(l?v(!f):null!=A&&A.value&&(null==A?void 0:A.value)!==n&&(null==r||r(A.value)))},label:null==A?void 0:A.label,disabled:null==A?void 0:A.disabled,renderContent:null==A?void 0:A.renderContent});return null!=A&&A.disabled&&null!=A&&A.disabledReason?i.createElement(xe.Z,{key:null==A?void 0:A.value,wrapperClasses:Ye().wrapper,title:null==A?void 0:A.disabledReason},y):i.createElement(i.Fragment,null,i.createElement("div",{key:null==A?void 0:A.value,className:Ye().wrapper},y,o&&i.createElement("div",{className:Ye().childrenIndicator},i.createElement(_.ZP,{size:"24px",icon:_.Tu.Dropdown}))),o&&i.createElement(Le.a,{onClose:function(){return v(!1)},className:Ye().overlay,hideStyles:!0,containerClassName:"u-w-100",open:f,followElement:u||void 0,offset:[0,0],placement:"top-start"},i.createElement(Ve,{options:o.map((function(e){e.renderContent;var t=(0,qe.Z)(e,He);return a?e:t})),onChange:function(e){null==r||r(e),v(!1)},value:n})))},Ve=function(e){var t=e.options,n=void 0===t?[]:t,r=e.value,a=e.onChange,o=e.renderChildrenContent;return i.createElement("div",{className:Ye().root},n.map((function(e){return i.createElement($e,{key:e.value,option:e,value:r,onChange:a,renderChildrenContent:o})})))},Je=Ve,Ke=n(5993),Xe=n(1291),et=(0,i.forwardRef)((function(e,t){var n,r=(0,A.WP)().hotel,a=(0,i.useState)({}),o=(0,g.Z)(a,2),l=o[0],s=o[1],d=(0,c.$)().t,m=(0,A.b)().focusElement,p={fontSize:"13px",lineHeight:"18px","&::placeholder":{color:"#8B8F9A",opacity:1}},f=(0,Xe.c)([{label:d(u.W.Step.Confirmation.Inputs.CardNumber),name:"credit-card",type:"card-number",vgsProps:{autoComplete:["cc-number"],successColor:"#4F8A10",errorColor:"#D8000C",showCardIcon:!1,placeholder:d(u.W.Step.Confirmation.Inputs.CardNumber)+" *",validations:["required","validCardNumber"],css:p}},{label:d(u.W.Step.Confirmation.Inputs.NameOnCard),name:"card-name",type:"text",vgsProps:{validations:["required"],css:p,placeholder:d(u.W.Step.Confirmation.Inputs.NameOnCard)+" *"}},{label:d(u.W.Step.Confirmation.Inputs.CardExpiry),name:"expiration-date",type:"card-expiration-date",vgsProps:{placeholder:d(u.W.Step.Confirmation.Inputs.CardExpiry)+" *",validations:["required","validCardExpirationDate"],css:p}},{label:d(u.W.Step.Confirmation.Inputs.SecurityCode),name:"security-code",type:"card-security-code",vgsProps:{placeholder:d(u.W.Step.Confirmation.Inputs.SecurityCode)+" *",validations:["required","validCardSecurityCode"],css:p}}]),v=(0,g.Z)(f.fields,4),y=v[0],C=v[1],h=v[2],E=v[3],x=f.vgsForm,P=function(e){var t={};Object.keys(e).forEach((function(n){var r="";switch(n){case"credit-card":r=d(u.W.Step.Confirmation.Inputs.CardNumber);break;case"expiration-date":r=d(u.W.Step.Confirmation.Inputs.CardExpiry);break;case"security-code":r=d(u.W.Step.Confirmation.Inputs.SecurityCode);break;default:r=d(u.W.Step.Confirmation.Inputs.NameOnCard)}t[n]=r+" "+e[n].errorMessages[e[n].errorMessages.length-1]})),s(t)};(0,i.useEffect)((function(){var e,t;l&&0!==Object.keys(l).length&&null!=y&&null!==(e=y.ref)&&void 0!==e&&e.current&&m(null==y||null===(t=y.ref)||void 0===t?void 0:t.current)}),[l]),(0,i.useImperativeHandle)(t,(function(){return{getTokenizedCode:function(){return new Promise((function(e,t){x?x.submit("/post",{serializer:"deep",methods:"POST"},(function(n,r){var a=JSON.parse(r.data),o=a["expiration-date"].match(/^(\d+)\s*\/\s*(\d+)$/);if(!o||o[1].length>2||4!==o[2].length&&2!==o[2].length)return P({"expiration-date":{errorMessages:[d(u.W.Step.Confirmation.InputErrors.CardExpiry.Invalid)]}}),void t(d(u.W.Step.Confirmation.InputErrors.CardExpiry.Invalid));var l=(1===o[1].length?"0":"")+o[1]+(2===o[2].length?o[2]:o[2].substr(2)),i={CVV:a["security-code"],Expiry:l,Name:a["card-name"],Number:a["credit-card"],Type:y.state.cardType};e(i)}),(function(e){P(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var Z=(0,i.useRef)(null),w=(null!==(n=null==r?void 0:r.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return We.wy[e]?{name:We.wy[e],status:!1}:null})).filter((function(e){return e}));return i.createElement("div",null,["credit-card","card-name","expiration-date","security-code"].map((function(e){var t=l[e];return i.createElement(b.Z,{open:!!t,key:e},i.createElement("div",{className:"u-flex"},i.createElement(G.ZP,{type:G.NK.Danger,icon:_.Tu.Error},i.createElement(k.ZP,{type:k.yG.Small},t))))})),i.createElement("div",{className:"u-marg-bottom"},i.createElement(De,{isCurrent:function(e){var t;return null!==y.state.cardType&&(null===(t=w[e])||void 0===t?void 0:t.name)===y.state.cardType},isDefault:function(e){return null===y.state.cardType}})),i.createElement("form",{ref:Z},i.createElement(Ke.Z,{dimensions:"2/2"},i.createElement("div",{className:y.getClasses(),ref:y.ref}),i.createElement(Ke.Z,{dimensions:"2/2"},i.createElement("div",{className:h.getClasses(),ref:h.ref}),i.createElement("div",{className:E.getClasses(),ref:E.ref}))),i.createElement(Ke.Z,{dimensions:"1"},i.createElement("div",{className:C.getClasses(),ref:C.ref}))))})),tt=n(6716),nt=n(1320),rt=n.n(nt),at=function(){var e=(0,c.$)().t;return i.createElement("div",{className:rt()["label-and-logo"]},i.createElement("div",null,e(u.W.Step.Confirmation.PlanpayLabel)),i.createElement("div",{className:"u-flex u-flex-align-center u-marg-left--light"},i.createElement("img",{style:{borderRadius:"24px",width:"65px",height:"16px"},height:16,width:65,src:ke.Z.getImageAssetUrl("planpay-logo-small.svg"),alt:""})))},ot=function(){var e=(0,c.$)().t;return i.createElement(k.ZP,{color:S.Il.Graphite,className:"u-flex u-flex-align-center",style:{color:"#313131",fontSize:10}},i.createElement(_.ZP,{color:S.Il.DarkGrey,icon:_.Tu.Info,className:"u-marg-right--lighter u-marg-left--light"}),e(u.W.Step.Confirmation.PlanpayHelperText))},lt=function(e){var t=e.symbol,n=e.rawPrice;return i.createElement(k.ZP,{bold:!0,className:rt().price,color:S.Il.Navy,type:k.yG.Small},t,null==n?void 0:n.installmentAmount," ",null==n?void 0:n.frequency)},it=function(){var e,t,n,a,o,l,c,s,u,d,m,p,f,v,A,y,C,h,b,E=(0,ne.Gc)(),_=(0,i.useContext)(r.g7),x=(n=(e={}).price,a=e.checkin,o=e.currency,l=(0,r.Kc)(),c=(0,tt.Z)(),s=c.planpay,u=c.planpayConfig,d=c.hasPlanpay,m=(0,i.useContext)(r.Qm).currentCurrency,p=null!=o?o:m,f=l.getTotalPrice()||n,v=(0,Me.Z)({children:f}).value,A=null!=a?a:((null===(t=l.selectedBasketRow)||void 0===t?void 0:t.getStartDate())||l.endDate).format("YYYY-MM-DD"),y=(0,i.useState)(void 0),C=(0,g.Z)(y,2),h=C[0],b=C[1],(0,i.useEffect)((function(){if(d&&v){var e=function(){var e=(0,V.Z)(K().mark((function e(){var t;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,s.pricePreview.fetch({totalCost:f,merchantId:u.username,currencyCode:p,redemptionDate:A});case 2:t=e.sent,b(t);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()}}),[v,d,p,f]),h),k=(0,r.Kc)().getTotalPrice,P=(0,Me.Z)({children:k()}).symbol,Z=_.screenSize<=H.Z.Large;return i.createElement("div",{className:"u-flex u-flex-justify-between w-100 u-flex-align-center"},i.createElement("div",{className:rt().root},i.createElement("div",{className:rt().container},i.createElement(at,null),Z?i.createElement(lt,{symbol:P,rawPrice:x}):E.formState.isValid?null:i.createElement(ot,null)),Z?i.createElement(ot,null):i.createElement(lt,{symbol:P,rawPrice:x})))},ct=n(3296),st=n(9747),ut=n(514),dt=function(){return i.createElement("div",null,i.createElement("div",{className:"row no-gutters"},i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(st.Z,{type:"text",h:"md",blink:!0}),i.createElement(st.Z,{type:"text",h:"md",blink:!0})),i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(st.Z,{type:"text",h:"sm",blink:!0}),i.createElement(st.Z,{type:"text",h:"sm",blink:!0}),i.createElement(st.Z,{type:"text",h:"sm",blink:!0})),i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},i.createElement(st.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})),i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0,noMarg:!0})),i.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},i.createElement(st.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})))),i.createElement("div",{className:"row no-gutters"},i.createElement("div",{className:"col-md-4"},i.createElement(st.Z,{type:"text",h:"lg",blink:!0})),i.createElement("div",{className:"offset-md-4 col-md-4 d-flex align-items-center"},i.createElement(st.Z,{type:"text",w:"xl",h:"sm",blink:!0}))))},mt=function(){var e,t,n=(0,i.useContext)(r.hy),a=(0,ut.W)().hotel,o=(0,tt.Z)(),l=o.hasPlanpay,c=o.loadPlanPaySDK,s=null===(e=n.reservationData)||void 0===e||null===(t=e.payment)||void 0===t?void 0:t.planpay;return(0,i.useLayoutEffect)((function(){null!=s&&s.id&&ct.planpay.checkout.refresh()}),[null==s?void 0:s.id]),(0,i.useEffect)((function(){l&&c()}),[a]),i.createElement(i.Fragment,null,i.createElement("div",{className:"planpay-payment-container","data-planpay-checkout-id":null==s?void 0:s.id,style:{minHeight:"204px",display:"flex",justifyContent:"flex-end",flexDirection:"column"}},i.createElement(dt,null)))};function pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ft(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pt(Object(n),!0).forEach((function(t){(0,Se.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function vt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var gt=function(e){var t,n=e.tokenizerRef,a=e.onChangeCb,o=(0,ne.Gc)(),s=(0,A.WP)().hotel,d=(0,r.Kc)(),m=(0,tt.Z)(),p=m.hasPricePreview,f=m.planpayConfig,v=(0,r.ZS)(),g=v.cards,y=void 0===g?[]:g,C=v.roomstayMember,h=(0,i.useMemo)((function(){return y.find((function(e){return e.cardId===(null==C?void 0:C.defaultCard)}))}),[y,C]),b=(0,c.$)().t,E=(0,i.useContext)(r.Qm).currentCurrency,_=o.watch("paymentMethod"),x=null==s||!s.cardProcessor||s.cardProcessor===X.EHotelCardProcessor.Passthrough,k={value:X.EBookingPaymentMethod.Card,label:i.createElement(Oe,{active:_===X.EBookingPaymentMethod.Card,overrideSubLabel:x?void 0:b(u.W.Step.Confirmation.CardThirdPartyLabel)}),renderContent:x?function(){return i.createElement(et,{ref:n})}:void 0},P=[];if(null!=s&&null!==(t=s.paymentMethods)&&void 0!==t&&t.includes(X.EBookingPaymentMethod.Card)){var Z;if(y.length&&x){var w=h||y[0];Z={value:w.cardId,label:i.createElement(Oe,{card:w})}}else Z=k;var S=[];if(y.length){var B,N=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return vt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?vt(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){i=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(i)throw o}}}}(y);try{for(N.s();!(B=N.n()).done;){var R=B.value;S.push({value:R.cardId,label:i.createElement(Oe,{card:R})})}}catch(e){N.e(e)}finally{N.f()}S.push(k)}P.push(ft(ft({},Z),{},{options:S.length>0?S:void 0}))}return(0,i.useEffect)((function(){o.trigger()}),[E]),p&&f&&f.minDaysShowPlanpay&&l()(d.startDate).diff(l()(),"day")>f.minDaysShowPlanpay&&P.push({value:X.EBookingPaymentMethod.Planpay,label:i.createElement(it,null),disabled:!o.formState.isValid,disabledReason:o.formState.isValid?"":"You must fill all the above details before proceeding with Planpay",renderContent:function(){return i.createElement(mt,null)}}),i.createElement(ne.Qr,{control:o.control,name:"paymentMethod",render:function(e){var t=e.field,n=t.onChange,r=t.value;return i.createElement(i.Fragment,null,i.createElement("div",null,i.createElement(Je,{options:P,value:r,onChange:function(e){n(e),a(e)}})))}})},At=n(9024),yt=n(6604),Ct=n(4590),ht=n(5762),bt=n(5494),Et=function(e){return e.Forename="Forename",e.Surname="Surname",e.Email="Email",e.Phone="Phone",e.Address="Address",e.City="City",e.PostCode="PostCode",e.Country="Country",e.CountryId="CountryId",e.CountryCode="CountryCode",e}({}),_t=n(1248),xt=n(3261),kt=n(6431),Pt=["ref","onChange"],Zt=["ref"],wt=function(){var e=(0,ne.Gc)(),t=e.register,n=e.formState,a=e.control,o=e.watch,l=e.getValues,s=e.setValue,d=(0,i.useContext)(r.hy),p=d.getAllValidRows(),y=d.basketAddonRows,C=(0,A.WP)().hotel,h=(0,ne.Dq)({control:a,name:"userProfiles",rules:{required:!1}}),E=h.update,x=h.fields,P=o(["copyCheckBox","paymentMethod"]),Z=(0,g.Z)(P,2),w=Z[0],B=Z[1],N=n.errors,R=(0,c.$)().t,I=(0,i.useContext)(r.P0).roomstayMember,W=(0,bt.X)().showChildren;(0,i.useEffect)((function(){var e,t;null===(e=N.userProfiles)||void 0===e||null===(t=e.forEach)||void 0===t||t.call(e,(function(e,t){var n;null!==(n=N.userProfiles)&&void 0!==n&&n[t]&&(T[t]=!0)})),O(T.slice(0))}),[N.userProfiles,w]),(0,i.useEffect)((function(){var e=function(e){return 0===e&&arguments.length>1&&void 0!==arguments[1]?arguments[1]:""},t=p.map((function(t,n){var r,a,o,l,i;return i={},(0,Se.Z)(i,Et.Forename,e(n,null==I?void 0:I.forename)),(0,Se.Z)(i,Et.Surname,e(n,null==I?void 0:I.surname)),(0,Se.Z)(i,Et.Email,e(n,null==I?void 0:I.email)),(0,Se.Z)(i,Et.Phone,e(n,null==I?void 0:I.phoneNumber)),(0,Se.Z)(i,Et.Address,e(n,null==I||null===(r=I.address)||void 0===r?void 0:r.address)),(0,Se.Z)(i,Et.City,e(n,null==I||null===(a=I.address)||void 0===a?void 0:a.city)),(0,Se.Z)(i,Et.PostCode,e(n,null==I||null===(o=I.address)||void 0===o?void 0:o.zip)),(0,Se.Z)(i,Et.Country,e(n,null==I||null===(l=I.address)||void 0===l?void 0:l.country)),(0,Se.Z)(i,Et.CountryId,""),(0,Se.Z)(i,Et.CountryCode,""),i}));s("userProfiles",t),s("copyCheckBox",!!(null!=p&&p.length&&p.length>1))}),[I,null==p?void 0:p.length]);var D=(0,i.useState)(p.map((function(e,t){return 0===t}))),M=(0,g.Z)(D,2),T=M[0],O=M[1],L=function(e,t){return function(e){q.ZP.instance.sendInteraction(t,q.s_.FORM_FIELD,q._J.GUEST_DETAILS)}};return(0,i.useEffect)((function(){w&&x.forEach((function(e,t){0!==t&&E(t,l("userProfiles.0"))}))}),[w]),(0,i.useEffect)((function(){var e=o((function(e,t){var n=t.name;"change"===t.type&&null!=n&&n.includes("userProfiles")&&"0"===n.split(".")[1]&&e.copyCheckBox&&x.map((function(e,t){0!==t&&E(t,l("userProfiles.0"))}))})).unsubscribe;return function(){e()}}),[x]),(0,i.useEffect)((function(){q.ZP.instance.sendCheckoutView(p,y)}),[]),i.createElement(i.Fragment,null,x.map((function(e,r){for(var o,l,c,d,g,A=function(e){return function(e,t){return"userProfiles.".concat(t,".").concat(e)}(e,r)},y=function(e){var t,n,a;if(N.userProfiles&&!(w&&r>=1))return null!==(t=N.userProfiles[r])&&void 0!==t&&t[e]||null!==(n=N.userProfiles[r])&&void 0!==n&&null!==(a=n.AuxInputs)&&void 0!==a&&a[e.replace("AuxInputs.","")]?"error":"success"},h=p[r],E=h.getRoom(),P=w&&r>=1||B===X.EBookingPaymentMethod.Planpay,Z=null==C||null===(o=C.roomGroups)||void 0===o?void 0:o.find((function(e){return e.id===E.roomGroupId})),I=[],D=0,M=Object.keys(null!==(q=null==Z?void 0:Z.filters)&&void 0!==q?q:{});D<M.length;D++){var q,U=M[D],F=null==Z?void 0:Z.filters[U];null!=F&&F.requireInput&&I.push({id:"AuxInputs.".concat(U),name:F.name,label:F.name,options:F.options})}return i.createElement("div",{key:e.id},i.createElement("div",{className:0===r?"":"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom",onClick:function(){0!==r&&function(e,t){T.splice(e,1,t),O(T.slice(0))}(r,!T[r])}},i.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},i.createElement(m.Z,{bold:!0},R(u.W.Misc.Room)," ",r+1),0!==r&&i.createElement(_.ZP,{icon:T[r]?_.Tu.ArrowDown2:_.Tu.ArrowUp2,color:S.Il.Grey})),h&&i.createElement("div",{className:"u-marg-bottom"},i.createElement(k.ZP,null,i.createElement("strong",{className:"u-block@l-"},h.getRoom().name)," for"," ",xt.Z.pluralWithDictAndCount(h.getAdults(),u.W.Step.Date.Adult,R),W?i.createElement(i.Fragment,null,", ",xt.Z.pluralWithDictAndCount(h.getChildren(),u.W.Step.Date.Child,R)):null,null!=C&&null!==(l=C.childConfiguration)&&void 0!==l&&l.supportInfants?i.createElement(i.Fragment,null,", ",xt.Z.pluralWithDictAndCount(h.getInfants(),u.W.Step.Date.Infant,R)):null),i.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.Accent},i.createElement("strong",null,h.getStartDate().format("ddd, MMM D"))),i.createElement(_.ZP,{icon:_.Tu.ArrowRight2,size:"18px"}),i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.Accent},i.createElement("strong",null,h.getEndDate().format("ddd, MMM D"))))),(c=r,(g=null===(d=N.userProfiles)||void 0===d?void 0:d[c])&&n.submitCount>=1&&(0===c||!w)&&Object.values(g).map((function(e,t){return i.createElement(b.Z,{key:t,open:!0},i.createElement("div",{className:"u-flex"},i.createElement(G.ZP,{icon:_.Tu.Error,type:G.NK.Danger,noMargin:t===Object.keys(g).length-1},i.createElement(k.ZP,{type:k.yG.Small},null==e?void 0:e.message))))})),null)),i.createElement("div",{className:"room-contact-details--row",style:{maxHeight:T[r]?void 0:0}},i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,R(u.W.Step.Confirmation.ContactInfo)))),i.createElement(Ke.Z,{dimensions:"2/2"},i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:y(Et.Forename)},t(A(Et.Forename),{onChange:L(A(Et.Forename),"Forename - Contact Info"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Forename)})}}))),i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:y(Et.Surname)},t(A(Et.Surname),{onChange:L(A(Et.Surname),"Surname - Contact Info"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Surname)})}})))),i.createElement(Ke.Z,{dimensions:"2/2"},i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:y(Et.Email),required:!0},t(A(Et.Email),{onChange:L(A(Et.Email),"Email - Contact Info"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Email)})},pattern:{value:kt.CU,message:R(u.W.Step.Confirmation.Inputs.InvalidEmail)}}))),_t.Z.isActive()?i.createElement(ne.Qr,{control:a,name:A(Et.Phone),rules:{required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Phone)})},minLength:{value:5,message:"Phone number is required"},maxLength:{value:17,message:"Phone number is too long"},pattern:{value:/^[1-9]( |\d){1,15}$/g,message:"Incorrect phone number entered"}},render:function(e){var t=e.field;return i.createElement(yt.Z,(0,v.Z)({disabled:P,validationStatus:y(Et.Phone)},t,{onChange:function(e){t.onChange(e),L(A(Et.Phone),"Phone - Contact Info")(e)}}))}}):i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:y(Et.Phone)},t(A(Et.Phone),{onChange:L(A(Et.Phone),"Phone - Contact Info"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Phone)})}}))))),i.createElement("div",{className:""},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,R(u.W.Step.Confirmation.Address)))),i.createElement(Ke.Z,{dimensions:"3/1"},i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:y(Et.Address)},t(A(Et.Address),{onChange:L(A(Et.Address),"Address - Address"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Address)})}}))),i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:y(Et.City)},t(A(Et.City),{onChange:L(A(Et.City),"City - Address"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.City)})}})))),i.createElement(Ke.Z,{dimensions:"2/2"},i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:y(Et.PostCode)},t(A(Et.PostCode),{onChange:L(A(Et.PostCode),"PostCode - Address"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.PostCode)})}}))),i.createElement(ne.Qr,{control:a,name:A(Et.Country),rules:{required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,t.onChange),r=(0,qe.Z)(t,Pt);return i.createElement(ht.Z,(0,v.Z)({disabled:P,validationStatus:y(Et.Country),onChange:function(e){n(e),L(A(Et.Country),"Country - Address")(e)},onChangeId:function(e){s(A(Et.CountryId),e)},onChangeCode:function(e){s(A(Et.CountryCode),e)}},r))}})))),I.length>0&&i.createElement("div",{className:"u-marg-top"},i.createElement("div",{className:"u-marg-top"},i.createElement(Ke.Z,{dimensions:"2/2"},I.map((function(e){var t=e.options;return i.createElement(ne.Qr,{key:e.id,control:a,name:A(e.id),rules:{required:!0},render:function(n){var r=n.field,a=(r.ref,(0,qe.Z)(r,Zt));return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,e.name))),i.createElement(Ct.JD,(0,v.Z)({key:e.id,keyName:"value",labelName:"label",options:t,placeholder:"Please Select",validationStatus:y(e.id)},a)))}})}))))),i.createElement(f.Z,null)),x.length>1&&0===r?i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(At.Z,(0,v.Z)({label:R(u.W.Step.Confirmation.ApplySameInfoToOtherRooms)},t("copyCheckBox")))):null)})))},St=i.forwardRef((function(e,t){var n=(0,c.$)().t,r=e.confirmationPolicyError,a=(0,A.WP)().hotel;return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},n(u.W.Step.Confirmation.Acknowledgement))),i.createElement("div",null,i.createElement(At.Z,{label:n(u.W.Step.Confirmation.EmailSpecialOffers)})),i.createElement("div",{className:"u-marg-top--light"},i.createElement(At.Z,{ref:t,label:i.createElement("div",null,n(u.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",i.createElement("a",{style:{color:S.Il.Accent},className:"--underlined",href:null==a?void 0:a.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},n(u.W.Step.Confirmation.PrivacyPolicy)))})),i.createElement(b.Z,{open:r},i.createElement("div",{className:"u-flex u-marg-top"},i.createElement(G.ZP,{type:G.NK.Danger,icon:_.Tu.Error},i.createElement(k.ZP,{type:k.yG.Small},n(u.W.Step.Confirmation.PrivacyPolicyError))))))}));function Bt(e){var t,n,a=(0,i.useContext)(r.hy),o=(0,c.$)().t,s=(0,i.useState)(l()().add(14,"minute")),d=(0,g.Z)(s,2),p=d[0];d[1],(0,i.useEffect)((function(){var t,n=!1,r=null;return(e.differences.length||null!==(t=e.warnings)&&void 0!==t&&t.length)&&(r=setTimeout((function(){n||e.onClose()}),74e4)),function(){n=!0,clearTimeout(r)}}),[e.differences.length,null===(t=e.warnings)||void 0===t?void 0:t.length]);var v=i.createElement("div",{className:"u-flex"},i.createElement(N.Z,{isText:!0,size:"small",icon:_.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},o(u.W.Step.Confirmation.TakeMeBack)),i.createElement(N.Z,{primary:!0,filled:!0,icon:_.Tu.ArrowRight,iconPosition:"right",onClick:e.onProceed,isLoading:e.isLoading},o(u.W.Step.Confirmation.ContinueWithReservation)));return i.createElement(I.Z,{open:!!e.differences.length||!(null===(n=e.warnings)||void 0===n||!n.length),title:o(u.W.Step.Confirmation.YourTotalPriceHasChanged),mobileFooter:v,desktopFooter:i.createElement("div",{className:"u-marg-heavy u-marg@m-"},v),size:I.g.Small,alignCenter:!0},i.createElement("div",{className:"u-marg-heavy u-marg@m-"},i.createElement("div",{className:"row"},i.createElement("div",{className:"col-md-8"},i.createElement(k.ZP,{type:k.yG.Small},o(u.W.Step.Confirmation.ConfirmationCheckoutTitle))),i.createElement("div",{className:"col-md-4"},i.createElement(Ie.ZP,{icon:_.Tu.Time,type:Ie.Rm.Primary},i.createElement("span",{className:"u-marg-right--light"},o(u.W.Step.Confirmation.RevertsIn)),i.createElement(O,{endTimeDate:p})))),i.createElement(f.Z,null),!(!e.differences||!e.differences.length)&&e.differences.map((function(e){var t,n,r,o=a.getAllValidRows().find((function(t){return t.getID()===e.id}));return i.createElement("div",{key:e.id},!!o&&i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(m.Z,null,o.getRoom().name)),i.createElement(k.ZP,null,null===(t=o.getRate())||void 0===t?void 0:t.name)),i.createElement("div",{className:"u-flex u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Body},i.createElement("strong",null,"Displayed price:")),i.createElement(k.ZP,{color:S.Il.Alert},i.createElement(R.Z,null,null===(n=e.totalPrice)||void 0===n?void 0:n.before))),i.createElement("div",{className:"u-flex"},i.createElement(k.ZP,{type:k.yG.Body},i.createElement("strong",null,"Actual price:")),i.createElement(k.ZP,{color:S.Il.Success},i.createElement(R.Z,null,null===(r=e.totalPrice)||void 0===r?void 0:r.after))),i.createElement(f.Z,null))})),!(!e.warnings||!e.warnings.length)&&e.warnings.map((function(e,t){return i.createElement(k.ZP,{key:t},e)}))))}var Nt=n(2710);function Rt(){var e=(0,c.$)().t,t=(0,A.WP)().hotel;return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},e(u.W.Step.Confirmation.Policies))),i.createElement("div",{className:"u-marg-bottom"},i.createElement("div",{className:"row"},i.createElement("div",{className:"col-6 col-md-3"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,e(u.W.Misc.CheckIn))),i.createElement(k.ZP,{type:k.yG.Small},e(u.W.Misc.After)," ",null==t?void 0:t.checkInTime)),i.createElement("div",{className:"col-6 col-md-3"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,e(u.W.Misc.CheckOut))),i.createElement(k.ZP,{type:k.yG.Small},e(u.W.Misc.Before)," ",null==t?void 0:t.checkOutTime)))))}function It(){var e=(0,i.useContext)(r.hy),t=(0,c.$)().t,n=t(u.W.Misc.Room);return(0,i.useMemo)((function(){var r={},a=e.getAllValidRows(),o=0;return a.length>1?a.forEach((function(e){o++;var t=e.getRate(),n=r["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)];n||(n=r["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)]={rooms:[]}),n.rooms.push({index:o,room:e})})):r[0]={rooms:[{index:1,room:a[0]}]},i.createElement("div",{className:"u-marg-bottom"},Object.values(r).map((function(e,r){var a,o,l,c=e.rooms[0];return i.createElement("div",{className:"u-marg-bottom--heavy",key:r},i.createElement("div",{className:"u-marg-bottom"},e.rooms.map((function(e){var t;return i.createElement(k.ZP,{key:e.index,type:k.yG.Small},i.createElement("strong",null,n," ",e.index)," ",e.room.getRoom().name," - ",null===(t=e.room.getRate())||void 0===t?void 0:t.name)}))),i.createElement("div",{className:"u-marg-bottom"},null!==(a=c.room.getRate())&&void 0!==a&&a.getGuaranteePolicy()?i.createElement(i.Fragment,null,i.createElement(k.ZP,{type:k.yG.Small,bold:!0},t(u.W.Misc.GuaranteePolicy)),i.createElement(k.ZP,{type:k.yG.Small,preformatted:!0},i.createElement("span",{dangerouslySetInnerHTML:{__html:(null===(o=c.room.getRate())||void 0===o?void 0:o.getGuaranteePolicy())||""}}))):null),i.createElement(k.ZP,{type:k.yG.Small,bold:!0},t(u.W.Misc.CancellationPolicy)),i.createElement(k.ZP,{type:k.yG.Small,preformatted:!0},i.createElement("span",{dangerouslySetInnerHTML:{__html:(null===(l=c.room.getRate())||void 0===l?void 0:l.getCancellationPolicy())||""}})))})))}),[e.currentBasketRows])}var Wt=n(6222),Dt=n(8016),Mt=n(1657);function Tt(){var e=(0,i.useState)({differences:[],warnings:[]}),t=(0,g.Z)(e,2),n=t[0],a=t[1],o=(0,i.useContext)(r.gr),l=(0,i.useState)(""),s=(0,g.Z)(l,2),d=s[0],p=s[1],y=(0,i.useState)(!1),C=(0,g.Z)(y,2),h=C[0],b=C[1],E=(0,i.useRef)(null),P=(0,i.useRef)(null),Z=(0,c.$)().t,w=ye(),B=w.queryPaymentMethod,R=w.queryRoomstayId,I=w.queryPlanpayCheckoutId,W=(0,r.dF)(),D=(0,ne.Gc)(),M=le(),T=M.isBackFromPlanpay,O=M.isBackFromExternalPayment,q=M.isLoading,L=M.setLoadingStatus,U=M.book,F=M.rollbackReservation,j=M.commitReservation,z=(M.redirectOut,(0,r.Kc)()),Q=(0,i.useRef)(null),Y=(0,_e.J)(),H=(0,r.ZS)().roomstayMember,$=(0,A.WP)().hotel,J=null==$||!$.cardProcessor||$.cardProcessor===X.EHotelCardProcessor.Passthrough,ee=function(){var e=(0,V.Z)(K().mark((function e(t){var n,r,a,o;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next=e.t0===X.EBookingPaymentMethod.Planpay?3:e.t0===X.EBookingPaymentMethod.Card?10:(e.t0,X.EBookingPaymentMethod.SavedCard,20);break;case 3:return(r=new URLSearchParams(window.location.search)).set("roomstayId","{{rsId}}"),r.set("session",W.sessionProvider.getCurrentSessionID().toString()),r.set("paymentMethod",X.EBookingPaymentMethod.Planpay),a="".concat(window.location.origin).concat(window.location.pathname).concat(window.location.search,"#/step/confirmation/?").concat(r),n={Method:X.EBookingPaymentMethod.Planpay,PlanpayCheckoutId:I||void 0,RedirectUrl:a},e.abrupt("break",21);case 10:if(!J){e.next=18;break}return e.t1=X.EBookingPaymentMethod.Card,e.next=14,null===(o=Q.current)||void 0===o?void 0:o.getTokenizedCode();case 14:e.t2=e.sent,n={Method:e.t1,PaymentCard:e.t2},e.next=19;break;case 18:n={Method:X.EBookingPaymentMethod.Card};case 19:return e.abrupt("break",21);case 20:n={Method:X.EBookingPaymentMethod.SavedCard,SavedCardID:t};case 21:return e.abrupt("return",n);case 22:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();(0,i.useEffect)((function(){var e,t,n,r="";return r=Object.values(X.EBookingPaymentMethod).includes(B)?B:null!=H&&H.defaultCard&&null!=H&&null!==(t=H.cards)&&void 0!==t&&t.find((function(e){return e.cardId===(null==H?void 0:H.defaultCard)}))?null==H?void 0:H.defaultCard:X.EBookingPaymentMethod.Card,D.setValue("paymentMethod",r),O&&R===(null===(e=z.reservationData)||void 0===e?void 0:e.roomstayId)?null==j||j(z.reservationData,"Please wait... Finalising your reservation"):se(r),T&&(R===(null===(n=z.reservationData)||void 0===n?void 0:n.roomstayId)?te():null==F||F()),function(){T||O||null==F||F()}}),[]);var te=function(){var e=(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==j?void 0:j(z.reservationData);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),re=D.watch("paymentMethod");W.engine.getSessionProvider().getSession().then((function(e){p(e.source)}));var ae=function(){var e=(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Y((0,Mt.Z)().getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),oe=function(){var e=(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(null==$?void 0:$.cardProcessor)!==X.EHotelCardProcessor.Passthrough?L("You will be redirected shortly to the payment provider."):L("Processing booking"),e.next=3,ce(re);case 3:return e.abrupt("return",!1);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ie=function(e){var t=null==o?void 0:o.errorChecks.every((function(t){return t().validate(e)}));return void 0===t||t},ce=function(){var e=(0,V.Z)(K().mark((function e(t){var n;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==U?void 0:U((0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",ee(t));case 1:case"end":return e.stop()}}),e)}))),null===(n=P.current)||void 0===n?void 0:n.value,(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=void 0,!Wt.Z.isActive()||null!=E&&null!==(n=E.current)&&void 0!==n&&n.checked){e.next=3;break}return b(!0),e.abrupt("return",!1);case 3:if(ie(!0)){e.next=5;break}return e.abrupt("return",!1);case 5:if(e.prev=5,t!==X.EBookingPaymentMethod.Card||!J){e.next=9;break}return e.next=9,Q.current.getTokenizedCode();case 9:return e.abrupt("return",!0);case 12:return e.prev=12,e.t0=e.catch(5),e.abrupt("return",!1);case 15:case"end":return e.stop()}var n}),e,null,[[5,12]])}))),(function(e){e&&a(e)}));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),se=function(){var e=(0,V.Z)(K().mark((function e(t){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===X.EBookingPaymentMethod.Planpay){e.next=3;break}return e.next=3,null==F?void 0:F();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return i.createElement("form",null,T?i.createElement(x.Z,null):i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(m.Z,{bold:!0},Z(u.W.Step.Confirmation.GuestDetails))),i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.Success},i.createElement("strong",null,Z(u.W.Step.Confirmation.AlmostDone,{required:"*"})))),i.createElement(wt,null),"inline"===d?i.createElement(G.ZP,{type:G.NK.Accent2,heavyPadding:!0},i.createElement("div",{className:"u-flex u-w-100 flex-wrap flex-xl-nowrap"},i.createElement("div",null,i.createElement(k.ZP,{color:S.Il.Accent,bold:!0},Z(u.W.Step.Confirmation.WantMoreRooms)),i.createElement(k.ZP,{color:S.Il.Navy},Z(u.W.Step.Confirmation.YouCanAddAndEditRooms))),i.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},i.createElement(N.Z,{filled:!0,primary:!0,icon:_.Tu.Add,iconPosition:"left",onClick:ae},Z(u.W.Step.Confirmation.AddMoreRooms))))):i.createElement(i.Fragment,null),Dt.Z.isActive()&&i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},"Travel Agent")),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,Z(u.W.Step.Confirmation.Inputs.IATANumber)))),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Small},Z(u.W.Step.Confirmation.Inputs.IATANumberGuide))),i.createElement(we.Z,(0,v.Z)({placeholder:Z(u.W.Step.Confirmation.Inputs.IATANumber),wide:!0},D.register("IATANumber")))),i.createElement(f.Z,null)),i.createElement(Nt.h,{inputRef:P}),i.createElement(f.Z,null),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},Z(u.W.Navigation.Menu.PaymentInformation))),i.createElement(gt,{tokenizerRef:Q,onChangeCb:function(){var e=(0,V.Z)(K().mark((function e(t){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,se(t);case 2:if(t!==X.EBookingPaymentMethod.Planpay){e.next=5;break}return e.next=5,ce(t);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}),i.createElement("div",{className:"u-marg-top u-flex align-items-center"},i.createElement("div",{className:"u-flex align-items-center justify-content-start"},i.createElement(_.ZP,{icon:_.Tu.Lock,color:S.Il.Success}),i.createElement("div",{className:"u-marg-left--light"},i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.Success},i.createElement("strong",null,Z(u.W.Step.Confirmation.Secured))))),i.createElement(Pe,null))),i.createElement(f.Z,null),i.createElement(Rt,null),i.createElement("div",{className:"u-pad-top--light u-marg-bottom"},i.createElement(It,null)),Wt.Z.isActive()&&i.createElement(i.Fragment,null,i.createElement(f.Z,null),i.createElement("div",null,i.createElement(St,{ref:E,confirmationPolicyError:h}))),i.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},i.createElement(Ze.Z,{disabled:re===X.EBookingPaymentMethod.Planpay||q,text:Z(u.W.Step.Confirmation.ConfirmReservation),isLoading:q,onClick:oe}))),i.createElement(Bt,{differences:n.differences,warnings:n.warnings,isLoading:q,onClose:(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==F?void 0:F();case 2:Y((0,Mt.Z)().getStepUrl());case 3:case"end":return e.stop()}}),e)}))),onProceed:(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(re!==X.EBookingPaymentMethod.Planpay){e.next=4;break}a({differences:[],warnings:[]}),e.next=6;break;case 4:return e.next=6,null==j?void 0:j(z.reservationData);case 6:case"end":return e.stop()}}),e)})))}))}function Gt(){return i.createElement(Ee,null,i.createElement(Tt,null))}var Ot=function(){var e=(0,i.useContext)(r.g7),t=(0,i.useContext)(r.aN).currentStep,n=(0,i.useContext)(r.hy).currentBasketRows,o=(0,c.$)().t,v=(0,Q.z)().raise;return(0,i.useEffect)((function(){var e=new a.z(n);v(e)}),[]),i.createElement("div",{className:"container"},i.createElement(r.s$,null,i.createElement(j.default,null),i.createElement(p.i5,null,i.createElement(p.mV,null,e.screenSize>H.Z.Medium&&i.createElement(i.Fragment,null,i.createElement(s.rU,{to:$.Z.getPreviousStepUrl(t)},i.createElement(d.Z,null)),i.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},i.createElement(m.Z,{bold:!0},o(u.W.Navigation.Steps.Confirmation)))),i.createElement("div",{className:"u-marg-top@m-"},i.createElement(U.Z,null))),e.screenSize>H.Z.Medium&&i.createElement(p.f,null,i.createElement(F.Z,null))),i.createElement(f.Z,null),i.createElement(p.i5,null,i.createElement(p.mV,null,i.createElement("div",{className:"block-container"},!Y.Z.isActive()&&i.createElement(T,null),i.createElement(Gt,null))),e.screenSize>H.Z.Medium&&i.createElement(p.f,null,i.createElement(L,{endDate:l()().add(10,"minute")}),i.createElement(z.v,{showImages:!0})))))}},2899:function(e,t,n){(t=n(3645)(!0)).push([e.id,".InlinePaymentCard-module__root___3JISW{width:24px;height:16px;background-size:contain;background-repeat:no-repeat;border-radius:2.5px;border:.5px solid #dfe1e5}.InlinePaymentCard-module__root___3JISW.InlinePaymentCard-module__--large____T4UH{width:48px;height:32px}","",{version:3,sources:["InlinePaymentCard.module.scss"],names:[],mappings:"AAAA,wCAAM,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,kFAAc,UAAU,CAAC,WAAW",file:"InlinePaymentCard.module.scss",sourcesContent:[".root{width:24px;height:16px;background-size:contain;background-repeat:no-repeat;border-radius:2.5px;border:.5px solid #dfe1e5}.root.--large{width:48px;height:32px}"]}]),t.locals={root:"InlinePaymentCard-module__root___3JISW","--large":"InlinePaymentCard-module__--large____T4UH"},e.exports=t},4319:function(e,t,n){(t=n(3645)(!0)).push([e.id,".InlinePaymentOption-module__root___qRPN1{display:flex;align-items:center;gap:12px;margin-left:4px}@media(max-width: 991px){.InlinePaymentOption-module__root___qRPN1{flex-direction:column;align-items:flex-start}}","",{version:3,sources:["InlinePaymentOption.module.scss"],names:[],mappings:"AAAA,0CAAM,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,0CAAM,qBAAqB,CAAC,sBAAsB,CAAC",file:"InlinePaymentOption.module.scss",sourcesContent:[".root{display:flex;align-items:center;gap:12px;margin-left:4px}@media(max-width: 991px){.root{flex-direction:column;align-items:flex-start}}"]}]),t.locals={root:"InlinePaymentOption-module__root___qRPN1"},e.exports=t},987:function(e,t,n){(t=n(3645)(!0)).push([e.id,'.roomstay-booking-container .RadioButton-module__root___1w9es{width:100%;display:block;border:1px solid var(--rs-color-light-grey);border-radius:8px;margin:10px 0;cursor:pointer;transition:.3s}.roomstay-booking-container .RadioButton-module__root___1w9es+.RadioButton-module__root___1w9es{margin-top:8px}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO{background:#f6f6fa;cursor:not-allowed}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__design___3kmtW{border:solid 1px #dfe1e5;background:rgba(0,0,0,0)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__design___3kmtW::before{background:rgba(0,0,0,0)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__text___1CCxU{color:#c0c3cc}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__design___3kmtW{background:var(--rs-color-accent-2);border:solid 1px var(--rs-color-accent-1)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__design___3kmtW::before{transform:translate(-50%, -50%) scale(1);background:var(--rs-color-accent-1)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__text___1CCxU{color:var(--rs-color-navy)}.roomstay-booking-container .RadioButton-module__input___3WTPl{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;z-index:-1}.roomstay-booking-container .RadioButton-module__design___3kmtW{flex-shrink:0;width:16px;height:16px;border-radius:100px;position:relative;border:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container .RadioButton-module__design___3kmtW::before{content:"";width:10px;height:10px;display:inline-block;border-radius:inherit;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(0,0,0,0);transition:.3s;position:absolute}.roomstay-booking-container .RadioButton-module__text___1CCxU{width:100%;color:var(--rs-color-navy);font-size:14px;font-weight:400;line-height:18px;margin-left:8px;transition:.3s}.roomstay-booking-container .RadioButton-module__content___2b4U9{display:block;padding:16px;border-top:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container .RadioButton-module__header___2nA7I{padding:8px 16px;display:flex;align-items:center}.roomstay-booking-container .RadioButton-module__header___2nA7I:hover{background:rgba(204,204,204,.14)}',"",{version:3,sources:["RadioButton.module.scss"],names:[],mappings:"AAAA,8DAA2C,UAAU,CAAC,aAAa,CAAC,2CAA2C,CAAC,iBAAiB,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,gGAAiD,cAAc,CAAC,mGAAoD,kBAAkB,CAAC,kBAAkB,CAAC,uIAA4D,wBAAwB,CAAC,wBAAwB,CAAC,+IAAoE,wBAAwB,CAAC,qIAA0D,aAAa,CAAC,sIAA2D,mCAAmC,CAAC,yCAAyC,CAAC,8IAAmE,wCAAwC,CAAC,mCAAmC,CAAC,oIAAyD,0BAA0B,CAAC,+DAA4C,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,gEAA6C,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,2CAA2C,CAAC,wEAAqD,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,wBAAwB,CAAC,cAAc,CAAC,iBAAiB,CAAC,8DAA2C,UAAU,CAAC,0BAA0B,CAAC,cAAc,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,iEAA8C,aAAa,CAAC,YAAY,CAAC,+CAA+C,CAAC,gEAA6C,gBAAgB,CAAC,YAAY,CAAC,kBAAkB,CAAC,sEAAmD,gCAAgC",file:"RadioButton.module.scss",sourcesContent:[':global(.roomstay-booking-container) .root{width:100%;display:block;border:1px solid var(--rs-color-light-grey);border-radius:8px;margin:10px 0;cursor:pointer;transition:.3s}:global(.roomstay-booking-container) .root+.root{margin-top:8px}:global(.roomstay-booking-container) .root.disabled{background:#f6f6fa;cursor:not-allowed}:global(.roomstay-booking-container) .root.disabled .design{border:solid 1px #dfe1e5;background:rgba(0,0,0,0)}:global(.roomstay-booking-container) .root.disabled .design::before{background:rgba(0,0,0,0)}:global(.roomstay-booking-container) .root.disabled .text{color:#c0c3cc}:global(.roomstay-booking-container) .root.checked .design{background:var(--rs-color-accent-2);border:solid 1px var(--rs-color-accent-1)}:global(.roomstay-booking-container) .root.checked .design::before{transform:translate(-50%, -50%) scale(1);background:var(--rs-color-accent-1)}:global(.roomstay-booking-container) .root.checked .text{color:var(--rs-color-navy)}:global(.roomstay-booking-container) .input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;z-index:-1}:global(.roomstay-booking-container) .design{flex-shrink:0;width:16px;height:16px;border-radius:100px;position:relative;border:solid 1px var(--rs-color-light-grey)}:global(.roomstay-booking-container) .design::before{content:"";width:10px;height:10px;display:inline-block;border-radius:inherit;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(0,0,0,0);transition:.3s;position:absolute}:global(.roomstay-booking-container) .text{width:100%;color:var(--rs-color-navy);font-size:14px;font-weight:400;line-height:18px;margin-left:8px;transition:.3s}:global(.roomstay-booking-container) .content{display:block;padding:16px;border-top:solid 1px var(--rs-color-light-grey)}:global(.roomstay-booking-container) .header{padding:8px 16px;display:flex;align-items:center}:global(.roomstay-booking-container) .header:hover{background:rgba(204,204,204,.14)}']}]),t.locals={root:"RadioButton-module__root___1w9es",disabled:"RadioButton-module__disabled___1HXUO",design:"RadioButton-module__design___3kmtW",text:"RadioButton-module__text___1CCxU",checked:"RadioButton-module__checked___XmNJ8",input:"RadioButton-module__input___3WTPl",content:"RadioButton-module__content___2b4U9",header:"RadioButton-module__header___2nA7I"},e.exports=t},5205:function(e,t,n){(t=n(3645)(!0)).push([e.id,".RadioButtonGroup-module__root___3QZUp{position:relative}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6{position:relative}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6:first-child .RadioButtonGroup-module__item___3rGSy{border-top-left-radius:5px !important;border-top-right-radius:5px !important}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6:last-child .RadioButtonGroup-module__item___3rGSy{border-bottom:1px solid var(--rs-color-light-grey) !important;border-bottom-left-radius:5px !important;border-bottom-right-radius:5px !important}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__item___3rGSy{border-radius:0 !important;margin-top:0 !important;margin-bottom:0 !important;border-bottom:0 !important}.RadioButtonGroup-module__overlay___p2ip9{background-color:#fff;box-shadow:0px 8px 24px rgba(0,0,0,.25);border:1px solid #dfe1e5;border-radius:5px}.RadioButtonGroup-module__childrenIndicator___16sSu{position:absolute;right:16px;top:16px;pointer-events:none}","",{version:3,sources:["RadioButtonGroup.module.scss"],names:[],mappings:"AAAA,uCAAM,iBAAiB,CAAC,iFAAe,iBAAiB,CAAC,oIAAiC,qCAAqC,CAAC,sCAAsC,CAAC,mIAAgC,6DAA6D,CAAC,wCAAwC,CAAC,yCAAyC,CAAC,8EAAY,0BAA0B,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,0CAAS,qBAAqB,CAAC,uCAAuC,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,oDAAmB,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB",file:"RadioButtonGroup.module.scss",sourcesContent:[".root{position:relative}.root .wrapper{position:relative}.root .wrapper:first-child .item{border-top-left-radius:5px !important;border-top-right-radius:5px !important}.root .wrapper:last-child .item{border-bottom:1px solid var(--rs-color-light-grey) !important;border-bottom-left-radius:5px !important;border-bottom-right-radius:5px !important}.root .item{border-radius:0 !important;margin-top:0 !important;margin-bottom:0 !important;border-bottom:0 !important}.overlay{background-color:#fff;box-shadow:0px 8px 24px rgba(0,0,0,.25);border:1px solid #dfe1e5;border-radius:5px}.childrenIndicator{position:absolute;right:16px;top:16px;pointer-events:none}"]}]),t.locals={root:"RadioButtonGroup-module__root___3QZUp",wrapper:"RadioButtonGroup-module__wrapper___3_Rg6",item:"RadioButtonGroup-module__item___3rGSy",overlay:"RadioButtonGroup-module__overlay___p2ip9",childrenIndicator:"RadioButtonGroup-module__childrenIndicator___16sSu"},e.exports=t},7518:function(e,t,n){(t=n(3645)(!0)).push([e.id,".PlanpayLabel-module__root___a2__0{display:flex;align-items:center;justify-content:space-between;width:100%}@media(max-width: 991px){.PlanpayLabel-module__root___a2__0{flex-direction:column;align-items:flex-start}}.PlanpayLabel-module__container___pMoWg{display:flex;align-items:center;gap:12px}@media(max-width: 991px){.PlanpayLabel-module__container___pMoWg{flex:1 auto;flex-direction:row;align-items:center}}.PlanpayLabel-module__label-and-logo___3gMbJ{display:flex;align-items:center;flex:1 auto}@media(max-width: 991px){.PlanpayLabel-module__label-and-logo___3gMbJ{flex-direction:row-reverse;align-items:center;gap:12px}}.PlanpayLabel-module__price___2TINl{display:flex}@media(max-width: 991px){.PlanpayLabel-module__price___2TINl{text-align:right}}","",{version:3,sources:["PlanpayLabel.module.scss"],names:[],mappings:"AAAA,mCAAM,YAAY,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,UAAU,CAAC,yBAAyB,mCAAM,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,wCAAW,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,yBAAyB,wCAAW,WAAW,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,6CAAgB,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,yBAAyB,6CAAgB,0BAA0B,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,oCAAO,YAAY,CAAC,yBAAyB,oCAAO,gBAAgB,CAAC",file:"PlanpayLabel.module.scss",sourcesContent:[".root{display:flex;align-items:center;justify-content:space-between;width:100%}@media(max-width: 991px){.root{flex-direction:column;align-items:flex-start}}.container{display:flex;align-items:center;gap:12px}@media(max-width: 991px){.container{flex:1 auto;flex-direction:row;align-items:center}}.label-and-logo{display:flex;align-items:center;flex:1 auto}@media(max-width: 991px){.label-and-logo{flex-direction:row-reverse;align-items:center;gap:12px}}.price{display:flex}@media(max-width: 991px){.price{text-align:right}}"]}]),t.locals={root:"PlanpayLabel-module__root___a2__0",container:"PlanpayLabel-module__container___pMoWg","label-and-logo":"PlanpayLabel-module__label-and-logo___3gMbJ",price:"PlanpayLabel-module__price___2TINl"},e.exports=t},5729:function(e,t,n){var r=n(3379),a=n(2899);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},5498:function(e,t,n){var r=n(3379),a=n(4319);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},8440:function(e,t,n){var r=n(3379),a=n(987);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},9502:function(e,t,n){var r=n(3379),a=n(5205);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},1320:function(e,t,n){var r=n(3379),a=n(7518);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}}}]);
1
+ (("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[468],{5032:function(e,t,n){"use strict";n.d(t,{z:function(){return c}});var r=n(5671),a=n(3144),o=n(136),l=n(2963),i=n(1120);var c=function(e){(0,o.Z)(s,e);var t,n,c=(t=s,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,i.Z)(t);if(n){var a=(0,i.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,l.Z)(this,e)});function s(e){var t;return(0,r.Z)(this,s),(t=c.call(this)).basketRows=void 0,t.basketRows=e,t}return(0,a.Z)(s,null,[{key:"getLabel",value:function(){return"View/Checkout"}}]),s}(n(7112).x)},468:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return Ot}});var r=n(4385),a=n(5032),o=n(7484),l=n.n(o),i=n(7294),c=n(6793),s=n(3727),u=n(9478),d=n(3821),m=n(3010),p=n(6409),f=n(9874),v=n(7462),g=n(885),A=n(7688),y=n(8144),C=n(7582),h=n(3460),b=n(9740),E=n(8442),_=n(8886),x=n(7832),k=n(584),P=n(4184),Z=n.n(P),w=n(4744),S=n(7754);function B(e){var t=e.addon,n=(0,c.$)().t;return i.createElement("div",{className:Z()("additional-offers--column",{"--selected":e.selected}),style:{backgroundImage:"url('".concat(t.image&&w.Z.resizeImage(t.image,w.h.Original),"')")},onClick:function(){var t;null===(t=e.cardClicked)||void 0===t||t.call(e)}},i.createElement("div",{className:"additional-offers--column-body"},i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.White},i.createElement("strong",null,t.name)),i.createElement("div",{className:"u-flex"},i.createElement(k.ZP,{inline:!0,type:k.yG.Small,color:S.Il.White},n(u.W.Misc.SeeDetails)),i.createElement(_.ZP,{icon:_.Tu.ArrowRight,color:S.Il.White}))))}var N=n(4854),R=n(858),I=n(5128),W=n(6380),D=n(3351);function M(e){var t,n=e.addon,a=((0,c.$)().t,(0,i.useContext)(r.hy)),o=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedDate():""),l=(0,g.Z)(o,2),s=l[0],u=l[1],d=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedTime():""),p=(0,g.Z)(d,2),f=p[0],v=p[1],A=(0,i.useState)({quantity:1}),y=(0,g.Z)(A,2),C=y[0],h=y[1],b=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),E=(0,g.Z)(b,2),_=E[0],x=E[1],P=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),Z=(0,g.Z)(P,2),B=Z[0],M=Z[1],T=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),G=(0,g.Z)(T,2),O=G[0],q=G[1];return i.useEffect((function(){var t,r,a,o,l,i;if(n)return e.basketAddonRow?(h(null!==(t=n.availability[e.basketAddonRow.getSelectedDate()])&&void 0!==t?t:n.availability[n.firstDate]),u(null!==(r=e.basketAddonRow.getSelectedDate())&&void 0!==r?r:n.firstDate),v(null!==(a=e.basketAddonRow.getSelectedTime())&&void 0!==a?a:""),x(e.basketAddonRow.getQuantity()),M(e.basketAddonRow.getAdultQuantity()),q(e.basketAddonRow.getChildQuantity())):(h(n.availability[n.firstDate]),u(n.firstDate),v((null===(o=n.availability[n.firstDate])||void 0===o||null===(l=o.selectorTimes)||void 0===l||null===(i=l[0])||void 0===i?void 0:i.value)||"")),function(){x(1),M(1),q(0)}}),[n]),i.createElement(I.Z,{open:e.isOpen,onClose:e.onClose,size:I.g.Small,title:n?n.name:""},n&&i.createElement(i.Fragment,null,i.createElement("div",{style:{height:"350px",width:"100%",backgroundImage:'url("'.concat(n.image&&w.Z.resizeImage(n.image,w.h.Original),'")'),backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"cover"}}),i.createElement("div",{className:"u-marg-heavy u-marg@m-"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},n.name)),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.DarkGrey},n.description)),i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(k.ZP,null,"Date"),i.createElement(D.P,{nativeOnMobile:!0,options:n.selectorDates,value:s,onChange:function(e){var t,r,a,o;t=e,h(n.availability[t]),u(t),v((null===(r=n.availability[t])||void 0===r||null===(a=r.selectorTimes)||void 0===a||null===(o=a[0])||void 0===o?void 0:o.value)||""),n.availability[t].quantity<_&&x(n.availability[t].quantity)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),0!==(null==C||null===(t=C.selectorTimes)||void 0===t?void 0:t.length)&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(k.ZP,null,"Time"),i.createElement(D.P,{nativeOnMobile:!0,options:(null==C?void 0:C.selectorTimes)||[],value:f,onChange:function(e){v(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),C.price&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(k.ZP,null,"Quantity"),i.createElement(W.Z,{number:_,min:1,max:C.quantity,onChange:function(e){x(e)}}))),C.adultPrice&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(k.ZP,null,"Adults"),i.createElement(W.Z,{number:B,min:0,max:C.quantity-O,onChange:function(e){M(e)}}))),C.childPrice&&i.createElement("div",{className:"row u-marg-top"},i.createElement("div",{className:"u-flex col-md-6"},i.createElement(k.ZP,null,"Children"),i.createElement(W.Z,{number:O,min:0,max:C.quantity-B,onChange:function(e){q(e)}}))),i.createElement("div",{className:"u-flex align-items-center u-marg-top"},C.price&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,C.price),"/ Qty"),C.adultPrice&&C.childPrice&&i.createElement("h2",{className:"u-marg-none"},i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,C.adultPrice)," / Adult"),i.createElement("br",null),i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,C.childPrice)," / Child")),C.adultPrice&&!C.childPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,C.adultPrice)," / Adult"),C.childPrice&&!C.adultPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(R.Z,null,C.childPrice)," / Child"),i.createElement(N.Z,{filled:!0,primary:!0,onClick:function(){a.setAddonQuantities(n,{quantity:_,adult:B,child:O},s,f),e.onClose()}},e.basketAddonRow?"Update Cart":"Add to Cart")),n.guaranteeDescription&&i.createElement(i.Fragment,null,i.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Guarantee"),i.createElement("div",{className:"u-marg-bot--heavy"},i.createElement(k.ZP,{type:k.yG.Small},n.guaranteeDescription))),n.cancelPenalty&&i.createElement(i.Fragment,null,i.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Cancellation Policy"),i.createElement("div",{className:"u-marg-bot--heavy"},i.createElement(k.ZP,{type:k.yG.Small},n.cancelPenalty))))))}function T(){var e=(0,i.useContext)(r.hy),t=(0,i.useContext)(r.Qm),n=(0,A.WP)().hotel,a=(0,y.q_)((function(){return{x:0}})),o=(0,g.Z)(a,2),l=o[0].x,s=o[1],d=(0,h.Z)(),p=(0,g.Z)(d,2),f=p[0],P=p[1],Z=(0,c.$)().t,w=i.useState([]),N=(0,g.Z)(w,2),R=N[0],I=N[1],W=(0,i.useState)(!1),D=(0,g.Z)(W,2),T=D[0],G=D[1],O=(0,i.useState)(null),q=(0,g.Z)(O,2),L=q[0],U=q[1],F=(0,i.useState)(!1),j=(0,g.Z)(F,2),z=j[0],Q=j[1],Y=(0,i.useState)(0),$=(0,g.Z)(Y,2),H=$[0],V=$[1],J=(0,i.useState)(0),K=(0,g.Z)(J,2),X=(K[0],K[1]),ee=(0,i.useState)(-1),te=(0,g.Z)(ee,2),ne=te[0],re=te[1];i.useEffect((function(){var t=!1,r=e.getAllValidRows();return Q(!0),E.Z.Addons.findAddons(r,null==n?void 0:n.hotelID).then((function(e){t||(Q(!1),I(e))})),function(){Q(!1),t=!0}}),[t.currentLanguage]);var ae=222,oe=ae*R.length>=P.width,le=(0,C.c0)((function(e){var t=e.down,n=(0,g.Z)(e.movement,1)[0];ie(t,n)})),ie=function(e,t){if(oe)if(e)s({x:H+1.5*t});else{var n=H+t,r=(R.length-1)*ae,a=0;if(n>0)a=0,re(-1);else if(n<-(r-P.width+ae))a=-(r-P.width+ae),re(1);else{var o=-n/ae,l=n%ae>-111?Math.floor(o):Math.ceil(o);a=-l*ae,X(l),re(0)}s({x:a}),V(a)}};return i.createElement(b.Z,{open:!z&&0!==(null==R?void 0:R.length)||!(null==n||!n.showAddonLoader)},i.createElement("div",{className:"u-pad-bottom--heavy "},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},Z(u.W.Step.Confirmation.AdditionalOfferings))),z&&null!=n&&n.showAddonLoader?i.createElement(x.Z,null):0===(null==R?void 0:R.length)?i.createElement("div",null,i.createElement(k.ZP,{color:S.Il.DarkGrey},Z(u.W.Step.Confirmation.NoAdditionalOfferings))):i.createElement("div",{className:"additional-offers"+(R.length>2?"":" --wide"),ref:f},oe&&i.createElement("div",{className:"additional-offers--navigation"},i.createElement(_.ZP,{icon:_.Tu.ArrowLeft2,onClick:function(){ie(!1,ae)},color:-1===ne?S.Il.DarkGrey:S.Il.White,backgroundColor:S.Il.Navy,borderRadius:"round",size:"24px"}),i.createElement(_.ZP,{icon:_.Tu.ArrowRight2,onClick:function(){ie(!1,-222)},color:1===ne?S.Il.DarkGrey:S.Il.White,backgroundColor:S.Il.Navy,borderRadius:"round",size:"24px"})),i.createElement("div",{className:"additional-offers--track-container"},i.createElement(y.q.div,(0,v.Z)({className:"additional-offers--track"},le(),{style:{left:l}}),R.map((function(t,n){return i.createElement(B,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){G(!0),U(t)}})}))))),i.createElement(M,{isOpen:T&&!!L,addon:L,basketAddonRow:e.getRowForAddon(L),onClose:function(){G(!1)}})))}var G=n(7933);function O(e){var t=(0,i.useState)(e.endTimeDate.diff(l()(),"second")),n=(0,g.Z)(t,2),r=n[0],a=n[1];return(0,i.useEffect)((function(){var t=!1,n=setTimeout((function(){t||(r>0?a((function(e){return e-1})):(e.onEnd&&e.onEnd(),t=!0,clearTimeout(n)))}),1e3);return function(){t=!0,clearTimeout(n)}}),[r]),(0,i.useMemo)((function(){var e=[Math.floor(r/60/60),Math.floor(r/60%60),Math.floor(r%60)];return i.createElement(i.Fragment,null,e.map((function(e){return e.toString().padStart(2,"0")})).join(":"))}),[r])}var q=n(4544);function L(e){var t=(0,i.useState)(!1),n=(0,g.Z)(t,2),r=n[0],a=n[1],o=(0,c.$)().t;return i.createElement(G.ZP,{type:G.NK.Accent1},i.createElement("div",{className:"u-flex w-100 flex-wrap align-items-center"},i.createElement("div",null,i.createElement(k.ZP,null,i.createElement("strong",null,o(u.W.Step.Confirmation.YourRoomIs))),i.createElement(k.ZP,null,i.createElement("strong",null,o(u.W.Step.Confirmation.BeingHeldFor)))),i.createElement("div",{className:r?"a-flash":""},i.createElement(m.Z,{size:"large",bold:!0,color:S.Il.White},i.createElement(O,{endTimeDate:e.endDate,onEnd:function(){q.ZP.instance.sendInteraction("Countdown End Seen",q.s_.LINK,q._J.GUEST_DETAILS),a(!0)}})))))}var U=n(4511),F=n(8279),j=n(370),z=n(3933),Q=n(6337),Y=n(5400),$=n(292),H=n(5692),V=n(5861),J=n(4687),K=n.n(J),X=n(6598),ee=n(9666),te=n(3819),ne=n(7536),re=n(6550),ae=n(9852),oe=(0,i.createContext)({}),le=function(){return(0,i.useContext)(oe)},ie=n(5671),ce=n(3144),se=n(136),ue=n(2963),de=n(1120),me=n(7112);var pe=function(e){(0,se.Z)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,de.Z)(t);if(n){var a=(0,de.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,ue.Z)(this,e)});function a(e,t){var n;return(0,ie.Z)(this,a),(n=r.call(this)).reservation=void 0,n.basketRows=void 0,n.reservation=e,n.basketRows=t,n}return(0,ce.Z)(a,null,[{key:"getLabel",value:function(){return"Booking/Committed"}}]),a}(me.x);var fe=function(e){(0,se.Z)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,de.Z)(t);if(n){var a=(0,de.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,ue.Z)(this,e)});function a(e,t){var n;return(0,ie.Z)(this,a),(n=r.call(this)).reservation=void 0,n.basketRows=void 0,n.reservation=e,n.basketRows=t,n}return(0,ce.Z)(a,null,[{key:"getLabel",value:function(){return"Booking/Placed"}}]),a}(me.x);var ve=function(e){(0,se.Z)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,de.Z)(t);if(n){var a=(0,de.Z)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,ue.Z)(this,e)});function a(e){var t;return(0,ie.Z)(this,a),(t=r.call(this)).reservation=void 0,t.reservation=e,t}return(0,ce.Z)(a,null,[{key:"getLabel",value:function(){return"Booking/RolledBack"}}]),a}(me.x),ge=n(9182),Ae=n(5758),ye=function(){var e=(0,Ae.u)(),t=(0,Ae.a)(),n=(0,i.useMemo)((function(){return["paymentMethod","roomstayId","planpay_checkout_id","returnFromPayment","success"].map((function(n){return t.get(n)||e.get(n)}))}),[e,t]),r=(0,g.Z)(n,5);return{queryPaymentMethod:r[0],queryRoomstayId:r[1],queryPlanpayCheckoutId:r[2],returnFromPayment:r[3],success:r[4]}},Ce=n(9605),he=function(e){var t=e.errorData,n=e.onClose,r=e.isLoading;return i.createElement(I.Z,{open:!!t,size:I.g.Small,alignCenter:!0,onClose:n},i.createElement("div",{className:"u-pad--heavy-plus"},i.createElement("div",{className:"u-flex justify-content-center u-marg-bottom"},i.createElement(_.ZP,{icon:_.Tu.Error,size:"85px",color:S.Il.Accent})),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(m.Z,{align:Ce.P.Center,size:"larger",bold:!0},"Apologies ",i.createElement("br",null),"for the inconvenience.")),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(k.ZP,{type:k.yG.Body,align:Ce.P.Center},null==t?void 0:t.publicMessage)),!(null!=t&&t.isPaymentTaken)&&i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.Grey,align:Ce.P.Center},"* No payment has been taken")),i.createElement("div",{className:"u-flex justify-content-center"},i.createElement(N.Z,{icon:_.Tu.Close,stopIconAnimation:!0,onClick:n,wide:!0,isLoading:e.isLoading,disabled:r},"Reload"),(null==t?void 0:t.canRetryPayment)&&i.createElement(N.Z,{className:"u-marg-left",primary:!0,filled:!0,icon:_.Tu.ArrowRight2,stopIconAnimation:!0,iconPosition:"right",wide:!0,onClick:e.onRetry,isLoading:e.isLoading,disabled:e.isLoading},"Retry"))))},be=oe.Provider,Ee=function(e){var t=e.children,n=ye(),a=n.queryPaymentMethod,o=n.queryRoomstayId,l=n.queryPlanpayCheckoutId,s=n.returnFromPayment,d=n.success,m=(0,i.useContext)(r.g7),p=(0,i.useState)(!1),f=(0,g.Z)(p,2),v=f[0],y=f[1],C=(0,i.useState)(""),h=(0,g.Z)(C,2),b=h[0],_=h[1],x=(0,ge.b)(),k=x.isBig4,P=x.memberNumber,Z=(0,i.useState)(),w=(0,g.Z)(Z,2),S=w[0],B=w[1],N=(0,i.useState)(!1),R=(0,g.Z)(N,2),I=R[0],W=R[1],D=(0,ne.cI)({mode:"onChange"}),M=(0,i.useContext)(r.hy),T=M.getAllValidRows(),G=M.basketAddonRows,O=((0,re.k6)(),(0,i.useMemo)((function(){return m.engine.getInitialSession()}),[])),L=(0,A.WP)().hotel,U=(0,c.$)().t,F=(0,A.zX)().raise;(0,i.useEffect)((function(){null!=L&&L.requireDeposit&&M.getBasketQuoteDetails()}),[null==L?void 0:L.requireDeposit]);var j=function(e){return e.userProfiles.map((function(e){return{FirstName:e.Forename,LastName:e.Surname,Phone:e.Phone.replace(" ",""),Email:e.Email,Address:{Line1:e.Address,City:e.City,PostalCode:e.PostCode,Country:e.Country,CountryId:e.CountryId,CountryCode:e.CountryCode},MarketingOptIn:!1,AuxInputs:e.AuxInputs}}))},z=function(){var e=(0,V.Z)(K().mark((function e(t){var n;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=[],!t.reservations){e.next=5;break}t.reservations.forEach((function(e,t){var r=M.currentBasketRows[t].checkDiffFromReservation(e);r&&n.push(r)})),e.next=7;break;case 5:throw ee.n_({level:te.z.Error,message:"No reservation data: "+JSON.stringify(t)}),new Error("The reservation could not be completed due to an unexpected issue, please try again");case 7:if(!(n.length||t.warnings&&t.warnings.length)){e.next=9;break}return e.abrupt("return",{differences:n,warnings:t.warnings});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),Q=function(){var e=(0,V.Z)(K().mark((function e(t,n){var r,a,o,l;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(F(new fe(t,M.currentBasketRows)),n!==X.EBookingPaymentMethod.Planpay){e.next=3;break}return e.abrupt("return");case 3:if((null==L?void 0:L.cardProcessor)!==X.EHotelCardProcessor.Passthrough){e.next=8;break}return e.next=6,null==oe?void 0:oe(t);case 6:e.next=9;break;case 8:null!==(r=t.payment)&&void 0!==r&&null!==(a=r.external)&&void 0!==a&&a.redirectUrl&&ce(null===(o=t.payment)||void 0===o||null===(l=o.external)||void 0===l?void 0:l.redirectUrl);case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),Y=function(e,t,n,r){return function(){var a=(0,V.Z)(K().mark((function a(o){var l,i,c,s;return K().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(q.ZP.instance.sendInteraction("Complete Booking",q.s_.BUTTON,q._J.GUEST_DETAILS),y(!0),a.t0=!n,a.t0){a.next=7;break}return a.next=6,n();case 6:a.t0=a.sent;case 7:if(a.t0){a.next=11;break}return y(!1),a.abrupt("return");case 11:return a.next=13,e();case 13:return i=a.sent,c=j(o),a.prev=15,a.next=18,E.Z.Reservation.bookNow(T,c,i,G,t||"",null==L?void 0:L.hotelID,m.sessionProvider.getCurrentSessionID().toString(),void 0,void 0,void 0,k?P:void 0);case 18:return l=a.sent,a.next=21,M.booked(l,{userProfiles:c,payment:i,comments:t||""});case 21:return a.next=23,z(l);case 23:if(!(s=a.sent)){a.next=29;break}y(!1),null==r||r(s),a.next=31;break;case 29:return a.next=31,Q(l,i.Method);case 31:a.next=36;break;case 33:a.prev=33,a.t1=a.catch(15),B(a.t1);case 36:return a.prev=36,y(!1),a.finish(36);case 39:case"end":return a.stop()}}),a,null,[[15,33,36,39]])})));return function(e){return a.apply(this,arguments)}}()},$=!!l&&!!o&&!!a,H=!!s&&!!d&&!!o,J=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},oe=function(){var e=(0,V.Z)(K().mark((function e(t,n){var a,o;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,n&&_(n),y(!0),!t){e.next=22;break}if(!(a=J(t)).length){e.next=20;break}return e.prev=6,e.next=9,E.Z.Reservation.commit(a,t.itineraryNumber,null==L?void 0:L.hotelID,l||void 0);case 9:o=e.sent;try{q.ZP.instance.sendReservationConfirmed(M.getAllValidRows(),M.basketAddonRows,o)}catch(e){ee.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}M.checkedOut(o),F(new pe(t,M.currentBasketRows)),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(6),B(e.t0);case 18:e.next=22;break;case 20:r.qL.add({message:U(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)}),ee.Tb("No reservation IDs found when attempting to commit: "+JSON.stringify(t));case 22:e.next=28;break;case 24:e.prev=24,e.t1=e.catch(0),console.error(e.t1),ee.Tb(e.t1);case 28:y(!1);case 29:case"end":return e.stop()}}),e,null,[[0,24],[6,15]])})));return function(t,n){return e.apply(this,arguments)}}(),le=function(){var e=(0,V.Z)(K().mark((function e(){var t;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(M.reservationData){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,!(t=J(M.reservationData)).length){e.next=11;break}return y(!0),e.next=8,E.Z.Reservation.rollback(t,M.reservationData.itineraryNumber,null==L?void 0:L.hotelID);case 8:F(new ve(M.reservationData)),e.next=12;break;case 11:ee.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(M.reservationData));case 12:e.next=18;break;case 14:e.prev=14,e.t0=e.catch(2),console.log("Failed to rollback reservations"),ee.Tb(e.t0);case 18:return e.prev=18,M.rollback(),y(!1),e.finish(18);case 22:case"end":return e.stop()}}),e,null,[[2,14,18,22]])})));return function(){return e.apply(this,arguments)}}(),ie=function(){var e=(0,V.Z)(K().mark((function e(t,n,r,a){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,D.handleSubmit(Y(t,n,r,a))();case 2:case"end":return e.stop()}}),e)})));return function(t,n,r,a){return e.apply(this,arguments)}}(),ce=function(e,t){y(!0),t&&_(t),window.location.href=e},se=function(){var e=(0,V.Z)(K().mark((function e(){var t,n,r,a,o;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(W(!0),n=null==O?void 0:O.reservationRequest,r=null==O||null===(t=O.reservation)||void 0===t?void 0:t.roomstayId,n&&r){e.next=5;break}return e.abrupt("return",null);case 5:return e.prev=5,e.next=8,E.Z.Reservation.bookNow(T,n.userProfiles,n.payment,G,"",null==L?void 0:L.hotelID,m.sessionProvider.getCurrentSessionID().toString(),void 0,!0,r,k?P:void 0);case 8:return a=e.sent,e.next=11,M.booked(a);case 11:return e.next=13,z(a);case 13:if(!e.sent){e.next=18;break}y(!1),e.next=20;break;case 18:return e.next=20,Q(a,null===(o=n.payment)||void 0===o?void 0:o.Method);case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(5),B(e.t0);case 25:return e.prev=25,y(!1),W(!1),e.finish(25);case 29:case"end":return e.stop()}}),e,null,[[5,22,25,29]])})));return function(){return e.apply(this,arguments)}}(),ue=function(){var e=(0,V.Z)(K().mark((function e(){var t;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return W(!0),e.next=3,le();case 3:t=new URLSearchParams(window.location.search),window.history.replaceState({},"","".concat(window.location.pathname,"?").concat(t)),window.location.reload();case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return i.createElement(ne.RV,D,i.createElement(be,{value:{book:ie,commitReservation:oe,rollbackReservation:le,redirectOut:ce,setLoadingStatus:_,isLoading:v,isBackFromPlanpay:$,isBackFromExternalPayment:H}},v&&i.createElement(ae.E,{isFullscreen:!0,label:b}),i.createElement(he,{onRetry:se,onClose:ue,errorData:S,isLoading:I}),t))},_e=n(2566),xe=n(5112),ke=n(2364);function Pe(){var e=(0,c.$)().t;return i.createElement(xe.Z,{title:e(u.W.Step.Confirmation.SSLSecure)},i.createElement("img",{src:ke.Z.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var Ze=n(8029),we=n(1432),Se=n(4942),Be=n(5729),Ne=n.n(Be),Re=function(e){var t=e.vgsCardName,n=e.large;return i.createElement("div",{className:Z()(Ne().root,(0,Se.Z)({},Ne()["--large"],n)),style:{backgroundImage:"url('".concat(ke.Z.getImageAssetUrl()+t+".png","')")}})},Ie=n(3409),We=n(9111),De=function(e){var t,n=e.isCurrent,r=e.isDefault,a=e.style,o=(0,A.WP)().hotel,l=(null!==(t=null==o?void 0:o.paymentCardTypes)&&void 0!==t?t:[]).map((function(e){return We.wy[e]?{name:We.wy[e],status:!1}:null})).filter((function(e){return e}));return i.createElement("div",{className:"u-flex flex-row justify-content-start"},Object.keys(l).map((function(e){var t,o;return i.createElement("div",{key:e,id:null===(t=l[e])||void 0===t?void 0:t.name,className:Z()("cc-icon u-flex u-marg-right--light",{"-current":null==n?void 0:n(e),"-default":null==r?void 0:r(e)}),style:Object.assign({backgroundImage:"url('".concat(ke.Z.getAssetUrl()+"assets/img/"+(null===(o=l[e])||void 0===o?void 0:o.name)+".png","')"),backgroundSize:"contain"},a||{})})})))},Me=n(9723),Te=n(5498),Ge=n.n(Te),Oe=function(e){var t,n=e.card,a=(e.active,e.overrideSubLabel),o=(0,c.$)().t,l=(0,r.ZS)().roomstayMember,s=(0,(0,r.Kc)().getTotalPrice)(),d=(0,Me.Z)({children:s}),m=d.symbol,p=d.prettyValue,f=a||(n?"Expires ".concat((t=n.expiry).slice(0,2)+" / "+t.slice(2)):o(u.W.Step.Confirmation.CardSubLabel));return i.createElement("div",{className:"u-flex u-flex-justify-between w-100 u-flex-align-center"},i.createElement("div",{className:Ge().root},n?i.createElement("div",{className:"flex-shrink-0"},i.createElement(Re,{vgsCardName:n.type,large:!0})):null,i.createElement("div",null,i.createElement(k.ZP,{align:Ce.P.Left,type:k.yG.Small,color:S.Il.Navy},n?"**** **** **** ".concat(n.cardNumber.slice(-4)):o(u.W.Step.Confirmation.CardLabel)),i.createElement(k.ZP,{className:"u-marg-top--lighter",align:Ce.P.Left,type:k.yG.Caption,color:S.Il.DarkGrey},f)),!n&&i.createElement("div",null,i.createElement(De,{style:{width:24,height:16,borderRadius:1.5,border:"0.5px solid #DFE1E5"},isCurrent:function(){return!0}})),(null==l?void 0:l.defaultCard)&&n&&n.cardId===l.defaultCard&&i.createElement(Ie.ZP,{size:"small",type:Ie.Rm.Primary},"DEFAULT CARD")),i.createElement(k.ZP,{bold:!0,className:"u-flex",color:S.Il.Navy,type:k.yG.Small},m,p))},qe=n(5987),Le=n(9089),Ue=n(8440),Fe=n.n(Ue),je=function(e,t){var n,r=e.checked,a=e.onChange,o=e.disabled,l=e.label,c=e.renderContent,s=e.className,u=e.headerRef;return i.createElement("div",{className:Z()(Fe().root,s,(n={},(0,Se.Z)(n,Fe().disabled,o),(0,Se.Z)(n,Fe().checked,r),n)),onClick:a,ref:t},i.createElement("div",{className:Fe().header,ref:u},i.createElement("div",{className:Fe().design}),i.createElement("div",{className:Fe().text},l)),c&&r&&i.createElement(b.Z,{open:!0},i.createElement("div",{className:Fe().content},c())))},ze=(0,i.forwardRef)(je),Qe=n(9502),Ye=n.n(Qe),$e=["renderContent"],He=function(e){var t=e.option,n=e.value,r=e.onChange,a=e.renderChildrenContent,o=t.options,l=!(null==o||!o.length),c=(0,i.useState)(null),s=(0,g.Z)(c,2),u=s[0],d=s[1],m=(0,i.useState)(!1),p=(0,g.Z)(m,2),f=p[0],v=p[1],A=l&&n&&o.find((function(e){return e.value===n}))||t,y=i.createElement(ze,{headerRef:d,className:Ye().item,key:null==A?void 0:A.value,checked:!(null!=A&&A.disabled)&&(null==A?void 0:A.value)===n,onChange:function(){null!=A&&A.disabled||(l?v(!f):null!=A&&A.value&&(null==A?void 0:A.value)!==n&&(null==r||r(A.value)))},label:null==A?void 0:A.label,disabled:null==A?void 0:A.disabled,renderContent:null==A?void 0:A.renderContent});return null!=A&&A.disabled&&null!=A&&A.disabledReason?i.createElement(xe.Z,{key:null==A?void 0:A.value,wrapperClasses:Ye().wrapper,title:null==A?void 0:A.disabledReason},y):i.createElement(i.Fragment,null,i.createElement("div",{key:null==A?void 0:A.value,className:Ye().wrapper},y,o&&i.createElement("div",{className:Ye().childrenIndicator},i.createElement(_.ZP,{size:"24px",icon:_.Tu.Dropdown}))),o&&i.createElement(Le.a,{onClose:function(){return v(!1)},className:Ye().overlay,hideStyles:!0,containerClassName:"u-w-100",open:f,followElement:u||void 0,offset:[0,0],placement:"top-start"},i.createElement(Ve,{options:o.map((function(e){e.renderContent;var t=(0,qe.Z)(e,$e);return a?e:t})),onChange:function(e){null==r||r(e),v(!1)},value:n})))},Ve=function(e){var t=e.options,n=void 0===t?[]:t,r=e.value,a=e.onChange,o=e.renderChildrenContent;return i.createElement("div",{className:Ye().root},n.map((function(e){return i.createElement(He,{key:e.value,option:e,value:r,onChange:a,renderChildrenContent:o})})))},Je=Ve,Ke=n(5993),Xe=n(1291),et=(0,i.forwardRef)((function(e,t){var n,r=(0,A.WP)().hotel,a=(0,i.useState)({}),o=(0,g.Z)(a,2),l=o[0],s=o[1],d=(0,c.$)().t,m=(0,A.b)().focusElement,p={fontSize:"13px",lineHeight:"18px","&::placeholder":{color:"#8B8F9A",opacity:1}},f=(0,Xe.c)([{label:d(u.W.Step.Confirmation.Inputs.CardNumber),name:"credit-card",type:"card-number",vgsProps:{autoComplete:["cc-number"],successColor:"#4F8A10",errorColor:"#D8000C",showCardIcon:!1,placeholder:d(u.W.Step.Confirmation.Inputs.CardNumber)+" *",validations:["required","validCardNumber"],css:p}},{label:d(u.W.Step.Confirmation.Inputs.NameOnCard),name:"card-name",type:"text",vgsProps:{validations:["required"],css:p,placeholder:d(u.W.Step.Confirmation.Inputs.NameOnCard)+" *"}},{label:d(u.W.Step.Confirmation.Inputs.CardExpiry),name:"expiration-date",type:"card-expiration-date",vgsProps:{placeholder:d(u.W.Step.Confirmation.Inputs.CardExpiry)+" *",validations:["required","validCardExpirationDate"],css:p}},{label:d(u.W.Step.Confirmation.Inputs.SecurityCode),name:"security-code",type:"card-security-code",vgsProps:{placeholder:d(u.W.Step.Confirmation.Inputs.SecurityCode)+" *",validations:["required","validCardSecurityCode"],css:p}}]),v=(0,g.Z)(f.fields,4),y=v[0],C=v[1],h=v[2],E=v[3],x=f.vgsForm,P=function(e){var t={};Object.keys(e).forEach((function(n){var r="";switch(n){case"credit-card":r=d(u.W.Step.Confirmation.Inputs.CardNumber);break;case"expiration-date":r=d(u.W.Step.Confirmation.Inputs.CardExpiry);break;case"security-code":r=d(u.W.Step.Confirmation.Inputs.SecurityCode);break;default:r=d(u.W.Step.Confirmation.Inputs.NameOnCard)}t[n]=r+" "+e[n].errorMessages[e[n].errorMessages.length-1]})),s(t)};(0,i.useEffect)((function(){var e,t;l&&0!==Object.keys(l).length&&null!=y&&null!==(e=y.ref)&&void 0!==e&&e.current&&m(null==y||null===(t=y.ref)||void 0===t?void 0:t.current)}),[l]),(0,i.useImperativeHandle)(t,(function(){return{getTokenizedCode:function(){return new Promise((function(e,t){x?x.submit("/post",{serializer:"deep",methods:"POST"},(function(n,r){var a=JSON.parse(r.data),o=a["expiration-date"].match(/^(\d+)\s*\/\s*(\d+)$/);if(!o||o[1].length>2||4!==o[2].length&&2!==o[2].length)return P({"expiration-date":{errorMessages:[d(u.W.Step.Confirmation.InputErrors.CardExpiry.Invalid)]}}),void t(d(u.W.Step.Confirmation.InputErrors.CardExpiry.Invalid));var l=(1===o[1].length?"0":"")+o[1]+(2===o[2].length?o[2]:o[2].substr(2)),i={CVV:a["security-code"],Expiry:l,Name:a["card-name"],Number:a["credit-card"],Type:y.state.cardType};e(i)}),(function(e){P(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var Z=(0,i.useRef)(null),w=(null!==(n=null==r?void 0:r.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return We.wy[e]?{name:We.wy[e],status:!1}:null})).filter((function(e){return e}));return i.createElement("div",null,["credit-card","card-name","expiration-date","security-code"].map((function(e){var t=l[e];return i.createElement(b.Z,{open:!!t,key:e},i.createElement("div",{className:"u-flex"},i.createElement(G.ZP,{type:G.NK.Danger,icon:_.Tu.Error},i.createElement(k.ZP,{type:k.yG.Small},t))))})),i.createElement("div",{className:"u-marg-bottom"},i.createElement(De,{isCurrent:function(e){var t;return null!==y.state.cardType&&(null===(t=w[e])||void 0===t?void 0:t.name)===y.state.cardType},isDefault:function(e){return null===y.state.cardType}})),i.createElement("form",{ref:Z},i.createElement(Ke.Z,{dimensions:"2/2"},i.createElement("div",{className:y.getClasses(),ref:y.ref}),i.createElement(Ke.Z,{dimensions:"2/2"},i.createElement("div",{className:h.getClasses(),ref:h.ref}),i.createElement("div",{className:E.getClasses(),ref:E.ref}))),i.createElement(Ke.Z,{dimensions:"1"},i.createElement("div",{className:C.getClasses(),ref:C.ref}))))})),tt=n(6716),nt=n(1320),rt=n.n(nt),at=function(){var e=(0,c.$)().t;return i.createElement("div",{className:rt()["label-and-logo"]},i.createElement("div",null,e(u.W.Step.Confirmation.PlanpayLabel)),i.createElement("div",{className:"u-flex u-flex-align-center u-marg-left--light"},i.createElement("img",{style:{borderRadius:"24px",width:"65px",height:"16px"},height:16,width:65,src:ke.Z.getImageAssetUrl("planpay-logo-small.svg"),alt:""})))},ot=function(){var e=(0,c.$)().t;return i.createElement(k.ZP,{color:S.Il.Graphite,className:"u-flex u-flex-align-center",style:{color:"#313131",fontSize:10}},i.createElement(_.ZP,{color:S.Il.DarkGrey,icon:_.Tu.Info,className:"u-marg-right--lighter u-marg-left--light"}),e(u.W.Step.Confirmation.PlanpayHelperText))},lt=function(e){var t=e.symbol,n=e.rawPrice;return i.createElement(k.ZP,{bold:!0,className:rt().price,color:S.Il.Navy,type:k.yG.Small},t,null==n?void 0:n.installmentAmount," ",null==n?void 0:n.frequency)},it=function(){var e,t,n,a,o,l,c,s,u,d,m,p,f,v,A,y,C,h,b,E=(0,ne.Gc)(),_=(0,i.useContext)(r.g7),x=(n=(e={}).price,a=e.checkin,o=e.currency,l=(0,r.Kc)(),c=(0,tt.Z)(),s=c.planpay,u=c.planpayConfig,d=c.hasPlanpay,m=(0,i.useContext)(r.Qm).currentCurrency,p=null!=o?o:m,f=l.getTotalPrice()||n,v=(0,Me.Z)({children:f}).value,A=null!=a?a:((null===(t=l.selectedBasketRow)||void 0===t?void 0:t.getStartDate())||l.endDate).format("YYYY-MM-DD"),y=(0,i.useState)(void 0),C=(0,g.Z)(y,2),h=C[0],b=C[1],(0,i.useEffect)((function(){if(d&&v){var e=function(){var e=(0,V.Z)(K().mark((function e(){var t;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,s.pricePreview.fetch({totalCost:f,merchantId:u.username,currencyCode:p,redemptionDate:A});case 2:t=e.sent,b(t);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()}}),[v,d,p,f]),h),k=(0,r.Kc)().getTotalPrice,P=(0,Me.Z)({children:k()}).symbol,Z=_.screenSize<=$.Z.Large;return i.createElement("div",{className:"u-flex u-flex-justify-between w-100 u-flex-align-center"},i.createElement("div",{className:rt().root},i.createElement("div",{className:rt().container},i.createElement(at,null),Z?i.createElement(lt,{symbol:P,rawPrice:x}):E.formState.isValid?null:i.createElement(ot,null)),Z?i.createElement(ot,null):i.createElement(lt,{symbol:P,rawPrice:x})))},ct=n(3296),st=n(9747),ut=n(514),dt=function(){return i.createElement("div",null,i.createElement("div",{className:"row no-gutters"},i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(st.Z,{type:"text",h:"md",blink:!0}),i.createElement(st.Z,{type:"text",h:"md",blink:!0})),i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(st.Z,{type:"text",h:"sm",blink:!0}),i.createElement(st.Z,{type:"text",h:"sm",blink:!0}),i.createElement(st.Z,{type:"text",h:"sm",blink:!0})),i.createElement("div",{className:"col-md-4"},i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},i.createElement(st.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})),i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(st.Z,{type:"text",w:"md",h:"sm",blink:!0,noMarg:!0})),i.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},i.createElement(st.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})))),i.createElement("div",{className:"row no-gutters"},i.createElement("div",{className:"col-md-4"},i.createElement(st.Z,{type:"text",h:"lg",blink:!0})),i.createElement("div",{className:"offset-md-4 col-md-4 d-flex align-items-center"},i.createElement(st.Z,{type:"text",w:"xl",h:"sm",blink:!0}))))},mt=function(){var e,t,n=(0,i.useContext)(r.hy),a=(0,ut.W)().hotel,o=(0,tt.Z)(),l=o.hasPlanpay,c=o.loadPlanPaySDK,s=null===(e=n.reservationData)||void 0===e||null===(t=e.payment)||void 0===t?void 0:t.planpay;return(0,i.useLayoutEffect)((function(){null!=s&&s.id&&ct.planpay.checkout.refresh()}),[null==s?void 0:s.id]),(0,i.useEffect)((function(){l&&c()}),[a]),i.createElement(i.Fragment,null,i.createElement("div",{className:"planpay-payment-container","data-planpay-checkout-id":null==s?void 0:s.id,style:{minHeight:"204px",display:"flex",justifyContent:"flex-end",flexDirection:"column"}},i.createElement(dt,null)))};function pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ft(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pt(Object(n),!0).forEach((function(t){(0,Se.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function vt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var gt=function(e){var t,n=e.tokenizerRef,a=e.onChangeCb,o=(0,ne.Gc)(),s=(0,A.WP)().hotel,d=(0,r.Kc)(),m=(0,tt.Z)(),p=m.hasPricePreview,f=m.planpayConfig,v=(0,r.ZS)(),g=v.cards,y=void 0===g?[]:g,C=v.roomstayMember,h=(0,i.useMemo)((function(){return y.find((function(e){return e.cardId===(null==C?void 0:C.defaultCard)}))}),[y,C]),b=(0,c.$)().t,E=(0,i.useContext)(r.Qm).currentCurrency,_=o.watch("paymentMethod"),x=null==s||!s.cardProcessor||s.cardProcessor===X.EHotelCardProcessor.Passthrough,k={value:X.EBookingPaymentMethod.Card,label:i.createElement(Oe,{active:_===X.EBookingPaymentMethod.Card,overrideSubLabel:x?void 0:b(u.W.Step.Confirmation.CardThirdPartyLabel)}),renderContent:x?function(){return i.createElement(et,{ref:n})}:void 0},P=[];if(null!=s&&null!==(t=s.paymentMethods)&&void 0!==t&&t.includes(X.EBookingPaymentMethod.Card)){var Z;if(y.length&&x){var w=h||y[0];Z={value:w.cardId,label:i.createElement(Oe,{card:w})}}else Z=k;var S=[];if(y.length){var B,N=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return vt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?vt(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return l=e.done,e},e:function(e){i=!0,o=e},f:function(){try{l||null==n.return||n.return()}finally{if(i)throw o}}}}(y);try{for(N.s();!(B=N.n()).done;){var R=B.value;S.push({value:R.cardId,label:i.createElement(Oe,{card:R})})}}catch(e){N.e(e)}finally{N.f()}S.push(k)}P.push(ft(ft({},Z),{},{options:S.length>0?S:void 0}))}return(0,i.useEffect)((function(){o.trigger()}),[E]),p&&f&&f.minDaysShowPlanpay&&l()(d.startDate).diff(l()(),"day")>f.minDaysShowPlanpay&&P.push({value:X.EBookingPaymentMethod.Planpay,label:i.createElement(it,null),disabled:!o.formState.isValid,disabledReason:o.formState.isValid?"":"You must fill all the above details before proceeding with Planpay",renderContent:function(){return i.createElement(mt,null)}}),i.createElement(ne.Qr,{control:o.control,name:"paymentMethod",render:function(e){var t=e.field,n=t.onChange,r=t.value;return i.createElement(i.Fragment,null,i.createElement("div",null,i.createElement(Je,{options:P,value:r,onChange:function(e){n(e),a(e)}})))}})},At=n(9024),yt=n(6604),Ct=n(4590),ht=n(5762),bt=n(5494),Et=function(e){return e.Forename="Forename",e.Surname="Surname",e.Email="Email",e.Phone="Phone",e.Address="Address",e.City="City",e.PostCode="PostCode",e.Country="Country",e.CountryId="CountryId",e.CountryCode="CountryCode",e}({}),_t=n(1248),xt=n(3261),kt=n(6431),Pt=["ref","onChange"],Zt=["ref"],wt=function(){var e=(0,ne.Gc)(),t=e.register,n=e.formState,a=e.control,o=e.watch,l=e.getValues,s=e.setValue,d=(0,i.useContext)(r.hy),p=d.getAllValidRows(),y=d.basketAddonRows,C=(0,A.WP)().hotel,h=(0,ne.Dq)({control:a,name:"userProfiles",rules:{required:!1}}),E=h.update,x=h.fields,P=o(["copyCheckBox","paymentMethod"]),Z=(0,g.Z)(P,2),w=Z[0],B=Z[1],N=n.errors,R=(0,c.$)().t,I=(0,i.useContext)(r.P0).roomstayMember,W=(0,bt.X)().showChildren;(0,i.useEffect)((function(){var e,t;null===(e=N.userProfiles)||void 0===e||null===(t=e.forEach)||void 0===t||t.call(e,(function(e,t){var n;null!==(n=N.userProfiles)&&void 0!==n&&n[t]&&(T[t]=!0)})),O(T.slice(0))}),[N.userProfiles,w]),(0,i.useEffect)((function(){var e=function(e){return 0===e&&arguments.length>1&&void 0!==arguments[1]?arguments[1]:""},t=p.map((function(t,n){var r,a,o,l,i;return i={},(0,Se.Z)(i,Et.Forename,e(n,null==I?void 0:I.forename)),(0,Se.Z)(i,Et.Surname,e(n,null==I?void 0:I.surname)),(0,Se.Z)(i,Et.Email,e(n,null==I?void 0:I.email)),(0,Se.Z)(i,Et.Phone,e(n,null==I?void 0:I.phoneNumber)),(0,Se.Z)(i,Et.Address,e(n,null==I||null===(r=I.address)||void 0===r?void 0:r.address)),(0,Se.Z)(i,Et.City,e(n,null==I||null===(a=I.address)||void 0===a?void 0:a.city)),(0,Se.Z)(i,Et.PostCode,e(n,null==I||null===(o=I.address)||void 0===o?void 0:o.zip)),(0,Se.Z)(i,Et.Country,e(n,null==I||null===(l=I.address)||void 0===l?void 0:l.country)),(0,Se.Z)(i,Et.CountryId,""),(0,Se.Z)(i,Et.CountryCode,""),i}));s("userProfiles",t),s("copyCheckBox",!!(null!=p&&p.length&&p.length>1))}),[I,null==p?void 0:p.length]);var D=(0,i.useState)(p.map((function(e,t){return 0===t}))),M=(0,g.Z)(D,2),T=M[0],O=M[1],L=function(e,t){return function(e){q.ZP.instance.sendInteraction(t,q.s_.FORM_FIELD,q._J.GUEST_DETAILS)}};return(0,i.useEffect)((function(){w&&x.forEach((function(e,t){0!==t&&E(t,l("userProfiles.0"))}))}),[w]),(0,i.useEffect)((function(){var e=o((function(e,t){var n=t.name;"change"===t.type&&null!=n&&n.includes("userProfiles")&&"0"===n.split(".")[1]&&e.copyCheckBox&&x.map((function(e,t){0!==t&&E(t,l("userProfiles.0"))}))})).unsubscribe;return function(){e()}}),[x]),(0,i.useEffect)((function(){q.ZP.instance.sendCheckoutView(p,y)}),[]),i.createElement(i.Fragment,null,x.map((function(e,r){for(var o,l,c,d,g,A=function(e){return function(e,t){return"userProfiles.".concat(t,".").concat(e)}(e,r)},y=function(e){var t,n,a;if(N.userProfiles&&!(w&&r>=1))return null!==(t=N.userProfiles[r])&&void 0!==t&&t[e]||null!==(n=N.userProfiles[r])&&void 0!==n&&null!==(a=n.AuxInputs)&&void 0!==a&&a[e.replace("AuxInputs.","")]?"error":"success"},h=p[r],E=h.getRoom(),P=w&&r>=1||B===X.EBookingPaymentMethod.Planpay,Z=null==C||null===(o=C.roomGroups)||void 0===o?void 0:o.find((function(e){return e.id===E.roomGroupId})),I=[],D=0,M=Object.keys(null!==(q=null==Z?void 0:Z.filters)&&void 0!==q?q:{});D<M.length;D++){var q,U=M[D],F=null==Z?void 0:Z.filters[U];null!=F&&F.requireInput&&I.push({id:"AuxInputs.".concat(U),name:F.name,label:F.name,options:F.options})}return i.createElement("div",{key:e.id},i.createElement("div",{className:0===r?"":"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom",onClick:function(){0!==r&&function(e,t){T.splice(e,1,t),O(T.slice(0))}(r,!T[r])}},i.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},i.createElement(m.Z,{bold:!0},R(u.W.Misc.Room)," ",r+1),0!==r&&i.createElement(_.ZP,{icon:T[r]?_.Tu.ArrowDown2:_.Tu.ArrowUp2,color:S.Il.Grey})),h&&i.createElement("div",{className:"u-marg-bottom"},i.createElement(k.ZP,null,i.createElement("strong",{className:"u-block@l-"},h.getRoom().name)," for"," ",xt.Z.pluralWithDictAndCount(h.getAdults(),u.W.Step.Date.Adult,R),W?i.createElement(i.Fragment,null,", ",xt.Z.pluralWithDictAndCount(h.getChildren(),u.W.Step.Date.Child,R)):null,null!=C&&null!==(l=C.childConfiguration)&&void 0!==l&&l.supportInfants?i.createElement(i.Fragment,null,", ",xt.Z.pluralWithDictAndCount(h.getInfants(),u.W.Step.Date.Infant,R)):null),i.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.Accent},i.createElement("strong",null,h.getStartDate().format("ddd, MMM D"))),i.createElement(_.ZP,{icon:_.Tu.ArrowRight2,size:"18px"}),i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.Accent},i.createElement("strong",null,h.getEndDate().format("ddd, MMM D"))))),(c=r,(g=null===(d=N.userProfiles)||void 0===d?void 0:d[c])&&n.submitCount>=1&&(0===c||!w)&&Object.values(g).map((function(e,t){return i.createElement(b.Z,{key:t,open:!0},i.createElement("div",{className:"u-flex"},i.createElement(G.ZP,{icon:_.Tu.Error,type:G.NK.Danger,noMargin:t===Object.keys(g).length-1},i.createElement(k.ZP,{type:k.yG.Small},null==e?void 0:e.message))))})),null)),i.createElement("div",{className:"room-contact-details--row",style:{maxHeight:T[r]?void 0:0}},i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,R(u.W.Step.Confirmation.ContactInfo)))),i.createElement(Ke.Z,{dimensions:"2/2"},i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:y(Et.Forename)},t(A(Et.Forename),{onChange:L(A(Et.Forename),"Forename - Contact Info"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Forename)})}}))),i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:y(Et.Surname)},t(A(Et.Surname),{onChange:L(A(Et.Surname),"Surname - Contact Info"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Surname)})}})))),i.createElement(Ke.Z,{dimensions:"2/2"},i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:y(Et.Email),required:!0},t(A(Et.Email),{onChange:L(A(Et.Email),"Email - Contact Info"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Email)})},pattern:{value:kt.CU,message:R(u.W.Step.Confirmation.Inputs.InvalidEmail)}}))),_t.Z.isActive()?i.createElement(ne.Qr,{control:a,name:A(Et.Phone),rules:{required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Phone)})},minLength:{value:5,message:"Phone number is required"},maxLength:{value:17,message:"Phone number is too long"},pattern:{value:/^[1-9]( |\d){1,15}$/g,message:"Incorrect phone number entered"}},render:function(e){var t=e.field;return i.createElement(yt.Z,(0,v.Z)({disabled:P,validationStatus:y(Et.Phone)},t,{onChange:function(e){t.onChange(e),L(A(Et.Phone),"Phone - Contact Info")(e)}}))}}):i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:y(Et.Phone)},t(A(Et.Phone),{onChange:L(A(Et.Phone),"Phone - Contact Info"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Phone)})}}))))),i.createElement("div",{className:""},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,R(u.W.Step.Confirmation.Address)))),i.createElement(Ke.Z,{dimensions:"3/1"},i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:y(Et.Address)},t(A(Et.Address),{onChange:L(A(Et.Address),"Address - Address"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Address)})}}))),i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:y(Et.City)},t(A(Et.City),{onChange:L(A(Et.City),"City - Address"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.City)})}})))),i.createElement(Ke.Z,{dimensions:"2/2"},i.createElement(we.Z,(0,v.Z)({inputProps:{disabled:P},placeholder:R(u.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:y(Et.PostCode)},t(A(Et.PostCode),{onChange:L(A(Et.PostCode),"PostCode - Address"),required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.PostCode)})}}))),i.createElement(ne.Qr,{control:a,name:A(Et.Country),rules:{required:{value:!0,message:R(u.W.Step.Confirmation.Inputs.Required,{field:R(u.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,t.onChange),r=(0,qe.Z)(t,Pt);return i.createElement(ht.Z,(0,v.Z)({disabled:P,validationStatus:y(Et.Country),onChange:function(e){n(e),L(A(Et.Country),"Country - Address")(e)},onChangeId:function(e){s(A(Et.CountryId),e)},onChangeCode:function(e){s(A(Et.CountryCode),e)}},r))}})))),I.length>0&&i.createElement("div",{className:"u-marg-top"},i.createElement("div",{className:"u-marg-top"},i.createElement(Ke.Z,{dimensions:"2/2"},I.map((function(e){var t=e.options;return i.createElement(ne.Qr,{key:e.id,control:a,name:A(e.id),rules:{required:!0},render:function(n){var r=n.field,a=(r.ref,(0,qe.Z)(r,Zt));return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,e.name))),i.createElement(Ct.JD,(0,v.Z)({key:e.id,keyName:"value",labelName:"label",options:t,placeholder:"Please Select",validationStatus:y(e.id)},a)))}})}))))),i.createElement(f.Z,null)),x.length>1&&0===r?i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(At.Z,(0,v.Z)({label:R(u.W.Step.Confirmation.ApplySameInfoToOtherRooms)},t("copyCheckBox")))):null)})))},St=i.forwardRef((function(e,t){var n=(0,c.$)().t,r=e.confirmationPolicyError,a=(0,A.WP)().hotel;return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},n(u.W.Step.Confirmation.Acknowledgement))),i.createElement("div",null,i.createElement(At.Z,{label:n(u.W.Step.Confirmation.EmailSpecialOffers)})),i.createElement("div",{className:"u-marg-top--light"},i.createElement(At.Z,{ref:t,label:i.createElement("div",null,n(u.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",i.createElement("a",{style:{color:S.Il.Accent},className:"--underlined",href:null==a?void 0:a.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},n(u.W.Step.Confirmation.PrivacyPolicy)))})),i.createElement(b.Z,{open:r},i.createElement("div",{className:"u-flex u-marg-top"},i.createElement(G.ZP,{type:G.NK.Danger,icon:_.Tu.Error},i.createElement(k.ZP,{type:k.yG.Small},n(u.W.Step.Confirmation.PrivacyPolicyError))))))}));function Bt(e){var t,n,a=(0,i.useContext)(r.hy),o=(0,c.$)().t,s=(0,i.useState)(l()().add(14,"minute")),d=(0,g.Z)(s,2),p=d[0];d[1],(0,i.useEffect)((function(){var t,n=!1,r=null;return(e.differences.length||null!==(t=e.warnings)&&void 0!==t&&t.length)&&(r=setTimeout((function(){n||e.onClose()}),74e4)),function(){n=!0,clearTimeout(r)}}),[e.differences.length,null===(t=e.warnings)||void 0===t?void 0:t.length]);var v=i.createElement("div",{className:"u-flex"},i.createElement(N.Z,{isText:!0,size:"small",icon:_.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},o(u.W.Step.Confirmation.TakeMeBack)),i.createElement(N.Z,{primary:!0,filled:!0,icon:_.Tu.ArrowRight,iconPosition:"right",onClick:e.onProceed,isLoading:e.isLoading},o(u.W.Step.Confirmation.ContinueWithReservation)));return i.createElement(I.Z,{open:!!e.differences.length||!(null===(n=e.warnings)||void 0===n||!n.length),title:o(u.W.Step.Confirmation.YourTotalPriceHasChanged),mobileFooter:v,desktopFooter:i.createElement("div",{className:"u-marg-heavy u-marg@m-"},v),size:I.g.Small,alignCenter:!0},i.createElement("div",{className:"u-marg-heavy u-marg@m-"},i.createElement("div",{className:"row"},i.createElement("div",{className:"col-md-8"},i.createElement(k.ZP,{type:k.yG.Small},o(u.W.Step.Confirmation.ConfirmationCheckoutTitle))),i.createElement("div",{className:"col-md-4"},i.createElement(Ie.ZP,{icon:_.Tu.Time,type:Ie.Rm.Primary},i.createElement("span",{className:"u-marg-right--light"},o(u.W.Step.Confirmation.RevertsIn)),i.createElement(O,{endTimeDate:p})))),i.createElement(f.Z,null),!(!e.differences||!e.differences.length)&&e.differences.map((function(e){var t,n,r,o=a.getAllValidRows().find((function(t){return t.getID()===e.id}));return i.createElement("div",{key:e.id},!!o&&i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(m.Z,null,o.getRoom().name)),i.createElement(k.ZP,null,null===(t=o.getRate())||void 0===t?void 0:t.name)),i.createElement("div",{className:"u-flex u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Body},i.createElement("strong",null,"Displayed price:")),i.createElement(k.ZP,{color:S.Il.Alert},i.createElement(R.Z,null,null===(n=e.totalPrice)||void 0===n?void 0:n.before))),i.createElement("div",{className:"u-flex"},i.createElement(k.ZP,{type:k.yG.Body},i.createElement("strong",null,"Actual price:")),i.createElement(k.ZP,{color:S.Il.Success},i.createElement(R.Z,null,null===(r=e.totalPrice)||void 0===r?void 0:r.after))),i.createElement(f.Z,null))})),!(!e.warnings||!e.warnings.length)&&e.warnings.map((function(e,t){return i.createElement(k.ZP,{key:t},e)}))))}var Nt=n(2710);function Rt(){var e=(0,c.$)().t,t=(0,A.WP)().hotel;return i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},e(u.W.Step.Confirmation.Policies))),i.createElement("div",{className:"u-marg-bottom"},i.createElement("div",{className:"row"},i.createElement("div",{className:"col-6 col-md-3"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,e(u.W.Misc.CheckIn))),i.createElement(k.ZP,{type:k.yG.Small},e(u.W.Misc.After)," ",null==t?void 0:t.checkInTime)),i.createElement("div",{className:"col-6 col-md-3"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,e(u.W.Misc.CheckOut))),i.createElement(k.ZP,{type:k.yG.Small},e(u.W.Misc.Before)," ",null==t?void 0:t.checkOutTime)))))}function It(){var e=(0,i.useContext)(r.hy),t=(0,c.$)().t,n=t(u.W.Misc.Room);return(0,i.useMemo)((function(){var r={},a=e.getAllValidRows(),o=0;return a.length>1?a.forEach((function(e){o++;var t=e.getRate(),n=r["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)];n||(n=r["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)]={rooms:[]}),n.rooms.push({index:o,room:e})})):r[0]={rooms:[{index:1,room:a[0]}]},i.createElement("div",{className:"u-marg-bottom"},Object.values(r).map((function(e,r){var a,o,l,c=e.rooms[0];return i.createElement("div",{className:"u-marg-bottom--heavy",key:r},i.createElement("div",{className:"u-marg-bottom"},e.rooms.map((function(e){var t;return i.createElement(k.ZP,{key:e.index,type:k.yG.Small},i.createElement("strong",null,n," ",e.index)," ",e.room.getRoom().name," - ",null===(t=e.room.getRate())||void 0===t?void 0:t.name)}))),i.createElement("div",{className:"u-marg-bottom"},null!==(a=c.room.getRate())&&void 0!==a&&a.getGuaranteePolicy()?i.createElement(i.Fragment,null,i.createElement(k.ZP,{type:k.yG.Small,bold:!0},t(u.W.Misc.GuaranteePolicy)),i.createElement(k.ZP,{type:k.yG.Small,preformatted:!0},i.createElement("span",{dangerouslySetInnerHTML:{__html:(null===(o=c.room.getRate())||void 0===o?void 0:o.getGuaranteePolicy())||""}}))):null),i.createElement(k.ZP,{type:k.yG.Small,bold:!0},t(u.W.Misc.CancellationPolicy)),i.createElement(k.ZP,{type:k.yG.Small,preformatted:!0},i.createElement("span",{dangerouslySetInnerHTML:{__html:(null===(l=c.room.getRate())||void 0===l?void 0:l.getCancellationPolicy())||""}})))})))}),[e.currentBasketRows])}var Wt=n(6222),Dt=n(8016),Mt=n(1657);function Tt(){var e=(0,i.useState)({differences:[],warnings:[]}),t=(0,g.Z)(e,2),n=t[0],a=t[1],o=(0,i.useContext)(r.gr),l=(0,i.useState)(""),s=(0,g.Z)(l,2),d=s[0],p=s[1],y=(0,i.useState)(!1),C=(0,g.Z)(y,2),h=C[0],b=C[1],E=(0,i.useRef)(null),P=(0,i.useRef)(null),Z=(0,c.$)().t,w=ye(),B=w.queryPaymentMethod,R=w.queryRoomstayId,I=w.queryPlanpayCheckoutId,W=(0,r.dF)(),D=(0,ne.Gc)(),M=le(),T=M.isBackFromPlanpay,O=M.isBackFromExternalPayment,q=M.isLoading,L=M.setLoadingStatus,U=M.book,F=M.rollbackReservation,j=M.commitReservation,z=(M.redirectOut,(0,r.Kc)()),Q=(0,i.useRef)(null),Y=(0,_e.J)(),$=(0,r.ZS)().roomstayMember,H=(0,A.WP)().hotel,J=null==H||!H.cardProcessor||H.cardProcessor===X.EHotelCardProcessor.Passthrough,ee=function(){var e=(0,V.Z)(K().mark((function e(t){var n,r,a,o;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next=e.t0===X.EBookingPaymentMethod.Planpay?3:e.t0===X.EBookingPaymentMethod.Card?10:(e.t0,X.EBookingPaymentMethod.SavedCard,20);break;case 3:return(r=new URLSearchParams(window.location.search)).set("roomstayId","{{rsId}}"),r.set("session",W.sessionProvider.getCurrentSessionID().toString()),r.set("paymentMethod",X.EBookingPaymentMethod.Planpay),a="".concat(window.location.origin).concat(window.location.pathname).concat(window.location.search,"#/step/confirmation/?").concat(r),n={Method:X.EBookingPaymentMethod.Planpay,PlanpayCheckoutId:I||void 0,RedirectUrl:a},e.abrupt("break",21);case 10:if(!J){e.next=18;break}return e.t1=X.EBookingPaymentMethod.Card,e.next=14,null===(o=Q.current)||void 0===o?void 0:o.getTokenizedCode();case 14:e.t2=e.sent,n={Method:e.t1,PaymentCard:e.t2},e.next=19;break;case 18:n={Method:X.EBookingPaymentMethod.Card};case 19:return e.abrupt("break",21);case 20:n={Method:X.EBookingPaymentMethod.SavedCard,SavedCardID:t};case 21:return e.abrupt("return",n);case 22:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();(0,i.useEffect)((function(){var e,t,n,r="";return r=Object.values(X.EBookingPaymentMethod).includes(B)?B:null!=$&&$.defaultCard&&null!=$&&null!==(t=$.cards)&&void 0!==t&&t.find((function(e){return e.cardId===(null==$?void 0:$.defaultCard)}))?null==$?void 0:$.defaultCard:X.EBookingPaymentMethod.Card,D.setValue("paymentMethod",r),O&&R===(null===(e=z.reservationData)||void 0===e?void 0:e.roomstayId)?null==j||j(z.reservationData,"Please wait... Finalising your reservation"):se(r),T&&(R===(null===(n=z.reservationData)||void 0===n?void 0:n.roomstayId)?te():null==F||F()),function(){T||O||null==F||F()}}),[]);var te=function(){var e=(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==j?void 0:j(z.reservationData);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),re=D.watch("paymentMethod");W.engine.getSessionProvider().getSession().then((function(e){p(e.source)}));var ae=function(){var e=(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Y((0,Mt.Z)().getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),oe=function(){var e=(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(null==H?void 0:H.cardProcessor)!==X.EHotelCardProcessor.Passthrough?L("You will be redirected shortly to the payment provider."):L("Processing booking"),e.next=3,ce(re);case 3:return e.abrupt("return",!1);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ie=function(e){var t=null==o?void 0:o.errorChecks.every((function(t){return t().validate(e)}));return void 0===t||t},ce=function(){var e=(0,V.Z)(K().mark((function e(t){var n;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==U?void 0:U((0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",ee(t));case 1:case"end":return e.stop()}}),e)}))),null===(n=P.current)||void 0===n?void 0:n.value,(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=void 0,!Wt.Z.isActive()||null!=E&&null!==(n=E.current)&&void 0!==n&&n.checked){e.next=3;break}return b(!0),e.abrupt("return",!1);case 3:if(ie(!0)){e.next=5;break}return e.abrupt("return",!1);case 5:if(e.prev=5,t!==X.EBookingPaymentMethod.Card||!J){e.next=9;break}return e.next=9,Q.current.getTokenizedCode();case 9:return e.abrupt("return",!0);case 12:return e.prev=12,e.t0=e.catch(5),e.abrupt("return",!1);case 15:case"end":return e.stop()}var n}),e,null,[[5,12]])}))),(function(e){e&&a(e)}));case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),se=function(){var e=(0,V.Z)(K().mark((function e(t){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===X.EBookingPaymentMethod.Planpay){e.next=3;break}return e.next=3,null==F?void 0:F();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return i.createElement("form",null,T?i.createElement(x.Z,null):i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(m.Z,{bold:!0},Z(u.W.Step.Confirmation.GuestDetails))),i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.Success},i.createElement("strong",null,Z(u.W.Step.Confirmation.AlmostDone,{required:"*"})))),i.createElement(wt,null),"inline"===d?i.createElement(G.ZP,{type:G.NK.Accent2,heavyPadding:!0},i.createElement("div",{className:"u-flex u-w-100 flex-wrap flex-xl-nowrap"},i.createElement("div",null,i.createElement(k.ZP,{color:S.Il.Accent,bold:!0},Z(u.W.Step.Confirmation.WantMoreRooms)),i.createElement(k.ZP,{color:S.Il.Navy},Z(u.W.Step.Confirmation.YouCanAddAndEditRooms))),i.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},i.createElement(N.Z,{filled:!0,primary:!0,icon:_.Tu.Add,iconPosition:"left",onClick:ae},Z(u.W.Step.Confirmation.AddMoreRooms))))):i.createElement(i.Fragment,null),Dt.Z.isActive()&&i.createElement(i.Fragment,null,i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},"Travel Agent")),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Small},i.createElement("strong",null,Z(u.W.Step.Confirmation.Inputs.IATANumber)))),i.createElement("div",{className:"u-marg-bottom--light"},i.createElement(k.ZP,{type:k.yG.Small},Z(u.W.Step.Confirmation.Inputs.IATANumberGuide))),i.createElement(we.Z,(0,v.Z)({placeholder:Z(u.W.Step.Confirmation.Inputs.IATANumber),wide:!0},D.register("IATANumber")))),i.createElement(f.Z,null)),i.createElement(Nt.h,{inputRef:P}),i.createElement(f.Z,null),i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement("div",{className:"u-marg-bottom"},i.createElement(m.Z,{bold:!0},Z(u.W.Navigation.Menu.PaymentInformation))),i.createElement(gt,{tokenizerRef:Q,onChangeCb:function(){var e=(0,V.Z)(K().mark((function e(t){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,se(t);case 2:if(t!==X.EBookingPaymentMethod.Planpay){e.next=5;break}return e.next=5,ce(t);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}),i.createElement("div",{className:"u-marg-top u-flex align-items-center"},i.createElement("div",{className:"u-flex align-items-center justify-content-start"},i.createElement(_.ZP,{icon:_.Tu.Lock,color:S.Il.Success}),i.createElement("div",{className:"u-marg-left--light"},i.createElement(k.ZP,{type:k.yG.Small,color:S.Il.Success},i.createElement("strong",null,Z(u.W.Step.Confirmation.Secured))))),i.createElement(Pe,null))),i.createElement(f.Z,null),i.createElement(Rt,null),i.createElement("div",{className:"u-pad-top--light u-marg-bottom"},i.createElement(It,null)),Wt.Z.isActive()&&i.createElement(i.Fragment,null,i.createElement(f.Z,null),i.createElement("div",null,i.createElement(St,{ref:E,confirmationPolicyError:h}))),i.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},i.createElement(Ze.Z,{disabled:re===X.EBookingPaymentMethod.Planpay||q,text:Z(u.W.Step.Confirmation.ConfirmReservation),isLoading:q,onClick:oe}))),i.createElement(Bt,{differences:n.differences,warnings:n.warnings,isLoading:q,onClose:(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==F?void 0:F();case 2:Y((0,Mt.Z)().getStepUrl());case 3:case"end":return e.stop()}}),e)}))),onProceed:(0,V.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(re!==X.EBookingPaymentMethod.Planpay){e.next=4;break}a({differences:[],warnings:[]}),e.next=6;break;case 4:return e.next=6,null==j?void 0:j(z.reservationData);case 6:case"end":return e.stop()}}),e)})))}))}function Gt(){return i.createElement(Ee,null,i.createElement(Tt,null))}var Ot=function(){var e=(0,i.useContext)(r.g7),t=(0,i.useContext)(r.aN).currentStep,n=(0,i.useContext)(r.hy).currentBasketRows,o=(0,c.$)().t,v=(0,Q.z)().raise;return(0,i.useEffect)((function(){var e=new a.z(n);v(e)}),[]),i.createElement("div",{className:"container"},i.createElement(r.s$,null,i.createElement(j.default,null),i.createElement(p.i5,null,i.createElement(p.mV,null,e.screenSize>$.Z.Medium&&i.createElement(i.Fragment,null,i.createElement(s.rU,{to:H.Z.getPreviousStepUrl(t)},i.createElement(d.Z,null)),i.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},i.createElement(m.Z,{bold:!0},o(u.W.Navigation.Steps.Confirmation)))),i.createElement("div",{className:"u-marg-top@m-"},i.createElement(U.Z,null))),e.screenSize>$.Z.Medium&&i.createElement(p.f,null,i.createElement(F.Z,null))),i.createElement(f.Z,null),i.createElement(p.i5,null,i.createElement(p.mV,null,i.createElement("div",{className:"block-container"},!Y.Z.isActive()&&i.createElement(T,null),i.createElement(Gt,null))),e.screenSize>$.Z.Medium&&i.createElement(p.f,null,i.createElement(L,{endDate:l()().add(10,"minute")}),i.createElement(z.v,{showImages:!0})))))}},2899:function(e,t,n){(t=n(3645)(!0)).push([e.id,".InlinePaymentCard-module__root___3JISW{width:24px;height:16px;background-size:contain;background-repeat:no-repeat;border-radius:2.5px;border:.5px solid #dfe1e5}.InlinePaymentCard-module__root___3JISW.InlinePaymentCard-module__--large____T4UH{width:48px;height:32px}","",{version:3,sources:["InlinePaymentCard.module.scss"],names:[],mappings:"AAAA,wCAAM,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,kFAAc,UAAU,CAAC,WAAW",file:"InlinePaymentCard.module.scss",sourcesContent:[".root{width:24px;height:16px;background-size:contain;background-repeat:no-repeat;border-radius:2.5px;border:.5px solid #dfe1e5}.root.--large{width:48px;height:32px}"]}]),t.locals={root:"InlinePaymentCard-module__root___3JISW","--large":"InlinePaymentCard-module__--large____T4UH"},e.exports=t},4319:function(e,t,n){(t=n(3645)(!0)).push([e.id,".InlinePaymentOption-module__root___qRPN1{display:flex;align-items:center;gap:12px;margin-left:4px}@media(max-width: 991px){.InlinePaymentOption-module__root___qRPN1{flex-direction:column;align-items:flex-start}}","",{version:3,sources:["InlinePaymentOption.module.scss"],names:[],mappings:"AAAA,0CAAM,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,yBAAyB,0CAAM,qBAAqB,CAAC,sBAAsB,CAAC",file:"InlinePaymentOption.module.scss",sourcesContent:[".root{display:flex;align-items:center;gap:12px;margin-left:4px}@media(max-width: 991px){.root{flex-direction:column;align-items:flex-start}}"]}]),t.locals={root:"InlinePaymentOption-module__root___qRPN1"},e.exports=t},987:function(e,t,n){(t=n(3645)(!0)).push([e.id,'.roomstay-booking-container .RadioButton-module__root___1w9es{width:100%;display:block;border:1px solid var(--rs-color-light-grey);border-radius:8px;margin:10px 0;cursor:pointer;transition:.3s}.roomstay-booking-container .RadioButton-module__root___1w9es+.RadioButton-module__root___1w9es{margin-top:8px}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO{background:#f6f6fa;cursor:not-allowed}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__design___3kmtW{border:solid 1px #dfe1e5;background:rgba(0,0,0,0)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__design___3kmtW::before{background:rgba(0,0,0,0)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__disabled___1HXUO .RadioButton-module__text___1CCxU{color:#c0c3cc}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__design___3kmtW{background:var(--rs-color-accent-2);border:solid 1px var(--rs-color-accent-1)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__design___3kmtW::before{transform:translate(-50%, -50%) scale(1);background:var(--rs-color-accent-1)}.roomstay-booking-container .RadioButton-module__root___1w9es.RadioButton-module__checked___XmNJ8 .RadioButton-module__text___1CCxU{color:var(--rs-color-navy)}.roomstay-booking-container .RadioButton-module__input___3WTPl{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;z-index:-1}.roomstay-booking-container .RadioButton-module__design___3kmtW{flex-shrink:0;width:16px;height:16px;border-radius:100px;position:relative;border:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container .RadioButton-module__design___3kmtW::before{content:"";width:10px;height:10px;display:inline-block;border-radius:inherit;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(0,0,0,0);transition:.3s;position:absolute}.roomstay-booking-container .RadioButton-module__text___1CCxU{width:100%;color:var(--rs-color-navy);font-size:14px;font-weight:400;line-height:18px;margin-left:8px;transition:.3s}.roomstay-booking-container .RadioButton-module__content___2b4U9{display:block;padding:16px;border-top:solid 1px var(--rs-color-light-grey)}.roomstay-booking-container .RadioButton-module__header___2nA7I{padding:8px 16px;display:flex;align-items:center}.roomstay-booking-container .RadioButton-module__header___2nA7I:hover{background:rgba(204,204,204,.14)}',"",{version:3,sources:["RadioButton.module.scss"],names:[],mappings:"AAAA,8DAA2C,UAAU,CAAC,aAAa,CAAC,2CAA2C,CAAC,iBAAiB,CAAC,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,gGAAiD,cAAc,CAAC,mGAAoD,kBAAkB,CAAC,kBAAkB,CAAC,uIAA4D,wBAAwB,CAAC,wBAAwB,CAAC,+IAAoE,wBAAwB,CAAC,qIAA0D,aAAa,CAAC,sIAA2D,mCAAmC,CAAC,yCAAyC,CAAC,8IAAmE,wCAAwC,CAAC,mCAAmC,CAAC,oIAAyD,0BAA0B,CAAC,+DAA4C,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,gEAA6C,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,2CAA2C,CAAC,wEAAqD,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAC,wBAAwB,CAAC,cAAc,CAAC,iBAAiB,CAAC,8DAA2C,UAAU,CAAC,0BAA0B,CAAC,cAAc,CAAC,eAAe,CAAC,gBAAgB,CAAC,eAAe,CAAC,cAAc,CAAC,iEAA8C,aAAa,CAAC,YAAY,CAAC,+CAA+C,CAAC,gEAA6C,gBAAgB,CAAC,YAAY,CAAC,kBAAkB,CAAC,sEAAmD,gCAAgC",file:"RadioButton.module.scss",sourcesContent:[':global(.roomstay-booking-container) .root{width:100%;display:block;border:1px solid var(--rs-color-light-grey);border-radius:8px;margin:10px 0;cursor:pointer;transition:.3s}:global(.roomstay-booking-container) .root+.root{margin-top:8px}:global(.roomstay-booking-container) .root.disabled{background:#f6f6fa;cursor:not-allowed}:global(.roomstay-booking-container) .root.disabled .design{border:solid 1px #dfe1e5;background:rgba(0,0,0,0)}:global(.roomstay-booking-container) .root.disabled .design::before{background:rgba(0,0,0,0)}:global(.roomstay-booking-container) .root.disabled .text{color:#c0c3cc}:global(.roomstay-booking-container) .root.checked .design{background:var(--rs-color-accent-2);border:solid 1px var(--rs-color-accent-1)}:global(.roomstay-booking-container) .root.checked .design::before{transform:translate(-50%, -50%) scale(1);background:var(--rs-color-accent-1)}:global(.roomstay-booking-container) .root.checked .text{color:var(--rs-color-navy)}:global(.roomstay-booking-container) .input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;z-index:-1}:global(.roomstay-booking-container) .design{flex-shrink:0;width:16px;height:16px;border-radius:100px;position:relative;border:solid 1px var(--rs-color-light-grey)}:global(.roomstay-booking-container) .design::before{content:"";width:10px;height:10px;display:inline-block;border-radius:inherit;top:50%;left:50%;transform:translate(-50%, -50%);background:rgba(0,0,0,0);transition:.3s;position:absolute}:global(.roomstay-booking-container) .text{width:100%;color:var(--rs-color-navy);font-size:14px;font-weight:400;line-height:18px;margin-left:8px;transition:.3s}:global(.roomstay-booking-container) .content{display:block;padding:16px;border-top:solid 1px var(--rs-color-light-grey)}:global(.roomstay-booking-container) .header{padding:8px 16px;display:flex;align-items:center}:global(.roomstay-booking-container) .header:hover{background:rgba(204,204,204,.14)}']}]),t.locals={root:"RadioButton-module__root___1w9es",disabled:"RadioButton-module__disabled___1HXUO",design:"RadioButton-module__design___3kmtW",text:"RadioButton-module__text___1CCxU",checked:"RadioButton-module__checked___XmNJ8",input:"RadioButton-module__input___3WTPl",content:"RadioButton-module__content___2b4U9",header:"RadioButton-module__header___2nA7I"},e.exports=t},5205:function(e,t,n){(t=n(3645)(!0)).push([e.id,".RadioButtonGroup-module__root___3QZUp{position:relative}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6{position:relative}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6:first-child .RadioButtonGroup-module__item___3rGSy{border-top-left-radius:5px !important;border-top-right-radius:5px !important}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__wrapper___3_Rg6:last-child .RadioButtonGroup-module__item___3rGSy{border-bottom:1px solid var(--rs-color-light-grey) !important;border-bottom-left-radius:5px !important;border-bottom-right-radius:5px !important}.RadioButtonGroup-module__root___3QZUp .RadioButtonGroup-module__item___3rGSy{border-radius:0 !important;margin-top:0 !important;margin-bottom:0 !important;border-bottom:0 !important}.RadioButtonGroup-module__overlay___p2ip9{background-color:#fff;box-shadow:0px 8px 24px rgba(0,0,0,.25);border:1px solid #dfe1e5;border-radius:5px}.RadioButtonGroup-module__childrenIndicator___16sSu{position:absolute;right:16px;top:16px;pointer-events:none}","",{version:3,sources:["RadioButtonGroup.module.scss"],names:[],mappings:"AAAA,uCAAM,iBAAiB,CAAC,iFAAe,iBAAiB,CAAC,oIAAiC,qCAAqC,CAAC,sCAAsC,CAAC,mIAAgC,6DAA6D,CAAC,wCAAwC,CAAC,yCAAyC,CAAC,8EAAY,0BAA0B,CAAC,uBAAuB,CAAC,0BAA0B,CAAC,0BAA0B,CAAC,0CAAS,qBAAqB,CAAC,uCAAuC,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,oDAAmB,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB",file:"RadioButtonGroup.module.scss",sourcesContent:[".root{position:relative}.root .wrapper{position:relative}.root .wrapper:first-child .item{border-top-left-radius:5px !important;border-top-right-radius:5px !important}.root .wrapper:last-child .item{border-bottom:1px solid var(--rs-color-light-grey) !important;border-bottom-left-radius:5px !important;border-bottom-right-radius:5px !important}.root .item{border-radius:0 !important;margin-top:0 !important;margin-bottom:0 !important;border-bottom:0 !important}.overlay{background-color:#fff;box-shadow:0px 8px 24px rgba(0,0,0,.25);border:1px solid #dfe1e5;border-radius:5px}.childrenIndicator{position:absolute;right:16px;top:16px;pointer-events:none}"]}]),t.locals={root:"RadioButtonGroup-module__root___3QZUp",wrapper:"RadioButtonGroup-module__wrapper___3_Rg6",item:"RadioButtonGroup-module__item___3rGSy",overlay:"RadioButtonGroup-module__overlay___p2ip9",childrenIndicator:"RadioButtonGroup-module__childrenIndicator___16sSu"},e.exports=t},7518:function(e,t,n){(t=n(3645)(!0)).push([e.id,".PlanpayLabel-module__root___a2__0{display:flex;align-items:center;justify-content:space-between;width:100%}@media(max-width: 991px){.PlanpayLabel-module__root___a2__0{flex-direction:column;align-items:flex-start}}.PlanpayLabel-module__container___pMoWg{display:flex;align-items:center;gap:12px}@media(max-width: 991px){.PlanpayLabel-module__container___pMoWg{flex:1 auto;flex-direction:row;align-items:center}}.PlanpayLabel-module__label-and-logo___3gMbJ{display:flex;align-items:center;flex:1 auto}@media(max-width: 991px){.PlanpayLabel-module__label-and-logo___3gMbJ{flex-direction:row-reverse;align-items:center;gap:12px}}.PlanpayLabel-module__price___2TINl{display:flex}@media(max-width: 991px){.PlanpayLabel-module__price___2TINl{text-align:right}}","",{version:3,sources:["PlanpayLabel.module.scss"],names:[],mappings:"AAAA,mCAAM,YAAY,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,UAAU,CAAC,yBAAyB,mCAAM,qBAAqB,CAAC,sBAAsB,CAAC,CAAC,wCAAW,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,yBAAyB,wCAAW,WAAW,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,6CAAgB,YAAY,CAAC,kBAAkB,CAAC,WAAW,CAAC,yBAAyB,6CAAgB,0BAA0B,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,oCAAO,YAAY,CAAC,yBAAyB,oCAAO,gBAAgB,CAAC",file:"PlanpayLabel.module.scss",sourcesContent:[".root{display:flex;align-items:center;justify-content:space-between;width:100%}@media(max-width: 991px){.root{flex-direction:column;align-items:flex-start}}.container{display:flex;align-items:center;gap:12px}@media(max-width: 991px){.container{flex:1 auto;flex-direction:row;align-items:center}}.label-and-logo{display:flex;align-items:center;flex:1 auto}@media(max-width: 991px){.label-and-logo{flex-direction:row-reverse;align-items:center;gap:12px}}.price{display:flex}@media(max-width: 991px){.price{text-align:right}}"]}]),t.locals={root:"PlanpayLabel-module__root___a2__0",container:"PlanpayLabel-module__container___pMoWg","label-and-logo":"PlanpayLabel-module__label-and-logo___3gMbJ",price:"PlanpayLabel-module__price___2TINl"},e.exports=t},5729:function(e,t,n){var r=n(3379),a=n(2899);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},5498:function(e,t,n){var r=n(3379),a=n(4319);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},8440:function(e,t,n){var r=n(3379),a=n(987);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},9502:function(e,t,n){var r=n(3379),a=n(5205);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}},1320:function(e,t,n){var r=n(3379),a=n(7518);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.id,a,""]]);r(a,{insert:"head",singleton:!1}),e.exports=a.locals||{}}}]);
@@ -1 +1 @@
1
- "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[537],{2258:function(e,t,r){r.d(t,{Z:function(){return E}});var n=r(885),o=r(7791),a=r(7294),l=r(6793),i=r(9478),c=r(1126),m=r(8442),s=r(858),u=r(3010),d=r(8886),f=r(4485),g=r(584),v=r(3349),p=r(4744),y=r(7754),h=r(292);function E(e){var t=(0,l.$)().t,r=(0,a.useContext)(o.g7),E=(0,a.useContext)(o.hy),S=(0,a.useState)(!1),Z=(0,n.Z)(S,2),b=Z[0],R=Z[1],N=(0,a.useState)(!0),I=(0,n.Z)(N,2),P=I[0],k=I[1],x=(0,a.useState)(!0),C=(0,n.Z)(x,2),w=C[0],D=C[1],A=(0,a.useState)(""),M=(0,n.Z)(A,2),T=M[0],Y=M[1],W=(0,a.useState)(""),G=(0,n.Z)(W,2),L=G[0],O=G[1],z=(0,a.useState)(""),B=(0,n.Z)(z,2),F=B[0],j=B[1],_=(0,a.useState)(""),H=(0,n.Z)(_,2),U=H[0],$=H[1],q=(0,a.useState)([]),J=(0,n.Z)(q,2),Q=J[0],V=J[1],K=(0,v.o)().memberNumber;return(0,a.useEffect)((function(){var t=E.selectedBasketRow;t&&m.Z.Availability.getCheapestPricePerDay(t.getStartDate(),t.getEndDate(),t.getAdults(),t.getChildren(),t.getInfants(),t.getPromoCode(),e.hotelId,K,!0).catch().then((function(r){if(r){for(var n=!0,o=t.getStartDate();o.isBefore(t.getEndDate(),"day");o=o.add(1,"day"))if(!r[o.format(c.yJ)]){n=!1;break}if(R(n),k(!0),n){D(!0);var a=m.Z.Availability.getCrossSellHotelInfo(e.hotelId);O(a.name),Y(a.image),j(a.description);var l=["arrive="+t.getStartDate().format("YYYY-M-D"),"depart="+t.getEndDate().format("YYYY-M-D")];t.getAdults()>1&&l.push("adults="+t.getAdults()),t.getChildren()>0&&l.push("children="+t.getChildren()),t.getInfants()>0&&l.push("infants="+t.getInfants()),t.getPromoCode()&&l.push("promocode="+t.getPromoCode()),$(a.checkoutUrl+"#/step/room/?"+l.join("&")),m.Z.Availability.fetchAvailabilityData(t,e.hotelId,K).catch((function(e){return[]})).then((function(e){null!=e&&e.length?(V(e),D(!1)):(k(!1),D(!1))}))}}}))}),[E.selectedBasketRow]),b?a.createElement("div",{className:"u-marg-top--heavy u-marg-bottom"},a.createElement("div",{className:"cross-sell-module"},a.createElement("div",{className:"cross-sell-module--image",style:{backgroundImage:"url('".concat(p.Z.resizeImage(T,p.h.Original),"')")}}),a.createElement("div",{className:"cross-sell-module--content u-pad--heavy u-pad@m-"},a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement("div",{className:"cross-sell-module--content-title u-marg-bottom--light"},a.createElement(u.Z,{bold:!0,size:P?"large":"normal"},t(w?i.W.Step.Room.CrossSellBlock.AvailabilityNearBy1:P?i.W.Step.Room.CrossSellBlock.AvailabilityNearBy2:i.W.Step.Room.CrossSellBlock.DateUnavailable))),P&&a.createElement("div",{className:"cross-sell-module--content-description u-marg-bottom--light"},a.createElement(g.ZP,{color:y.Il.DarkGrey,type:g.yG.Body},a.createElement("strong",{style:{color:y.Il.Accent}},L),a.createElement("div",{dangerouslySetInnerHTML:{__html:F}})))),w?a.createElement(f.Z,null):a.createElement(a.Fragment,null,Q.slice(0,4).map((function(e,r){var n=U+"&room="+e.code,o="u-flex align-items-end";return r<Q.length-1&&(o+=" u-pad-bottom u-border-bottom u-marg-bottom"),a.createElement("a",{key:e.code,className:o,href:n,target:"_blank",rel:"noreferrer"},a.createElement("div",{className:"u-flex flex-column align-items-start justify-content-start"},a.createElement(g.ZP,{type:g.yG.Body,color:y.Il.Accent,bold:!0},e.name),a.createElement(g.ZP,{type:g.yG.Small,color:y.Il.DarkGrey},t(i.W.Step.Room.Sleeps,{maxOccupancy:e.occupancy}))),a.createElement("div",{className:"u-flex flex-column align-items-end align-items-md-end"},a.createElement(g.ZP,{type:g.yG.Small,color:y.Il.DarkGrey,inline:!0},t(i.W.Misc.From)),a.createElement(g.ZP,{type:g.yG.Body,color:y.Il.Accent,bold:!0},a.createElement(s.Z,null,e.getLowestPrice(!0)))))}))),P&&a.createElement("div",{className:"u-marg-top--light u-flex justify-content-start u-w-100@m- u-marg-top--heavy"},a.createElement("a",{className:"link-button --primary --filled --success --icon-right --normal"+(r.screenSize<=h.Z.Medium?" --wide":""),tabIndex:0,type:"button",href:U,target:"_blank",rel:"noreferrer"},a.createElement("span",null,"See all ",Q.length," rooms",a.createElement(d.ZP,{icon:d.Tu.ArrowRight,size:"1em"}))))))):null}},2458:function(e,t,r){r.d(t,{Z:function(){return y}});var n=r(2982),o=r(7688),a=r(7294),l=r(6793),i=r(9478),c=r(3010),m=r(8886),s=r(9874),u=r(5128),d=r(584),f=r(291),g=r(8013),v=r(4354),p=r(7754);function y(e){var t,r=(0,l.$)().t,y=(0,o.WP)().hotel,h=y.rooms,E=e.room.getRoomPerks({hotel:y,room:e.room}),S=E.roomPerks,Z=E.prePerkDisclaimer,b=null==h?void 0:h[e.room.code],R=null!=b&&b.amenities?(0,n.Z)(b.amenities):[];null!=b&&null!==(t=b.features)&&void 0!==t&&t.length&&b.features.forEach((function(e){R.push(e)}));var N=(null==Z?void 0:Z.replace(/<br(\/|)>/g,""))||"";return a.createElement(u.Z,{title:e.room.name+" "+r(i.W.Step.Room.RoomInfo.Information),open:e.open,size:u.g.Small,onClose:e.onClose},a.createElement("div",null,a.createElement("div",{style:{height:"350px"}},a.createElement(f.Z,{images:e.room.getImages()})),a.createElement("div",{className:"u-marg-heavy u-marg@m-"},a.createElement("div",{className:"u-marg-bottom--light"},a.createElement(c.Z,{bold:!0,size:"large"},e.room.name)),a.createElement(g.R,{room:e.room}),a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement(d.ZP,{color:p.Il.DarkGrey,type:d.yG.Small},a.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getShortDescription(!1)||""}}))),!(null!=y&&y.perksHideOnRoomDetail)&&S&&a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement("div",{className:"row"},S.map((function(t,r){return a.createElement("div",{key:r,className:"u-marg-bottom col-6 col-md-4 u-flex align-items-center justify-content-start"},a.createElement("div",{className:"room-perk-icon --has-bg"},t.iconElement?t.iconElement:a.createElement(m.ZP,{icon:t.icon})),a.createElement("div",{className:"u-marg-left--light"},a.createElement(d.ZP,{type:d.yG.Small},null!=t&&t.perkNameRenderer?t.perkNameRenderer({hotel:y,room:e.room}):t.name)))}))),(null==y?void 0:y.perksShowDisclaimer)&&a.createElement("div",{className:"row u-marg-top--lighter"},a.createElement("small",{className:"col-12"},r(i.W.Misc.PerksDisclaimer)))),!(null==R||!R.length)&&a.createElement(a.Fragment,null,a.createElement("div",{className:"u-marg-bottom"},a.createElement(d.ZP,{color:p.Il.Accent,type:d.yG.Small},a.createElement("strong",null,r(i.W.Step.Room.RoomInfo.RoomAmenities)))),a.createElement("div",{className:"row"},R.map((function(e){return a.createElement("div",{key:e.description,className:"col-sm-6 u-marg-bottom--light u-flex justify-content-start"},a.createElement(m.ZP,{icon:m.Tu.Check,color:p.Il.White,backgroundColor:p.Il.Navy,borderRadius:"round",noPadding:!0,size:"16px"}),a.createElement("div",{className:"u-marg-left--light u-flex"},a.createElement(d.ZP,{type:d.yG.Small,inline:!0},e.description)))})))),a.createElement(s.Z,null),a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement(d.ZP,{type:d.yG.Small,color:p.Il.Graphite},a.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()||""}}))),!!N&&a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement(d.ZP,{type:d.yG.Small},a.createElement("strong",null,r(i.W.Step.Room.RoomInfo.Disclaimer))),a.createElement(d.ZP,{type:d.yG.Small},a.createElement("span",{dangerouslySetInnerHTML:{__html:N}})))),a.createElement(v.Z,{featuredRates:e.featuredRates,rates:e.rates,roomCode:e.room.code})))}},9368:function(e,t,r){r.d(t,{F:function(){return P}});var n=r(7462),o=r(5861),a=r(885),l=r(4687),i=r.n(l),c=r(7791),m=r(7484),s=r.n(m),u=r(7294),d=r(7536),f=r(6793),g=r(9478),v=r(9740),p=r(8442),y=r(7933),h=r(4854),E=r(3010),S=r(8886),Z=r(584),b=r(1432),R=r(514),N=r(7754),I=r(6431),P=function(){var e=(0,d.cI)(),t=e.register,r=e.handleSubmit,l=e.formState,m=(0,R.W)().hotel,P=(0,u.useContext)(c.hy),k=(0,f.$)().t,x=(0,u.useState)({}),C=(0,a.Z)(x,2),w=C[0],D=C[1],A=(0,u.useState)(!1),M=(0,a.Z)(A,2),T=M[0],Y=M[1],W=function(){var e=(0,o.Z)(i().mark((function e(t){var r,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return D({}),Y(!0),e.prev=2,r=P.selectedBasketRow,n="",[{name:"Adults",value:r.getAdults()},{name:"Children",value:r.getChildren()},{name:"Infants",value:r.getInfants()},{name:"Promo Code",value:r.getPromoCode()},{name:"Dates range",value:r.getStayDateRange("ddd D MMM YYYY"," till ")},{name:"Date Sent",value:s()().format("dd D MMM YYYY")}].forEach((function(e){var t=e.name,r=e.value;r&&(n+="".concat(t,": ").concat(r,"\n"))})),e.next=8,p.Z.Error.sendRoomFallbackForm(null==m?void 0:m.hotelID,{name:t.name,telephone:t.telephone,email:t.email,searchQuery:n});case 8:D({success:!0}),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),D({success:!1,message:k(g.W.Step.Room.ErrorForm.APIError)});case 14:Y(!1);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})));return function(t){return e.apply(this,arguments)}}();return u.createElement("div",{className:"u-fill-white u-rounded"},u.createElement("div",{className:"row u-pad--heavy"},u.createElement("div",{className:"col-lg-6 d-flex justify-content-center flex-column"},u.createElement("div",{className:"u-marg-bottom--light"},u.createElement(S.ZP,{icon:S.Tu.Error,color:N.Il.Alert,size:"24px"})),u.createElement("div",{className:"u-marg-bottom--light"},u.createElement(E.Z,{bold:!0,color:N.Il.Alert},u.createElement("span",{style:{color:"inherit"},dangerouslySetInnerHTML:{__html:k(g.W.Step.Room.ErrorForm.Title)}}))),u.createElement(Z.ZP,{type:Z.yG.Small},u.createElement("span",{dangerouslySetInnerHTML:{__html:k(g.W.Step.Room.ErrorForm.Description)}}))),u.createElement("div",{className:"col-lg-6"},u.createElement("form",null,u.createElement(v.Z,{open:!!l.errors},Object.values(l.errors).map((function(e,t){return u.createElement(y.ZP,{key:t,type:y.NK.Danger},u.createElement(Z.ZP,{type:Z.yG.Small},null==e?void 0:e.message))}))),u.createElement("div",{className:"u-marg-bottom--light u-marg-top"},u.createElement(b.Z,(0,n.Z)({placeholder:k(g.W.Step.Room.ErrorForm.Inputs.Name)},t("name",{required:{value:!0,message:"".concat(k(g.W.Step.Room.ErrorForm.Inputs.Name)," is a required field")}})))),u.createElement("div",{className:"u-marg-bottom--light"},u.createElement(b.Z,(0,n.Z)({placeholder:k(g.W.Step.Room.ErrorForm.Inputs.Email)},t("email",{required:{value:!0,message:"".concat(k(g.W.Step.Room.ErrorForm.Inputs.Email)," is a required field")},pattern:{value:I.CU,message:"Email must be valid"}})))),u.createElement("div",{className:"u-marg-bottom--light"},u.createElement(b.Z,(0,n.Z)({placeholder:k(g.W.Step.Room.ErrorForm.Inputs.Telephone)},t("telephone",{required:{value:!0,message:"".concat(k(g.W.Step.Room.ErrorForm.Inputs.Telephone)," is a required field")}})))),u.createElement(h.Z,{filled:!0,primary:!0,onClick:r(W),isLoading:T,disabled:T||w.success},k(g.W.Step.Room.ErrorForm.ContactUsButton)),u.createElement(v.Z,{open:!!w.success},u.createElement("div",{className:"u-pad-top"},u.createElement(Z.ZP,{color:N.Il.Success},k(g.W.Step.Room.ErrorForm.ConfirmationMessage)))),u.createElement(v.Z,{open:!1===w.success},u.createElement("div",{className:"u-pad-top"},u.createElement(Z.ZP,{color:N.Il.Alert},w.message)))))))}},2870:function(e,t,r){r.d(t,{y:function(){return a}});var n=r(7791),o=r(7294),a=function(){var e=(0,o.useContext)(n.hy).selectedBasketRow;return o.createElement("script",{type:"application/ld+json"},JSON.stringify({"@context":"https://structured-data.triptease.io","@type":"LodgingSearch",checkinTime:null==e?void 0:e.getStartDate().format("YYYY-M-D"),checkoutTime:null==e?void 0:e.getEndDate().format("YYYY-M-D"),numAdults:null==e?void 0:e.getAdults(),numChildren:null==e?void 0:e.getChildren(),numInfants:null==e?void 0:e.getInfants(),numRooms:"1",offerCode:null==e?void 0:e.getPromoCode()}))}},4101:function(e,t,r){r.d(t,{Z:function(){return W}});var n=r(4942),o=r(885),a=r(7791),l=r(7688),i=r(4184),c=r.n(i),m=r(7294),s=r(6793),u=r(9740),d=r(4854),f=r(858),g=r(3010),v=r(8886),p=r(9874),y=r(6573),h=r(584),E=r(291),S=r(8013),Z=r(292);function b(e){var t,r=(0,m.useContext)(a.g7),n=(0,l.WP)().hotel,i=e.perks,s=r.screenSize<=Z.Z.Large,u=(0,m.useState)(null===(t=i[0])||void 0===t?void 0:t.name),d=(0,o.Z)(u,2),f=d[0],g=d[1],p=c()("room-perk-icon",{"--has-bg":s});return m.createElement(m.Fragment,null,!(null==i||!i.length)&&m.createElement("ul",null,i.map((function(e,t){if(!(s&&t>=4))return m.createElement("li",{key:t,onClick:function(){g(e.name)}},m.createElement("div",{className:p},e.iconElement?e.iconElement:m.createElement(v.ZP,{icon:e.icon})),m.createElement("div",{className:"u-marg-right u-none@l- u-block@m- "+(s&&f!==e.name||r.screenSize===Z.Z.Tiny?"u-none-2":"")},m.createElement(h.xv,{type:h.yG.Small},null!=e&&e.perkNameRenderer?e.perkNameRenderer({hotel:n}):e.name)))}))))}var R=r(7700),N=r(4354),I=r(2458),P=r(9723),k=r(6716),x=r(8361),C=r(3633),w=r(4744),D=r(9478),A=r(7754),M=r(1715),T=r(4544);function Y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function W(e){var t=(0,m.useState)([]),r=(0,o.Z)(t,2),i=r[0],W=r[1],G=(0,m.useState)([]),L=(0,o.Z)(G,2),O=L[0],z=L[1],B=(0,m.useState)(null),F=(0,o.Z)(B,2),j=F[0],_=F[1],H=(0,m.useState)(!1),U=(0,o.Z)(H,2),$=U[0],q=U[1],J=(0,s.$)().t,Q=(0,m.useContext)(a.g7),V=(0,m.useContext)(a.hy),K=(0,m.useContext)(a.Qm),X=(0,l.WP)().hotel,ee=e.room,te=c()("room-details",(0,n.Z)({},"+is-open",j));(0,m.useEffect)((function(){var t;null!==(t=V.selectedBasketRow)&&void 0!==t&&t.getRoom()&&V.selectedBasketRow.getRoom().code===e.room.code&&_(!0),T.ZP.instance.addRoomImpression(ee)}),[V.selectedBasketRow]),(0,m.useEffect)((function(){var e=[],t=[];if(C.Z.isActive()){var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Y(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,l=!0,i=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){i=!0,a=e},f:function(){try{l||null==r.return||r.return()}finally{if(i)throw a}}}}(ee.getRates());try{for(n.s();!(r=n.n()).done;){var o,a,l,i=r.value;(null===(o=i.promoCode)||void 0===o?void 0:o.toLowerCase())===(null===(a=V.selectedBasketRow)||void 0===a||null===(l=a.getPromoCode())||void 0===l?void 0:l.toLowerCase())?t.unshift(i):e.push(i)}}catch(e){n.e(e)}finally{n.f()}t.length>0&&(_(!0),W(t))}else e=ee.getRates();z(e)}),[ee.getRates()]);var re=ee.getShortDescription(),ne=Q.screenSize<=Z.Z.Large,oe=j||Q.screenSize<=Z.Z.Medium&&null===j,ae=Math.round(ee.getLowestPrice(!1,!0)),le=Q.screenSize>Z.Z.Medium&&ae.toLocaleString().length<7?"large":"normal",ie=function(e){return Math.round(M.z7(e,!0,K.currentCurrency,null==X?void 0:X.defaultCurrency))},ce=(0,P.Z)({hideDecimals:!0,children:ae}),me=ce.value,se=ce.isLoading,ue=V.selectedBasketRow,de=(0,k.Z)().hasPricePreview,fe=ee.getRoomPerks({hotel:X,room:ee,perksLimitNumber:5}).roomPerks;return m.createElement("div",{className:"room-details-container ".concat(e.disableMarginBottom?"":"u-marg-bottom")},m.createElement("div",{className:te},m.createElement("div",{className:"room-details--image"},m.createElement(E.Z,{images:e.room.getImages(),imageSize:w.h.Medium})),m.createElement("div",{className:"room-details--content u-pad--heavy u-pad@l-"},m.createElement("div",{className:"u-marg-bottom"},Q.screenSize>Z.Z.Large&&m.createElement(m.Fragment,null,m.createElement("div",{className:"u-marg-bottom"},m.createElement(R.Z,{room:ee,limit:2}))),m.createElement("div",{className:"room-details--content-title u-marg-bottom--light"},m.createElement(g.Z,{bold:!0},ee.name)),m.createElement(S.R,{room:ee}),(null==re?void 0:re.replace(/<br(\/|)>/g,""))&&m.createElement("div",{className:"room-details--content-description u-marg-bottom--light"},m.createElement(h.ZP,{color:A.Il.DarkGrey,type:h.yG.Small},m.createElement("span",{dangerouslySetInnerHTML:{__html:(null==re?void 0:re.replace(/<br(\/|)>/g,""))||""}})))),m.createElement("div",{className:"row"},!(null!=X&&X.perksHideOnRoomRow)&&m.createElement("div",{className:"col-12 u-flex u-marg-bottom@m- flex-column align-items-start"},m.createElement("div",{className:"room-details--content-perks u-marg-bottom@m-"},ne&&m.createElement("div",{className:"u-marg-bottom"},m.createElement(h.ZP,{type:h.yG.Small,bold:!0,color:A.Il.Accent},J(D.W.Misc.Perks.AndYouGetAll))),m.createElement(b,{perks:fe}))),(null==X?void 0:X.showDescriptionOnRoomDetails)&&m.createElement("div",{className:"col-12"},m.createElement(p.Z,{noMargins:!0}),m.createElement("div",{className:"u-marg-top u-text-overflow-ellipsis-3 u-marg-bottom"},m.createElement(h.ZP,{type:h.yG.Small,color:A.Il.Graphite},m.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()||""}})))),m.createElement("div",{className:"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start"},m.createElement(d.Z,{icon:v.Tu.ArrowRight2,isText:!0,primary:!0,size:"tiny",iconPosition:"right",onClick:function(){T.ZP.instance.sendInteraction("More Room Details",T.s_.LINK,T._J.ROOMS),q(!0)}},J(D.W.Step.Room.RoomInfo.MoreDetails))),m.createElement("div",{className:"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end"},m.createElement(h.ZP,{type:h.yG.Small,color:A.Il.Navy,inline:!0},J(D.W.Misc.From)),m.createElement("div",{className:"room-details--content-price flex-row align-items-end"},m.createElement(g.Z,{size:le,bold:!0},m.createElement(f.Z,{hideDecimals:!0},ae)),m.createElement(h.ZP,{color:A.Il.DarkGrey,inline:!0},"/",J(D.W.Misc.Night))),m.createElement(h.ZP,{type:h.yG.Small,color:A.Il.Grey,inline:!0,className:"u-nowrap"},ee.getLowestPriceType()===x.I.IncludingFeesAndTaxes?J(D.W.Step.Room.RoomInfo.IncludesTaxes):J(D.W.Step.Room.ExcludingTaxes)))),m.createElement("div",{className:"u-flex-direction-column u-flex u-flex-align-flex-end u-flex-align-flex-start@m- u-w-100@m-"},!se&&de?m.createElement("div",{className:"u-marg-top--light"},m.createElement(y.C,{price:me,checkin:((null==ue?void 0:ue.getStartDate())||V.endDate).format("YYYY-MM-DD"),currency:K.currentCurrency})):null,m.createElement(d.Z,{className:"u-marg-top--light",name:"ViewRatesNowButton",primary:!0,primaryActive:!!oe,filled:!0,stopIconAnimation:!0,icon:oe?v.Tu.ArrowUp2:v.Tu.ArrowDown2,iconPosition:"right",onClick:function(){oe||T.ZP.instance.sendRoomClick(ee,V.startDate,V.endDate),_(!oe)},wide:Q.screenSize<=Z.Z.Large,textColor:(0,A.pJ)(oe?null==X?void 0:X.colors.accent3:null==X?void 0:X.colors.accent)},J(oe?D.W.Step.Room.RoomInfo.CloseRates:D.W.Step.Room.RoomInfo.ViewRates))))),m.createElement(u.Z,{open:!!oe},m.createElement(N.Z,{roomCode:ee.code,rates:O,featuredRates:i})),m.createElement(I.Z,{open:$,room:e.room,rates:O,featuredRates:i,onClose:function(){q(!1)}}),ee.getRates().map((function(e){return m.createElement("script",{key:ee.code+"-"+e.code,type:"application/ld+json"},JSON.stringify({"@context":"http://schema.org/","@type":"Offer",itemOffered:{"@type":"HotelRoom",name:ee.name},name:e.name,identifier:e.code,priceSpecification:{"@type":"UnitPriceSpecification",price:ie(e.getAveragePrice(!0)),basePrice:ie(e.getTotalPrice(!0)),totalPrice:ie(e.getAveragePrice()),priceCurrency:K.currentCurrency,unitText:"Nightly"}}))})))}},8013:function(e,t,r){r.d(t,{R:function(){return s}});var n=r(7688),o=r(7294),a=r(6793),l=r(8886),i=r(584),c=r(9478),m=r(7754);function s(e){var t,r,s,u,d,f,g,v,p,y,h=(0,n.WP)().hotel,E=(0,a.$)().t,S=null==h||null===(t=h.rooms)||void 0===t?void 0:t[null===(r=e.room)||void 0===r?void 0:r.code],Z=null==h||null===(s=h.rooms)||void 0===s||null===(u=s[null===(d=e.room)||void 0===d?void 0:d.code])||void 0===u?void 0:u.roomSize,b=null==h||null===(f=h.overwrites)||void 0===f||null===(g=f[null===(v=e.room)||void 0===v?void 0:v.code])||void 0===g?void 0:g.RoomDimensions,R=null!=b?b:Z?"".concat(Z," m²"):void 0,N=null!==(p=e.textColor)&&void 0!==p?p:m.Il.DarkGrey,I="".concat((null==S?void 0:S.bedQuantity)>0?null==S?void 0:S.bedQuantity:""," ").concat(null==S?void 0:S.bedType);return null!=S&&null!==(y=S.bedTypeOverride)&&void 0!==y&&y.trim()&&(I=S.bedTypeOverride),o.createElement("ul",{className:"u-inline-flex u-flex-gap u-flex-wrap u-marg-bottom"},o.createElement("li",{className:"u-flex align-items-center"},o.createElement(l.ZP,{icon:l.Tu.People,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:N},E(c.W.Step.Room.Sleeps,{maxOccupancy:null==S?void 0:S.maxOccupancy})))),o.createElement("li",{className:"u-flex align-items-center"},o.createElement(l.ZP,{icon:l.Tu.Bed,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:N},I))),!!R&&o.createElement("li",{className:"u-flex align-items-center"},o.createElement(l.ZP,{icon:l.Tu.RoomSize,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:N},R))))}},9699:function(e,t,r){r.d(t,{i:function(){return c}});var n=r(5671),o=r(3144),a=r(136),l=r(2963),i=r(1120);var c=function(e){(0,a.Z)(m,e);var t,r,c=(t=m,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,n=(0,i.Z)(t);if(r){var o=(0,i.Z)(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return(0,l.Z)(this,e)});function m(e){var t;return(0,n.Z)(this,m),(t=c.call(this)).search=void 0,t.search=e,t}return(0,o.Z)(m,null,[{key:"getLabel",value:function(){return"Search/Guest"}}]),m}(r(7112).x)},9136:function(e,t,r){r.d(t,{w:function(){return f}});var n=r(885),o=r(7791),a=r(9699),l=r(119),i=r(7688),c=r(7484),m=r.n(c),s=r(7294),u=r(4862),d=r(3349),f=function(){var e=(0,i.WP)().hotel,t=(0,s.useContext)(o.Qm),r=(0,s.useContext)(o.g7),c=(0,s.useContext)(o.P0).roomstayMember,f=(0,s.useContext)(o.hy),g=f.attemptSelectUnfilledRow,v=f.selectedBasketRow,p=f.getAllValidRows,y=(0,s.useState)([]),h=(0,n.Z)(y,2),E=h[0],S=h[1],Z=(0,s.useState)(!1),b=(0,n.Z)(Z,2),R=b[0],N=b[1],I=(0,s.useState)(!1),P=(0,n.Z)(I,2),k=P[0],x=P[1],C=(0,s.useState)(null),w=(0,n.Z)(C,2),D=w[0],A=w[1],M=(0,s.useState)(null),T=(0,n.Z)(M,2),Y=T[0],W=T[1],G=null==v?void 0:v.getStartDate(),L=null==v?void 0:v.getEndDate(),O=null==v?void 0:v.getPromoCode(),z=null==v?void 0:v.getAdults(),B=null==v?void 0:v.getChildren(),F=(0,d.o)().memberNumber,j=(0,i.zX)().raise,_=(0,s.useMemo)((function(){var t,r;if(!c||0===(null===(t=c.bookings)||void 0===t?void 0:t.length))return null;var n="";return c.bookings.forEach((function(t){t.hotelId===(null==e?void 0:e.hotelID)&&Object.values(t.itinerary).map((function(e){var t=e.roomCode,o=e.nights,a=Object.keys(o).map(m()),l=m()(Math.max.apply(null,a.map((function(e){return+e}))));r&&!l.isAfter(l)||(r=l,n=t)}))})),E.find((function(e){return e.code===n}))}),[E,c]);return(0,s.useEffect)((function(){var n=!1;try{var o={checkInTime:null==G?void 0:G.format("YYYY-M-D"),checkOutTime:null==L?void 0:L.format("YYYY-M-D"),numAdults:z,numChildren:B,numRooms:1,promoCode:O},i=new a.i(o);j(i);var c=Object.values(r.currentFilters).filter((function(e){return!!e})),m=v;if(m||E.length||(m=g()),!m){var s=p();m=s[s.length-1]}m&&(N(!0),u.Z.getRoomList(m,c,null==e?void 0:e.hotelID,F).then((function(e){if(!n){var r;S(e),A(!!v),W(!1);var a=null!==(r=null==e?void 0:e.map((function(e){var r,n;return{name:e.name,code:e.code,lowestPrice:e.getLowestPrice(),highestPrice:e.getHighestPrice(),currency:t.currentCurrency,rates:null!==(r=null===(n=e.getRates())||void 0===n?void 0:n.map((function(e){return{name:e.name,code:e.code,price:{averagePrice:e.getAveragePrice(),totalPrice:e.getTotalPrice(),currency:t.currentCurrency}}})))&&void 0!==r?r:[]}})))&&void 0!==r?r:[],i=new l.j(o,a);j(i)}})).catch((function(){n||(S([]),A(null),W(!0))})).finally((function(){x(!0),N(!1)})))}catch(e){}return function(){N(!1),n=!0}}),[z,B,G,L,O,t.currentLanguage,r.currentFilters,null==v?void 0:v.getStale(),F]),{loadingAttempted:k,isLoading:R,rooms:E,openRoom:D,apiHasError:Y,retargetingRoom:_}}},4862:function(e,t,r){r.d(t,{Z:function(){return s}});var n=r(5861),o=r(3144),a=r(5671),l=r(4687),i=r.n(l),c=r(8442);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var s=(0,o.Z)((function e(){(0,a.Z)(this,e)}));s.getRoomList=function(){var e=(0,n.Z)(i().mark((function e(t,r,n,o){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=s,e.next=3,s.getUnfilteredRoomList(t,n,o);case 3:return e.t1=e.sent,e.t2=r,e.abrupt("return",e.t0.filterRooms.call(e.t0,e.t1,e.t2));case 6:case"end":return e.stop()}}),e)})));return function(t,r,n,o){return e.apply(this,arguments)}}(),s.filterRooms=function(e,t){var r=[];return e.forEach((function(e){var n=e;n.filteredRates=e.getOriginalRates();var o,a=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?m(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,l=!0,i=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){i=!0,a=e},f:function(){try{l||null==r.return||r.return()}finally{if(i)throw a}}}}(t);try{for(a.s();!(o=a.n()).done;){var l=o.value;if(l&&!(n=l.check(e)))break}}catch(e){a.e(e)}finally{a.f()}n&&r.push(n)})),r.filter((function(e){var t;return!(null===(t=e.filteredRates)||void 0===t||!t.length)}))},s.getUnfilteredRoomList=function(){var e=(0,n.Z)(i().mark((function e(t,r,n){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",c.Z.Availability.fetchAvailabilityData(t,r,n));case 1:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}()}}]);
1
+ "use strict";(("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[537],{2258:function(e,t,r){r.d(t,{Z:function(){return E}});var n=r(885),o=r(4385),a=r(7294),l=r(6793),i=r(9478),c=r(1126),m=r(8442),s=r(858),u=r(3010),d=r(8886),f=r(4485),g=r(584),v=r(9182),p=r(4744),y=r(7754),h=r(292);function E(e){var t=(0,l.$)().t,r=(0,a.useContext)(o.g7),E=(0,a.useContext)(o.hy),S=(0,a.useState)(!1),Z=(0,n.Z)(S,2),b=Z[0],R=Z[1],N=(0,a.useState)(!0),I=(0,n.Z)(N,2),P=I[0],k=I[1],x=(0,a.useState)(!0),C=(0,n.Z)(x,2),w=C[0],D=C[1],A=(0,a.useState)(""),M=(0,n.Z)(A,2),T=M[0],Y=M[1],W=(0,a.useState)(""),G=(0,n.Z)(W,2),L=G[0],O=G[1],z=(0,a.useState)(""),B=(0,n.Z)(z,2),F=B[0],j=B[1],_=(0,a.useState)(""),H=(0,n.Z)(_,2),U=H[0],$=H[1],q=(0,a.useState)([]),J=(0,n.Z)(q,2),Q=J[0],V=J[1],K=(0,v.b)().memberNumber;return(0,a.useEffect)((function(){var t=E.selectedBasketRow;t&&m.Z.Availability.getCheapestPricePerDay(t.getStartDate(),t.getEndDate(),t.getAdults(),t.getChildren(),t.getInfants(),t.getPromoCode(),e.hotelId,K,!0).catch().then((function(r){if(r){for(var n=!0,o=t.getStartDate();o.isBefore(t.getEndDate(),"day");o=o.add(1,"day"))if(!r[o.format(c.yJ)]){n=!1;break}if(R(n),k(!0),n){D(!0);var a=m.Z.Availability.getCrossSellHotelInfo(e.hotelId);O(a.name),Y(a.image),j(a.description);var l=["arrive="+t.getStartDate().format("YYYY-M-D"),"depart="+t.getEndDate().format("YYYY-M-D")];t.getAdults()>1&&l.push("adults="+t.getAdults()),t.getChildren()>0&&l.push("children="+t.getChildren()),t.getInfants()>0&&l.push("infants="+t.getInfants()),t.getPromoCode()&&l.push("promocode="+t.getPromoCode()),$(a.checkoutUrl+"#/step/room/?"+l.join("&")),m.Z.Availability.fetchAvailabilityData(t,e.hotelId,K).catch((function(e){return[]})).then((function(e){null!=e&&e.length?(V(e),D(!1)):(k(!1),D(!1))}))}}}))}),[E.selectedBasketRow]),b?a.createElement("div",{className:"u-marg-top--heavy u-marg-bottom"},a.createElement("div",{className:"cross-sell-module"},a.createElement("div",{className:"cross-sell-module--image",style:{backgroundImage:"url('".concat(p.Z.resizeImage(T,p.h.Original),"')")}}),a.createElement("div",{className:"cross-sell-module--content u-pad--heavy u-pad@m-"},a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement("div",{className:"cross-sell-module--content-title u-marg-bottom--light"},a.createElement(u.Z,{bold:!0,size:P?"large":"normal"},t(w?i.W.Step.Room.CrossSellBlock.AvailabilityNearBy1:P?i.W.Step.Room.CrossSellBlock.AvailabilityNearBy2:i.W.Step.Room.CrossSellBlock.DateUnavailable))),P&&a.createElement("div",{className:"cross-sell-module--content-description u-marg-bottom--light"},a.createElement(g.ZP,{color:y.Il.DarkGrey,type:g.yG.Body},a.createElement("strong",{style:{color:y.Il.Accent}},L),a.createElement("div",{dangerouslySetInnerHTML:{__html:F}})))),w?a.createElement(f.Z,null):a.createElement(a.Fragment,null,Q.slice(0,4).map((function(e,r){var n=U+"&room="+e.code,o="u-flex align-items-end";return r<Q.length-1&&(o+=" u-pad-bottom u-border-bottom u-marg-bottom"),a.createElement("a",{key:e.code,className:o,href:n,target:"_blank",rel:"noreferrer"},a.createElement("div",{className:"u-flex flex-column align-items-start justify-content-start"},a.createElement(g.ZP,{type:g.yG.Body,color:y.Il.Accent,bold:!0},e.name),a.createElement(g.ZP,{type:g.yG.Small,color:y.Il.DarkGrey},t(i.W.Step.Room.Sleeps,{maxOccupancy:e.occupancy}))),a.createElement("div",{className:"u-flex flex-column align-items-end align-items-md-end"},a.createElement(g.ZP,{type:g.yG.Small,color:y.Il.DarkGrey,inline:!0},t(i.W.Misc.From)),a.createElement(g.ZP,{type:g.yG.Body,color:y.Il.Accent,bold:!0},a.createElement(s.Z,null,e.getLowestPrice(!0)))))}))),P&&a.createElement("div",{className:"u-marg-top--light u-flex justify-content-start u-w-100@m- u-marg-top--heavy"},a.createElement("a",{className:"link-button --primary --filled --success --icon-right --normal"+(r.screenSize<=h.Z.Medium?" --wide":""),tabIndex:0,type:"button",href:U,target:"_blank",rel:"noreferrer"},a.createElement("span",null,"See all ",Q.length," rooms",a.createElement(d.ZP,{icon:d.Tu.ArrowRight,size:"1em"}))))))):null}},2458:function(e,t,r){r.d(t,{Z:function(){return y}});var n=r(2982),o=r(7688),a=r(7294),l=r(6793),i=r(9478),c=r(3010),m=r(8886),s=r(9874),u=r(5128),d=r(584),f=r(291),g=r(8013),v=r(4354),p=r(7754);function y(e){var t,r=(0,l.$)().t,y=(0,o.WP)().hotel,h=y.rooms,E=e.room.getRoomPerks({hotel:y,room:e.room}),S=E.roomPerks,Z=E.prePerkDisclaimer,b=null==h?void 0:h[e.room.code],R=null!=b&&b.amenities?(0,n.Z)(b.amenities):[];null!=b&&null!==(t=b.features)&&void 0!==t&&t.length&&b.features.forEach((function(e){R.push(e)}));var N=(null==Z?void 0:Z.replace(/<br(\/|)>/g,""))||"";return a.createElement(u.Z,{title:e.room.name+" "+r(i.W.Step.Room.RoomInfo.Information),open:e.open,size:u.g.Small,onClose:e.onClose},a.createElement("div",null,a.createElement("div",{style:{height:"350px"}},a.createElement(f.Z,{images:e.room.getImages()})),a.createElement("div",{className:"u-marg-heavy u-marg@m-"},a.createElement("div",{className:"u-marg-bottom--light"},a.createElement(c.Z,{bold:!0,size:"large"},e.room.name)),a.createElement(g.R,{room:e.room}),a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement(d.ZP,{color:p.Il.DarkGrey,type:d.yG.Small},a.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getShortDescription(!1)||""}}))),!(null!=y&&y.perksHideOnRoomDetail)&&S&&a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement("div",{className:"row"},S.map((function(t,r){return a.createElement("div",{key:r,className:"u-marg-bottom col-6 col-md-4 u-flex align-items-center justify-content-start"},a.createElement("div",{className:"room-perk-icon --has-bg"},t.iconElement?t.iconElement:a.createElement(m.ZP,{icon:t.icon})),a.createElement("div",{className:"u-marg-left--light"},a.createElement(d.ZP,{type:d.yG.Small},null!=t&&t.perkNameRenderer?t.perkNameRenderer({hotel:y,room:e.room}):t.name)))}))),(null==y?void 0:y.perksShowDisclaimer)&&a.createElement("div",{className:"row u-marg-top--lighter"},a.createElement("small",{className:"col-12"},r(i.W.Misc.PerksDisclaimer)))),!(null==R||!R.length)&&a.createElement(a.Fragment,null,a.createElement("div",{className:"u-marg-bottom"},a.createElement(d.ZP,{color:p.Il.Accent,type:d.yG.Small},a.createElement("strong",null,r(i.W.Step.Room.RoomInfo.RoomAmenities)))),a.createElement("div",{className:"row"},R.map((function(e){return a.createElement("div",{key:e.description,className:"col-sm-6 u-marg-bottom--light u-flex justify-content-start"},a.createElement(m.ZP,{icon:m.Tu.Check,color:p.Il.White,backgroundColor:p.Il.Navy,borderRadius:"round",noPadding:!0,size:"16px"}),a.createElement("div",{className:"u-marg-left--light u-flex"},a.createElement(d.ZP,{type:d.yG.Small,inline:!0},e.description)))})))),a.createElement(s.Z,null),a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement(d.ZP,{type:d.yG.Small,color:p.Il.Graphite},a.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()||""}}))),!!N&&a.createElement("div",{className:"u-marg-bottom--heavy"},a.createElement(d.ZP,{type:d.yG.Small},a.createElement("strong",null,r(i.W.Step.Room.RoomInfo.Disclaimer))),a.createElement(d.ZP,{type:d.yG.Small},a.createElement("span",{dangerouslySetInnerHTML:{__html:N}})))),a.createElement(v.Z,{featuredRates:e.featuredRates,rates:e.rates,roomCode:e.room.code})))}},9368:function(e,t,r){r.d(t,{F:function(){return P}});var n=r(7462),o=r(5861),a=r(885),l=r(4687),i=r.n(l),c=r(4385),m=r(7484),s=r.n(m),u=r(7294),d=r(7536),f=r(6793),g=r(9478),v=r(9740),p=r(8442),y=r(7933),h=r(4854),E=r(3010),S=r(8886),Z=r(584),b=r(1432),R=r(514),N=r(7754),I=r(6431),P=function(){var e=(0,d.cI)(),t=e.register,r=e.handleSubmit,l=e.formState,m=(0,R.W)().hotel,P=(0,u.useContext)(c.hy),k=(0,f.$)().t,x=(0,u.useState)({}),C=(0,a.Z)(x,2),w=C[0],D=C[1],A=(0,u.useState)(!1),M=(0,a.Z)(A,2),T=M[0],Y=M[1],W=function(){var e=(0,o.Z)(i().mark((function e(t){var r,n;return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return D({}),Y(!0),e.prev=2,r=P.selectedBasketRow,n="",[{name:"Adults",value:r.getAdults()},{name:"Children",value:r.getChildren()},{name:"Infants",value:r.getInfants()},{name:"Promo Code",value:r.getPromoCode()},{name:"Dates range",value:r.getStayDateRange("ddd D MMM YYYY"," till ")},{name:"Date Sent",value:s()().format("dd D MMM YYYY")}].forEach((function(e){var t=e.name,r=e.value;r&&(n+="".concat(t,": ").concat(r,"\n"))})),e.next=8,p.Z.Error.sendRoomFallbackForm(null==m?void 0:m.hotelID,{name:t.name,telephone:t.telephone,email:t.email,searchQuery:n});case 8:D({success:!0}),e.next=14;break;case 11:e.prev=11,e.t0=e.catch(2),D({success:!1,message:k(g.W.Step.Room.ErrorForm.APIError)});case 14:Y(!1);case 15:case"end":return e.stop()}}),e,null,[[2,11]])})));return function(t){return e.apply(this,arguments)}}();return u.createElement("div",{className:"u-fill-white u-rounded"},u.createElement("div",{className:"row u-pad--heavy"},u.createElement("div",{className:"col-lg-6 d-flex justify-content-center flex-column"},u.createElement("div",{className:"u-marg-bottom--light"},u.createElement(S.ZP,{icon:S.Tu.Error,color:N.Il.Alert,size:"24px"})),u.createElement("div",{className:"u-marg-bottom--light"},u.createElement(E.Z,{bold:!0,color:N.Il.Alert},u.createElement("span",{style:{color:"inherit"},dangerouslySetInnerHTML:{__html:k(g.W.Step.Room.ErrorForm.Title)}}))),u.createElement(Z.ZP,{type:Z.yG.Small},u.createElement("span",{dangerouslySetInnerHTML:{__html:k(g.W.Step.Room.ErrorForm.Description)}}))),u.createElement("div",{className:"col-lg-6"},u.createElement("form",null,u.createElement(v.Z,{open:!!l.errors},Object.values(l.errors).map((function(e,t){return u.createElement(y.ZP,{key:t,type:y.NK.Danger},u.createElement(Z.ZP,{type:Z.yG.Small},null==e?void 0:e.message))}))),u.createElement("div",{className:"u-marg-bottom--light u-marg-top"},u.createElement(b.Z,(0,n.Z)({placeholder:k(g.W.Step.Room.ErrorForm.Inputs.Name)},t("name",{required:{value:!0,message:"".concat(k(g.W.Step.Room.ErrorForm.Inputs.Name)," is a required field")}})))),u.createElement("div",{className:"u-marg-bottom--light"},u.createElement(b.Z,(0,n.Z)({placeholder:k(g.W.Step.Room.ErrorForm.Inputs.Email)},t("email",{required:{value:!0,message:"".concat(k(g.W.Step.Room.ErrorForm.Inputs.Email)," is a required field")},pattern:{value:I.CU,message:"Email must be valid"}})))),u.createElement("div",{className:"u-marg-bottom--light"},u.createElement(b.Z,(0,n.Z)({placeholder:k(g.W.Step.Room.ErrorForm.Inputs.Telephone)},t("telephone",{required:{value:!0,message:"".concat(k(g.W.Step.Room.ErrorForm.Inputs.Telephone)," is a required field")}})))),u.createElement(h.Z,{filled:!0,primary:!0,onClick:r(W),isLoading:T,disabled:T||w.success},k(g.W.Step.Room.ErrorForm.ContactUsButton)),u.createElement(v.Z,{open:!!w.success},u.createElement("div",{className:"u-pad-top"},u.createElement(Z.ZP,{color:N.Il.Success},k(g.W.Step.Room.ErrorForm.ConfirmationMessage)))),u.createElement(v.Z,{open:!1===w.success},u.createElement("div",{className:"u-pad-top"},u.createElement(Z.ZP,{color:N.Il.Alert},w.message)))))))}},2870:function(e,t,r){r.d(t,{y:function(){return a}});var n=r(4385),o=r(7294),a=function(){var e=(0,o.useContext)(n.hy).selectedBasketRow;return o.createElement("script",{type:"application/ld+json"},JSON.stringify({"@context":"https://structured-data.triptease.io","@type":"LodgingSearch",checkinTime:null==e?void 0:e.getStartDate().format("YYYY-M-D"),checkoutTime:null==e?void 0:e.getEndDate().format("YYYY-M-D"),numAdults:null==e?void 0:e.getAdults(),numChildren:null==e?void 0:e.getChildren(),numInfants:null==e?void 0:e.getInfants(),numRooms:"1",offerCode:null==e?void 0:e.getPromoCode()}))}},4101:function(e,t,r){r.d(t,{Z:function(){return W}});var n=r(4942),o=r(885),a=r(4385),l=r(7688),i=r(4184),c=r.n(i),m=r(7294),s=r(6793),u=r(9740),d=r(4854),f=r(858),g=r(3010),v=r(8886),p=r(9874),y=r(6573),h=r(584),E=r(291),S=r(8013),Z=r(292);function b(e){var t,r=(0,m.useContext)(a.g7),n=(0,l.WP)().hotel,i=e.perks,s=r.screenSize<=Z.Z.Large,u=(0,m.useState)(null===(t=i[0])||void 0===t?void 0:t.name),d=(0,o.Z)(u,2),f=d[0],g=d[1],p=c()("room-perk-icon",{"--has-bg":s});return m.createElement(m.Fragment,null,!(null==i||!i.length)&&m.createElement("ul",null,i.map((function(e,t){if(!(s&&t>=4))return m.createElement("li",{key:t,onClick:function(){g(e.name)}},m.createElement("div",{className:p},e.iconElement?e.iconElement:m.createElement(v.ZP,{icon:e.icon})),m.createElement("div",{className:"u-marg-right u-none@l- u-block@m- "+(s&&f!==e.name||r.screenSize===Z.Z.Tiny?"u-none-2":"")},m.createElement(h.xv,{type:h.yG.Small},null!=e&&e.perkNameRenderer?e.perkNameRenderer({hotel:n}):e.name)))}))))}var R=r(7700),N=r(4354),I=r(2458),P=r(9723),k=r(6716),x=r(8361),C=r(3633),w=r(4744),D=r(9478),A=r(7754),M=r(1715),T=r(4544);function Y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function W(e){var t=(0,m.useState)([]),r=(0,o.Z)(t,2),i=r[0],W=r[1],G=(0,m.useState)([]),L=(0,o.Z)(G,2),O=L[0],z=L[1],B=(0,m.useState)(null),F=(0,o.Z)(B,2),j=F[0],_=F[1],H=(0,m.useState)(!1),U=(0,o.Z)(H,2),$=U[0],q=U[1],J=(0,s.$)().t,Q=(0,m.useContext)(a.g7),V=(0,m.useContext)(a.hy),K=(0,m.useContext)(a.Qm),X=(0,l.WP)().hotel,ee=e.room,te=c()("room-details",(0,n.Z)({},"+is-open",j));(0,m.useEffect)((function(){var t;null!==(t=V.selectedBasketRow)&&void 0!==t&&t.getRoom()&&V.selectedBasketRow.getRoom().code===e.room.code&&_(!0),T.ZP.instance.addRoomImpression(ee)}),[V.selectedBasketRow]),(0,m.useEffect)((function(){var e=[],t=[];if(C.Z.isActive()){var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return Y(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Y(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,l=!0,i=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){i=!0,a=e},f:function(){try{l||null==r.return||r.return()}finally{if(i)throw a}}}}(ee.getRates());try{for(n.s();!(r=n.n()).done;){var o,a,l,i=r.value;(null===(o=i.promoCode)||void 0===o?void 0:o.toLowerCase())===(null===(a=V.selectedBasketRow)||void 0===a||null===(l=a.getPromoCode())||void 0===l?void 0:l.toLowerCase())?t.unshift(i):e.push(i)}}catch(e){n.e(e)}finally{n.f()}t.length>0&&(_(!0),W(t))}else e=ee.getRates();z(e)}),[ee.getRates()]);var re=ee.getShortDescription(),ne=Q.screenSize<=Z.Z.Large,oe=j||Q.screenSize<=Z.Z.Medium&&null===j,ae=Math.round(ee.getLowestPrice(!1,!0)),le=Q.screenSize>Z.Z.Medium&&ae.toLocaleString().length<7?"large":"normal",ie=function(e){return Math.round(M.z7(e,!0,K.currentCurrency,null==X?void 0:X.defaultCurrency))},ce=(0,P.Z)({hideDecimals:!0,children:ae}),me=ce.value,se=ce.isLoading,ue=V.selectedBasketRow,de=(0,k.Z)().hasPricePreview,fe=ee.getRoomPerks({hotel:X,room:ee,perksLimitNumber:5}).roomPerks;return m.createElement("div",{className:"room-details-container ".concat(e.disableMarginBottom?"":"u-marg-bottom")},m.createElement("div",{className:te},m.createElement("div",{className:"room-details--image"},m.createElement(E.Z,{images:e.room.getImages(),imageSize:w.h.Medium})),m.createElement("div",{className:"room-details--content u-pad--heavy u-pad@l-"},m.createElement("div",{className:"u-marg-bottom"},Q.screenSize>Z.Z.Large&&m.createElement(m.Fragment,null,m.createElement("div",{className:"u-marg-bottom"},m.createElement(R.Z,{room:ee,limit:2}))),m.createElement("div",{className:"room-details--content-title u-marg-bottom--light"},m.createElement(g.Z,{bold:!0},ee.name)),m.createElement(S.R,{room:ee}),(null==re?void 0:re.replace(/<br(\/|)>/g,""))&&m.createElement("div",{className:"room-details--content-description u-marg-bottom--light"},m.createElement(h.ZP,{color:A.Il.DarkGrey,type:h.yG.Small},m.createElement("span",{dangerouslySetInnerHTML:{__html:(null==re?void 0:re.replace(/<br(\/|)>/g,""))||""}})))),m.createElement("div",{className:"row"},!(null!=X&&X.perksHideOnRoomRow)&&m.createElement("div",{className:"col-12 u-flex u-marg-bottom@m- flex-column align-items-start"},m.createElement("div",{className:"room-details--content-perks u-marg-bottom@m-"},ne&&m.createElement("div",{className:"u-marg-bottom"},m.createElement(h.ZP,{type:h.yG.Small,bold:!0,color:A.Il.Accent},J(D.W.Misc.Perks.AndYouGetAll))),m.createElement(b,{perks:fe}))),(null==X?void 0:X.showDescriptionOnRoomDetails)&&m.createElement("div",{className:"col-12"},m.createElement(p.Z,{noMargins:!0}),m.createElement("div",{className:"u-marg-top u-text-overflow-ellipsis-3 u-marg-bottom"},m.createElement(h.ZP,{type:h.yG.Small,color:A.Il.Graphite},m.createElement("span",{dangerouslySetInnerHTML:{__html:e.room.getLongDescription()||""}})))),m.createElement("div",{className:"col-md-6 u-flex u-marg-bottom@m- flex-column align-items-start"},m.createElement(d.Z,{icon:v.Tu.ArrowRight2,isText:!0,primary:!0,size:"tiny",iconPosition:"right",onClick:function(){T.ZP.instance.sendInteraction("More Room Details",T.s_.LINK,T._J.ROOMS),q(!0)}},J(D.W.Step.Room.RoomInfo.MoreDetails))),m.createElement("div",{className:"col-md-6 u-flex justify-content-end flex-column align-items-start align-items-md-end"},m.createElement(h.ZP,{type:h.yG.Small,color:A.Il.Navy,inline:!0},J(D.W.Misc.From)),m.createElement("div",{className:"room-details--content-price flex-row align-items-end"},m.createElement(g.Z,{size:le,bold:!0},m.createElement(f.Z,{hideDecimals:!0},ae)),m.createElement(h.ZP,{color:A.Il.DarkGrey,inline:!0},"/",J(D.W.Misc.Night))),m.createElement(h.ZP,{type:h.yG.Small,color:A.Il.Grey,inline:!0,className:"u-nowrap"},ee.getLowestPriceType()===x.I.IncludingFeesAndTaxes?J(D.W.Step.Room.RoomInfo.IncludesTaxes):J(D.W.Step.Room.ExcludingTaxes)))),m.createElement("div",{className:"u-flex-direction-column u-flex u-flex-align-flex-end u-flex-align-flex-start@m- u-w-100@m-"},!se&&de?m.createElement("div",{className:"u-marg-top--light"},m.createElement(y.C,{price:me,checkin:((null==ue?void 0:ue.getStartDate())||V.endDate).format("YYYY-MM-DD"),currency:K.currentCurrency})):null,m.createElement(d.Z,{className:"u-marg-top--light",name:"ViewRatesNowButton",primary:!0,primaryActive:!!oe,filled:!0,stopIconAnimation:!0,icon:oe?v.Tu.ArrowUp2:v.Tu.ArrowDown2,iconPosition:"right",onClick:function(){oe||T.ZP.instance.sendRoomClick(ee,V.startDate,V.endDate),_(!oe)},wide:Q.screenSize<=Z.Z.Large,textColor:(0,A.pJ)(oe?null==X?void 0:X.colors.accent3:null==X?void 0:X.colors.accent)},J(oe?D.W.Step.Room.RoomInfo.CloseRates:D.W.Step.Room.RoomInfo.ViewRates))))),m.createElement(u.Z,{open:!!oe},m.createElement(N.Z,{roomCode:ee.code,rates:O,featuredRates:i})),m.createElement(I.Z,{open:$,room:e.room,rates:O,featuredRates:i,onClose:function(){q(!1)}}),ee.getRates().map((function(e){return m.createElement("script",{key:ee.code+"-"+e.code,type:"application/ld+json"},JSON.stringify({"@context":"http://schema.org/","@type":"Offer",itemOffered:{"@type":"HotelRoom",name:ee.name},name:e.name,identifier:e.code,priceSpecification:{"@type":"UnitPriceSpecification",price:ie(e.getAveragePrice(!0)),basePrice:ie(e.getTotalPrice(!0)),totalPrice:ie(e.getAveragePrice()),priceCurrency:K.currentCurrency,unitText:"Nightly"}}))})))}},8013:function(e,t,r){r.d(t,{R:function(){return s}});var n=r(7688),o=r(7294),a=r(6793),l=r(8886),i=r(584),c=r(9478),m=r(7754);function s(e){var t,r,s,u,d,f,g,v,p,y,h=(0,n.WP)().hotel,E=(0,a.$)().t,S=null==h||null===(t=h.rooms)||void 0===t?void 0:t[null===(r=e.room)||void 0===r?void 0:r.code],Z=null==h||null===(s=h.rooms)||void 0===s||null===(u=s[null===(d=e.room)||void 0===d?void 0:d.code])||void 0===u?void 0:u.roomSize,b=null==h||null===(f=h.overwrites)||void 0===f||null===(g=f[null===(v=e.room)||void 0===v?void 0:v.code])||void 0===g?void 0:g.RoomDimensions,R=null!=b?b:Z?"".concat(Z," m²"):void 0,N=null!==(p=e.textColor)&&void 0!==p?p:m.Il.DarkGrey,I="".concat((null==S?void 0:S.bedQuantity)>0?null==S?void 0:S.bedQuantity:""," ").concat(null==S?void 0:S.bedType);return null!=S&&null!==(y=S.bedTypeOverride)&&void 0!==y&&y.trim()&&(I=S.bedTypeOverride),o.createElement("ul",{className:"u-inline-flex u-flex-gap u-flex-wrap u-marg-bottom"},o.createElement("li",{className:"u-flex align-items-center"},o.createElement(l.ZP,{icon:l.Tu.People,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:N},E(c.W.Step.Room.Sleeps,{maxOccupancy:null==S?void 0:S.maxOccupancy})))),o.createElement("li",{className:"u-flex align-items-center"},o.createElement(l.ZP,{icon:l.Tu.Bed,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:N},I))),!!R&&o.createElement("li",{className:"u-flex align-items-center"},o.createElement(l.ZP,{icon:l.Tu.RoomSize,size:"24px",color:m.Il.Navy}),o.createElement("div",{className:"u-pad-left--light"},o.createElement(i.xv,{type:i.yG.Small,inline:!0,color:N},R))))}},9699:function(e,t,r){r.d(t,{i:function(){return c}});var n=r(5671),o=r(3144),a=r(136),l=r(2963),i=r(1120);var c=function(e){(0,a.Z)(m,e);var t,r,c=(t=m,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,n=(0,i.Z)(t);if(r){var o=(0,i.Z)(this).constructor;e=Reflect.construct(n,arguments,o)}else e=n.apply(this,arguments);return(0,l.Z)(this,e)});function m(e){var t;return(0,n.Z)(this,m),(t=c.call(this)).search=void 0,t.search=e,t}return(0,o.Z)(m,null,[{key:"getLabel",value:function(){return"Search/Guest"}}]),m}(r(7112).x)},9136:function(e,t,r){r.d(t,{w:function(){return f}});var n=r(885),o=r(4385),a=r(9699),l=r(119),i=r(7688),c=r(7484),m=r.n(c),s=r(7294),u=r(4862),d=r(9182),f=function(){var e=(0,i.WP)().hotel,t=(0,s.useContext)(o.Qm),r=(0,s.useContext)(o.g7),c=(0,s.useContext)(o.P0).roomstayMember,f=(0,s.useContext)(o.hy),g=f.attemptSelectUnfilledRow,v=f.selectedBasketRow,p=f.getAllValidRows,y=(0,s.useState)([]),h=(0,n.Z)(y,2),E=h[0],S=h[1],Z=(0,s.useState)(!1),b=(0,n.Z)(Z,2),R=b[0],N=b[1],I=(0,s.useState)(!1),P=(0,n.Z)(I,2),k=P[0],x=P[1],C=(0,s.useState)(null),w=(0,n.Z)(C,2),D=w[0],A=w[1],M=(0,s.useState)(null),T=(0,n.Z)(M,2),Y=T[0],W=T[1],G=null==v?void 0:v.getStartDate(),L=null==v?void 0:v.getEndDate(),O=null==v?void 0:v.getPromoCode(),z=null==v?void 0:v.getAdults(),B=null==v?void 0:v.getChildren(),F=(0,d.b)().memberNumber,j=(0,i.zX)().raise,_=(0,s.useMemo)((function(){var t,r;if(!c||0===(null===(t=c.bookings)||void 0===t?void 0:t.length))return null;var n="";return c.bookings.forEach((function(t){t.hotelId===(null==e?void 0:e.hotelID)&&Object.values(t.itinerary).map((function(e){var t=e.roomCode,o=e.nights,a=Object.keys(o).map(m()),l=m()(Math.max.apply(null,a.map((function(e){return+e}))));r&&!l.isAfter(l)||(r=l,n=t)}))})),E.find((function(e){return e.code===n}))}),[E,c]);return(0,s.useEffect)((function(){var n=!1;try{var o={checkInTime:null==G?void 0:G.format("YYYY-M-D"),checkOutTime:null==L?void 0:L.format("YYYY-M-D"),numAdults:z,numChildren:B,numRooms:1,promoCode:O},i=new a.i(o);j(i);var c=Object.values(r.currentFilters).filter((function(e){return!!e})),m=v;if(m||E.length||(m=g()),!m){var s=p();m=s[s.length-1]}m&&(N(!0),u.Z.getRoomList(m,c,null==e?void 0:e.hotelID,F).then((function(e){if(!n){var r;S(e),A(!!v),W(!1);var a=null!==(r=null==e?void 0:e.map((function(e){var r,n;return{name:e.name,code:e.code,lowestPrice:e.getLowestPrice(),highestPrice:e.getHighestPrice(),currency:t.currentCurrency,rates:null!==(r=null===(n=e.getRates())||void 0===n?void 0:n.map((function(e){return{name:e.name,code:e.code,price:{averagePrice:e.getAveragePrice(),totalPrice:e.getTotalPrice(),currency:t.currentCurrency}}})))&&void 0!==r?r:[]}})))&&void 0!==r?r:[],i=new l.j(o,a);j(i)}})).catch((function(){n||(S([]),A(null),W(!0))})).finally((function(){x(!0),N(!1)})))}catch(e){}return function(){N(!1),n=!0}}),[z,B,G,L,O,t.currentLanguage,r.currentFilters,null==v?void 0:v.getStale(),F]),{loadingAttempted:k,isLoading:R,rooms:E,openRoom:D,apiHasError:Y,retargetingRoom:_}}},4862:function(e,t,r){r.d(t,{Z:function(){return s}});var n=r(5861),o=r(3144),a=r(5671),l=r(4687),i=r.n(l),c=r(8442);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var s=(0,o.Z)((function e(){(0,a.Z)(this,e)}));s.getRoomList=function(){var e=(0,n.Z)(i().mark((function e(t,r,n,o){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=s,e.next=3,s.getUnfilteredRoomList(t,n,o);case 3:return e.t1=e.sent,e.t2=r,e.abrupt("return",e.t0.filterRooms.call(e.t0,e.t1,e.t2));case 6:case"end":return e.stop()}}),e)})));return function(t,r,n,o){return e.apply(this,arguments)}}(),s.filterRooms=function(e,t){var r=[];return e.forEach((function(e){var n=e;n.filteredRates=e.getOriginalRates();var o,a=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return m(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?m(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,l=!0,i=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){i=!0,a=e},f:function(){try{l||null==r.return||r.return()}finally{if(i)throw a}}}}(t);try{for(a.s();!(o=a.n()).done;){var l=o.value;if(l&&!(n=l.check(e)))break}}catch(e){a.e(e)}finally{a.f()}n&&r.push(n)})),r.filter((function(e){var t;return!(null===(t=e.filteredRates)||void 0===t||!t.length)}))},s.getUnfilteredRoomList=function(){var e=(0,n.Z)(i().mark((function e(t,r,n){return i().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",c.Z.Availability.fetchAvailabilityData(t,r,n));case 1:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}()}}]);