@roomstay/frontend 2.3.12 → 2.3.13-1

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.
@@ -1 +1 @@
1
- (("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[213],{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)},2213:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return ft}});var r=n(360),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),C=n(8144),y=n(7582),h=n(3460),E=n(9740),b=n(8442),_=n(8886),x=n(7832),k=n(584),Z=n(4184),P=n.n(Z),S=n(4744),w=n(7754);function N(e){var t=e.addon,n=(0,c.$)().t;return i.createElement("div",{className:P()("additional-offers--column",{"--selected":e.selected}),style:{backgroundImage:"url('".concat(t.image&&S.Z.resizeImage(t.image,S.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:w.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:w.Il.White},n(u.W.Misc.SeeDetails)),i.createElement(_.ZP,{icon:_.Tu.ArrowRight,color:w.Il.White}))))}var R=n(4854),I=n(858),B=n(5128),W=n(6380),M=n(3351);function D(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}),C=(0,g.Z)(A,2),y=C[0],h=C[1],E=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),b=(0,g.Z)(E,2),_=b[0],x=b[1],Z=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),P=(0,g.Z)(Z,2),N=P[0],D=P[1],T=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),G=(0,g.Z)(T,2),O=G[0],U=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()),D(e.basketAddonRow.getAdultQuantity()),U(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),D(1),U(0)}}),[n]),i.createElement(B.Z,{open:e.isOpen,onClose:e.onClose,size:B.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&&S.Z.resizeImage(n.image,S.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:w.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(M.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==y||null===(t=y.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(M.P,{nativeOnMobile:!0,options:(null==y?void 0:y.selectorTimes)||[],value:f,onChange:function(e){v(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),y.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:y.quantity,onChange:function(e){x(e)}}))),y.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:N,min:0,max:y.quantity-O,onChange:function(e){D(e)}}))),y.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:y.quantity-N,onChange:function(e){U(e)}}))),i.createElement("div",{className:"u-flex align-items-center u-marg-top"},y.price&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(I.Z,null,y.price),"/ Qty"),y.adultPrice&&y.childPrice&&i.createElement("h2",{className:"u-marg-none"},i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(I.Z,null,y.adultPrice)," / Adult"),i.createElement("br",null),i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(I.Z,null,y.childPrice)," / Child")),y.adultPrice&&!y.childPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(I.Z,null,y.adultPrice)," / Adult"),y.childPrice&&!y.adultPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(I.Z,null,y.childPrice)," / Child"),i.createElement(R.Z,{filled:!0,primary:!0,onClick:function(){a.setAddonQuantities(n,{quantity:_,adult:N,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,C.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],Z=p[1],P=(0,c.$)().t,S=i.useState([]),R=(0,g.Z)(S,2),I=R[0],B=R[1],W=(0,i.useState)(!1),M=(0,g.Z)(W,2),T=M[0],G=M[1],O=(0,i.useState)(null),U=(0,g.Z)(O,2),q=U[0],F=U[1],L=(0,i.useState)(!1),z=(0,g.Z)(L,2),j=z[0],Q=z[1],V=(0,i.useState)(0),$=(0,g.Z)(V,2),H=$[0],J=$[1],Y=(0,i.useState)(0),K=(0,g.Z)(Y,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),b.Z.Addons.findAddons(r,null==n?void 0:n.hotelID).then((function(e){t||(Q(!1),B(e))})),function(){Q(!1),t=!0}}),[t.currentLanguage]);var ae=222,oe=ae*I.length>=Z.width,le=(0,y.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=(I.length-1)*ae,a=0;if(n>0)a=0,re(-1);else if(n<-(r-Z.width+ae))a=-(r-Z.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}),J(a)}};return i.createElement(E.Z,{open:!j&&0!==(null==I?void 0:I.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},P(u.W.Step.Confirmation.AdditionalOfferings))),j&&null!=n&&n.showAddonLoader?i.createElement(x.Z,null):0===(null==I?void 0:I.length)?i.createElement("div",null,i.createElement(k.ZP,{color:w.Il.DarkGrey},P(u.W.Step.Confirmation.NoAdditionalOfferings))):i.createElement("div",{className:"additional-offers"+(I.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?w.Il.DarkGrey:w.Il.White,backgroundColor:w.Il.Navy,borderRadius:"round",size:"24px"}),i.createElement(_.ZP,{icon:_.Tu.ArrowRight2,onClick:function(){ie(!1,-222)},color:1===ne?w.Il.DarkGrey:w.Il.White,backgroundColor:w.Il.Navy,borderRadius:"round",size:"24px"})),i.createElement("div",{className:"additional-offers--track-container"},i.createElement(C.q.div,(0,v.Z)({className:"additional-offers--track"},le(),{style:{left:l}}),I.map((function(t,n){return i.createElement(N,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){G(!0),F(t)}})}))))),i.createElement(D,{isOpen:T&&!!q,addon:q,basketAddonRow:e.getRowForAddon(q),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 U=n(4544);function q(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:w.Il.White},i.createElement(O,{endTimeDate:e.endDate,onEnd:function(){U.ZP.instance.sendInteraction("Countdown End Seen",U.s_.LINK,U._J.GUEST_DETAILS),a(!0)}})))))}var F=n(4511),L=n(8279),z=n(370),j=n(3933),Q=n(6337),V=n(5400),$=n(292),H=n(5692),J=n(5861),Y=n(4687),K=n.n(Y),X=n(9666),ee=n(3819),te=n(7536),ne=n(5758),re=function(){var e=(0,ne.u)(),t=(0,ne.a)(),n=(0,i.useMemo)((function(){return["paymentMethod","roomstayId","planpay_checkout_id"].map((function(n){return t.get(n)||e.get(n)}))}),[e,t]),r=(0,g.Z)(n,3);return{queryPaymentMethod:r[0],queryRoomstayId:r[1],queryPlanpayCheckoutId:r[2]}},ae=(0,i.createContext)({}),oe=function(){return(0,i.useContext)(ae)},le=ae.Provider,ie=function(e){var t=e.children,n=re(),a=n.queryPaymentMethod,o=n.queryRoomstayId,l=n.queryPlanpayCheckoutId,s=(0,i.useState)(!1),d=(0,g.Z)(s,2),m=d[0],p=d[1],f=(0,i.useState)(""),v=(0,g.Z)(f,2),C=v[0],y=v[1],h=(0,te.cI)({mode:"onChange"}),E=(0,i.useContext)(r.hy),_=E.getAllValidRows(),x=E.basketAddonRows,k=(0,A.WP)().hotel,Z=(0,c.$)().t,P=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},MarketingOptIn:!1}}))},S=function(){var e=(0,J.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=E.currentBasketRows[t].checkDiffFromReservation(e);r&&n.push(r)})),e.next=7;break;case 5:throw X.n_({level:ee.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)}}(),w=function(e,t,n,r,a){return function(){var o=(0,J.Z)(K().mark((function o(l){var i,c,s,d;return K().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(U.ZP.instance.sendInteraction("Complete Booking",U.s_.BUTTON,U._J.GUEST_DETAILS),p(!0),o.t0=!n,o.t0){o.next=7;break}return o.next=6,n();case 6:o.t0=o.sent;case 7:if(o.t0){o.next=11;break}return p(!1),o.abrupt("return");case 11:return o.next=13,e();case 13:return c=o.sent,o.prev=14,o.next=17,b.Z.Reservation.bookNow(_,P(l),c,x,t||"",null==k?void 0:k.hotelID);case 17:return i=o.sent,E.booked(i),o.next=21,S(i);case 21:if(!(s=o.sent)){o.next=27;break}p(!1),null==r||r(s),o.next=29;break;case 27:return o.next=29,null==a?void 0:a(i);case 29:o.next=35;break;case 31:o.prev=31,o.t1=o.catch(14),console.log(o.t1),y(null!==(d=null===o.t1||void 0===o.t1?void 0:o.t1.Message)&&void 0!==d?d:Z(u.W.Step.Confirmation.UnexpectedErrorFromBookingDatabase));case 35:return o.prev=35,p(!1),o.finish(35);case 38:case"end":return o.stop()}}),o,null,[[14,31,35,38]])})));return function(e){return o.apply(this,arguments)}}()},N=!!l&&!!o&&!!a,R=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},I=function(){var e=(0,J.Z)(K().mark((function e(t){var n,a;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,p(!0),!t){e.next=18;break}if(!(n=R(t)).length){e.next=15;break}return e.prev=5,e.next=8,b.Z.Reservation.commit(n,t.itineraryNumber,null==k?void 0:k.hotelID,l||void 0).then((function(e){try{U.ZP.instance.sendReservationConfirmed(E.getAllValidRows(),E.basketAddonRows,e)}catch(e){X.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}E.checkedOut(e)})).catch((function(e){console.log(e),y(Z(u.W.Misc.UnexpectedError))})).finally((function(){p(!1)}));case 8:e.next=13;break;case 10:e.prev=10,e.t0=e.catch(5),y(null!==(a=null===e.t0||void 0===e.t0?void 0:e.t0.Message)&&void 0!==a?a:Z(u.W.Step.Confirmation.UnexpectedErrorFromBookingDatabase));case 13:e.next=18;break;case 15:y(Z(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)),r.qL.add({message:Z(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)}),X.Tb("No reservation IDs found when attempting to commit: "+JSON.stringify(t));case 18:e.next=26;break;case 20:e.prev=20,e.t1=e.catch(0),y(Z(u.W.Step.Confirmation.FailedToCommitReservation)),console.log("Failed to commit reservation "),console.error(e.t1),X.Tb(e.t1);case 26:case"end":return e.stop()}}),e,null,[[0,20],[5,10]])})));return function(t){return e.apply(this,arguments)}}(),B=function(){var e=(0,J.Z)(K().mark((function e(){var t;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(E.reservationData){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,!(t=R(E.reservationData)).length){e.next=10;break}return p(!0),e.next=8,b.Z.Reservation.rollback(t,E.reservationData.itineraryNumber,null==k?void 0:k.hotelID);case 8:e.next=11;break;case 10:X.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(E.reservationData));case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),console.log("Failed to rollback reservations"),X.Tb(e.t0);case 17:return e.prev=17,E.rollback(),p(!1),e.finish(17);case 21:case"end":return e.stop()}}),e,null,[[2,13,17,21]])})));return function(){return e.apply(this,arguments)}}(),W=function(){var e=(0,J.Z)(K().mark((function e(t,n,r,a,o){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.handleSubmit(w(t,n,r,a,o))();case 2:case"end":return e.stop()}}),e)})));return function(t,n,r,a,o){return e.apply(this,arguments)}}();return i.createElement(te.RV,h,i.createElement(le,{value:{book:W,commitReservation:I,rollbackReservation:B,isLoading:m,apiErrors:C,clearApiErrors:function(){return y("")},isBackFromPlanpay:N}},t))},ce=n(6598),se=n(2566),ue=n(5112),de=n(2364);function me(){var e=(0,c.$)().t;return i.createElement(ue.Z,{title:e(u.W.Step.Confirmation.SSLSecure)},i.createElement("img",{src:de.Z.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var pe=n(8029),fe=n(1625),ve=n(1432),ge=n(4942),Ae=n(5729),Ce=n.n(Ae),ye=function(e){var t=e.vgsCardName,n=e.large;return i.createElement("div",{className:P()(Ce().root,(0,ge.Z)({},Ce()["--large"],n)),style:{backgroundImage:"url('".concat(de.Z.getImageAssetUrl()+t+".png","')")}})},he=n(3409),Ee=n(9111),be=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 Ee.w[e]?{name:Ee.w[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:P()("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(de.Z.getAssetUrl()+"assets/img/"+(null===(o=l[e])||void 0===o?void 0:o.name)+".png","')"),backgroundSize:"contain"},a||{})})})))},_e=n(9605),xe=n(5498),ke=n.n(xe),Ze=function(e){var t,n=e.card,a=(e.active,(0,c.$)().t),o=(0,r.ZS)().roomstayMember;return i.createElement("div",{className:ke().root},i.createElement("div",{className:"flex-shrink-0"},n?i.createElement(ye,{vgsCardName:n.type,large:!0}):null),i.createElement("div",null,i.createElement(k.ZP,{align:_e.P.Left,type:k.yG.Small,color:w.Il.Navy},n?"**** **** **** ".concat(n.cardNumber.slice(-4)):a(u.W.Step.Confirmation.CardLabel)),i.createElement(k.ZP,{className:"u-marg-top--lighter",align:_e.P.Left,type:k.yG.Caption,color:w.Il.DarkGrey},n?"Expires ".concat((t=n.expiry).slice(0,2)+" / "+t.slice(2)):a(u.W.Step.Confirmation.CardSubLabel))),!n&&i.createElement("div",null,i.createElement(be,{style:{width:24,height:16,borderRadius:1.5,border:"0.5px solid #DFE1E5"},isCurrent:function(){return!0}})),(null==o?void 0:o.defaultCard)&&n&&n.cardId===o.defaultCard&&i.createElement(he.ZP,{size:"small",type:he.Rm.Primary},"DEFAULT CARD"))},Pe=n(5987),Se=n(9089),we=n(8440),Ne=n.n(we),Re=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:P()(Ne().root,s,(n={},(0,ge.Z)(n,Ne().disabled,o),(0,ge.Z)(n,Ne().checked,r),n)),onClick:a,ref:t},i.createElement("div",{className:Ne().header,ref:u},i.createElement("div",{className:Ne().design}),i.createElement("div",{className:Ne().text},l)),c&&r&&i.createElement(E.Z,{open:!0},i.createElement("div",{className:Ne().content},c())))},Ie=(0,i.forwardRef)(Re),Be=n(9502),We=n.n(Be),Me=["renderContent"],De=function e(t){var n=t.options,r=void 0===n?[]:n,a=t.value,o=t.onChange,l=t.renderChildrenContent;return i.createElement("div",{className:We().root},r.map((function(t){var n=t.options,r=!(null==n||!n.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=r&&a&&n.find((function(e){return e.value===a}))||t,C=i.createElement(Ie,{headerRef:d,className:We().item,key:null==A?void 0:A.value,checked:!(null!=A&&A.disabled)&&(null==A?void 0:A.value)===a,onChange:function(){null!=A&&A.disabled||(r?v(!f):null!=A&&A.value&&(null==A?void 0:A.value)!==a&&(null==o||o(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(ue.Z,{key:null==A?void 0:A.value,wrapperClasses:We().wrapper,title:null==A?void 0:A.disabledReason},C):i.createElement(i.Fragment,null,i.createElement("div",{key:null==A?void 0:A.value,className:We().wrapper},C,n&&i.createElement("div",{className:We().childrenIndicator},i.createElement(_.ZP,{size:"24px",icon:_.Tu.Dropdown}))),n&&i.createElement(Se.a,{onClose:function(){return v(!1)},className:We().overlay,hideStyles:!0,containerClassName:"u-w-100",open:f,followElement:u||void 0,offset:[0,0],placement:"top-start"},i.createElement(e,{options:n.map((function(e){e.renderContent;var t=(0,Pe.Z)(e,Me);return l?e:t})),onChange:function(e){null==o||o(e),v(!1)},value:a})))})))},Te=n(5993),Ge=n(1291),Oe=(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,Ge.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),C=v[0],y=v[1],h=v[2],b=v[3],x=f.vgsForm,Z=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!=C&&null!==(e=C.ref)&&void 0!==e&&e.current&&m(null==C||null===(t=C.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 Z({"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:C.state.cardType};e(i)}),(function(e){Z(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var P=(0,i.useRef)(null),S=(null!==(n=null==r?void 0:r.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return Ee.w[e]?{name:Ee.w[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(E.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(be,{isCurrent:function(e){var t;return null!==C.state.cardType&&(null===(t=S[e])||void 0===t?void 0:t.name)===C.state.cardType},isDefault:function(e){return null===C.state.cardType}})),i.createElement("form",{ref:P},i.createElement(Te.Z,{dimensions:"2/2"},i.createElement("div",{className:C.getClasses(),ref:C.ref}),i.createElement(Te.Z,{dimensions:"2/2"},i.createElement("div",{className:h.getClasses(),ref:h.ref}),i.createElement("div",{className:b.getClasses(),ref:b.ref}))),i.createElement(Te.Z,{dimensions:"1"},i.createElement("div",{className:y.getClasses(),ref:y.ref}))))})),Ue=n(3423),qe=n(9747),Fe=n(514),Le=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(qe.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(qe.Z,{type:"text",h:"md",blink:!0}),i.createElement(qe.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(qe.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(qe.Z,{type:"text",h:"sm",blink:!0}),i.createElement(qe.Z,{type:"text",h:"sm",blink:!0}),i.createElement(qe.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(qe.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(qe.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})),i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(qe.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(qe.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(qe.Z,{type:"text",h:"lg",blink:!0})),i.createElement("div",{className:"offset-md-4 col-md-4 d-flex align-items-center"},i.createElement(qe.Z,{type:"text",w:"xl",h:"sm",blink:!0}))))},ze=function(){var e,t,n=(0,i.useContext)(r.hy),a=(0,Fe.W)().hotel,o=null===(e=n.reservationData)||void 0===e||null===(t=e.payment)||void 0===t?void 0:t.planpay;return(0,i.useLayoutEffect)((function(){null!=o&&o.id&&Ue.MQ.checkout.refresh()}),[null==o?void 0:o.id]),(0,i.useEffect)((function(){var e;Ue.MQ.init({environment:null==a||null===(e=a.planpay)||void 0===e?void 0:e.env})}),[a]),i.createElement(i.Fragment,null,i.createElement("div",{className:"planpay-payment-container","data-planpay-checkout-id":null==o?void 0:o.id,style:{minHeight:"204px",display:"flex",justifyContent:"flex-end",flexDirection:"column"}},i.createElement(Le,null)))};function je(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 Qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?je(Object(n),!0).forEach((function(t){(0,ge.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):je(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ve(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 $e=function(e){var t,n,a,o,s=e.tokenizerRef,d=e.onChangeCb,m=(0,c.$)().t,p=(0,te.Gc)(),f=(0,A.WP)().hotel,v=(0,r.Kc)(),g=(0,r.ZS)(),C=g.cards,y=void 0===C?[]:C,h=g.roomstayMember,E=(0,i.useMemo)((function(){return y.find((function(e){return e.cardId===(null==h?void 0:h.defaultCard)}))}),[y,h]),b=p.watch("paymentMethod"),x={value:ce.EBookingPaymentMethod.Card,label:i.createElement(Ze,{active:b===ce.EBookingPaymentMethod.Card}),renderContent:function(){return i.createElement(Oe,{ref:s})}},Z=[];if(null!=f&&null!==(t=f.paymentMethods)&&void 0!==t&&t.includes(ce.EBookingPaymentMethod.Card)){var P;if(y.length){var S=E||y[0];P={value:S.cardId,label:i.createElement(Ze,{card:S})}}else P=x;var N=[];if(y.length){var R,I=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 Ve(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)?Ve(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(I.s();!(R=I.n()).done;){var B=R.value;N.push({value:B.cardId,label:i.createElement(Ze,{card:B})})}}catch(e){I.e(e)}finally{I.f()}N.push(x)}Z.push(Qe(Qe({},P),{},{options:N.length>0?N:void 0}))}return null!=f&&null!==(n=f.paymentMethods)&&void 0!==n&&n.includes(ce.EBookingPaymentMethod.Planpay)&&null!=f&&null!==(a=f.planpay)&&void 0!==a&&a.minDaysShowPlanpay&&l()(v.startDate).diff(l()(),"day")>(null==f||null===(o=f.planpay)||void 0===o?void 0:o.minDaysShowPlanpay)&&Z.push({value:ce.EBookingPaymentMethod.Planpay,label:i.createElement("div",{className:"u-flex u-flex-align-center"},i.createElement("div",null,m(u.W.Step.Confirmation.PlanpayLabel)),i.createElement("div",{className:"u-flex u-flex-align-center u-marg-left--light",style:{borderRadius:"24px",overflow:"hidden"}},i.createElement("img",{height:16,src:de.Z.getImageAssetUrl("planpay-logo-small.svg"),alt:""})),!p.formState.isValid&&i.createElement(k.ZP,{color:w.Il.Graphite,className:"u-flex u-flex-align-center",style:{color:"#313131",fontSize:10}},i.createElement(_.ZP,{color:w.Il.DarkGrey,icon:_.Tu.Info,className:"u-marg-right--lighter u-marg-left--light"}),m(u.W.Step.Confirmation.PlanpayHelperText))),disabled:!p.formState.isValid,disabledReason:p.formState.isValid?"":"You must fill all the above details before proceeding with Planpay",renderContent:function(){return i.createElement(ze,null)}}),i.createElement(te.Qr,{control:p.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(De,{options:Z,value:r,onChange:function(e){n(e),d(e)}})))}})},He=n(6604),Je=n(5762),Ye=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}({}),Ke=n(1248),Xe=n(3261),et=n(6431),tt=n(9024),nt=["ref","onChange"],rt=function(){var e=(0,te.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(),A=d.basketAddonRows,C=(0,te.Dq)({control:a,name:"userProfiles"}),y=C.update,h=C.fields,b=o(["copyCheckBox","paymentMethod"]),x=(0,g.Z)(b,2),Z=x[0],P=x[1],S=n.errors,N=(0,c.$)().t,R=(0,i.useContext)(r.P0).roomstayMember;(0,i.useEffect)((function(){var e,t;null===(e=S.userProfiles)||void 0===e||null===(t=e.forEach)||void 0===t||t.call(e,(function(e,t){var n;null!==(n=S.userProfiles)&&void 0!==n&&n[t]&&(W[t]=!0)})),M(W.slice(0))}),[S.userProfiles,Z]),(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,ge.Z)(i,Ye.Forename,e(n,null==R?void 0:R.forename)),(0,ge.Z)(i,Ye.Surname,e(n,null==R?void 0:R.surname)),(0,ge.Z)(i,Ye.Email,e(n,null==R?void 0:R.email)),(0,ge.Z)(i,Ye.Phone,e(n,null==R?void 0:R.phoneNumber)),(0,ge.Z)(i,Ye.Address,e(n,null==R||null===(r=R.address)||void 0===r?void 0:r.address)),(0,ge.Z)(i,Ye.City,e(n,null==R||null===(a=R.address)||void 0===a?void 0:a.city)),(0,ge.Z)(i,Ye.PostCode,e(n,null==R||null===(o=R.address)||void 0===o?void 0:o.zip)),(0,ge.Z)(i,Ye.Country,e(n,null==R||null===(l=R.address)||void 0===l?void 0:l.country)),i}));s("userProfiles",t),s("copyCheckBox",!!(null!=p&&p.length&&p.length>1))}),[R,null==p?void 0:p.length]);var I=(0,i.useState)(p.map((function(e,t){return 0===t}))),B=(0,g.Z)(I,2),W=B[0],M=B[1],D=function(e,t){return function(e){U.ZP.instance.sendInteraction(t,U.s_.FORM_FIELD,U._J.GUEST_DETAILS)}};return(0,i.useEffect)((function(){Z&&h.forEach((function(e,t){0!==t&&y(t,l("userProfiles.0"))}))}),[Z]),(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&&h.map((function(e,t){0!==t&&y(t,l("userProfiles.0"))}))})).unsubscribe;return function(){e()}}),[h]),(0,i.useEffect)((function(){U.ZP.instance.sendCheckoutView(p,A)}),[]),i.createElement(i.Fragment,null,h.map((function(e,r){var o,l,c,s=function(e){return function(e,t){return"userProfiles.".concat(t,".").concat(e)}(e,r)},d=function(e){var t;if(S.userProfiles&&!(Z&&r>=1))return null!==(t=S.userProfiles[r])&&void 0!==t&&t[e]?"error":"success"},g=p[r],A=Z&&r>=1||P===ce.EBookingPaymentMethod.Planpay;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){W.splice(e,1,t),M(W.slice(0))}(r,!W[r])}},i.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},i.createElement(m.Z,{bold:!0},N(u.W.Misc.Room)," ",r+1),0!==r&&i.createElement(_.ZP,{icon:W[r]?_.Tu.ArrowDown2:_.Tu.ArrowUp2,color:w.Il.Grey})),g&&i.createElement("div",{className:"u-marg-bottom"},i.createElement(k.ZP,null,i.createElement("strong",{className:"u-block@l-"},g.getRoom().name)," for"," ",Xe.Z.pluralWithDictAndCount(g.getAdults(),u.W.Step.Date.Adult,N),", ",Xe.Z.pluralWithDictAndCount(g.getChildren(),u.W.Step.Date.Child,N)),i.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},i.createElement(k.ZP,{type:k.yG.Small,color:w.Il.Accent},i.createElement("strong",null,g.getStartDate().format("ddd, MMM D"))),i.createElement(_.ZP,{icon:_.Tu.ArrowRight2,size:"18px"}),i.createElement(k.ZP,{type:k.yG.Small,color:w.Il.Accent},i.createElement("strong",null,g.getEndDate().format("ddd, MMM D"))))),(o=r,(c=null===(l=S.userProfiles)||void 0===l?void 0:l[o])&&n.submitCount>=1&&(0===o||!Z)&&Object.values(c).map((function(e,t){return i.createElement(E.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(c).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:W[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,N(u.W.Step.Confirmation.ContactInfo)))),i.createElement(Te.Z,{dimensions:"2/2"},i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:d(Ye.Forename)},t(s(Ye.Forename),{onChange:D(s(Ye.Forename),"Forename - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Forename)})}}))),i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:d(Ye.Surname)},t(s(Ye.Surname),{onChange:D(s(Ye.Surname),"Surname - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Surname)})}})))),i.createElement(Te.Z,{dimensions:"2/2"},i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:d(Ye.Email),required:!0},t(s(Ye.Email),{onChange:D(s(Ye.Email),"Email - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Email)})},pattern:{value:et.CU,message:N(u.W.Step.Confirmation.Inputs.InvalidEmail)}}))),Ke.Z.isActive()?i.createElement(te.Qr,{control:a,name:s(Ye.Phone),rules:{required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(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(He.Z,(0,v.Z)({disabled:A,validationStatus:d(Ye.Phone)},t,{onChange:function(e){t.onChange(e),D(s(Ye.Phone),"Phone - Contact Info")(e)}}))}}):i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:d(Ye.Phone)},t(s(Ye.Phone),{onChange:D(s(Ye.Phone),"Phone - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(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,N(u.W.Step.Confirmation.Address)))),i.createElement(Te.Z,{dimensions:"3/1"},i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:d(Ye.Address)},t(s(Ye.Address),{onChange:D(s(Ye.Address),"Address - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Address)})}}))),i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:d(Ye.City)},t(s(Ye.City),{onChange:D(s(Ye.City),"City - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.City)})}})))),i.createElement(Te.Z,{dimensions:"2/2"},i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:d(Ye.PostCode)},t(s(Ye.PostCode),{onChange:D(s(Ye.PostCode),"PostCode - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.PostCode)})}}))),i.createElement(te.Qr,{control:a,name:s(Ye.Country),rules:{required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,t.onChange),r=(0,Pe.Z)(t,nt);return i.createElement(Je.Z,(0,v.Z)({disabled:A,validationStatus:d(Ye.Country),onChange:function(e){n(e),D(s(Ye.Country),"Country - Address")(e)}},r))}})))),i.createElement(f.Z,null)),h.length>1&&0===r?i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(tt.Z,(0,v.Z)({label:N(u.W.Step.Confirmation.ApplySameInfoToOtherRooms)},t("copyCheckBox")))):null)})))},at=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(tt.Z,{label:n(u.W.Step.Confirmation.EmailSpecialOffers)})),i.createElement("div",{className:"u-marg-top--light"},i.createElement(tt.Z,{ref:t,label:i.createElement("div",null,n(u.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",i.createElement("a",{style:{color:w.Il.Accent},className:"--underlined",href:null==a?void 0:a.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},n(u.W.Step.Confirmation.PrivacyPolicy)))})),i.createElement(E.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 ot(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(R.Z,{isText:!0,size:"small",icon:_.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},o(u.W.Step.Confirmation.TakeMeBack)),i.createElement(R.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(B.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:B.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(he.ZP,{icon:_.Tu.Time,type:he.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:w.Il.Alert},i.createElement(I.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:w.Il.Success},i.createElement(I.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 lt=n(2710);function it(){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 ct(){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=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"},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===(a=l.room.getRate())||void 0===a?void 0:a.getGuaranteePolicy())||""}}))),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===(o=l.room.getRate())||void 0===o?void 0:o.getCancellationPolicy())||""}})))})))}),[e.currentBasketRows])}var st=n(6222),ut=n(8016),dt=n(1657);function mt(){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],A=(0,i.useState)(!1),C=(0,g.Z)(A,2),y=C[0],h=C[1],E=(0,i.useRef)(null),b=(0,i.useRef)(null),Z=(0,c.$)().t,P=re(),S=P.queryPaymentMethod,N=P.queryRoomstayId,I=P.queryPlanpayCheckoutId,B=(0,r.dF)(),W=(0,te.Gc)(),M=oe(),D=M.isBackFromPlanpay,T=M.isLoading,O=M.apiErrors,U=M.clearApiErrors,q=M.book,F=M.rollbackReservation,L=M.commitReservation,z=(0,r.Kc)(),j=(0,i.useRef)(null),Q=(0,se.J)(),V=(0,r.ZS)().roomstayMember,$=function(){var e=(0,J.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===ce.EBookingPaymentMethod.Planpay?3:e.t0===ce.EBookingPaymentMethod.Card?10:(e.t0,ce.EBookingPaymentMethod.SavedCard,16);break;case 3:return(r=new URLSearchParams(window.location.search)).set("roomstayId","{{rsId}}"),r.set("session",B.sessionProvider.getCurrentSessionID().toString()),r.set("paymentMethod",ce.EBookingPaymentMethod.Planpay),a="".concat(window.location.origin).concat(window.location.pathname).concat(window.location.search,"#/step/confirmation/?").concat(r),n={Method:ce.EBookingPaymentMethod.Planpay,PlanpayCheckoutId:I||void 0,RedirectUrl:a},e.abrupt("break",17);case 10:return e.t1=ce.EBookingPaymentMethod.Card,e.next=13,null===(o=j.current)||void 0===o?void 0:o.getTokenizedCode();case 13:return e.t2=e.sent,n={Method:e.t1,PaymentCard:e.t2},e.abrupt("break",17);case 16:n={Method:ce.EBookingPaymentMethod.SavedCard,SavedCardID:t};case 17:return e.abrupt("return",n);case 18:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();(0,i.useEffect)((function(){var e,t,n="";return n=Object.values(ce.EBookingPaymentMethod).includes(S)?S:null!=V&&V.defaultCard&&null!=V&&null!==(e=V.cards)&&void 0!==e&&e.find((function(e){return e.cardId===(null==V?void 0:V.defaultCard)}))?null==V?void 0:V.defaultCard:ce.EBookingPaymentMethod.Card,W.setValue("paymentMethod",n),le(n),D&&(N===(null===(t=z.reservationData)||void 0===t?void 0:t.roomstayId)?H():null==F||F()),function(){D||null==F||F()}}),[]);var H=function(){var e=(0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==L?void 0:L(z.reservationData);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),Y=W.watch("paymentMethod");B.engine.getSessionProvider().getSession().then((function(e){p(e.source)}));var X=function(){var e=(0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Q((0,dt.Z)().getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ee=function(){var e=(0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ae(Y,function(){var e=(0,J.Z)(K().mark((function e(t){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null==L?void 0:L(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 2:return e.abrupt("return",!1);case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ne=function(e){var t=null==o?void 0:o.errorChecks.every((function(t){return t().validate(e)}));return void 0===t||t},ae=function(){var e=(0,J.Z)(K().mark((function e(t,n){var r;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==q?void 0:q((0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",$(t));case 1:case"end":return e.stop()}}),e)}))),null===(r=b.current)||void 0===r?void 0:r.value,(0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=void 0,!st.Z.isActive()||null!=E&&null!==(n=E.current)&&void 0!==n&&n.checked){e.next=3;break}return h(!0),e.abrupt("return",!1);case 3:if(ne(!0)){e.next=5;break}return e.abrupt("return",!1);case 5:if(e.prev=5,t!==ce.EBookingPaymentMethod.Card){e.next=9;break}return e.next=9,j.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)}),n);case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),le=function(){var e=(0,J.Z)(K().mark((function e(t){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===ce.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,D?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:w.Il.Success},i.createElement("strong",null,Z(u.W.Step.Confirmation.AlmostDone,{required:"*"})))),i.createElement(rt,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:w.Il.Accent,bold:!0},Z(u.W.Step.Confirmation.WantMoreRooms)),i.createElement(k.ZP,{color:w.Il.Navy},Z(u.W.Step.Confirmation.YouCanAddAndEditRooms))),i.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},i.createElement(R.Z,{filled:!0,primary:!0,icon:_.Tu.Add,iconPosition:"left",onClick:X},Z(u.W.Step.Confirmation.AddMoreRooms))))):i.createElement(i.Fragment,null),ut.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(ve.Z,(0,v.Z)({placeholder:Z(u.W.Step.Confirmation.Inputs.IATANumber),wide:!0},W.register("IATANumber")))),i.createElement(f.Z,null)),i.createElement(lt.h,{inputRef:b}),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($e,{tokenizerRef:j,onChangeCb:function(){var e=(0,J.Z)(K().mark((function e(t){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,le(t);case 2:if(t!==ce.EBookingPaymentMethod.Planpay){e.next=5;break}return e.next=5,ae(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:w.Il.Success}),i.createElement("div",{className:"u-marg-left--light"},i.createElement(k.ZP,{type:k.yG.Small,color:w.Il.Success},i.createElement("strong",null,Z(u.W.Step.Confirmation.Secured))))),i.createElement(me,null))),i.createElement(f.Z,null),i.createElement(it,null),i.createElement("div",{className:"u-pad-top--light u-marg-bottom"},i.createElement(ct,null)),st.Z.isActive()&&i.createElement(i.Fragment,null,i.createElement(f.Z,null),i.createElement("div",null,i.createElement(at,{ref:E,confirmationPolicyError:y}))),i.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},i.createElement(pe.Z,{disabled:Y===ce.EBookingPaymentMethod.Planpay||T,text:Z(u.W.Step.Confirmation.ConfirmReservation),isLoading:T,onClick:ee}))),i.createElement(fe.default,{open:!!O,onClose:U},i.createElement(k.ZP,null,O)),i.createElement(ot,{differences:n.differences,warnings:n.warnings,isLoading:T,onClose:(0,J.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:Q((0,dt.Z)().getStepUrl());case 3:case"end":return e.stop()}}),e)}))),onProceed:(0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Y!==ce.EBookingPaymentMethod.Planpay){e.next=4;break}a({differences:[],warnings:[]}),e.next=6;break;case 4:return e.next=6,null==L?void 0:L(z.reservationData);case 6:case"end":return e.stop()}}),e)})))}))}function pt(){return i.createElement(ie,null,i.createElement(mt,null))}var ft=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(z.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(F.Z,null))),e.screenSize>$.Z.Medium&&i.createElement(p.f,null,i.createElement(L.Z,null))),i.createElement(f.Z,null),i.createElement(p.i5,null,i.createElement(p.mV,null,i.createElement("div",{className:"block-container"},!V.Z.isActive()&&i.createElement(T,null),i.createElement(r.s$,null,i.createElement(pt,null)))),e.screenSize>$.Z.Medium&&i.createElement(p.f,null,i.createElement(q,{endDate:l()().add(10,"minute")}),i.createElement(j.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}","",{version:3,sources:["InlinePaymentOption.module.scss"],names:[],mappings:"AAAA,0CAAM,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe",file:"InlinePaymentOption.module.scss",sourcesContent:[".root{display:flex;align-items:center;gap:12px;margin-left:4px}"]}]),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{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,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{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},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||{}}}]);
1
+ (("undefined"!=typeof self?self:this).webpackChunkroomstay=("undefined"!=typeof self?self:this).webpackChunkroomstay||[]).push([[213],{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)},2213:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return ft}});var r=n(360),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),C=n(8144),y=n(7582),h=n(3460),E=n(9740),b=n(8442),_=n(8886),x=n(7832),k=n(584),Z=n(4184),P=n.n(Z),S=n(4744),w=n(7754);function N(e){var t=e.addon,n=(0,c.$)().t;return i.createElement("div",{className:P()("additional-offers--column",{"--selected":e.selected}),style:{backgroundImage:"url('".concat(t.image&&S.Z.resizeImage(t.image,S.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:w.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:w.Il.White},n(u.W.Misc.SeeDetails)),i.createElement(_.ZP,{icon:_.Tu.ArrowRight,color:w.Il.White}))))}var R=n(4854),I=n(858),B=n(5128),W=n(6380),M=n(3351);function D(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}),C=(0,g.Z)(A,2),y=C[0],h=C[1],E=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),b=(0,g.Z)(E,2),_=b[0],x=b[1],Z=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),P=(0,g.Z)(Z,2),N=P[0],D=P[1],T=(0,i.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),G=(0,g.Z)(T,2),O=G[0],U=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()),D(e.basketAddonRow.getAdultQuantity()),U(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),D(1),U(0)}}),[n]),i.createElement(B.Z,{open:e.isOpen,onClose:e.onClose,size:B.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&&S.Z.resizeImage(n.image,S.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:w.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(M.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==y||null===(t=y.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(M.P,{nativeOnMobile:!0,options:(null==y?void 0:y.selectorTimes)||[],value:f,onChange:function(e){v(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),y.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:y.quantity,onChange:function(e){x(e)}}))),y.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:N,min:0,max:y.quantity-O,onChange:function(e){D(e)}}))),y.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:y.quantity-N,onChange:function(e){U(e)}}))),i.createElement("div",{className:"u-flex align-items-center u-marg-top"},y.price&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(I.Z,null,y.price),"/ Qty"),y.adultPrice&&y.childPrice&&i.createElement("h2",{className:"u-marg-none"},i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(I.Z,null,y.adultPrice)," / Adult"),i.createElement("br",null),i.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(I.Z,null,y.childPrice)," / Child")),y.adultPrice&&!y.childPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(I.Z,null,y.adultPrice)," / Adult"),y.childPrice&&!y.adultPrice&&i.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},i.createElement(I.Z,null,y.childPrice)," / Child"),i.createElement(R.Z,{filled:!0,primary:!0,onClick:function(){a.setAddonQuantities(n,{quantity:_,adult:N,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,C.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],Z=p[1],P=(0,c.$)().t,S=i.useState([]),R=(0,g.Z)(S,2),I=R[0],B=R[1],W=(0,i.useState)(!1),M=(0,g.Z)(W,2),T=M[0],G=M[1],O=(0,i.useState)(null),U=(0,g.Z)(O,2),q=U[0],F=U[1],L=(0,i.useState)(!1),z=(0,g.Z)(L,2),j=z[0],Q=z[1],V=(0,i.useState)(0),$=(0,g.Z)(V,2),H=$[0],J=$[1],Y=(0,i.useState)(0),K=(0,g.Z)(Y,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),b.Z.Addons.findAddons(r,null==n?void 0:n.hotelID).then((function(e){t||(Q(!1),B(e))})),function(){Q(!1),t=!0}}),[t.currentLanguage]);var ae=222,oe=ae*I.length>=Z.width,le=(0,y.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=(I.length-1)*ae,a=0;if(n>0)a=0,re(-1);else if(n<-(r-Z.width+ae))a=-(r-Z.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}),J(a)}};return i.createElement(E.Z,{open:!j&&0!==(null==I?void 0:I.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},P(u.W.Step.Confirmation.AdditionalOfferings))),j&&null!=n&&n.showAddonLoader?i.createElement(x.Z,null):0===(null==I?void 0:I.length)?i.createElement("div",null,i.createElement(k.ZP,{color:w.Il.DarkGrey},P(u.W.Step.Confirmation.NoAdditionalOfferings))):i.createElement("div",{className:"additional-offers"+(I.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?w.Il.DarkGrey:w.Il.White,backgroundColor:w.Il.Navy,borderRadius:"round",size:"24px"}),i.createElement(_.ZP,{icon:_.Tu.ArrowRight2,onClick:function(){ie(!1,-222)},color:1===ne?w.Il.DarkGrey:w.Il.White,backgroundColor:w.Il.Navy,borderRadius:"round",size:"24px"})),i.createElement("div",{className:"additional-offers--track-container"},i.createElement(C.q.div,(0,v.Z)({className:"additional-offers--track"},le(),{style:{left:l}}),I.map((function(t,n){return i.createElement(N,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){G(!0),F(t)}})}))))),i.createElement(D,{isOpen:T&&!!q,addon:q,basketAddonRow:e.getRowForAddon(q),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 U=n(4544);function q(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:w.Il.White},i.createElement(O,{endTimeDate:e.endDate,onEnd:function(){U.ZP.instance.sendInteraction("Countdown End Seen",U.s_.LINK,U._J.GUEST_DETAILS),a(!0)}})))))}var F=n(4511),L=n(8279),z=n(370),j=n(3933),Q=n(6337),V=n(5400),$=n(292),H=n(5692),J=n(5861),Y=n(4687),K=n.n(Y),X=n(9666),ee=n(3819),te=n(7536),ne=n(5758),re=function(){var e=(0,ne.u)(),t=(0,ne.a)(),n=(0,i.useMemo)((function(){return["paymentMethod","roomstayId","planpay_checkout_id"].map((function(n){return t.get(n)||e.get(n)}))}),[e,t]),r=(0,g.Z)(n,3);return{queryPaymentMethod:r[0],queryRoomstayId:r[1],queryPlanpayCheckoutId:r[2]}},ae=(0,i.createContext)({}),oe=function(){return(0,i.useContext)(ae)},le=ae.Provider,ie=function(e){var t=e.children,n=re(),a=n.queryPaymentMethod,o=n.queryRoomstayId,l=n.queryPlanpayCheckoutId,s=(0,i.useState)(!1),d=(0,g.Z)(s,2),m=d[0],p=d[1],f=(0,i.useState)(""),v=(0,g.Z)(f,2),C=v[0],y=v[1],h=(0,te.cI)({mode:"onChange"}),E=(0,i.useContext)(r.hy),_=E.getAllValidRows(),x=E.basketAddonRows,k=(0,A.WP)().hotel,Z=(0,c.$)().t,P=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},MarketingOptIn:!1}}))},S=function(){var e=(0,J.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=E.currentBasketRows[t].checkDiffFromReservation(e);r&&n.push(r)})),e.next=7;break;case 5:throw X.n_({level:ee.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)}}(),w=function(e,t,n,r,a){return function(){var o=(0,J.Z)(K().mark((function o(l){var i,c,s,d;return K().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(U.ZP.instance.sendInteraction("Complete Booking",U.s_.BUTTON,U._J.GUEST_DETAILS),p(!0),o.t0=!n,o.t0){o.next=7;break}return o.next=6,n();case 6:o.t0=o.sent;case 7:if(o.t0){o.next=11;break}return p(!1),o.abrupt("return");case 11:return o.next=13,e();case 13:return c=o.sent,o.prev=14,o.next=17,b.Z.Reservation.bookNow(_,P(l),c,x,t||"",null==k?void 0:k.hotelID);case 17:return i=o.sent,E.booked(i),o.next=21,S(i);case 21:if(!(s=o.sent)){o.next=27;break}p(!1),null==r||r(s),o.next=29;break;case 27:return o.next=29,null==a?void 0:a(i);case 29:o.next=35;break;case 31:o.prev=31,o.t1=o.catch(14),console.log(o.t1),y(null!==(d=null===o.t1||void 0===o.t1?void 0:o.t1.Message)&&void 0!==d?d:Z(u.W.Step.Confirmation.UnexpectedErrorFromBookingDatabase));case 35:return o.prev=35,p(!1),o.finish(35);case 38:case"end":return o.stop()}}),o,null,[[14,31,35,38]])})));return function(e){return o.apply(this,arguments)}}()},N=!!l&&!!o&&!!a,R=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},I=function(){var e=(0,J.Z)(K().mark((function e(t){var n,a;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,p(!0),!t){e.next=18;break}if(!(n=R(t)).length){e.next=15;break}return e.prev=5,e.next=8,b.Z.Reservation.commit(n,t.itineraryNumber,null==k?void 0:k.hotelID,l||void 0).then((function(e){try{U.ZP.instance.sendReservationConfirmed(E.getAllValidRows(),E.basketAddonRows,e)}catch(e){X.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}E.checkedOut(e)})).catch((function(e){console.log(e),y(Z(u.W.Misc.UnexpectedError))})).finally((function(){p(!1)}));case 8:e.next=13;break;case 10:e.prev=10,e.t0=e.catch(5),y(null!==(a=null===e.t0||void 0===e.t0?void 0:e.t0.Message)&&void 0!==a?a:Z(u.W.Step.Confirmation.UnexpectedErrorFromBookingDatabase));case 13:e.next=18;break;case 15:y(Z(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)),r.qL.add({message:Z(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)}),X.Tb("No reservation IDs found when attempting to commit: "+JSON.stringify(t));case 18:e.next=26;break;case 20:e.prev=20,e.t1=e.catch(0),y(Z(u.W.Step.Confirmation.FailedToCommitReservation)),console.log("Failed to commit reservation "),console.error(e.t1),X.Tb(e.t1);case 26:case"end":return e.stop()}}),e,null,[[0,20],[5,10]])})));return function(t){return e.apply(this,arguments)}}(),B=function(){var e=(0,J.Z)(K().mark((function e(){var t;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(E.reservationData){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,!(t=R(E.reservationData)).length){e.next=10;break}return p(!0),e.next=8,b.Z.Reservation.rollback(t,E.reservationData.itineraryNumber,null==k?void 0:k.hotelID);case 8:e.next=11;break;case 10:X.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(E.reservationData));case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),console.log("Failed to rollback reservations"),X.Tb(e.t0);case 17:return e.prev=17,E.rollback(),p(!1),e.finish(17);case 21:case"end":return e.stop()}}),e,null,[[2,13,17,21]])})));return function(){return e.apply(this,arguments)}}(),W=function(){var e=(0,J.Z)(K().mark((function e(t,n,r,a,o){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.handleSubmit(w(t,n,r,a,o))();case 2:case"end":return e.stop()}}),e)})));return function(t,n,r,a,o){return e.apply(this,arguments)}}();return i.createElement(te.RV,h,i.createElement(le,{value:{book:W,commitReservation:I,rollbackReservation:B,isLoading:m,apiErrors:C,clearApiErrors:function(){return y("")},isBackFromPlanpay:N}},t))},ce=n(7972),se=n(2566),ue=n(5112),de=n(2364);function me(){var e=(0,c.$)().t;return i.createElement(ue.Z,{title:e(u.W.Step.Confirmation.SSLSecure)},i.createElement("img",{src:de.Z.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var pe=n(8029),fe=n(1625),ve=n(1432),ge=n(4942),Ae=n(5729),Ce=n.n(Ae),ye=function(e){var t=e.vgsCardName,n=e.large;return i.createElement("div",{className:P()(Ce().root,(0,ge.Z)({},Ce()["--large"],n)),style:{backgroundImage:"url('".concat(de.Z.getImageAssetUrl()+t+".png","')")}})},he=n(3409),Ee=n(9111),be=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 Ee.w[e]?{name:Ee.w[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:P()("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(de.Z.getAssetUrl()+"assets/img/"+(null===(o=l[e])||void 0===o?void 0:o.name)+".png","')"),backgroundSize:"contain"},a||{})})})))},_e=n(9605),xe=n(5498),ke=n.n(xe),Ze=function(e){var t,n=e.card,a=(e.active,(0,c.$)().t),o=(0,r.ZS)().roomstayMember;return i.createElement("div",{className:ke().root},i.createElement("div",{className:"flex-shrink-0"},n?i.createElement(ye,{vgsCardName:n.type,large:!0}):null),i.createElement("div",null,i.createElement(k.ZP,{align:_e.P.Left,type:k.yG.Small,color:w.Il.Navy},n?"**** **** **** ".concat(n.cardNumber.slice(-4)):a(u.W.Step.Confirmation.CardLabel)),i.createElement(k.ZP,{className:"u-marg-top--lighter",align:_e.P.Left,type:k.yG.Caption,color:w.Il.DarkGrey},n?"Expires ".concat((t=n.expiry).slice(0,2)+" / "+t.slice(2)):a(u.W.Step.Confirmation.CardSubLabel))),!n&&i.createElement("div",null,i.createElement(be,{style:{width:24,height:16,borderRadius:1.5,border:"0.5px solid #DFE1E5"},isCurrent:function(){return!0}})),(null==o?void 0:o.defaultCard)&&n&&n.cardId===o.defaultCard&&i.createElement(he.ZP,{size:"small",type:he.Rm.Primary},"DEFAULT CARD"))},Pe=n(5987),Se=n(9089),we=n(8440),Ne=n.n(we),Re=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:P()(Ne().root,s,(n={},(0,ge.Z)(n,Ne().disabled,o),(0,ge.Z)(n,Ne().checked,r),n)),onClick:a,ref:t},i.createElement("div",{className:Ne().header,ref:u},i.createElement("div",{className:Ne().design}),i.createElement("div",{className:Ne().text},l)),c&&r&&i.createElement(E.Z,{open:!0},i.createElement("div",{className:Ne().content},c())))},Ie=(0,i.forwardRef)(Re),Be=n(9502),We=n.n(Be),Me=["renderContent"],De=function e(t){var n=t.options,r=void 0===n?[]:n,a=t.value,o=t.onChange,l=t.renderChildrenContent;return i.createElement("div",{className:We().root},r.map((function(t){var n=t.options,r=!(null==n||!n.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=r&&a&&n.find((function(e){return e.value===a}))||t,C=i.createElement(Ie,{headerRef:d,className:We().item,key:null==A?void 0:A.value,checked:!(null!=A&&A.disabled)&&(null==A?void 0:A.value)===a,onChange:function(){null!=A&&A.disabled||(r?v(!f):null!=A&&A.value&&(null==A?void 0:A.value)!==a&&(null==o||o(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(ue.Z,{key:null==A?void 0:A.value,wrapperClasses:We().wrapper,title:null==A?void 0:A.disabledReason},C):i.createElement(i.Fragment,null,i.createElement("div",{key:null==A?void 0:A.value,className:We().wrapper},C,n&&i.createElement("div",{className:We().childrenIndicator},i.createElement(_.ZP,{size:"24px",icon:_.Tu.Dropdown}))),n&&i.createElement(Se.a,{onClose:function(){return v(!1)},className:We().overlay,hideStyles:!0,containerClassName:"u-w-100",open:f,followElement:u||void 0,offset:[0,0],placement:"top-start"},i.createElement(e,{options:n.map((function(e){e.renderContent;var t=(0,Pe.Z)(e,Me);return l?e:t})),onChange:function(e){null==o||o(e),v(!1)},value:a})))})))},Te=n(5993),Ge=n(1291),Oe=(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,Ge.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),C=v[0],y=v[1],h=v[2],b=v[3],x=f.vgsForm,Z=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!=C&&null!==(e=C.ref)&&void 0!==e&&e.current&&m(null==C||null===(t=C.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 Z({"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:C.state.cardType};e(i)}),(function(e){Z(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var P=(0,i.useRef)(null),S=(null!==(n=null==r?void 0:r.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return Ee.w[e]?{name:Ee.w[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(E.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(be,{isCurrent:function(e){var t;return null!==C.state.cardType&&(null===(t=S[e])||void 0===t?void 0:t.name)===C.state.cardType},isDefault:function(e){return null===C.state.cardType}})),i.createElement("form",{ref:P},i.createElement(Te.Z,{dimensions:"2/2"},i.createElement("div",{className:C.getClasses(),ref:C.ref}),i.createElement(Te.Z,{dimensions:"2/2"},i.createElement("div",{className:h.getClasses(),ref:h.ref}),i.createElement("div",{className:b.getClasses(),ref:b.ref}))),i.createElement(Te.Z,{dimensions:"1"},i.createElement("div",{className:y.getClasses(),ref:y.ref}))))})),Ue=n(3423),qe=n(9747),Fe=n(514),Le=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(qe.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(qe.Z,{type:"text",h:"md",blink:!0}),i.createElement(qe.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(qe.Z,{type:"text",w:"md",h:"sm",blink:!0})),i.createElement(qe.Z,{type:"text",h:"sm",blink:!0}),i.createElement(qe.Z,{type:"text",h:"sm",blink:!0}),i.createElement(qe.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(qe.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(qe.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})),i.createElement("div",{className:"d-flex justify-content-center"},i.createElement(qe.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(qe.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(qe.Z,{type:"text",h:"lg",blink:!0})),i.createElement("div",{className:"offset-md-4 col-md-4 d-flex align-items-center"},i.createElement(qe.Z,{type:"text",w:"xl",h:"sm",blink:!0}))))},ze=function(){var e,t,n=(0,i.useContext)(r.hy),a=(0,Fe.W)().hotel,o=null===(e=n.reservationData)||void 0===e||null===(t=e.payment)||void 0===t?void 0:t.planpay;return(0,i.useLayoutEffect)((function(){null!=o&&o.id&&Ue.MQ.checkout.refresh()}),[null==o?void 0:o.id]),(0,i.useEffect)((function(){var e;Ue.MQ.init({environment:null==a||null===(e=a.planpay)||void 0===e?void 0:e.env})}),[a]),i.createElement(i.Fragment,null,i.createElement("div",{className:"planpay-payment-container","data-planpay-checkout-id":null==o?void 0:o.id,style:{minHeight:"204px",display:"flex",justifyContent:"flex-end",flexDirection:"column"}},i.createElement(Le,null)))};function je(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 Qe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?je(Object(n),!0).forEach((function(t){(0,ge.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):je(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ve(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 $e=function(e){var t,n,a,o,s=e.tokenizerRef,d=e.onChangeCb,m=(0,c.$)().t,p=(0,te.Gc)(),f=(0,A.WP)().hotel,v=(0,r.Kc)(),g=(0,r.ZS)(),C=g.cards,y=void 0===C?[]:C,h=g.roomstayMember,E=(0,i.useMemo)((function(){return y.find((function(e){return e.cardId===(null==h?void 0:h.defaultCard)}))}),[y,h]),b=p.watch("paymentMethod"),x={value:ce.EBookingPaymentMethod.Card,label:i.createElement(Ze,{active:b===ce.EBookingPaymentMethod.Card}),renderContent:function(){return i.createElement(Oe,{ref:s})}},Z=[];if(null!=f&&null!==(t=f.paymentMethods)&&void 0!==t&&t.includes(ce.EBookingPaymentMethod.Card)){var P;if(y.length){var S=E||y[0];P={value:S.cardId,label:i.createElement(Ze,{card:S})}}else P=x;var N=[];if(y.length){var R,I=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 Ve(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)?Ve(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(I.s();!(R=I.n()).done;){var B=R.value;N.push({value:B.cardId,label:i.createElement(Ze,{card:B})})}}catch(e){I.e(e)}finally{I.f()}N.push(x)}Z.push(Qe(Qe({},P),{},{options:N.length>0?N:void 0}))}return null!=f&&null!==(n=f.paymentMethods)&&void 0!==n&&n.includes(ce.EBookingPaymentMethod.Planpay)&&null!=f&&null!==(a=f.planpay)&&void 0!==a&&a.minDaysShowPlanpay&&l()(v.startDate).diff(l()(),"day")>(null==f||null===(o=f.planpay)||void 0===o?void 0:o.minDaysShowPlanpay)&&Z.push({value:ce.EBookingPaymentMethod.Planpay,label:i.createElement("div",{className:"u-flex u-flex-align-center"},i.createElement("div",null,m(u.W.Step.Confirmation.PlanpayLabel)),i.createElement("div",{className:"u-flex u-flex-align-center u-marg-left--light",style:{borderRadius:"24px",overflow:"hidden"}},i.createElement("img",{height:16,src:de.Z.getImageAssetUrl("planpay-logo-small.svg"),alt:""})),!p.formState.isValid&&i.createElement(k.ZP,{color:w.Il.Graphite,className:"u-flex u-flex-align-center",style:{color:"#313131",fontSize:10}},i.createElement(_.ZP,{color:w.Il.DarkGrey,icon:_.Tu.Info,className:"u-marg-right--lighter u-marg-left--light"}),m(u.W.Step.Confirmation.PlanpayHelperText))),disabled:!p.formState.isValid,disabledReason:p.formState.isValid?"":"You must fill all the above details before proceeding with Planpay",renderContent:function(){return i.createElement(ze,null)}}),i.createElement(te.Qr,{control:p.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(De,{options:Z,value:r,onChange:function(e){n(e),d(e)}})))}})},He=n(6604),Je=n(5762),Ye=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}({}),Ke=n(1248),Xe=n(3261),et=n(6431),tt=n(9024),nt=["ref","onChange"],rt=function(){var e=(0,te.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(),A=d.basketAddonRows,C=(0,te.Dq)({control:a,name:"userProfiles"}),y=C.update,h=C.fields,b=o(["copyCheckBox","paymentMethod"]),x=(0,g.Z)(b,2),Z=x[0],P=x[1],S=n.errors,N=(0,c.$)().t,R=(0,i.useContext)(r.P0).roomstayMember;(0,i.useEffect)((function(){var e,t;null===(e=S.userProfiles)||void 0===e||null===(t=e.forEach)||void 0===t||t.call(e,(function(e,t){var n;null!==(n=S.userProfiles)&&void 0!==n&&n[t]&&(W[t]=!0)})),M(W.slice(0))}),[S.userProfiles,Z]),(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,ge.Z)(i,Ye.Forename,e(n,null==R?void 0:R.forename)),(0,ge.Z)(i,Ye.Surname,e(n,null==R?void 0:R.surname)),(0,ge.Z)(i,Ye.Email,e(n,null==R?void 0:R.email)),(0,ge.Z)(i,Ye.Phone,e(n,null==R?void 0:R.phoneNumber)),(0,ge.Z)(i,Ye.Address,e(n,null==R||null===(r=R.address)||void 0===r?void 0:r.address)),(0,ge.Z)(i,Ye.City,e(n,null==R||null===(a=R.address)||void 0===a?void 0:a.city)),(0,ge.Z)(i,Ye.PostCode,e(n,null==R||null===(o=R.address)||void 0===o?void 0:o.zip)),(0,ge.Z)(i,Ye.Country,e(n,null==R||null===(l=R.address)||void 0===l?void 0:l.country)),i}));s("userProfiles",t),s("copyCheckBox",!!(null!=p&&p.length&&p.length>1))}),[R,null==p?void 0:p.length]);var I=(0,i.useState)(p.map((function(e,t){return 0===t}))),B=(0,g.Z)(I,2),W=B[0],M=B[1],D=function(e,t){return function(e){U.ZP.instance.sendInteraction(t,U.s_.FORM_FIELD,U._J.GUEST_DETAILS)}};return(0,i.useEffect)((function(){Z&&h.forEach((function(e,t){0!==t&&y(t,l("userProfiles.0"))}))}),[Z]),(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&&h.map((function(e,t){0!==t&&y(t,l("userProfiles.0"))}))})).unsubscribe;return function(){e()}}),[h]),(0,i.useEffect)((function(){U.ZP.instance.sendCheckoutView(p,A)}),[]),i.createElement(i.Fragment,null,h.map((function(e,r){var o,l,c,s=function(e){return function(e,t){return"userProfiles.".concat(t,".").concat(e)}(e,r)},d=function(e){var t;if(S.userProfiles&&!(Z&&r>=1))return null!==(t=S.userProfiles[r])&&void 0!==t&&t[e]?"error":"success"},g=p[r],A=Z&&r>=1||P===ce.EBookingPaymentMethod.Planpay;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){W.splice(e,1,t),M(W.slice(0))}(r,!W[r])}},i.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},i.createElement(m.Z,{bold:!0},N(u.W.Misc.Room)," ",r+1),0!==r&&i.createElement(_.ZP,{icon:W[r]?_.Tu.ArrowDown2:_.Tu.ArrowUp2,color:w.Il.Grey})),g&&i.createElement("div",{className:"u-marg-bottom"},i.createElement(k.ZP,null,i.createElement("strong",{className:"u-block@l-"},g.getRoom().name)," for"," ",Xe.Z.pluralWithDictAndCount(g.getAdults(),u.W.Step.Date.Adult,N),", ",Xe.Z.pluralWithDictAndCount(g.getChildren(),u.W.Step.Date.Child,N)),i.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},i.createElement(k.ZP,{type:k.yG.Small,color:w.Il.Accent},i.createElement("strong",null,g.getStartDate().format("ddd, MMM D"))),i.createElement(_.ZP,{icon:_.Tu.ArrowRight2,size:"18px"}),i.createElement(k.ZP,{type:k.yG.Small,color:w.Il.Accent},i.createElement("strong",null,g.getEndDate().format("ddd, MMM D"))))),(o=r,(c=null===(l=S.userProfiles)||void 0===l?void 0:l[o])&&n.submitCount>=1&&(0===o||!Z)&&Object.values(c).map((function(e,t){return i.createElement(E.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(c).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:W[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,N(u.W.Step.Confirmation.ContactInfo)))),i.createElement(Te.Z,{dimensions:"2/2"},i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:d(Ye.Forename)},t(s(Ye.Forename),{onChange:D(s(Ye.Forename),"Forename - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Forename)})}}))),i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:d(Ye.Surname)},t(s(Ye.Surname),{onChange:D(s(Ye.Surname),"Surname - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Surname)})}})))),i.createElement(Te.Z,{dimensions:"2/2"},i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:d(Ye.Email),required:!0},t(s(Ye.Email),{onChange:D(s(Ye.Email),"Email - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Email)})},pattern:{value:et.CU,message:N(u.W.Step.Confirmation.Inputs.InvalidEmail)}}))),Ke.Z.isActive()?i.createElement(te.Qr,{control:a,name:s(Ye.Phone),rules:{required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(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(He.Z,(0,v.Z)({disabled:A,validationStatus:d(Ye.Phone)},t,{onChange:function(e){t.onChange(e),D(s(Ye.Phone),"Phone - Contact Info")(e)}}))}}):i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:d(Ye.Phone)},t(s(Ye.Phone),{onChange:D(s(Ye.Phone),"Phone - Contact Info"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(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,N(u.W.Step.Confirmation.Address)))),i.createElement(Te.Z,{dimensions:"3/1"},i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:d(Ye.Address)},t(s(Ye.Address),{onChange:D(s(Ye.Address),"Address - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Address)})}}))),i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:d(Ye.City)},t(s(Ye.City),{onChange:D(s(Ye.City),"City - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.City)})}})))),i.createElement(Te.Z,{dimensions:"2/2"},i.createElement(ve.Z,(0,v.Z)({inputProps:{disabled:A},placeholder:N(u.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:d(Ye.PostCode)},t(s(Ye.PostCode),{onChange:D(s(Ye.PostCode),"PostCode - Address"),required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.PostCode)})}}))),i.createElement(te.Qr,{control:a,name:s(Ye.Country),rules:{required:{value:!0,message:N(u.W.Step.Confirmation.Inputs.Required,{field:N(u.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,t.onChange),r=(0,Pe.Z)(t,nt);return i.createElement(Je.Z,(0,v.Z)({disabled:A,validationStatus:d(Ye.Country),onChange:function(e){n(e),D(s(Ye.Country),"Country - Address")(e)}},r))}})))),i.createElement(f.Z,null)),h.length>1&&0===r?i.createElement("div",{className:"u-marg-bottom--heavy"},i.createElement(tt.Z,(0,v.Z)({label:N(u.W.Step.Confirmation.ApplySameInfoToOtherRooms)},t("copyCheckBox")))):null)})))},at=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(tt.Z,{label:n(u.W.Step.Confirmation.EmailSpecialOffers)})),i.createElement("div",{className:"u-marg-top--light"},i.createElement(tt.Z,{ref:t,label:i.createElement("div",null,n(u.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",i.createElement("a",{style:{color:w.Il.Accent},className:"--underlined",href:null==a?void 0:a.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},n(u.W.Step.Confirmation.PrivacyPolicy)))})),i.createElement(E.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 ot(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(R.Z,{isText:!0,size:"small",icon:_.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},o(u.W.Step.Confirmation.TakeMeBack)),i.createElement(R.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(B.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:B.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(he.ZP,{icon:_.Tu.Time,type:he.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:w.Il.Alert},i.createElement(I.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:w.Il.Success},i.createElement(I.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 lt=n(2710);function it(){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 ct(){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=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"},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===(a=l.room.getRate())||void 0===a?void 0:a.getGuaranteePolicy())||""}}))),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===(o=l.room.getRate())||void 0===o?void 0:o.getCancellationPolicy())||""}})))})))}),[e.currentBasketRows])}var st=n(6222),ut=n(8016),dt=n(1657);function mt(){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],A=(0,i.useState)(!1),C=(0,g.Z)(A,2),y=C[0],h=C[1],E=(0,i.useRef)(null),b=(0,i.useRef)(null),Z=(0,c.$)().t,P=re(),S=P.queryPaymentMethod,N=P.queryRoomstayId,I=P.queryPlanpayCheckoutId,B=(0,r.dF)(),W=(0,te.Gc)(),M=oe(),D=M.isBackFromPlanpay,T=M.isLoading,O=M.apiErrors,U=M.clearApiErrors,q=M.book,F=M.rollbackReservation,L=M.commitReservation,z=(0,r.Kc)(),j=(0,i.useRef)(null),Q=(0,se.J)(),V=(0,r.ZS)().roomstayMember,$=function(){var e=(0,J.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===ce.EBookingPaymentMethod.Planpay?3:e.t0===ce.EBookingPaymentMethod.Card?10:(e.t0,ce.EBookingPaymentMethod.SavedCard,16);break;case 3:return(r=new URLSearchParams(window.location.search)).set("roomstayId","{{rsId}}"),r.set("session",B.sessionProvider.getCurrentSessionID().toString()),r.set("paymentMethod",ce.EBookingPaymentMethod.Planpay),a="".concat(window.location.origin).concat(window.location.pathname).concat(window.location.search,"#/step/confirmation/?").concat(r),n={Method:ce.EBookingPaymentMethod.Planpay,PlanpayCheckoutId:I||void 0,RedirectUrl:a},e.abrupt("break",17);case 10:return e.t1=ce.EBookingPaymentMethod.Card,e.next=13,null===(o=j.current)||void 0===o?void 0:o.getTokenizedCode();case 13:return e.t2=e.sent,n={Method:e.t1,PaymentCard:e.t2},e.abrupt("break",17);case 16:n={Method:ce.EBookingPaymentMethod.SavedCard,SavedCardID:t};case 17:return e.abrupt("return",n);case 18:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();(0,i.useEffect)((function(){var e,t,n="";return n=Object.values(ce.EBookingPaymentMethod).includes(S)?S:null!=V&&V.defaultCard&&null!=V&&null!==(e=V.cards)&&void 0!==e&&e.find((function(e){return e.cardId===(null==V?void 0:V.defaultCard)}))?null==V?void 0:V.defaultCard:ce.EBookingPaymentMethod.Card,W.setValue("paymentMethod",n),le(n),D&&(N===(null===(t=z.reservationData)||void 0===t?void 0:t.roomstayId)?H():null==F||F()),function(){D||null==F||F()}}),[]);var H=function(){var e=(0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==L?void 0:L(z.reservationData);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),Y=W.watch("paymentMethod");B.engine.getSessionProvider().getSession().then((function(e){p(e.source)}));var X=function(){var e=(0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Q((0,dt.Z)().getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ee=function(){var e=(0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ae(Y,function(){var e=(0,J.Z)(K().mark((function e(t){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null==L?void 0:L(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());case 2:return e.abrupt("return",!1);case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ne=function(e){var t=null==o?void 0:o.errorChecks.every((function(t){return t().validate(e)}));return void 0===t||t},ae=function(){var e=(0,J.Z)(K().mark((function e(t,n){var r;return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==q?void 0:q((0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",$(t));case 1:case"end":return e.stop()}}),e)}))),null===(r=b.current)||void 0===r?void 0:r.value,(0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=void 0,!st.Z.isActive()||null!=E&&null!==(n=E.current)&&void 0!==n&&n.checked){e.next=3;break}return h(!0),e.abrupt("return",!1);case 3:if(ne(!0)){e.next=5;break}return e.abrupt("return",!1);case 5:if(e.prev=5,t!==ce.EBookingPaymentMethod.Card){e.next=9;break}return e.next=9,j.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)}),n);case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),le=function(){var e=(0,J.Z)(K().mark((function e(t){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===ce.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,D?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:w.Il.Success},i.createElement("strong",null,Z(u.W.Step.Confirmation.AlmostDone,{required:"*"})))),i.createElement(rt,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:w.Il.Accent,bold:!0},Z(u.W.Step.Confirmation.WantMoreRooms)),i.createElement(k.ZP,{color:w.Il.Navy},Z(u.W.Step.Confirmation.YouCanAddAndEditRooms))),i.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},i.createElement(R.Z,{filled:!0,primary:!0,icon:_.Tu.Add,iconPosition:"left",onClick:X},Z(u.W.Step.Confirmation.AddMoreRooms))))):i.createElement(i.Fragment,null),ut.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(ve.Z,(0,v.Z)({placeholder:Z(u.W.Step.Confirmation.Inputs.IATANumber),wide:!0},W.register("IATANumber")))),i.createElement(f.Z,null)),i.createElement(lt.h,{inputRef:b}),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($e,{tokenizerRef:j,onChangeCb:function(){var e=(0,J.Z)(K().mark((function e(t){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,le(t);case 2:if(t!==ce.EBookingPaymentMethod.Planpay){e.next=5;break}return e.next=5,ae(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:w.Il.Success}),i.createElement("div",{className:"u-marg-left--light"},i.createElement(k.ZP,{type:k.yG.Small,color:w.Il.Success},i.createElement("strong",null,Z(u.W.Step.Confirmation.Secured))))),i.createElement(me,null))),i.createElement(f.Z,null),i.createElement(it,null),i.createElement("div",{className:"u-pad-top--light u-marg-bottom"},i.createElement(ct,null)),st.Z.isActive()&&i.createElement(i.Fragment,null,i.createElement(f.Z,null),i.createElement("div",null,i.createElement(at,{ref:E,confirmationPolicyError:y}))),i.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},i.createElement(pe.Z,{disabled:Y===ce.EBookingPaymentMethod.Planpay||T,text:Z(u.W.Step.Confirmation.ConfirmReservation),isLoading:T,onClick:ee}))),i.createElement(fe.default,{open:!!O,onClose:U},i.createElement(k.ZP,null,O)),i.createElement(ot,{differences:n.differences,warnings:n.warnings,isLoading:T,onClose:(0,J.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:Q((0,dt.Z)().getStepUrl());case 3:case"end":return e.stop()}}),e)}))),onProceed:(0,J.Z)(K().mark((function e(){return K().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Y!==ce.EBookingPaymentMethod.Planpay){e.next=4;break}a({differences:[],warnings:[]}),e.next=6;break;case 4:return e.next=6,null==L?void 0:L(z.reservationData);case 6:case"end":return e.stop()}}),e)})))}))}function pt(){return i.createElement(ie,null,i.createElement(mt,null))}var ft=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(z.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(F.Z,null))),e.screenSize>$.Z.Medium&&i.createElement(p.f,null,i.createElement(L.Z,null))),i.createElement(f.Z,null),i.createElement(p.i5,null,i.createElement(p.mV,null,i.createElement("div",{className:"block-container"},!V.Z.isActive()&&i.createElement(T,null),i.createElement(r.s$,null,i.createElement(pt,null)))),e.screenSize>$.Z.Medium&&i.createElement(p.f,null,i.createElement(q,{endDate:l()().add(10,"minute")}),i.createElement(j.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}","",{version:3,sources:["InlinePaymentOption.module.scss"],names:[],mappings:"AAAA,0CAAM,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe",file:"InlinePaymentOption.module.scss",sourcesContent:[".root{display:flex;align-items:center;gap:12px;margin-left:4px}"]}]),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{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,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{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},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||{}}}]);