@roomstay/frontend 2.3.1 → 2.3.3

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(7294),a=n(3010),o=n(5692),l=n(3933),i=n(3727),c=n(9874),s=n(3821),u=n(9478),d=n(370),m=n(292),p=n(8279),f=n(6793),g=n(7462),v=n(885),A=n(8886),C=n(584),y=n(7754),h=n(4184),E=n.n(h),b=n(4744);function _(e){var t=e.addon,n=(0,f.$)().t;return r.createElement("div",{className:E()("additional-offers--column",{"--selected":e.selected}),style:{backgroundImage:"url('".concat(t.image&&b.Z.resizeImage(t.image,b.h.Original),"')")},onClick:function(){var t;null===(t=e.cardClicked)||void 0===t||t.call(e)}},r.createElement("div",{className:"additional-offers--column-body"},r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.White},r.createElement("strong",null,t.name)),r.createElement("div",{className:"u-flex"},r.createElement(C.ZP,{inline:!0,type:C.yG.Small,color:y.Il.White},n(u.W.Misc.SeeDetails)),r.createElement(A.ZP,{icon:A.Tu.ArrowRight,color:y.Il.White}))))}var x=n(8144),k=n(3460),Z=n(7582),P=n(5128),S=n(6380),w=n(4854),N=n(858),R=n(360),I=n(3351);function B(e){var t,n=e.addon,o=((0,f.$)().t,(0,r.useContext)(R.hy)),l=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedDate():""),i=(0,v.Z)(l,2),c=i[0],s=i[1],u=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedTime():""),d=(0,v.Z)(u,2),m=d[0],p=d[1],g=(0,r.useState)({quantity:1}),A=(0,v.Z)(g,2),h=A[0],E=A[1],_=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),x=(0,v.Z)(_,2),k=x[0],Z=x[1],B=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),W=(0,v.Z)(B,2),M=W[0],D=W[1],T=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),G=(0,v.Z)(T,2),O=G[0],U=G[1];return r.useEffect((function(){var t,r,a,o,l,i;if(n)return e.basketAddonRow?(E(null!==(t=n.availability[e.basketAddonRow.getSelectedDate()])&&void 0!==t?t:n.availability[n.firstDate]),s(null!==(r=e.basketAddonRow.getSelectedDate())&&void 0!==r?r:n.firstDate),p(null!==(a=e.basketAddonRow.getSelectedTime())&&void 0!==a?a:""),Z(e.basketAddonRow.getQuantity()),D(e.basketAddonRow.getAdultQuantity()),U(e.basketAddonRow.getChildQuantity())):(E(n.availability[n.firstDate]),s(n.firstDate),p((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(){Z(1),D(1),U(0)}}),[n]),r.createElement(P.Z,{open:e.isOpen,onClose:e.onClose,size:P.g.Small,title:n?n.name:""},n&&r.createElement(r.Fragment,null,r.createElement("div",{style:{height:"350px",width:"100%",backgroundImage:'url("'.concat(n.image&&b.Z.resizeImage(n.image,b.h.Original),'")'),backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"cover"}}),r.createElement("div",{className:"u-marg-heavy u-marg@m-"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},n.name)),r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.DarkGrey},n.description)),r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(C.ZP,null,"Date"),r.createElement(I.P,{nativeOnMobile:!0,options:n.selectorDates,value:c,onChange:function(e){var t,r,a,o;t=e,E(n.availability[t]),s(t),p((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<k&&Z(n.availability[t].quantity)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),0!==(null==h||null===(t=h.selectorTimes)||void 0===t?void 0:t.length)&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(C.ZP,null,"Time"),r.createElement(I.P,{nativeOnMobile:!0,options:(null==h?void 0:h.selectorTimes)||[],value:m,onChange:function(e){p(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),h.price&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(C.ZP,null,"Quantity"),r.createElement(S.Z,{number:k,min:1,max:h.quantity,onChange:function(e){Z(e)}}))),h.adultPrice&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(C.ZP,null,"Adults"),r.createElement(S.Z,{number:M,min:0,max:h.quantity-O,onChange:function(e){D(e)}}))),h.childPrice&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(C.ZP,null,"Children"),r.createElement(S.Z,{number:O,min:0,max:h.quantity-M,onChange:function(e){U(e)}}))),r.createElement("div",{className:"u-flex align-items-center u-marg-top"},h.price&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,h.price),"/ Qty"),h.adultPrice&&h.childPrice&&r.createElement("h2",{className:"u-marg-none"},r.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,h.adultPrice)," / Adult"),r.createElement("br",null),r.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,h.childPrice)," / Child")),h.adultPrice&&!h.childPrice&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,h.adultPrice)," / Adult"),h.childPrice&&!h.adultPrice&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,h.childPrice)," / Child"),r.createElement(w.Z,{filled:!0,primary:!0,onClick:function(){o.setAddonQuantities(n,{quantity:k,adult:M,child:O},c,m),e.onClose()}},e.basketAddonRow?"Update Cart":"Add to Cart")),n.guaranteeDescription&&r.createElement(r.Fragment,null,r.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Guarantee"),r.createElement("div",{className:"u-marg-bot--heavy"},r.createElement(C.ZP,{type:C.yG.Small},n.guaranteeDescription))),n.cancelPenalty&&r.createElement(r.Fragment,null,r.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Cancellation Policy"),r.createElement("div",{className:"u-marg-bot--heavy"},r.createElement(C.ZP,{type:C.yG.Small},n.cancelPenalty))))))}var W=n(8442),M=n(9740),D=n(7832),T=n(7688);function G(){var e=(0,r.useContext)(R.hy),t=(0,r.useContext)(R.Qm),n=(0,T.WP)().hotel,o=(0,x.q_)((function(){return{x:0}})),l=(0,v.Z)(o,2),i=l[0].x,c=l[1],s=(0,k.Z)(),d=(0,v.Z)(s,2),m=d[0],p=d[1],h=(0,f.$)().t,E=r.useState([]),b=(0,v.Z)(E,2),P=b[0],S=b[1],w=(0,r.useState)(!1),N=(0,v.Z)(w,2),I=N[0],G=N[1],O=(0,r.useState)(null),U=(0,v.Z)(O,2),q=U[0],F=U[1],L=(0,r.useState)(!1),z=(0,v.Z)(L,2),j=z[0],Q=z[1],V=(0,r.useState)(0),$=(0,v.Z)(V,2),H=$[0],J=$[1],Y=(0,r.useState)(0),K=(0,v.Z)(Y,2),X=(K[0],K[1]),ee=(0,r.useState)(-1),te=(0,v.Z)(ee,2),ne=te[0],re=te[1];r.useEffect((function(){var t=!1,r=e.getAllValidRows();return Q(!0),W.Z.Addons.findAddons(r,null==n?void 0:n.hotelID).then((function(e){t||(Q(!1),S(e))})),function(){Q(!1),t=!0}}),[t.currentLanguage]);var ae=222,oe=ae*P.length>=p.width,le=(0,Z.c0)((function(e){var t=e.down,n=(0,v.Z)(e.movement,1)[0];ie(t,n)})),ie=function(e,t){if(oe)if(e)c({x:H+1.5*t});else{var n=H+t,r=(P.length-1)*ae,a=0;if(n>0)a=0,re(-1);else if(n<-(r-p.width+ae))a=-(r-p.width+ae),re(1);else{var o=-n/ae,l=n%ae>-111?Math.floor(o):Math.ceil(o);a=-l*ae,X(l),re(0)}c({x:a}),J(a)}};return r.createElement(M.Z,{open:!j&&0!==(null==P?void 0:P.length)||!(null==n||!n.showAddonLoader)},r.createElement("div",{className:"u-pad-bottom--heavy "},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},h(u.W.Step.Confirmation.AdditionalOfferings))),j&&null!=n&&n.showAddonLoader?r.createElement(D.Z,null):0===(null==P?void 0:P.length)?r.createElement("div",null,r.createElement(C.ZP,{color:y.Il.DarkGrey},h(u.W.Step.Confirmation.NoAdditionalOfferings))):r.createElement("div",{className:"additional-offers"+(P.length>2?"":" --wide"),ref:m},oe&&r.createElement("div",{className:"additional-offers--navigation"},r.createElement(A.ZP,{icon:A.Tu.ArrowLeft2,onClick:function(){ie(!1,ae)},color:-1===ne?y.Il.DarkGrey:y.Il.White,backgroundColor:y.Il.Navy,borderRadius:"round",size:"24px"}),r.createElement(A.ZP,{icon:A.Tu.ArrowRight2,onClick:function(){ie(!1,-222)},color:1===ne?y.Il.DarkGrey:y.Il.White,backgroundColor:y.Il.Navy,borderRadius:"round",size:"24px"})),r.createElement("div",{className:"additional-offers--track-container"},r.createElement(x.q.div,(0,g.Z)({className:"additional-offers--track"},le(),{style:{left:i}}),P.map((function(t,n){return r.createElement(_,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){G(!0),F(t)}})}))))),r.createElement(B,{isOpen:I&&!!q,addon:q,basketAddonRow:e.getRowForAddon(q),onClose:function(){G(!1)}})))}var O=n(7933),U=n(7484),q=n.n(U);function F(e){var t=(0,r.useState)(e.endTimeDate.diff(q()(),"second")),n=(0,v.Z)(t,2),a=n[0],o=n[1];return(0,r.useEffect)((function(){var t=!1,n=setTimeout((function(){t||(a>0?o((function(e){return e-1})):(e.onEnd&&e.onEnd(),t=!0,clearTimeout(n)))}),1e3);return function(){t=!0,clearTimeout(n)}}),[a]),(0,r.useMemo)((function(){var e=[Math.floor(a/60/60),Math.floor(a/60%60),Math.floor(a%60)];return r.createElement(r.Fragment,null,e.map((function(e){return e.toString().padStart(2,"0")})).join(":"))}),[a])}var L=n(4544);function z(e){var t=(0,r.useState)(!1),n=(0,v.Z)(t,2),o=n[0],l=n[1],i=(0,f.$)().t;return r.createElement(O.ZP,{type:O.NK.Accent1},r.createElement("div",{className:"u-flex w-100 flex-wrap align-items-center"},r.createElement("div",null,r.createElement(C.ZP,null,r.createElement("strong",null,i(u.W.Step.Confirmation.YourRoomIs))),r.createElement(C.ZP,null,r.createElement("strong",null,i(u.W.Step.Confirmation.BeingHeldFor)))),r.createElement("div",{className:o?"a-flash":""},r.createElement(a.Z,{size:"large",bold:!0,color:y.Il.White},r.createElement(F,{endTimeDate:e.endDate,onEnd:function(){L.ZP.instance.sendInteraction("Countdown End Seen",L.s_.LINK,L._J.GUEST_DETAILS),l(!0)}})))))}var j=n(4511),Q=n(5400),V=n(6337),$=n(5032),H=n(5861),J=n(4687),Y=n.n(J),K=n(7536),X=n(5987),ee=n(4942),te=n(5993),ne=n(1432),re=n(5762),ae=n(3261),oe=n(6604),le=n(1248),ie=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}({}),ce=n(9024),se=n(6598),ue=n(6431),de=["ref","onChange"],me=function(){var e=(0,K.Gc)(),t=e.register,n=e.formState,o=e.control,l=e.watch,i=e.getValues,s=e.setValue,d=(0,r.useContext)(R.hy),m=d.getAllValidRows(),p=d.basketAddonRows,h=(0,K.Dq)({control:o,name:"userProfiles"}),E=h.update,b=h.fields,_=l(["copyCheckBox","paymentMethod"]),x=(0,v.Z)(_,2),k=x[0],Z=x[1],P=n.errors,S=(0,f.$)().t,w=(0,r.useContext)(R.P0).roomstayMember;(0,r.useEffect)((function(){var e,t;null===(e=P.userProfiles)||void 0===e||null===(t=e.forEach)||void 0===t||t.call(e,(function(e,t){var n;null!==(n=P.userProfiles)&&void 0!==n&&n[t]&&(B[t]=!0)})),W(B.slice(0))}),[P.userProfiles,k]),(0,r.useEffect)((function(){var e=function(e){return 0===e&&arguments.length>1&&void 0!==arguments[1]?arguments[1]:""},t=m.map((function(t,n){var r,a,o,l,i;return i={},(0,ee.Z)(i,ie.Forename,e(n,null==w?void 0:w.forename)),(0,ee.Z)(i,ie.Surname,e(n,null==w?void 0:w.surname)),(0,ee.Z)(i,ie.Email,e(n,null==w?void 0:w.email)),(0,ee.Z)(i,ie.Phone,e(n,null==w?void 0:w.phoneNumber)),(0,ee.Z)(i,ie.Address,e(n,null==w||null===(r=w.address)||void 0===r?void 0:r.address)),(0,ee.Z)(i,ie.City,e(n,null==w||null===(a=w.address)||void 0===a?void 0:a.city)),(0,ee.Z)(i,ie.PostCode,e(n,null==w||null===(o=w.address)||void 0===o?void 0:o.zip)),(0,ee.Z)(i,ie.Country,e(n,null==w||null===(l=w.address)||void 0===l?void 0:l.country)),i}));s("userProfiles",t),s("copyCheckBox",!!(null!=m&&m.length&&m.length>1))}),[w,null==m?void 0:m.length]);var N=(0,r.useState)(m.map((function(e,t){return 0===t}))),I=(0,v.Z)(N,2),B=I[0],W=I[1],D=function(e,t){return function(e){L.ZP.instance.sendInteraction(t,L.s_.FORM_FIELD,L._J.GUEST_DETAILS)}};return(0,r.useEffect)((function(){k&&b.forEach((function(e,t){0!==t&&E(t,i("userProfiles.0"))}))}),[k]),(0,r.useEffect)((function(){var e=l((function(e,t){var n=t.name;"change"===t.type&&null!=n&&n.includes("userProfiles")&&"0"===n.split(".")[1]&&e.copyCheckBox&&b.map((function(e,t){0!==t&&E(t,i("userProfiles.0"))}))})).unsubscribe;return function(){e()}}),[b]),(0,r.useEffect)((function(){L.ZP.instance.sendCheckoutView(m,p)}),[]),r.createElement(r.Fragment,null,b.map((function(e,l){var i,s,d,p=function(e){return function(e,t){return"userProfiles.".concat(t,".").concat(e)}(e,l)},f=function(e){var t;if(P.userProfiles&&!(k&&l>=1))return null!==(t=P.userProfiles[l])&&void 0!==t&&t[e]?"error":"success"},v=m[l],h=k&&l>=1||Z===se.EBookingPaymentMethod.Planpay;return r.createElement("div",{key:e.id},r.createElement("div",{className:0===l?"":"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom",onClick:function(){0!==l&&function(e,t){B.splice(e,1,t),W(B.slice(0))}(l,!B[l])}},r.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},r.createElement(a.Z,{bold:!0},S(u.W.Misc.Room)," ",l+1),0!==l&&r.createElement(A.ZP,{icon:B[l]?A.Tu.ArrowDown2:A.Tu.ArrowUp2,color:y.Il.Grey})),v&&r.createElement("div",{className:"u-marg-bottom"},r.createElement(C.ZP,null,r.createElement("strong",{className:"u-block@l-"},v.getRoom().name)," for"," ",ae.Z.pluralWithDictAndCount(v.getAdults(),u.W.Step.Date.Adult,S),", ",ae.Z.pluralWithDictAndCount(v.getChildren(),u.W.Step.Date.Child,S)),r.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.Accent},r.createElement("strong",null,v.getStartDate().format("ddd, MMM D"))),r.createElement(A.ZP,{icon:A.Tu.ArrowRight2,size:"18px"}),r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.Accent},r.createElement("strong",null,v.getEndDate().format("ddd, MMM D"))))),(i=l,(d=null===(s=P.userProfiles)||void 0===s?void 0:s[i])&&n.submitCount>=1&&(0===i||!k)&&Object.values(d).map((function(e,t){return r.createElement(M.Z,{key:t,open:!0},r.createElement("div",{className:"u-flex"},r.createElement(O.ZP,{icon:A.Tu.Error,type:O.NK.Danger,noMargin:t===Object.keys(d).length-1},r.createElement(C.ZP,{type:C.yG.Small},null==e?void 0:e.message))))})),null)),r.createElement("div",{className:"room-contact-details--row",style:{maxHeight:B[l]?void 0:0}},r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(C.ZP,{type:C.yG.Small},r.createElement("strong",null,S(u.W.Step.Confirmation.ContactInfo)))),r.createElement(te.Z,{dimensions:"2/2"},r.createElement(ne.Z,(0,g.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:f(ie.Forename)},t(p(ie.Forename),{onChange:D(p(ie.Forename),"Forename - Contact Info"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Forename)})}}))),r.createElement(ne.Z,(0,g.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:f(ie.Surname)},t(p(ie.Surname),{onChange:D(p(ie.Surname),"Surname - Contact Info"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Surname)})}})))),r.createElement(te.Z,{dimensions:"2/2"},r.createElement(ne.Z,(0,g.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:f(ie.Email),required:!0},t(p(ie.Email),{onChange:D(p(ie.Email),"Email - Contact Info"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Email)})},pattern:{value:ue.CU,message:S(u.W.Step.Confirmation.Inputs.InvalidEmail)}}))),le.Z.isActive()?r.createElement(K.Qr,{control:o,name:p(ie.Phone),rules:{required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(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 r.createElement(oe.Z,(0,g.Z)({disabled:h,validationStatus:f(ie.Phone)},t,{onChange:function(e){t.onChange(e),D(p(ie.Phone),"Phone - Contact Info")(e)}}))}}):r.createElement(ne.Z,(0,g.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:f(ie.Phone)},t(p(ie.Phone),{onChange:D(p(ie.Phone),"Phone - Contact Info"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Phone)})}}))))),r.createElement("div",{className:""},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(C.ZP,{type:C.yG.Small},r.createElement("strong",null,S(u.W.Step.Confirmation.Address)))),r.createElement(te.Z,{dimensions:"3/1"},r.createElement(ne.Z,(0,g.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:f(ie.Address)},t(p(ie.Address),{onChange:D(p(ie.Address),"Address - Address"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Address)})}}))),r.createElement(ne.Z,(0,g.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:f(ie.City)},t(p(ie.City),{onChange:D(p(ie.City),"City - Address"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.City)})}})))),r.createElement(te.Z,{dimensions:"2/2"},r.createElement(ne.Z,(0,g.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:f(ie.PostCode)},t(p(ie.PostCode),{onChange:D(p(ie.PostCode),"PostCode - Address"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.PostCode)})}}))),r.createElement(K.Qr,{control:o,name:p(ie.Country),rules:{required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,t.onChange),a=(0,X.Z)(t,de);return r.createElement(re.Z,(0,g.Z)({disabled:h,validationStatus:f(ie.Country),onChange:function(e){n(e),D(p(ie.Country),"Country - Address")(e)}},a))}})))),r.createElement(c.Z,null)),b.length>1&&0===l?r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement(ce.Z,(0,g.Z)({label:S(u.W.Step.Confirmation.ApplySameInfoToOtherRooms)},t("copyCheckBox")))):null)})))};function pe(){var e=(0,f.$)().t,t=(0,T.WP)().hotel;return r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},e(u.W.Step.Confirmation.Policies))),r.createElement("div",{className:"u-marg-bottom"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-6 col-md-3"},r.createElement(C.ZP,{type:C.yG.Small},r.createElement("strong",null,e(u.W.Misc.CheckIn))),r.createElement(C.ZP,{type:C.yG.Small},e(u.W.Misc.After)," ",null==t?void 0:t.checkInTime)),r.createElement("div",{className:"col-6 col-md-3"},r.createElement(C.ZP,{type:C.yG.Small},r.createElement("strong",null,e(u.W.Misc.CheckOut))),r.createElement(C.ZP,{type:C.yG.Small},e(u.W.Misc.Before)," ",null==t?void 0:t.checkOutTime)))))}var fe=n(8029),ge=n(2364),ve=n(5112);function Ae(){var e=(0,f.$)().t;return r.createElement(ve.Z,{title:e(u.W.Step.Confirmation.SSLSecure)},r.createElement("img",{src:ge.Z.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var Ce=n(3409);function ye(e){var t,n,o=(0,r.useContext)(R.hy),l=(0,f.$)().t,i=(0,r.useState)(q()().add(14,"minute")),s=(0,v.Z)(i,2),d=s[0];s[1],(0,r.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 m=r.createElement("div",{className:"u-flex"},r.createElement(w.Z,{isText:!0,size:"small",icon:A.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},l(u.W.Step.Confirmation.TakeMeBack)),r.createElement(w.Z,{primary:!0,filled:!0,icon:A.Tu.ArrowRight,iconPosition:"right",onClick:e.onProceed,isLoading:e.isLoading},l(u.W.Step.Confirmation.ContinueWithReservation)));return r.createElement(P.Z,{open:!!e.differences.length||!(null===(n=e.warnings)||void 0===n||!n.length),title:l(u.W.Step.Confirmation.YourTotalPriceHasChanged),mobileFooter:m,desktopFooter:r.createElement("div",{className:"u-marg-heavy u-marg@m-"},m),size:P.g.Small,alignCenter:!0},r.createElement("div",{className:"u-marg-heavy u-marg@m-"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-md-8"},r.createElement(C.ZP,{type:C.yG.Small},l(u.W.Step.Confirmation.ConfirmationCheckoutTitle))),r.createElement("div",{className:"col-md-4"},r.createElement(Ce.ZP,{icon:A.Tu.Time,type:Ce.Rm.Primary},r.createElement("span",{className:"u-marg-right--light"},l(u.W.Step.Confirmation.RevertsIn)),r.createElement(F,{endTimeDate:d})))),r.createElement(c.Z,null),!(!e.differences||!e.differences.length)&&e.differences.map((function(e){var t,n,l,i=o.getAllValidRows().find((function(t){return t.getID()===e.id}));return r.createElement("div",{key:e.id},!!i&&r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(a.Z,null,i.getRoom().name)),r.createElement(C.ZP,null,null===(t=i.getRate())||void 0===t?void 0:t.name)),r.createElement("div",{className:"u-flex u-marg-bottom--light"},r.createElement(C.ZP,{type:C.yG.Body},r.createElement("strong",null,"Displayed price:")),r.createElement(C.ZP,{color:y.Il.Alert},r.createElement(N.Z,null,null===(n=e.totalPrice)||void 0===n?void 0:n.before))),r.createElement("div",{className:"u-flex"},r.createElement(C.ZP,{type:C.yG.Body},r.createElement("strong",null,"Actual price:")),r.createElement(C.ZP,{color:y.Il.Success},r.createElement(N.Z,null,null===(l=e.totalPrice)||void 0===l?void 0:l.after))),r.createElement(c.Z,null))})),!(!e.warnings||!e.warnings.length)&&e.warnings.map((function(e,t){return r.createElement(C.ZP,{key:t},e)}))))}var he=n(1625);function Ee(){var e=(0,r.useContext)(R.hy),t=(0,f.$)().t,n=t(u.W.Misc.Room);return(0,r.useMemo)((function(){var a={},o=e.getAllValidRows(),l=0;return o.length>1?o.forEach((function(e){l++;var t=e.getRate(),n=a["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)];n||(n=a["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)]={rooms:[]}),n.rooms.push({index:l,room:e})})):a[0]={rooms:[{index:1,room:o[0]}]},r.createElement("div",{className:"u-marg-bottom"},Object.values(a).map((function(e,a){var o,l,i=e.rooms[0];return r.createElement("div",{className:"u-marg-bottom--heavy",key:a},r.createElement("div",{className:"u-marg-bottom"},e.rooms.map((function(e){var t;return r.createElement(C.ZP,{key:e.index,type:C.yG.Small},r.createElement("strong",null,n," ",e.index)," ",e.room.getRoom().name," - ",null===(t=e.room.getRate())||void 0===t?void 0:t.name)}))),r.createElement("div",{className:"u-marg-bottom"},r.createElement(C.ZP,{type:C.yG.Small,bold:!0},t(u.W.Misc.GuaranteePolicy)),r.createElement(C.ZP,{type:C.yG.Small,preformatted:!0},r.createElement("span",{dangerouslySetInnerHTML:{__html:(null===(o=i.room.getRate())||void 0===o?void 0:o.getGuaranteePolicy())||""}}))),r.createElement(C.ZP,{type:C.yG.Small,bold:!0},t(u.W.Misc.CancellationPolicy)),r.createElement(C.ZP,{type:C.yG.Small,preformatted:!0},r.createElement("span",{dangerouslySetInnerHTML:{__html:(null===(l=i.room.getRate())||void 0===l?void 0:l.getCancellationPolicy())||""}})))})))}),[e.currentBasketRows])}var be=r.forwardRef((function(e,t){var n=(0,f.$)().t,o=e.confirmationPolicyError,l=(0,T.WP)().hotel;return r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},n(u.W.Step.Confirmation.Acknowledgement))),r.createElement("div",null,r.createElement(ce.Z,{label:n(u.W.Step.Confirmation.EmailSpecialOffers)})),r.createElement("div",{className:"u-marg-top--light"},r.createElement(ce.Z,{ref:t,label:r.createElement("div",null,n(u.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",r.createElement("a",{style:{color:y.Il.Accent},className:"--underlined",href:null==l?void 0:l.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},n(u.W.Step.Confirmation.PrivacyPolicy)))})),r.createElement(M.Z,{open:o},r.createElement("div",{className:"u-flex u-marg-top"},r.createElement(O.ZP,{type:O.NK.Danger,icon:A.Tu.Error},r.createElement(C.ZP,{type:C.yG.Small},n(u.W.Step.Confirmation.PrivacyPolicyError))))))})),_e=n(1657),xe=n(6222),ke=n(8016),Ze=(0,r.createContext)({}),Pe=function(){return(0,r.useContext)(Ze)},Se=n(5758),we=function(){var e=(0,Se.u)(),t=(0,Se.a)(),n=(0,r.useMemo)((function(){return["paymentMethod","roomstayId","planpay_checkout_id"].map((function(n){return t.get(n)||e.get(n)}))}),[e,t]),a=(0,v.Z)(n,3);return{queryPaymentMethod:a[0],queryRoomstayId:a[1],queryPlanpayCheckoutId:a[2]}},Ne=n(8440),Re=n.n(Ne),Ie=function(e,t){var n,a=e.checked,o=e.onChange,l=e.disabled,i=e.label,c=e.renderContent,s=e.className,u=e.headerRef;return r.createElement("div",{className:E()(Re().root,s,(n={},(0,ee.Z)(n,Re().disabled,l),(0,ee.Z)(n,Re().checked,a),n)),onClick:o,ref:t},r.createElement("div",{className:Re().header,ref:u},r.createElement("div",{className:Re().design}),r.createElement("div",{className:Re().text},i)),c&&a&&r.createElement(M.Z,{open:!0},r.createElement("div",{className:Re().content},c())))},Be=(0,r.forwardRef)(Ie),We=n(9502),Me=n.n(We),De=n(9089),Te=["renderContent"],Ge=function e(t){var n=t.options,a=void 0===n?[]:n,o=t.value,l=t.onChange,i=t.renderChildrenContent;return r.createElement("div",{className:Me().root},a.map((function(t){var n=t.options,a=!(null==n||!n.length),c=(0,r.useState)(null),s=(0,v.Z)(c,2),u=s[0],d=s[1],m=(0,r.useState)(!1),p=(0,v.Z)(m,2),f=p[0],g=p[1],C=a&&o&&n.find((function(e){return e.value===o}))||t,y=r.createElement(Be,{headerRef:d,className:Me().item,key:null==C?void 0:C.value,checked:!(null!=C&&C.disabled)&&(null==C?void 0:C.value)===o,onChange:function(){null!=C&&C.disabled||(a?g(!f):null!=C&&C.value&&(null==l||l(C.value)))},label:null==C?void 0:C.label,disabled:null==C?void 0:C.disabled,renderContent:null==C?void 0:C.renderContent});return null!=C&&C.disabled&&null!=C&&C.disabledReason?r.createElement(ve.Z,{key:null==C?void 0:C.value,wrapperClasses:Me().wrapper,title:null==C?void 0:C.disabledReason},y):r.createElement(r.Fragment,null,r.createElement("div",{key:null==C?void 0:C.value,className:Me().wrapper},y,n&&r.createElement("div",{className:Me().childrenIndicator},r.createElement(A.ZP,{size:"24px",icon:A.Tu.Dropdown}))),n&&r.createElement(De.a,{onClose:function(){return g(!1)},className:Me().overlay,hideStyles:!0,containerClassName:"u-w-100",open:f,followElement:u||void 0,offset:[0,0],placement:"top-start"},r.createElement(e,{options:n.map((function(e){e.renderContent;var t=(0,X.Z)(e,Te);return i?e:t})),onChange:function(e){null==l||l(e),g(!1)},value:o})))})))},Oe=n(9111),Ue=n(1291),qe=function(e){var t,n=e.isCurrent,a=e.isDefault,o=e.style,l=(0,T.WP)().hotel,i=(null!==(t=null==l?void 0:l.paymentCardTypes)&&void 0!==t?t:[]).map((function(e){return Oe.w[e]?{name:Oe.w[e],status:!1}:null})).filter((function(e){return e}));return r.createElement("div",{className:"u-flex flex-row justify-content-start"},Object.keys(i).map((function(e){var t,l;return r.createElement("div",{key:e,id:null===(t=i[e])||void 0===t?void 0:t.name,className:E()("cc-icon u-flex u-marg-right--light",{"-current":null==n?void 0:n(e),"-default":null==a?void 0:a(e)}),style:Object.assign({backgroundImage:"url('".concat(ge.Z.getAssetUrl()+"assets/img/"+(null===(l=i[e])||void 0===l?void 0:l.name)+".png","')"),backgroundSize:"contain"},o||{})})})))},Fe=(0,r.forwardRef)((function(e,t){var n,a=(0,T.WP)().hotel,o=(0,r.useState)({}),l=(0,v.Z)(o,2),i=l[0],c=l[1],s=(0,f.$)().t,d=(0,T.b)().focusElement,m={fontSize:"13px",lineHeight:"18px","&::placeholder":{color:"#8B8F9A",opacity:1}},p=(0,Ue.c)([{label:s(u.W.Step.Confirmation.Inputs.CardNumber),name:"credit-card",type:"card-number",vgsProps:{autoComplete:["cc-number"],successColor:"#4F8A10",errorColor:"#D8000C",showCardIcon:!1,placeholder:s(u.W.Step.Confirmation.Inputs.CardNumber)+" *",validations:["required","validCardNumber"],css:m}},{label:s(u.W.Step.Confirmation.Inputs.NameOnCard),name:"card-name",type:"text",vgsProps:{validations:["required"],css:m,placeholder:s(u.W.Step.Confirmation.Inputs.NameOnCard)+" *"}},{label:s(u.W.Step.Confirmation.Inputs.CardExpiry),name:"expiration-date",type:"card-expiration-date",vgsProps:{placeholder:s(u.W.Step.Confirmation.Inputs.CardExpiry)+" *",validations:["required","validCardExpirationDate"],css:m}},{label:s(u.W.Step.Confirmation.Inputs.SecurityCode),name:"security-code",type:"card-security-code",vgsProps:{placeholder:s(u.W.Step.Confirmation.Inputs.SecurityCode)+" *",validations:["required","validCardSecurityCode"],css:m}}]),g=(0,v.Z)(p.fields,4),y=g[0],h=g[1],E=g[2],b=g[3],_=p.vgsForm,x=function(e){var t={};Object.keys(e).forEach((function(n){var r="";switch(n){case"credit-card":r=s(u.W.Step.Confirmation.Inputs.CardNumber);break;case"expiration-date":r=s(u.W.Step.Confirmation.Inputs.CardExpiry);break;case"security-code":r=s(u.W.Step.Confirmation.Inputs.SecurityCode);break;default:r=s(u.W.Step.Confirmation.Inputs.NameOnCard)}t[n]=r+" "+e[n].errorMessages[e[n].errorMessages.length-1]})),c(t)};(0,r.useEffect)((function(){var e,t;i&&0!==Object.keys(i).length&&null!=y&&null!==(e=y.ref)&&void 0!==e&&e.current&&d(null==y||null===(t=y.ref)||void 0===t?void 0:t.current)}),[i]),(0,r.useImperativeHandle)(t,(function(){return{getTokenizedCode:function(){return new Promise((function(e,t){_?_.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 x({"expiration-date":{errorMessages:[s(u.W.Step.Confirmation.InputErrors.CardExpiry.Invalid)]}}),void t(s(u.W.Step.Confirmation.InputErrors.CardExpiry.Invalid));var l=(1===o[1].length?"0":"")+o[1]+(2===o[2].length?o[2]:o[2].substr(2)),i={CVV:a["security-code"],Expiry:l,Name:a["card-name"],Number:a["credit-card"],Type:y.state.cardType};e(i)}),(function(e){x(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var k=(0,r.useRef)(null),Z=(null!==(n=null==a?void 0:a.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return Oe.w[e]?{name:Oe.w[e],status:!1}:null})).filter((function(e){return e}));return r.createElement("div",null,["credit-card","card-name","expiration-date","security-code"].map((function(e){var t=i[e];return r.createElement(M.Z,{open:!!t,key:e},r.createElement("div",{className:"u-flex"},r.createElement(O.ZP,{type:O.NK.Danger,icon:A.Tu.Error},r.createElement(C.ZP,{type:C.yG.Small},t))))})),r.createElement("div",{className:"u-marg-bottom"},r.createElement(qe,{isCurrent:function(e){var t;return null!==y.state.cardType&&(null===(t=Z[e])||void 0===t?void 0:t.name)===y.state.cardType},isDefault:function(e){return null===y.state.cardType}})),r.createElement("form",{ref:k},r.createElement(te.Z,{dimensions:"2/2"},r.createElement("div",{className:y.getClasses(),ref:y.ref}),r.createElement(te.Z,{dimensions:"2/2"},r.createElement("div",{className:E.getClasses(),ref:E.ref}),r.createElement("div",{className:b.getClasses(),ref:b.ref}))),r.createElement(te.Z,{dimensions:"1"},r.createElement("div",{className:h.getClasses(),ref:h.ref}))))})),Le=n(3423),ze=n(9747),je=n(514),Qe=function(){return r.createElement("div",null,r.createElement("div",{className:"row no-gutters"},r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(ze.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement(ze.Z,{type:"text",h:"md",blink:!0}),r.createElement(ze.Z,{type:"text",h:"md",blink:!0})),r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(ze.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement(ze.Z,{type:"text",h:"sm",blink:!0}),r.createElement(ze.Z,{type:"text",h:"sm",blink:!0}),r.createElement(ze.Z,{type:"text",h:"sm",blink:!0})),r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(ze.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},r.createElement(ze.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})),r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(ze.Z,{type:"text",w:"md",h:"sm",blink:!0,noMarg:!0})),r.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},r.createElement(ze.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})))),r.createElement("div",{className:"row no-gutters"},r.createElement("div",{className:"col-md-4"},r.createElement(ze.Z,{type:"text",h:"lg",blink:!0})),r.createElement("div",{className:"offset-md-4 col-md-4 d-flex align-items-center"},r.createElement(ze.Z,{type:"text",w:"xl",h:"sm",blink:!0}))))},Ve=function(){var e,t,n=(0,r.useContext)(R.hy),a=(0,je.W)().hotel,o=null===(e=n.reservationData)||void 0===e||null===(t=e.payment)||void 0===t?void 0:t.planpay;return(0,r.useLayoutEffect)((function(){null!=o&&o.id&&Le.MQ.checkout.refresh()}),[null==o?void 0:o.id]),(0,r.useEffect)((function(){var e;Le.MQ.init({environment:null==a||null===(e=a.planpay)||void 0===e?void 0:e.env})}),[a]),r.createElement(r.Fragment,null,r.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"}},r.createElement(Qe,null)))},$e=n(5729),He=n.n($e),Je=function(e){var t=e.vgsCardName,n=e.large;return r.createElement("div",{className:E()(He().root,(0,ee.Z)({},He()["--large"],n)),style:{backgroundImage:"url('".concat(ge.Z.getImageAssetUrl()+t+".png","')")}})},Ye=n(9605),Ke=n(5498),Xe=n.n(Ke),et=function(e){var t,n=e.card,a=(e.active,(0,f.$)().t),o=(0,R.ZS)().roomstayMember;return r.createElement("div",{className:Xe().root},r.createElement("div",{className:"flex-shrink-0"},n?r.createElement(Je,{vgsCardName:n.type,large:!0}):null),r.createElement("div",null,r.createElement(C.ZP,{align:Ye.P.Left,type:C.yG.Small,color:y.Il.Navy},n?"**** **** **** ".concat(n.cardNumber.slice(-4)):a(u.W.Step.Confirmation.CardLabel)),r.createElement(C.ZP,{className:"u-marg-top--lighter",align:Ye.P.Left,type:C.yG.Caption,color:y.Il.DarkGrey},n?"Expires ".concat((t=n.expiry).slice(0,2)+" / "+t.slice(2)):a(u.W.Step.Confirmation.CardSubLabel))),!n&&r.createElement("div",null,r.createElement(qe,{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&&r.createElement(Ce.ZP,{size:"small",type:Ce.Rm.Primary},"DEFAULT CARD"))};function tt(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 nt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tt(Object(n),!0).forEach((function(t){(0,ee.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function rt(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 at=function(e){var t,n,a=e.tokenizerRef,o=e.onChangeCb,l=(0,f.$)().t,i=(0,K.Gc)(),c=(0,T.WP)().hotel,s=(0,R.Kc)(),d=(0,R.ZS)(),m=d.cards,p=void 0===m?[]:m,g=d.roomstayMember,v=(0,r.useMemo)((function(){return p.find((function(e){return e.cardId===(null==g?void 0:g.defaultCard)}))}),[p,g]),h=i.watch("paymentMethod"),E={value:se.EBookingPaymentMethod.Card,label:r.createElement(et,{active:h===se.EBookingPaymentMethod.Card}),renderContent:function(){return r.createElement(Fe,{ref:a})}},b=[];if(null!=c&&c.paymentMethods.includes(se.EBookingPaymentMethod.Card)){var _;if(p.length){var x=v||p[0];_={value:x.cardId,label:r.createElement(et,{card:x})}}else _=E;var k=[];if(p.length){var Z,P=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 rt(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)?rt(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}}}}(p);try{for(P.s();!(Z=P.n()).done;){var S=Z.value;k.push({value:S.cardId,label:r.createElement(et,{card:S})})}}catch(e){P.e(e)}finally{P.f()}k.push(E)}b.push(nt(nt({},_),{},{options:k.length>0?k:void 0}))}return null!=c&&c.paymentMethods.includes(se.EBookingPaymentMethod.Planpay)&&null!=c&&null!==(t=c.planpay)&&void 0!==t&&t.minDaysShowPlanpay&&q()(s.startDate).diff(q()(),"day")>(null==c||null===(n=c.planpay)||void 0===n?void 0:n.minDaysShowPlanpay)&&b.push({value:se.EBookingPaymentMethod.Planpay,label:r.createElement("div",{className:"u-flex u-flex-align-center"},r.createElement("div",null,l(u.W.Step.Confirmation.PlanpayLabel)),r.createElement("div",{className:"u-flex u-flex-align-center u-marg-left--light",style:{borderRadius:"24px",overflow:"hidden"}},r.createElement("img",{height:16,src:ge.Z.getImageAssetUrl("planpay-logo-small.svg"),alt:""})),!i.formState.isValid&&r.createElement(C.ZP,{color:y.Il.Graphite,className:"u-flex u-flex-align-center",style:{color:"#313131",fontSize:10}},r.createElement(A.ZP,{color:y.Il.DarkGrey,icon:A.Tu.Info,className:"u-marg-right--lighter u-marg-left--light"}),l(u.W.Step.Confirmation.PlanpayHelperText))),disabled:!i.formState.isValid,disabledReason:i.formState.isValid?"":"You must fill all the above details before proceeding with Planpay",renderContent:function(){return r.createElement(Ve,null)}}),r.createElement(K.Qr,{control:i.control,name:"paymentMethod",render:function(e){var t=e.field,n=t.onChange,a=t.value;return r.createElement(r.Fragment,null,r.createElement("div",null,r.createElement(Ge,{options:b,value:a,onChange:function(e){n(e),o(e)}})))}})},ot=n(2566),lt=n(2710);function it(){var e=(0,r.useState)({differences:[],warnings:[]}),t=(0,v.Z)(e,2),n=t[0],o=t[1],l=(0,r.useContext)(R.gr),i=(0,r.useState)(""),s=(0,v.Z)(i,2),d=s[0],m=s[1],p=(0,r.useState)(!1),h=(0,v.Z)(p,2),E=h[0],b=h[1],_=(0,r.useRef)(null),x=(0,r.useRef)(null),k=(0,f.$)().t,Z=we(),P=Z.queryPaymentMethod,S=Z.queryRoomstayId,N=Z.queryPlanpayCheckoutId,I=(0,R.dF)(),B=(0,K.Gc)(),W=Pe(),M=W.isBackFromPlanpay,T=W.isLoading,G=W.apiErrors,U=W.clearApiErrors,q=W.book,F=W.rollbackReservation,L=W.commitReservation,z=(0,R.Kc)(),j=(0,r.useRef)(null),Q=(0,ot.J)(),V=(0,R.ZS)().roomstayMember,$=function(){var e=(0,H.Z)(Y().mark((function e(t){var n,r,a,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next=e.t0===se.EBookingPaymentMethod.Planpay?3:e.t0===se.EBookingPaymentMethod.Card?10:(e.t0,se.EBookingPaymentMethod.SavedCard,16);break;case 3:return(r=new URLSearchParams(window.location.search)).set("roomstayId","{{rsId}}"),r.set("session",I.sessionProvider.getCurrentSessionID().toString()),r.set("paymentMethod",se.EBookingPaymentMethod.Planpay),a="".concat(window.location.origin).concat(window.location.pathname).concat(window.location.search,"#/step/confirmation/?").concat(r),n={Method:se.EBookingPaymentMethod.Planpay,PlanpayCheckoutId:N||void 0,RedirectUrl:a},e.abrupt("break",17);case 10:return e.t1=se.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:se.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,r.useEffect)((function(){var e,t,n="";return n=Object.values(se.EBookingPaymentMethod).includes(P)?P: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:se.EBookingPaymentMethod.Card,B.setValue("paymentMethod",n),oe(n),M&&(S===(null===(t=z.reservationData)||void 0===t?void 0:t.roomstayId)?J():null==F||F()),function(){M||null==F||F()}}),[]);var J=function(){var e=(0,H.Z)(Y().mark((function e(){return Y().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)}}(),X=B.watch("paymentMethod");I.engine.getSessionProvider().getSession().then((function(e){m(e.source)}));var ee=function(){var e=(0,H.Z)(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Q((0,_e.Z)().getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),te=function(){var e=(0,H.Z)(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ae(X,function(){var e=(0,H.Z)(Y().mark((function e(t){return Y().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)}}(),re=function(e){var t=null==l?void 0:l.errorChecks.every((function(t){return t().validate(e)}));return void 0===t||t},ae=function(){var e=(0,H.Z)(Y().mark((function e(t,n){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==q?void 0:q((0,H.Z)(Y().mark((function e(){return Y().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=x.current)||void 0===r?void 0:r.value,(0,H.Z)(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=void 0,!xe.Z.isActive()||null!=_&&null!==(n=_.current)&&void 0!==n&&n.checked){e.next=3;break}return b(!0),e.abrupt("return",!1);case 3:if(re(!0)){e.next=5;break}return e.abrupt("return",!1);case 5:if(e.prev=5,t!==se.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&&o(e)}),n);case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),oe=function(){var e=(0,H.Z)(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===se.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 r.createElement("form",null,M?r.createElement(D.Z,null):r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(a.Z,{bold:!0},k(u.W.Step.Confirmation.GuestDetails))),r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.Success},r.createElement("strong",null,k(u.W.Step.Confirmation.AlmostDone,{required:"*"})))),r.createElement(me,null),"inline"===d?r.createElement(O.ZP,{type:O.NK.Accent2,heavyPadding:!0},r.createElement("div",{className:"u-flex u-w-100 flex-wrap flex-xl-nowrap"},r.createElement("div",null,r.createElement(C.ZP,{color:y.Il.Accent,bold:!0},k(u.W.Step.Confirmation.WantMoreRooms)),r.createElement(C.ZP,{color:y.Il.Navy},k(u.W.Step.Confirmation.YouCanAddAndEditRooms))),r.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},r.createElement(w.Z,{filled:!0,primary:!0,icon:A.Tu.Add,iconPosition:"left",onClick:ee},k(u.W.Step.Confirmation.AddMoreRooms))))):r.createElement(r.Fragment,null),ke.Z.isActive()&&r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},"Travel Agent")),r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(C.ZP,{type:C.yG.Small},r.createElement("strong",null,k(u.W.Step.Confirmation.Inputs.IATANumber)))),r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(C.ZP,{type:C.yG.Small},k(u.W.Step.Confirmation.Inputs.IATANumberGuide))),r.createElement(ne.Z,(0,g.Z)({placeholder:k(u.W.Step.Confirmation.Inputs.IATANumber),wide:!0},B.register("IATANumber")))),r.createElement(c.Z,null)),r.createElement(lt.h,{inputRef:x}),r.createElement(c.Z,null),r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},k(u.W.Navigation.Menu.PaymentInformation))),r.createElement(at,{tokenizerRef:j,onChangeCb:function(){var e=(0,H.Z)(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,oe(t);case 2:if(t!==se.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)}}()}),r.createElement("div",{className:"u-marg-top u-flex align-items-center"},r.createElement("div",{className:"u-flex align-items-center justify-content-start"},r.createElement(A.ZP,{icon:A.Tu.Lock,color:y.Il.Success}),r.createElement("div",{className:"u-marg-left--light"},r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.Success},r.createElement("strong",null,k(u.W.Step.Confirmation.Secured))))),r.createElement(Ae,null))),r.createElement(c.Z,null),r.createElement(pe,null),r.createElement("div",{className:"u-pad-top--light u-marg-bottom"},r.createElement(Ee,null)),xe.Z.isActive()&&r.createElement(r.Fragment,null,r.createElement(c.Z,null),r.createElement("div",null,r.createElement(be,{ref:_,confirmationPolicyError:E}))),r.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},r.createElement(fe.Z,{disabled:X===se.EBookingPaymentMethod.Planpay||T,text:k(u.W.Step.Confirmation.ConfirmReservation),isLoading:T,onClick:te}))),r.createElement(he.default,{open:!!G,onClose:U},r.createElement(C.ZP,null,G)),r.createElement(ye,{differences:n.differences,warnings:n.warnings,isLoading:T,onClose:(0,H.Z)(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==F?void 0:F();case 2:Q((0,_e.Z)().getStepUrl());case 3:case"end":return e.stop()}}),e)}))),onProceed:(0,H.Z)(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(X!==se.EBookingPaymentMethod.Planpay){e.next=4;break}o({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)})))}))}var ct=n(9666),st=n(3819),ut=Ze.Provider,dt=function(e){var t=e.children,n=we(),a=n.queryPaymentMethod,o=n.queryRoomstayId,l=n.queryPlanpayCheckoutId,i=(0,r.useState)(!1),c=(0,v.Z)(i,2),s=c[0],d=c[1],m=(0,r.useState)(""),p=(0,v.Z)(m,2),g=p[0],A=p[1],C=(0,K.cI)({mode:"onChange"}),y=(0,r.useContext)(R.hy),h=y.getAllValidRows(),E=y.basketAddonRows,b=(0,T.WP)().hotel,_=(0,f.$)().t,x=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}}))},k=function(){var e=(0,H.Z)(Y().mark((function e(t){var n;return Y().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=y.currentBasketRows[t].checkDiffFromReservation(e);r&&n.push(r)})),e.next=7;break;case 5:throw ct.n_({level:st.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)}}(),Z=function(e,t,n,r,a){return function(){var o=(0,H.Z)(Y().mark((function o(l){var i,c,s,m;return Y().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(L.ZP.instance.sendInteraction("Complete Booking",L.s_.BUTTON,L._J.GUEST_DETAILS),d(!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 d(!1),o.abrupt("return");case 11:return o.next=13,e();case 13:return c=o.sent,o.prev=14,o.next=17,W.Z.Reservation.bookNow(h,x(l),c,E,t||"",null==b?void 0:b.hotelID);case 17:return i=o.sent,y.booked(i),o.next=21,k(i);case 21:if(!(s=o.sent)){o.next=27;break}d(!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),A(null!==(m=null===o.t1||void 0===o.t1?void 0:o.t1.Message)&&void 0!==m?m:_(u.W.Step.Confirmation.UnexpectedErrorFromBookingDatabase));case 35:return o.prev=35,d(!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)}}()},P=!!l&&!!o&&!!a,S=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},w=function(){var e=(0,H.Z)(Y().mark((function e(t){var n,r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,d(!0),!t){e.next=18;break}if(!(n=S(t)).length){e.next=15;break}return e.prev=5,e.next=8,W.Z.Reservation.commit(n,t.itineraryNumber,null==b?void 0:b.hotelID,l||void 0).then((function(e){try{L.ZP.instance.sendReservationConfirmed(y.getAllValidRows(),y.basketAddonRows,e)}catch(e){ct.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}y.checkedOut(e)})).catch((function(e){console.log(e),A(_(u.W.Misc.UnexpectedError))})).finally((function(){d(!1)}));case 8:e.next=13;break;case 10:e.prev=10,e.t0=e.catch(5),A(null!==(r=null===e.t0||void 0===e.t0?void 0:e.t0.Message)&&void 0!==r?r:_(u.W.Step.Confirmation.UnexpectedErrorFromBookingDatabase));case 13:e.next=18;break;case 15:A(_(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)),R.qL.add({message:_(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)}),ct.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),A(_(u.W.Step.Confirmation.FailedToCommitReservation)),console.log("Failed to commit reservation "),console.error(e.t1),ct.Tb(e.t1);case 26:case"end":return e.stop()}}),e,null,[[0,20],[5,10]])})));return function(t){return e.apply(this,arguments)}}(),N=function(){var e=(0,H.Z)(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(y.reservationData){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,!(t=S(y.reservationData)).length){e.next=10;break}return d(!0),e.next=8,W.Z.Reservation.rollback(t,y.reservationData.itineraryNumber,null==b?void 0:b.hotelID);case 8:e.next=11;break;case 10:ct.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(y.reservationData));case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),console.log("Failed to rollback reservations"),ct.Tb(e.t0);case 17:return e.prev=17,y.rollback(),d(!1),e.finish(17);case 21:case"end":return e.stop()}}),e,null,[[2,13,17,21]])})));return function(){return e.apply(this,arguments)}}(),I=function(){var e=(0,H.Z)(Y().mark((function e(t,n,r,a,o){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C.handleSubmit(Z(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 r.createElement(K.RV,C,r.createElement(ut,{value:{book:I,commitReservation:w,rollbackReservation:N,isLoading:s,apiErrors:g,clearApiErrors:function(){return A("")},isBackFromPlanpay:P}},t))};function mt(){return r.createElement(dt,null,r.createElement(it,null))}var pt=n(6409),ft=function(){var e=(0,r.useContext)(R.g7),t=(0,r.useContext)(R.aN).currentStep,n=(0,r.useContext)(R.hy).currentBasketRows,g=(0,f.$)().t,v=(0,V.z)().raise;return(0,r.useEffect)((function(){var e=new $.z(n);v(e)}),[]),r.createElement("div",{className:"container"},r.createElement(d.default,null),r.createElement(pt.i5,null,r.createElement(pt.mV,null,e.screenSize>m.Z.Medium&&r.createElement(r.Fragment,null,r.createElement(i.rU,{to:o.Z.getPreviousStepUrl(t)},r.createElement(s.Z,null)),r.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},r.createElement(a.Z,{bold:!0},g(u.W.Navigation.Steps.Confirmation)))),r.createElement("div",{className:"u-marg-top@m-"},r.createElement(j.Z,null))),e.screenSize>m.Z.Medium&&r.createElement(pt.f,null,r.createElement(p.Z,null))),r.createElement(c.Z,null),r.createElement(pt.i5,null,r.createElement(pt.mV,null,r.createElement("div",{className:"block-container"},!Q.Z.isActive()&&r.createElement(G,null),r.createElement(R.s$,null,r.createElement(mt,null)))),e.screenSize>m.Z.Medium&&r.createElement(pt.f,null,r.createElement(z,{endDate:q()().add(10,"minute")}),r.createElement(l.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(7294),a=n(3010),o=n(5692),l=n(3933),i=n(3727),c=n(9874),s=n(3821),u=n(9478),d=n(370),m=n(292),p=n(8279),f=n(6793),v=n(7462),g=n(885),A=n(8886),C=n(584),y=n(7754),h=n(4184),E=n.n(h),b=n(4744);function _(e){var t=e.addon,n=(0,f.$)().t;return r.createElement("div",{className:E()("additional-offers--column",{"--selected":e.selected}),style:{backgroundImage:"url('".concat(t.image&&b.Z.resizeImage(t.image,b.h.Original),"')")},onClick:function(){var t;null===(t=e.cardClicked)||void 0===t||t.call(e)}},r.createElement("div",{className:"additional-offers--column-body"},r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.White},r.createElement("strong",null,t.name)),r.createElement("div",{className:"u-flex"},r.createElement(C.ZP,{inline:!0,type:C.yG.Small,color:y.Il.White},n(u.W.Misc.SeeDetails)),r.createElement(A.ZP,{icon:A.Tu.ArrowRight,color:y.Il.White}))))}var x=n(8144),k=n(3460),Z=n(7582),P=n(5128),S=n(6380),w=n(4854),N=n(858),R=n(360),I=n(3351);function B(e){var t,n=e.addon,o=((0,f.$)().t,(0,r.useContext)(R.hy)),l=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedDate():""),i=(0,g.Z)(l,2),c=i[0],s=i[1],u=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getSelectedTime():""),d=(0,g.Z)(u,2),m=d[0],p=d[1],v=(0,r.useState)({quantity:1}),A=(0,g.Z)(v,2),h=A[0],E=A[1],_=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getQuantity():1),x=(0,g.Z)(_,2),k=x[0],Z=x[1],B=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getAdultQuantity():1),W=(0,g.Z)(B,2),M=W[0],D=W[1],T=(0,r.useState)(e.basketAddonRow?e.basketAddonRow.getChildQuantity():0),G=(0,g.Z)(T,2),O=G[0],U=G[1];return r.useEffect((function(){var t,r,a,o,l,i;if(n)return e.basketAddonRow?(E(null!==(t=n.availability[e.basketAddonRow.getSelectedDate()])&&void 0!==t?t:n.availability[n.firstDate]),s(null!==(r=e.basketAddonRow.getSelectedDate())&&void 0!==r?r:n.firstDate),p(null!==(a=e.basketAddonRow.getSelectedTime())&&void 0!==a?a:""),Z(e.basketAddonRow.getQuantity()),D(e.basketAddonRow.getAdultQuantity()),U(e.basketAddonRow.getChildQuantity())):(E(n.availability[n.firstDate]),s(n.firstDate),p((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(){Z(1),D(1),U(0)}}),[n]),r.createElement(P.Z,{open:e.isOpen,onClose:e.onClose,size:P.g.Small,title:n?n.name:""},n&&r.createElement(r.Fragment,null,r.createElement("div",{style:{height:"350px",width:"100%",backgroundImage:'url("'.concat(n.image&&b.Z.resizeImage(n.image,b.h.Original),'")'),backgroundPosition:"center",backgroundRepeat:"no-repeat",backgroundSize:"cover"}}),r.createElement("div",{className:"u-marg-heavy u-marg@m-"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},n.name)),r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.DarkGrey},n.description)),r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(C.ZP,null,"Date"),r.createElement(I.P,{nativeOnMobile:!0,options:n.selectorDates,value:c,onChange:function(e){var t,r,a,o;t=e,E(n.availability[t]),s(t),p((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<k&&Z(n.availability[t].quantity)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),0!==(null==h||null===(t=h.selectorTimes)||void 0===t?void 0:t.length)&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(C.ZP,null,"Time"),r.createElement(I.P,{nativeOnMobile:!0,options:(null==h?void 0:h.selectorTimes)||[],value:m,onChange:function(e){p(e)},keyName:"value",labelName:"text",className:"u-flex align-items-center"}))),h.price&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(C.ZP,null,"Quantity"),r.createElement(S.Z,{number:k,min:1,max:h.quantity,onChange:function(e){Z(e)}}))),h.adultPrice&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(C.ZP,null,"Adults"),r.createElement(S.Z,{number:M,min:0,max:h.quantity-O,onChange:function(e){D(e)}}))),h.childPrice&&r.createElement("div",{className:"row u-marg-top"},r.createElement("div",{className:"u-flex col-md-6"},r.createElement(C.ZP,null,"Children"),r.createElement(S.Z,{number:O,min:0,max:h.quantity-M,onChange:function(e){U(e)}}))),r.createElement("div",{className:"u-flex align-items-center u-marg-top"},h.price&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,h.price),"/ Qty"),h.adultPrice&&h.childPrice&&r.createElement("h2",{className:"u-marg-none"},r.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,h.adultPrice)," / Adult"),r.createElement("br",null),r.createElement("div",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,h.childPrice)," / Child")),h.adultPrice&&!h.childPrice&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,h.adultPrice)," / Adult"),h.childPrice&&!h.adultPrice&&r.createElement("h2",{className:"u-marg-none u-flex u-flex-align-center"},r.createElement(N.Z,null,h.childPrice)," / Child"),r.createElement(w.Z,{filled:!0,primary:!0,onClick:function(){o.setAddonQuantities(n,{quantity:k,adult:M,child:O},c,m),e.onClose()}},e.basketAddonRow?"Update Cart":"Add to Cart")),n.guaranteeDescription&&r.createElement(r.Fragment,null,r.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Guarantee"),r.createElement("div",{className:"u-marg-bot--heavy"},r.createElement(C.ZP,{type:C.yG.Small},n.guaranteeDescription))),n.cancelPenalty&&r.createElement(r.Fragment,null,r.createElement("h4",{className:"u-marg-bottom--light u-marg-top"},"Cancellation Policy"),r.createElement("div",{className:"u-marg-bot--heavy"},r.createElement(C.ZP,{type:C.yG.Small},n.cancelPenalty))))))}var W=n(8442),M=n(9740),D=n(7832),T=n(7688);function G(){var e=(0,r.useContext)(R.hy),t=(0,r.useContext)(R.Qm),n=(0,T.WP)().hotel,o=(0,x.q_)((function(){return{x:0}})),l=(0,g.Z)(o,2),i=l[0].x,c=l[1],s=(0,k.Z)(),d=(0,g.Z)(s,2),m=d[0],p=d[1],h=(0,f.$)().t,E=r.useState([]),b=(0,g.Z)(E,2),P=b[0],S=b[1],w=(0,r.useState)(!1),N=(0,g.Z)(w,2),I=N[0],G=N[1],O=(0,r.useState)(null),U=(0,g.Z)(O,2),q=U[0],F=U[1],L=(0,r.useState)(!1),z=(0,g.Z)(L,2),j=z[0],Q=z[1],V=(0,r.useState)(0),$=(0,g.Z)(V,2),H=$[0],J=$[1],Y=(0,r.useState)(0),K=(0,g.Z)(Y,2),X=(K[0],K[1]),ee=(0,r.useState)(-1),te=(0,g.Z)(ee,2),ne=te[0],re=te[1];r.useEffect((function(){var t=!1,r=e.getAllValidRows();return Q(!0),W.Z.Addons.findAddons(r,null==n?void 0:n.hotelID).then((function(e){t||(Q(!1),S(e))})),function(){Q(!1),t=!0}}),[t.currentLanguage]);var ae=222,oe=ae*P.length>=p.width,le=(0,Z.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)c({x:H+1.5*t});else{var n=H+t,r=(P.length-1)*ae,a=0;if(n>0)a=0,re(-1);else if(n<-(r-p.width+ae))a=-(r-p.width+ae),re(1);else{var o=-n/ae,l=n%ae>-111?Math.floor(o):Math.ceil(o);a=-l*ae,X(l),re(0)}c({x:a}),J(a)}};return r.createElement(M.Z,{open:!j&&0!==(null==P?void 0:P.length)||!(null==n||!n.showAddonLoader)},r.createElement("div",{className:"u-pad-bottom--heavy "},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},h(u.W.Step.Confirmation.AdditionalOfferings))),j&&null!=n&&n.showAddonLoader?r.createElement(D.Z,null):0===(null==P?void 0:P.length)?r.createElement("div",null,r.createElement(C.ZP,{color:y.Il.DarkGrey},h(u.W.Step.Confirmation.NoAdditionalOfferings))):r.createElement("div",{className:"additional-offers"+(P.length>2?"":" --wide"),ref:m},oe&&r.createElement("div",{className:"additional-offers--navigation"},r.createElement(A.ZP,{icon:A.Tu.ArrowLeft2,onClick:function(){ie(!1,ae)},color:-1===ne?y.Il.DarkGrey:y.Il.White,backgroundColor:y.Il.Navy,borderRadius:"round",size:"24px"}),r.createElement(A.ZP,{icon:A.Tu.ArrowRight2,onClick:function(){ie(!1,-222)},color:1===ne?y.Il.DarkGrey:y.Il.White,backgroundColor:y.Il.Navy,borderRadius:"round",size:"24px"})),r.createElement("div",{className:"additional-offers--track-container"},r.createElement(x.q.div,(0,v.Z)({className:"additional-offers--track"},le(),{style:{left:i}}),P.map((function(t,n){return r.createElement(_,{selected:!!e.getRowForAddon(t),key:n,addon:t,cardClicked:function(){G(!0),F(t)}})}))))),r.createElement(B,{isOpen:I&&!!q,addon:q,basketAddonRow:e.getRowForAddon(q),onClose:function(){G(!1)}})))}var O=n(7933),U=n(7484),q=n.n(U);function F(e){var t=(0,r.useState)(e.endTimeDate.diff(q()(),"second")),n=(0,g.Z)(t,2),a=n[0],o=n[1];return(0,r.useEffect)((function(){var t=!1,n=setTimeout((function(){t||(a>0?o((function(e){return e-1})):(e.onEnd&&e.onEnd(),t=!0,clearTimeout(n)))}),1e3);return function(){t=!0,clearTimeout(n)}}),[a]),(0,r.useMemo)((function(){var e=[Math.floor(a/60/60),Math.floor(a/60%60),Math.floor(a%60)];return r.createElement(r.Fragment,null,e.map((function(e){return e.toString().padStart(2,"0")})).join(":"))}),[a])}var L=n(4544);function z(e){var t=(0,r.useState)(!1),n=(0,g.Z)(t,2),o=n[0],l=n[1],i=(0,f.$)().t;return r.createElement(O.ZP,{type:O.NK.Accent1},r.createElement("div",{className:"u-flex w-100 flex-wrap align-items-center"},r.createElement("div",null,r.createElement(C.ZP,null,r.createElement("strong",null,i(u.W.Step.Confirmation.YourRoomIs))),r.createElement(C.ZP,null,r.createElement("strong",null,i(u.W.Step.Confirmation.BeingHeldFor)))),r.createElement("div",{className:o?"a-flash":""},r.createElement(a.Z,{size:"large",bold:!0,color:y.Il.White},r.createElement(F,{endTimeDate:e.endDate,onEnd:function(){L.ZP.instance.sendInteraction("Countdown End Seen",L.s_.LINK,L._J.GUEST_DETAILS),l(!0)}})))))}var j=n(4511),Q=n(5400),V=n(6337),$=n(5032),H=n(5861),J=n(4687),Y=n.n(J),K=n(7536),X=n(5987),ee=n(4942),te=n(5993),ne=n(1432),re=n(5762),ae=n(3261),oe=n(6604),le=n(1248),ie=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}({}),ce=n(9024),se=n(7972),ue=n(6431),de=["ref","onChange"],me=function(){var e=(0,K.Gc)(),t=e.register,n=e.formState,o=e.control,l=e.watch,i=e.getValues,s=e.setValue,d=(0,r.useContext)(R.hy),m=d.getAllValidRows(),p=d.basketAddonRows,h=(0,K.Dq)({control:o,name:"userProfiles"}),E=h.update,b=h.fields,_=l(["copyCheckBox","paymentMethod"]),x=(0,g.Z)(_,2),k=x[0],Z=x[1],P=n.errors,S=(0,f.$)().t,w=(0,r.useContext)(R.P0).roomstayMember;(0,r.useEffect)((function(){var e,t;null===(e=P.userProfiles)||void 0===e||null===(t=e.forEach)||void 0===t||t.call(e,(function(e,t){var n;null!==(n=P.userProfiles)&&void 0!==n&&n[t]&&(B[t]=!0)})),W(B.slice(0))}),[P.userProfiles,k]),(0,r.useEffect)((function(){var e=function(e){return 0===e&&arguments.length>1&&void 0!==arguments[1]?arguments[1]:""},t=m.map((function(t,n){var r,a,o,l,i;return i={},(0,ee.Z)(i,ie.Forename,e(n,null==w?void 0:w.forename)),(0,ee.Z)(i,ie.Surname,e(n,null==w?void 0:w.surname)),(0,ee.Z)(i,ie.Email,e(n,null==w?void 0:w.email)),(0,ee.Z)(i,ie.Phone,e(n,null==w?void 0:w.phoneNumber)),(0,ee.Z)(i,ie.Address,e(n,null==w||null===(r=w.address)||void 0===r?void 0:r.address)),(0,ee.Z)(i,ie.City,e(n,null==w||null===(a=w.address)||void 0===a?void 0:a.city)),(0,ee.Z)(i,ie.PostCode,e(n,null==w||null===(o=w.address)||void 0===o?void 0:o.zip)),(0,ee.Z)(i,ie.Country,e(n,null==w||null===(l=w.address)||void 0===l?void 0:l.country)),i}));s("userProfiles",t),s("copyCheckBox",!!(null!=m&&m.length&&m.length>1))}),[w,null==m?void 0:m.length]);var N=(0,r.useState)(m.map((function(e,t){return 0===t}))),I=(0,g.Z)(N,2),B=I[0],W=I[1],D=function(e,t){return function(e){L.ZP.instance.sendInteraction(t,L.s_.FORM_FIELD,L._J.GUEST_DETAILS)}};return(0,r.useEffect)((function(){k&&b.forEach((function(e,t){0!==t&&E(t,i("userProfiles.0"))}))}),[k]),(0,r.useEffect)((function(){var e=l((function(e,t){var n=t.name;"change"===t.type&&null!=n&&n.includes("userProfiles")&&"0"===n.split(".")[1]&&e.copyCheckBox&&b.map((function(e,t){0!==t&&E(t,i("userProfiles.0"))}))})).unsubscribe;return function(){e()}}),[b]),(0,r.useEffect)((function(){L.ZP.instance.sendCheckoutView(m,p)}),[]),r.createElement(r.Fragment,null,b.map((function(e,l){var i,s,d,p=function(e){return function(e,t){return"userProfiles.".concat(t,".").concat(e)}(e,l)},f=function(e){var t;if(P.userProfiles&&!(k&&l>=1))return null!==(t=P.userProfiles[l])&&void 0!==t&&t[e]?"error":"success"},g=m[l],h=k&&l>=1||Z===se.EBookingPaymentMethod.Planpay;return r.createElement("div",{key:e.id},r.createElement("div",{className:0===l?"":"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom",onClick:function(){0!==l&&function(e,t){B.splice(e,1,t),W(B.slice(0))}(l,!B[l])}},r.createElement("div",{className:"u-flex u-marg-bottom align-items-center"},r.createElement(a.Z,{bold:!0},S(u.W.Misc.Room)," ",l+1),0!==l&&r.createElement(A.ZP,{icon:B[l]?A.Tu.ArrowDown2:A.Tu.ArrowUp2,color:y.Il.Grey})),g&&r.createElement("div",{className:"u-marg-bottom"},r.createElement(C.ZP,null,r.createElement("strong",{className:"u-block@l-"},g.getRoom().name)," for"," ",ae.Z.pluralWithDictAndCount(g.getAdults(),u.W.Step.Date.Adult,S),", ",ae.Z.pluralWithDictAndCount(g.getChildren(),u.W.Step.Date.Child,S)),r.createElement("div",{className:"step-one-status--dates u-flex justify-content-start"},r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.Accent},r.createElement("strong",null,g.getStartDate().format("ddd, MMM D"))),r.createElement(A.ZP,{icon:A.Tu.ArrowRight2,size:"18px"}),r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.Accent},r.createElement("strong",null,g.getEndDate().format("ddd, MMM D"))))),(i=l,(d=null===(s=P.userProfiles)||void 0===s?void 0:s[i])&&n.submitCount>=1&&(0===i||!k)&&Object.values(d).map((function(e,t){return r.createElement(M.Z,{key:t,open:!0},r.createElement("div",{className:"u-flex"},r.createElement(O.ZP,{icon:A.Tu.Error,type:O.NK.Danger,noMargin:t===Object.keys(d).length-1},r.createElement(C.ZP,{type:C.yG.Small},null==e?void 0:e.message))))})),null)),r.createElement("div",{className:"room-contact-details--row",style:{maxHeight:B[l]?void 0:0}},r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(C.ZP,{type:C.yG.Small},r.createElement("strong",null,S(u.W.Step.Confirmation.ContactInfo)))),r.createElement(te.Z,{dimensions:"2/2"},r.createElement(ne.Z,(0,v.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.Forename)+" *",wide:!0,required:!0,validationStatus:f(ie.Forename)},t(p(ie.Forename),{onChange:D(p(ie.Forename),"Forename - Contact Info"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Forename)})}}))),r.createElement(ne.Z,(0,v.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.Surname)+" *",wide:!0,required:!0,validationStatus:f(ie.Surname)},t(p(ie.Surname),{onChange:D(p(ie.Surname),"Surname - Contact Info"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Surname)})}})))),r.createElement(te.Z,{dimensions:"2/2"},r.createElement(ne.Z,(0,v.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.Email)+" *",wide:!0,validationStatus:f(ie.Email),required:!0},t(p(ie.Email),{onChange:D(p(ie.Email),"Email - Contact Info"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Email)})},pattern:{value:ue.CU,message:S(u.W.Step.Confirmation.Inputs.InvalidEmail)}}))),le.Z.isActive()?r.createElement(K.Qr,{control:o,name:p(ie.Phone),rules:{required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(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 r.createElement(oe.Z,(0,v.Z)({disabled:h,validationStatus:f(ie.Phone)},t,{onChange:function(e){t.onChange(e),D(p(ie.Phone),"Phone - Contact Info")(e)}}))}}):r.createElement(ne.Z,(0,v.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.Phone)+" *",wide:!0,required:!0,validationStatus:f(ie.Phone)},t(p(ie.Phone),{onChange:D(p(ie.Phone),"Phone - Contact Info"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Phone)})}}))))),r.createElement("div",{className:""},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(C.ZP,{type:C.yG.Small},r.createElement("strong",null,S(u.W.Step.Confirmation.Address)))),r.createElement(te.Z,{dimensions:"3/1"},r.createElement(ne.Z,(0,v.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.Address)+" *",wide:!0,required:!0,validationStatus:f(ie.Address)},t(p(ie.Address),{onChange:D(p(ie.Address),"Address - Address"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Address)})}}))),r.createElement(ne.Z,(0,v.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.City)+" *",wide:!0,required:!0,validationStatus:f(ie.City)},t(p(ie.City),{onChange:D(p(ie.City),"City - Address"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.City)})}})))),r.createElement(te.Z,{dimensions:"2/2"},r.createElement(ne.Z,(0,v.Z)({inputProps:{disabled:h},placeholder:S(u.W.Step.Confirmation.Inputs.PostCode)+" *",wide:!0,required:!0,validationStatus:f(ie.PostCode)},t(p(ie.PostCode),{onChange:D(p(ie.PostCode),"PostCode - Address"),required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.PostCode)})}}))),r.createElement(K.Qr,{control:o,name:p(ie.Country),rules:{required:{value:!0,message:S(u.W.Step.Confirmation.Inputs.Required,{field:S(u.W.Step.Confirmation.Inputs.Country)})}},render:function(e){var t=e.field,n=(t.ref,t.onChange),a=(0,X.Z)(t,de);return r.createElement(re.Z,(0,v.Z)({disabled:h,validationStatus:f(ie.Country),onChange:function(e){n(e),D(p(ie.Country),"Country - Address")(e)}},a))}})))),r.createElement(c.Z,null)),b.length>1&&0===l?r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement(ce.Z,(0,v.Z)({label:S(u.W.Step.Confirmation.ApplySameInfoToOtherRooms)},t("copyCheckBox")))):null)})))};function pe(){var e=(0,f.$)().t,t=(0,T.WP)().hotel;return r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},e(u.W.Step.Confirmation.Policies))),r.createElement("div",{className:"u-marg-bottom"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-6 col-md-3"},r.createElement(C.ZP,{type:C.yG.Small},r.createElement("strong",null,e(u.W.Misc.CheckIn))),r.createElement(C.ZP,{type:C.yG.Small},e(u.W.Misc.After)," ",null==t?void 0:t.checkInTime)),r.createElement("div",{className:"col-6 col-md-3"},r.createElement(C.ZP,{type:C.yG.Small},r.createElement("strong",null,e(u.W.Misc.CheckOut))),r.createElement(C.ZP,{type:C.yG.Small},e(u.W.Misc.Before)," ",null==t?void 0:t.checkOutTime)))))}var fe=n(8029),ve=n(2364),ge=n(5112);function Ae(){var e=(0,f.$)().t;return r.createElement(ge.Z,{title:e(u.W.Step.Confirmation.SSLSecure)},r.createElement("img",{src:ve.Z.getAssetUrl()+"assets/img/ssl-secure-connection.png"}))}var Ce=n(3409);function ye(e){var t,n,o=(0,r.useContext)(R.hy),l=(0,f.$)().t,i=(0,r.useState)(q()().add(14,"minute")),s=(0,g.Z)(i,2),d=s[0];s[1],(0,r.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 m=r.createElement("div",{className:"u-flex"},r.createElement(w.Z,{isText:!0,size:"small",icon:A.Tu.ArrowLeft,onClick:e.onClose,isLoading:e.isLoading},l(u.W.Step.Confirmation.TakeMeBack)),r.createElement(w.Z,{primary:!0,filled:!0,icon:A.Tu.ArrowRight,iconPosition:"right",onClick:e.onProceed,isLoading:e.isLoading},l(u.W.Step.Confirmation.ContinueWithReservation)));return r.createElement(P.Z,{open:!!e.differences.length||!(null===(n=e.warnings)||void 0===n||!n.length),title:l(u.W.Step.Confirmation.YourTotalPriceHasChanged),mobileFooter:m,desktopFooter:r.createElement("div",{className:"u-marg-heavy u-marg@m-"},m),size:P.g.Small,alignCenter:!0},r.createElement("div",{className:"u-marg-heavy u-marg@m-"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-md-8"},r.createElement(C.ZP,{type:C.yG.Small},l(u.W.Step.Confirmation.ConfirmationCheckoutTitle))),r.createElement("div",{className:"col-md-4"},r.createElement(Ce.ZP,{icon:A.Tu.Time,type:Ce.Rm.Primary},r.createElement("span",{className:"u-marg-right--light"},l(u.W.Step.Confirmation.RevertsIn)),r.createElement(F,{endTimeDate:d})))),r.createElement(c.Z,null),!(!e.differences||!e.differences.length)&&e.differences.map((function(e){var t,n,l,i=o.getAllValidRows().find((function(t){return t.getID()===e.id}));return r.createElement("div",{key:e.id},!!i&&r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(a.Z,null,i.getRoom().name)),r.createElement(C.ZP,null,null===(t=i.getRate())||void 0===t?void 0:t.name)),r.createElement("div",{className:"u-flex u-marg-bottom--light"},r.createElement(C.ZP,{type:C.yG.Body},r.createElement("strong",null,"Displayed price:")),r.createElement(C.ZP,{color:y.Il.Alert},r.createElement(N.Z,null,null===(n=e.totalPrice)||void 0===n?void 0:n.before))),r.createElement("div",{className:"u-flex"},r.createElement(C.ZP,{type:C.yG.Body},r.createElement("strong",null,"Actual price:")),r.createElement(C.ZP,{color:y.Il.Success},r.createElement(N.Z,null,null===(l=e.totalPrice)||void 0===l?void 0:l.after))),r.createElement(c.Z,null))})),!(!e.warnings||!e.warnings.length)&&e.warnings.map((function(e,t){return r.createElement(C.ZP,{key:t},e)}))))}var he=n(1625);function Ee(){var e=(0,r.useContext)(R.hy),t=(0,f.$)().t,n=t(u.W.Misc.Room);return(0,r.useMemo)((function(){var a={},o=e.getAllValidRows(),l=0;return o.length>1?o.forEach((function(e){l++;var t=e.getRate(),n=a["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)];n||(n=a["".concat(null==t?void 0:t.cancelPolicyCode,"-").concat(null==t?void 0:t.guaranteeCode)]={rooms:[]}),n.rooms.push({index:l,room:e})})):a[0]={rooms:[{index:1,room:o[0]}]},r.createElement("div",{className:"u-marg-bottom"},Object.values(a).map((function(e,a){var o,l,i=e.rooms[0];return r.createElement("div",{className:"u-marg-bottom--heavy",key:a},r.createElement("div",{className:"u-marg-bottom"},e.rooms.map((function(e){var t;return r.createElement(C.ZP,{key:e.index,type:C.yG.Small},r.createElement("strong",null,n," ",e.index)," ",e.room.getRoom().name," - ",null===(t=e.room.getRate())||void 0===t?void 0:t.name)}))),r.createElement("div",{className:"u-marg-bottom"},r.createElement(C.ZP,{type:C.yG.Small,bold:!0},t(u.W.Misc.GuaranteePolicy)),r.createElement(C.ZP,{type:C.yG.Small,preformatted:!0},r.createElement("span",{dangerouslySetInnerHTML:{__html:(null===(o=i.room.getRate())||void 0===o?void 0:o.getGuaranteePolicy())||""}}))),r.createElement(C.ZP,{type:C.yG.Small,bold:!0},t(u.W.Misc.CancellationPolicy)),r.createElement(C.ZP,{type:C.yG.Small,preformatted:!0},r.createElement("span",{dangerouslySetInnerHTML:{__html:(null===(l=i.room.getRate())||void 0===l?void 0:l.getCancellationPolicy())||""}})))})))}),[e.currentBasketRows])}var be=r.forwardRef((function(e,t){var n=(0,f.$)().t,o=e.confirmationPolicyError,l=(0,T.WP)().hotel;return r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},n(u.W.Step.Confirmation.Acknowledgement))),r.createElement("div",null,r.createElement(ce.Z,{label:n(u.W.Step.Confirmation.EmailSpecialOffers)})),r.createElement("div",{className:"u-marg-top--light"},r.createElement(ce.Z,{ref:t,label:r.createElement("div",null,n(u.W.Step.Confirmation.IHaveUnderstoodPrivacyPolicy)," ",r.createElement("a",{style:{color:y.Il.Accent},className:"--underlined",href:null==l?void 0:l.privacyPolicyUrl,target:"_blank",rel:"noreferrer"},n(u.W.Step.Confirmation.PrivacyPolicy)))})),r.createElement(M.Z,{open:o},r.createElement("div",{className:"u-flex u-marg-top"},r.createElement(O.ZP,{type:O.NK.Danger,icon:A.Tu.Error},r.createElement(C.ZP,{type:C.yG.Small},n(u.W.Step.Confirmation.PrivacyPolicyError))))))})),_e=n(1657),xe=n(6222),ke=n(8016),Ze=(0,r.createContext)({}),Pe=function(){return(0,r.useContext)(Ze)},Se=n(5758),we=function(){var e=(0,Se.u)(),t=(0,Se.a)(),n=(0,r.useMemo)((function(){return["paymentMethod","roomstayId","planpay_checkout_id"].map((function(n){return t.get(n)||e.get(n)}))}),[e,t]),a=(0,g.Z)(n,3);return{queryPaymentMethod:a[0],queryRoomstayId:a[1],queryPlanpayCheckoutId:a[2]}},Ne=n(8440),Re=n.n(Ne),Ie=function(e,t){var n,a=e.checked,o=e.onChange,l=e.disabled,i=e.label,c=e.renderContent,s=e.className,u=e.headerRef;return r.createElement("div",{className:E()(Re().root,s,(n={},(0,ee.Z)(n,Re().disabled,l),(0,ee.Z)(n,Re().checked,a),n)),onClick:o,ref:t},r.createElement("div",{className:Re().header,ref:u},r.createElement("div",{className:Re().design}),r.createElement("div",{className:Re().text},i)),c&&a&&r.createElement(M.Z,{open:!0},r.createElement("div",{className:Re().content},c())))},Be=(0,r.forwardRef)(Ie),We=n(9502),Me=n.n(We),De=n(9089),Te=["renderContent"],Ge=function e(t){var n=t.options,a=void 0===n?[]:n,o=t.value,l=t.onChange,i=t.renderChildrenContent;return r.createElement("div",{className:Me().root},a.map((function(t){var n=t.options,a=!(null==n||!n.length),c=(0,r.useState)(null),s=(0,g.Z)(c,2),u=s[0],d=s[1],m=(0,r.useState)(!1),p=(0,g.Z)(m,2),f=p[0],v=p[1],C=a&&o&&n.find((function(e){return e.value===o}))||t,y=r.createElement(Be,{headerRef:d,className:Me().item,key:null==C?void 0:C.value,checked:!(null!=C&&C.disabled)&&(null==C?void 0:C.value)===o,onChange:function(){null!=C&&C.disabled||(a?v(!f):null!=C&&C.value&&(null==l||l(C.value)))},label:null==C?void 0:C.label,disabled:null==C?void 0:C.disabled,renderContent:null==C?void 0:C.renderContent});return null!=C&&C.disabled&&null!=C&&C.disabledReason?r.createElement(ge.Z,{key:null==C?void 0:C.value,wrapperClasses:Me().wrapper,title:null==C?void 0:C.disabledReason},y):r.createElement(r.Fragment,null,r.createElement("div",{key:null==C?void 0:C.value,className:Me().wrapper},y,n&&r.createElement("div",{className:Me().childrenIndicator},r.createElement(A.ZP,{size:"24px",icon:A.Tu.Dropdown}))),n&&r.createElement(De.a,{onClose:function(){return v(!1)},className:Me().overlay,hideStyles:!0,containerClassName:"u-w-100",open:f,followElement:u||void 0,offset:[0,0],placement:"top-start"},r.createElement(e,{options:n.map((function(e){e.renderContent;var t=(0,X.Z)(e,Te);return i?e:t})),onChange:function(e){null==l||l(e),v(!1)},value:o})))})))},Oe=n(9111),Ue=n(1291),qe=function(e){var t,n=e.isCurrent,a=e.isDefault,o=e.style,l=(0,T.WP)().hotel,i=(null!==(t=null==l?void 0:l.paymentCardTypes)&&void 0!==t?t:[]).map((function(e){return Oe.w[e]?{name:Oe.w[e],status:!1}:null})).filter((function(e){return e}));return r.createElement("div",{className:"u-flex flex-row justify-content-start"},Object.keys(i).map((function(e){var t,l;return r.createElement("div",{key:e,id:null===(t=i[e])||void 0===t?void 0:t.name,className:E()("cc-icon u-flex u-marg-right--light",{"-current":null==n?void 0:n(e),"-default":null==a?void 0:a(e)}),style:Object.assign({backgroundImage:"url('".concat(ve.Z.getAssetUrl()+"assets/img/"+(null===(l=i[e])||void 0===l?void 0:l.name)+".png","')"),backgroundSize:"contain"},o||{})})})))},Fe=(0,r.forwardRef)((function(e,t){var n,a=(0,T.WP)().hotel,o=(0,r.useState)({}),l=(0,g.Z)(o,2),i=l[0],c=l[1],s=(0,f.$)().t,d=(0,T.b)().focusElement,m={fontSize:"13px",lineHeight:"18px","&::placeholder":{color:"#8B8F9A",opacity:1}},p=(0,Ue.c)([{label:s(u.W.Step.Confirmation.Inputs.CardNumber),name:"credit-card",type:"card-number",vgsProps:{autoComplete:["cc-number"],successColor:"#4F8A10",errorColor:"#D8000C",showCardIcon:!1,placeholder:s(u.W.Step.Confirmation.Inputs.CardNumber)+" *",validations:["required","validCardNumber"],css:m}},{label:s(u.W.Step.Confirmation.Inputs.NameOnCard),name:"card-name",type:"text",vgsProps:{validations:["required"],css:m,placeholder:s(u.W.Step.Confirmation.Inputs.NameOnCard)+" *"}},{label:s(u.W.Step.Confirmation.Inputs.CardExpiry),name:"expiration-date",type:"card-expiration-date",vgsProps:{placeholder:s(u.W.Step.Confirmation.Inputs.CardExpiry)+" *",validations:["required","validCardExpirationDate"],css:m}},{label:s(u.W.Step.Confirmation.Inputs.SecurityCode),name:"security-code",type:"card-security-code",vgsProps:{placeholder:s(u.W.Step.Confirmation.Inputs.SecurityCode)+" *",validations:["required","validCardSecurityCode"],css:m}}]),v=(0,g.Z)(p.fields,4),y=v[0],h=v[1],E=v[2],b=v[3],_=p.vgsForm,x=function(e){var t={};Object.keys(e).forEach((function(n){var r="";switch(n){case"credit-card":r=s(u.W.Step.Confirmation.Inputs.CardNumber);break;case"expiration-date":r=s(u.W.Step.Confirmation.Inputs.CardExpiry);break;case"security-code":r=s(u.W.Step.Confirmation.Inputs.SecurityCode);break;default:r=s(u.W.Step.Confirmation.Inputs.NameOnCard)}t[n]=r+" "+e[n].errorMessages[e[n].errorMessages.length-1]})),c(t)};(0,r.useEffect)((function(){var e,t;i&&0!==Object.keys(i).length&&null!=y&&null!==(e=y.ref)&&void 0!==e&&e.current&&d(null==y||null===(t=y.ref)||void 0===t?void 0:t.current)}),[i]),(0,r.useImperativeHandle)(t,(function(){return{getTokenizedCode:function(){return new Promise((function(e,t){_?_.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 x({"expiration-date":{errorMessages:[s(u.W.Step.Confirmation.InputErrors.CardExpiry.Invalid)]}}),void t(s(u.W.Step.Confirmation.InputErrors.CardExpiry.Invalid));var l=(1===o[1].length?"0":"")+o[1]+(2===o[2].length?o[2]:o[2].substr(2)),i={CVV:a["security-code"],Expiry:l,Name:a["card-name"],Number:a["credit-card"],Type:y.state.cardType};e(i)}),(function(e){x(e),t(e)})):console.error("VGS not on element, problem has occurred")}))}}}));var k=(0,r.useRef)(null),Z=(null!==(n=null==a?void 0:a.paymentCardTypes)&&void 0!==n?n:[]).map((function(e){return Oe.w[e]?{name:Oe.w[e],status:!1}:null})).filter((function(e){return e}));return r.createElement("div",null,["credit-card","card-name","expiration-date","security-code"].map((function(e){var t=i[e];return r.createElement(M.Z,{open:!!t,key:e},r.createElement("div",{className:"u-flex"},r.createElement(O.ZP,{type:O.NK.Danger,icon:A.Tu.Error},r.createElement(C.ZP,{type:C.yG.Small},t))))})),r.createElement("div",{className:"u-marg-bottom"},r.createElement(qe,{isCurrent:function(e){var t;return null!==y.state.cardType&&(null===(t=Z[e])||void 0===t?void 0:t.name)===y.state.cardType},isDefault:function(e){return null===y.state.cardType}})),r.createElement("form",{ref:k},r.createElement(te.Z,{dimensions:"2/2"},r.createElement("div",{className:y.getClasses(),ref:y.ref}),r.createElement(te.Z,{dimensions:"2/2"},r.createElement("div",{className:E.getClasses(),ref:E.ref}),r.createElement("div",{className:b.getClasses(),ref:b.ref}))),r.createElement(te.Z,{dimensions:"1"},r.createElement("div",{className:h.getClasses(),ref:h.ref}))))})),Le=n(3423),ze=n(9747),je=n(514),Qe=function(){return r.createElement("div",null,r.createElement("div",{className:"row no-gutters"},r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(ze.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement(ze.Z,{type:"text",h:"md",blink:!0}),r.createElement(ze.Z,{type:"text",h:"md",blink:!0})),r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(ze.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement(ze.Z,{type:"text",h:"sm",blink:!0}),r.createElement(ze.Z,{type:"text",h:"sm",blink:!0}),r.createElement(ze.Z,{type:"text",h:"sm",blink:!0})),r.createElement("div",{className:"col-md-4"},r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(ze.Z,{type:"text",w:"md",h:"sm",blink:!0})),r.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},r.createElement(ze.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})),r.createElement("div",{className:"d-flex justify-content-center"},r.createElement(ze.Z,{type:"text",w:"md",h:"sm",blink:!0,noMarg:!0})),r.createElement("div",{className:"d-flex justify-content-center u-marg-top u-marg-bottom"},r.createElement(ze.Z,{type:"text",w:"xs",h:"sm",blink:!0,noMarg:!0})))),r.createElement("div",{className:"row no-gutters"},r.createElement("div",{className:"col-md-4"},r.createElement(ze.Z,{type:"text",h:"lg",blink:!0})),r.createElement("div",{className:"offset-md-4 col-md-4 d-flex align-items-center"},r.createElement(ze.Z,{type:"text",w:"xl",h:"sm",blink:!0}))))},Ve=function(){var e,t,n=(0,r.useContext)(R.hy),a=(0,je.W)().hotel,o=null===(e=n.reservationData)||void 0===e||null===(t=e.payment)||void 0===t?void 0:t.planpay;return(0,r.useLayoutEffect)((function(){null!=o&&o.id&&Le.MQ.checkout.refresh()}),[null==o?void 0:o.id]),(0,r.useEffect)((function(){var e;Le.MQ.init({environment:null==a||null===(e=a.planpay)||void 0===e?void 0:e.env})}),[a]),r.createElement(r.Fragment,null,r.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"}},r.createElement(Qe,null)))},$e=n(5729),He=n.n($e),Je=function(e){var t=e.vgsCardName,n=e.large;return r.createElement("div",{className:E()(He().root,(0,ee.Z)({},He()["--large"],n)),style:{backgroundImage:"url('".concat(ve.Z.getImageAssetUrl()+t+".png","')")}})},Ye=n(9605),Ke=n(5498),Xe=n.n(Ke),et=function(e){var t,n=e.card,a=(e.active,(0,f.$)().t),o=(0,R.ZS)().roomstayMember;return r.createElement("div",{className:Xe().root},r.createElement("div",{className:"flex-shrink-0"},n?r.createElement(Je,{vgsCardName:n.type,large:!0}):null),r.createElement("div",null,r.createElement(C.ZP,{align:Ye.P.Left,type:C.yG.Small,color:y.Il.Navy},n?"**** **** **** ".concat(n.cardNumber.slice(-4)):a(u.W.Step.Confirmation.CardLabel)),r.createElement(C.ZP,{className:"u-marg-top--lighter",align:Ye.P.Left,type:C.yG.Caption,color:y.Il.DarkGrey},n?"Expires ".concat((t=n.expiry).slice(0,2)+" / "+t.slice(2)):a(u.W.Step.Confirmation.CardSubLabel))),!n&&r.createElement("div",null,r.createElement(qe,{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&&r.createElement(Ce.ZP,{size:"small",type:Ce.Rm.Primary},"DEFAULT CARD"))};function tt(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 nt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?tt(Object(n),!0).forEach((function(t){(0,ee.Z)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tt(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function rt(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 at=function(e){var t,n,a,o,l=e.tokenizerRef,i=e.onChangeCb,c=(0,f.$)().t,s=(0,K.Gc)(),d=(0,T.WP)().hotel,m=(0,R.Kc)(),p=(0,R.ZS)(),v=p.cards,g=void 0===v?[]:v,h=p.roomstayMember,E=(0,r.useMemo)((function(){return g.find((function(e){return e.cardId===(null==h?void 0:h.defaultCard)}))}),[g,h]),b=s.watch("paymentMethod"),_={value:se.EBookingPaymentMethod.Card,label:r.createElement(et,{active:b===se.EBookingPaymentMethod.Card}),renderContent:function(){return r.createElement(Fe,{ref:l})}},x=[];if(null!=d&&null!==(t=d.paymentMethods)&&void 0!==t&&t.includes(se.EBookingPaymentMethod.Card)){var k;if(g.length){var Z=E||g[0];k={value:Z.cardId,label:r.createElement(et,{card:Z})}}else k=_;var P=[];if(g.length){var S,w=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 rt(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)?rt(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}}}}(g);try{for(w.s();!(S=w.n()).done;){var N=S.value;P.push({value:N.cardId,label:r.createElement(et,{card:N})})}}catch(e){w.e(e)}finally{w.f()}P.push(_)}x.push(nt(nt({},k),{},{options:P.length>0?P:void 0}))}return null!=d&&null!==(n=d.paymentMethods)&&void 0!==n&&n.includes(se.EBookingPaymentMethod.Planpay)&&null!=d&&null!==(a=d.planpay)&&void 0!==a&&a.minDaysShowPlanpay&&q()(m.startDate).diff(q()(),"day")>(null==d||null===(o=d.planpay)||void 0===o?void 0:o.minDaysShowPlanpay)&&x.push({value:se.EBookingPaymentMethod.Planpay,label:r.createElement("div",{className:"u-flex u-flex-align-center"},r.createElement("div",null,c(u.W.Step.Confirmation.PlanpayLabel)),r.createElement("div",{className:"u-flex u-flex-align-center u-marg-left--light",style:{borderRadius:"24px",overflow:"hidden"}},r.createElement("img",{height:16,src:ve.Z.getImageAssetUrl("planpay-logo-small.svg"),alt:""})),!s.formState.isValid&&r.createElement(C.ZP,{color:y.Il.Graphite,className:"u-flex u-flex-align-center",style:{color:"#313131",fontSize:10}},r.createElement(A.ZP,{color:y.Il.DarkGrey,icon:A.Tu.Info,className:"u-marg-right--lighter u-marg-left--light"}),c(u.W.Step.Confirmation.PlanpayHelperText))),disabled:!s.formState.isValid,disabledReason:s.formState.isValid?"":"You must fill all the above details before proceeding with Planpay",renderContent:function(){return r.createElement(Ve,null)}}),r.createElement(K.Qr,{control:s.control,name:"paymentMethod",render:function(e){var t=e.field,n=t.onChange,a=t.value;return r.createElement(r.Fragment,null,r.createElement("div",null,r.createElement(Ge,{options:x,value:a,onChange:function(e){n(e),i(e)}})))}})},ot=n(2566),lt=n(2710);function it(){var e=(0,r.useState)({differences:[],warnings:[]}),t=(0,g.Z)(e,2),n=t[0],o=t[1],l=(0,r.useContext)(R.gr),i=(0,r.useState)(""),s=(0,g.Z)(i,2),d=s[0],m=s[1],p=(0,r.useState)(!1),h=(0,g.Z)(p,2),E=h[0],b=h[1],_=(0,r.useRef)(null),x=(0,r.useRef)(null),k=(0,f.$)().t,Z=we(),P=Z.queryPaymentMethod,S=Z.queryRoomstayId,N=Z.queryPlanpayCheckoutId,I=(0,R.dF)(),B=(0,K.Gc)(),W=Pe(),M=W.isBackFromPlanpay,T=W.isLoading,G=W.apiErrors,U=W.clearApiErrors,q=W.book,F=W.rollbackReservation,L=W.commitReservation,z=(0,R.Kc)(),j=(0,r.useRef)(null),Q=(0,ot.J)(),V=(0,R.ZS)().roomstayMember,$=function(){var e=(0,H.Z)(Y().mark((function e(t){var n,r,a,o;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next=e.t0===se.EBookingPaymentMethod.Planpay?3:e.t0===se.EBookingPaymentMethod.Card?10:(e.t0,se.EBookingPaymentMethod.SavedCard,16);break;case 3:return(r=new URLSearchParams(window.location.search)).set("roomstayId","{{rsId}}"),r.set("session",I.sessionProvider.getCurrentSessionID().toString()),r.set("paymentMethod",se.EBookingPaymentMethod.Planpay),a="".concat(window.location.origin).concat(window.location.pathname).concat(window.location.search,"#/step/confirmation/?").concat(r),n={Method:se.EBookingPaymentMethod.Planpay,PlanpayCheckoutId:N||void 0,RedirectUrl:a},e.abrupt("break",17);case 10:return e.t1=se.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:se.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,r.useEffect)((function(){var e,t,n="";return n=Object.values(se.EBookingPaymentMethod).includes(P)?P: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:se.EBookingPaymentMethod.Card,B.setValue("paymentMethod",n),oe(n),M&&(S===(null===(t=z.reservationData)||void 0===t?void 0:t.roomstayId)?J():null==F||F()),function(){M||null==F||F()}}),[]);var J=function(){var e=(0,H.Z)(Y().mark((function e(){return Y().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)}}(),X=B.watch("paymentMethod");I.engine.getSessionProvider().getSession().then((function(e){m(e.source)}));var ee=function(){var e=(0,H.Z)(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:Q((0,_e.Z)().getStepUrl());case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),te=function(){var e=(0,H.Z)(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ae(X,function(){var e=(0,H.Z)(Y().mark((function e(t){return Y().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)}}(),re=function(e){var t=null==l?void 0:l.errorChecks.every((function(t){return t().validate(e)}));return void 0===t||t},ae=function(){var e=(0,H.Z)(Y().mark((function e(t,n){var r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==q?void 0:q((0,H.Z)(Y().mark((function e(){return Y().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=x.current)||void 0===r?void 0:r.value,(0,H.Z)(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=void 0,!xe.Z.isActive()||null!=_&&null!==(n=_.current)&&void 0!==n&&n.checked){e.next=3;break}return b(!0),e.abrupt("return",!1);case 3:if(re(!0)){e.next=5;break}return e.abrupt("return",!1);case 5:if(e.prev=5,t!==se.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&&o(e)}),n);case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),oe=function(){var e=(0,H.Z)(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t===se.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 r.createElement("form",null,M?r.createElement(D.Z,null):r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(a.Z,{bold:!0},k(u.W.Step.Confirmation.GuestDetails))),r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.Success},r.createElement("strong",null,k(u.W.Step.Confirmation.AlmostDone,{required:"*"})))),r.createElement(me,null),"inline"===d?r.createElement(O.ZP,{type:O.NK.Accent2,heavyPadding:!0},r.createElement("div",{className:"u-flex u-w-100 flex-wrap flex-xl-nowrap"},r.createElement("div",null,r.createElement(C.ZP,{color:y.Il.Accent,bold:!0},k(u.W.Step.Confirmation.WantMoreRooms)),r.createElement(C.ZP,{color:y.Il.Navy},k(u.W.Step.Confirmation.YouCanAddAndEditRooms))),r.createElement("div",{className:"d-flex align-items-center u-marg-top@xl-"},r.createElement(w.Z,{filled:!0,primary:!0,icon:A.Tu.Add,iconPosition:"left",onClick:ee},k(u.W.Step.Confirmation.AddMoreRooms))))):r.createElement(r.Fragment,null),ke.Z.isActive()&&r.createElement(r.Fragment,null,r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},"Travel Agent")),r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(C.ZP,{type:C.yG.Small},r.createElement("strong",null,k(u.W.Step.Confirmation.Inputs.IATANumber)))),r.createElement("div",{className:"u-marg-bottom--light"},r.createElement(C.ZP,{type:C.yG.Small},k(u.W.Step.Confirmation.Inputs.IATANumberGuide))),r.createElement(ne.Z,(0,v.Z)({placeholder:k(u.W.Step.Confirmation.Inputs.IATANumber),wide:!0},B.register("IATANumber")))),r.createElement(c.Z,null)),r.createElement(lt.h,{inputRef:x}),r.createElement(c.Z,null),r.createElement("div",{className:"u-marg-bottom--heavy"},r.createElement("div",{className:"u-marg-bottom"},r.createElement(a.Z,{bold:!0},k(u.W.Navigation.Menu.PaymentInformation))),r.createElement(at,{tokenizerRef:j,onChangeCb:function(){var e=(0,H.Z)(Y().mark((function e(t){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,oe(t);case 2:if(t!==se.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)}}()}),r.createElement("div",{className:"u-marg-top u-flex align-items-center"},r.createElement("div",{className:"u-flex align-items-center justify-content-start"},r.createElement(A.ZP,{icon:A.Tu.Lock,color:y.Il.Success}),r.createElement("div",{className:"u-marg-left--light"},r.createElement(C.ZP,{type:C.yG.Small,color:y.Il.Success},r.createElement("strong",null,k(u.W.Step.Confirmation.Secured))))),r.createElement(Ae,null))),r.createElement(c.Z,null),r.createElement(pe,null),r.createElement("div",{className:"u-pad-top--light u-marg-bottom"},r.createElement(Ee,null)),xe.Z.isActive()&&r.createElement(r.Fragment,null,r.createElement(c.Z,null),r.createElement("div",null,r.createElement(be,{ref:_,confirmationPolicyError:E}))),r.createElement("div",{className:"u-flex u-marg-top--heavy justify-content-end"},r.createElement(fe.Z,{disabled:X===se.EBookingPaymentMethod.Planpay||T,text:k(u.W.Step.Confirmation.ConfirmReservation),isLoading:T,onClick:te}))),r.createElement(he.default,{open:!!G,onClose:U},r.createElement(C.ZP,null,G)),r.createElement(ye,{differences:n.differences,warnings:n.warnings,isLoading:T,onClose:(0,H.Z)(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==F?void 0:F();case 2:Q((0,_e.Z)().getStepUrl());case 3:case"end":return e.stop()}}),e)}))),onProceed:(0,H.Z)(Y().mark((function e(){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(X!==se.EBookingPaymentMethod.Planpay){e.next=4;break}o({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)})))}))}var ct=n(9666),st=n(3819),ut=Ze.Provider,dt=function(e){var t=e.children,n=we(),a=n.queryPaymentMethod,o=n.queryRoomstayId,l=n.queryPlanpayCheckoutId,i=(0,r.useState)(!1),c=(0,g.Z)(i,2),s=c[0],d=c[1],m=(0,r.useState)(""),p=(0,g.Z)(m,2),v=p[0],A=p[1],C=(0,K.cI)({mode:"onChange"}),y=(0,r.useContext)(R.hy),h=y.getAllValidRows(),E=y.basketAddonRows,b=(0,T.WP)().hotel,_=(0,f.$)().t,x=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}}))},k=function(){var e=(0,H.Z)(Y().mark((function e(t){var n;return Y().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=y.currentBasketRows[t].checkDiffFromReservation(e);r&&n.push(r)})),e.next=7;break;case 5:throw ct.n_({level:st.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)}}(),Z=function(e,t,n,r,a){return function(){var o=(0,H.Z)(Y().mark((function o(l){var i,c,s,m;return Y().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(L.ZP.instance.sendInteraction("Complete Booking",L.s_.BUTTON,L._J.GUEST_DETAILS),d(!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 d(!1),o.abrupt("return");case 11:return o.next=13,e();case 13:return c=o.sent,o.prev=14,o.next=17,W.Z.Reservation.bookNow(h,x(l),c,E,t||"",null==b?void 0:b.hotelID);case 17:return i=o.sent,y.booked(i),o.next=21,k(i);case 21:if(!(s=o.sent)){o.next=27;break}d(!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),A(null!==(m=null===o.t1||void 0===o.t1?void 0:o.t1.Message)&&void 0!==m?m:_(u.W.Step.Confirmation.UnexpectedErrorFromBookingDatabase));case 35:return o.prev=35,d(!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)}}()},P=!!l&&!!o&&!!a,S=function(e){var t;return null==e||null===(t=e.reservations)||void 0===t?void 0:t.map((function(e){return e.reservationNumber}))},w=function(){var e=(0,H.Z)(Y().mark((function e(t){var n,r;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,d(!0),!t){e.next=18;break}if(!(n=S(t)).length){e.next=15;break}return e.prev=5,e.next=8,W.Z.Reservation.commit(n,t.itineraryNumber,null==b?void 0:b.hotelID,l||void 0).then((function(e){try{L.ZP.instance.sendReservationConfirmed(y.getAllValidRows(),y.basketAddonRows,e)}catch(e){ct.Tb("Failed to read reservations from GTM code: "+JSON.stringify(e))}y.checkedOut(e)})).catch((function(e){console.log(e),A(_(u.W.Misc.UnexpectedError))})).finally((function(){d(!1)}));case 8:e.next=13;break;case 10:e.prev=10,e.t0=e.catch(5),A(null!==(r=null===e.t0||void 0===e.t0?void 0:e.t0.Message)&&void 0!==r?r:_(u.W.Step.Confirmation.UnexpectedErrorFromBookingDatabase));case 13:e.next=18;break;case 15:A(_(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)),R.qL.add({message:_(u.W.Step.Confirmation.UnexpectedErrorOnCommittingReservation)}),ct.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),A(_(u.W.Step.Confirmation.FailedToCommitReservation)),console.log("Failed to commit reservation "),console.error(e.t1),ct.Tb(e.t1);case 26:case"end":return e.stop()}}),e,null,[[0,20],[5,10]])})));return function(t){return e.apply(this,arguments)}}(),N=function(){var e=(0,H.Z)(Y().mark((function e(){var t;return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(y.reservationData){e.next=2;break}return e.abrupt("return");case 2:if(e.prev=2,!(t=S(y.reservationData)).length){e.next=10;break}return d(!0),e.next=8,W.Z.Reservation.rollback(t,y.reservationData.itineraryNumber,null==b?void 0:b.hotelID);case 8:e.next=11;break;case 10:ct.Tb("No reservation IDs found when attempting to rollback: "+JSON.stringify(y.reservationData));case 11:e.next=17;break;case 13:e.prev=13,e.t0=e.catch(2),console.log("Failed to rollback reservations"),ct.Tb(e.t0);case 17:return e.prev=17,y.rollback(),d(!1),e.finish(17);case 21:case"end":return e.stop()}}),e,null,[[2,13,17,21]])})));return function(){return e.apply(this,arguments)}}(),I=function(){var e=(0,H.Z)(Y().mark((function e(t,n,r,a,o){return Y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,C.handleSubmit(Z(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 r.createElement(K.RV,C,r.createElement(ut,{value:{book:I,commitReservation:w,rollbackReservation:N,isLoading:s,apiErrors:v,clearApiErrors:function(){return A("")},isBackFromPlanpay:P}},t))};function mt(){return r.createElement(dt,null,r.createElement(it,null))}var pt=n(6409),ft=function(){var e=(0,r.useContext)(R.g7),t=(0,r.useContext)(R.aN).currentStep,n=(0,r.useContext)(R.hy).currentBasketRows,v=(0,f.$)().t,g=(0,V.z)().raise;return(0,r.useEffect)((function(){var e=new $.z(n);g(e)}),[]),r.createElement("div",{className:"container"},r.createElement(d.default,null),r.createElement(pt.i5,null,r.createElement(pt.mV,null,e.screenSize>m.Z.Medium&&r.createElement(r.Fragment,null,r.createElement(i.rU,{to:o.Z.getPreviousStepUrl(t)},r.createElement(s.Z,null)),r.createElement("div",{className:"u-marg-top--light u-marg-bottom--heavy"},r.createElement(a.Z,{bold:!0},v(u.W.Navigation.Steps.Confirmation)))),r.createElement("div",{className:"u-marg-top@m-"},r.createElement(j.Z,null))),e.screenSize>m.Z.Medium&&r.createElement(pt.f,null,r.createElement(p.Z,null))),r.createElement(c.Z,null),r.createElement(pt.i5,null,r.createElement(pt.mV,null,r.createElement("div",{className:"block-container"},!Q.Z.isActive()&&r.createElement(G,null),r.createElement(R.s$,null,r.createElement(mt,null)))),e.screenSize>m.Z.Medium&&r.createElement(pt.f,null,r.createElement(z,{endDate:q()().add(10,"minute")}),r.createElement(l.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||{}}}]);