@roomstay/frontend 2.3.19 → 2.3.20

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