1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/main-kBzK4eIG.js","assets/vendor-primevue-CeEACqX_.js","assets/vendor-primevue-z0I5QTct.css","assets/vendor-fontawesome-CHTXNQM2.js","assets/vendor-luxon-D-syak89.js","assets/vendor-i18n-G4dYfk6F.js","assets/vendor-pako-DwGzBETv.js","assets/vendor-posthog-B2YXpdD_.js","assets/vendor-query-B7KhvNMU.js","assets/main-x_rp7B12.css","assets/HotelDetailMap-CS1B3EF5.js","assets/useNearbyHotels-CVxMsK2W.js","assets/socket-D7UBviuq.js","assets/vendor-socket-YTJ-CyAn.js","assets/HotelDetailMap-Ctps3tTA.css"])))=>i.map(i=>d[i]); 2import{dV as la,ak as gs,cO as _o,h as b,e as ye,dW as fs,dX as ys,dY as bo,dZ as Ro,n as ut,d_ as wo,ci as $o,d$ as Jt,e0 as Co,I as we,bg as Pe,ai as ze,ad as ks,v as He,e1 as It,ah as ia,bX as ho,bs as yt,T as Qt,t as So,e2 as _s,cM as bs,m as st,p as at,e3 as Rs,bL as na,a2 as ra,bd as Io,al as go,am as fo,an as yo,e4 as ca,e5 as ua,$ as da,ao as ma,H as va,J as pa,aK as ws,c2 as ha,D as ga,dB as Wo,aJ as Bt,bG as Ot,aI as kt,bu as Ko,af as ct,e6 as fa,bj as ya,bE as $s,e7 as ka,e8 as _a,bt as ba,_ as uo,dq as Ra,b5 as wa,ag as $a,dy as Ca,e9 as Sa,bB as Ia,ea as Pa,eb as Da,bf as ot,ec as Ma,au as xa,cn as Yo,aE as Ta,bF as Aa,ar as Oa,b3 as Ba,bC as Fa,at as Ha}from"./main-kBzK4eIG.js";import{u as e,c as $,d as Le,r as u,z as s,F as V,f as g,a9 as Ze,W as ke,G as ve,C as t,E as a,O as n,S as O,V as ce,D as K,L as Me,P as dt,A as o,K as Ce,o as _t,w as $e,aj as Wt,N as ne,ag as La,ad as ko,ac as Ga,Y as Et,b as Cs,y as Qe,a4 as Xo,aw as Ss,n as Nt,Z as je,ax as Is,I as Po,$ as Ps,ay as qa,x as Ea,R as Na,M as ja,az as za,a7 as Ua,J as Va}from"./vendor-primevue-CeEACqX_.js";import{g as Ja,F as Qa}from"./vendor-fontawesome-CHTXNQM2.js";import{D as de}from"./vendor-luxon-D-syak89.js";import{p as Wa,f as Tt,g as Ds,A as Ka}from"./AlternativeRoomDates-Bs7qvvqB.js";import{E as Ms}from"./Error-AK8Dy47O.js";import{u as Do,L as jt}from"./LoyaltyLabelBanner-b4_DrhEs.js";import{c as xs,d as zt,e as Ft,g as Ts,a as As,f as Os,b as Zo}from"./rateLabels-BuXyiow2.js";import{u as Fe}from"./vendor-i18n-G4dYfk6F.js";import{I as Pt,R as ft}from"./ImageWithFallback-raoQ1sx0.js";import{A as Ya,g as Ut,R as Xa}from"./RoomDetails-CuAR53FX.js";import{u as Za,M as el}from"./usePaymentBottomSheet-DyS6bAyk.js";import{P as tl}from"./PerksSection-C3ODrFYJ.js";import{H as ol}from"./HomeHotelCardInterface-CgfsRZUq.js";import{D as es}from"./DetailGallery-BQ4i1iNk.js";import"./vendor-pako-DwGzBETv.js";import"./vendor-posthog-B2YXpdD_.js";import"./vendor-query-B7KhvNMU.js";import"./bunny-BFgfExvG.js";import"./HotelCardImage-DEtelr5M.js";import"./NoHotelImage-Bo4zjMQU.js";import"./chevron-right-6aEiQEcc.js";/*! 3 * isobject <https://github.com/jonschlinkert/isobject> 4 * 5 * Copyright (c) 2014-2017, Jon Schlinkert. 6 * Released under the MIT License. 7 */var sl=function(y){return y!=null&&typeof y=="object"&&Array.isArray(y)===!1};/*! 8 * get-value <https://github.com/jonschlinkert/get-value> 9 * 10 * Copyright (c) 2014-2018, Jon Schlinkert. 11 * Released under the MIT License. 12 */const Bs=sl;var al=function(c,y,l){if(Bs(l)||(l={default:l}),!os(c))return typeof l.default<"u"?l.default:c;typeof y=="number"&&(y=String(y));const i=Array.isArray(y),d=typeof y=="string",p=l.separator||".",M=l.joinChar||(typeof p=="string"?p:".");if(!d&&!i)return c;if(d&&y in c)return mo(y,c,l)?c[y]:l.default;let D=i?y:ll(y,p,l),f=D.length,_=0;do{let r=D[_];for(typeof r=="number"&&(r=String(r));r&&r.slice(-1)==="\\";)r=ts([r.slice(0,-1),D[++_]||""],M,l);if(r in c){if(!mo(r,c,l))return l.default;c=c[r]}else{let H=!1,h=_+1;for(;h<f;)if(r=ts([r,D[h++]],M,l),H=r in c){if(!mo(r,c,l))return l.default;c=c[r],_=h-1;break}if(!H)return l.default}}while(++_<f&&os(c));return _===f?c:l.default};function ts(c,y,l){return typeof l.join=="function"?l.join(c):c[0]+y+c[1]}function ll(c,y,l){return typeof l.split=="function"?l.split(c):c.split(y)}function mo(c,y,l){return typeof l.isValid=="function"?l.isValid(c,y):!0}function os(c){return Bs(c)||Array.isArray(c)||typeof c=="function"}const Ke=Ja(al);var vo=c=>c*(Math.PI/180),ss=c=>Math.pow(c,2),il=(c,y,l,i)=>{c=vo(c),l=vo(l);const p=l-c,M=vo(i-y),D=ss(Math.sin(p/2))+Math.cos(c)*Math.cos(l)*ss(Math.sin(M/2)),f=2*6371*Math.asin(Math.sqrt(D));return Math.round((f+Number.EPSILON)*100)/100};function nl(c,y,l){return(Ke(c,l.y)-Ke(y,l.y))*(Ke(c,l.y)-Ke(y,l.y))}function rl(c,y,l){return(Ke(c,l.x)-Ke(y,l.x))*(Ke(c,l.x)-Ke(y,l.x))}var cl=(c,y,l)=>Math.abs(Math.sqrt(nl(c,y,l)+rl(c,y,l))),as=(c,y,l,i="linear")=>i==="haversine"?il(Ke(c,l.x),Ke(c,l.y),Ke(y,l.x),Ke(y,l.y)):cl(c,y,l),ul=(c,y,{yName:l="y",xName:i="x",type:d="linear"}={})=>{const p={y:l,x:i},M=y.slice();return M.sort(function(D,f){return D.distance=as(c,D,p,d),f.distance=as(c,f,p,d),D.distance-f.distance}),M};function ls(c){return typeof c=="function"?c():e(c)}typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const is=()=>{};function dl(c,y){function l(...i){return new Promise((d,p)=>{Promise.resolve(c(()=>y.apply(this,i),{fn:y,thisArg:this,args:i})).then(d).catch(p)})}return l}function ml(c,y={}){let l,i,d=is;const p=D=>{clearTimeout(D),d(),d=is};return D=>{const f=ls(c),_=ls(y.maxWait);return l&&p(l),f<=0||_!==void 0&&_<=0?(i&&(p(i),i=null),Promise.resolve(D())):new Promise((r,H)=>{d=y.rejectOnCancel?H:r,_&&!i&&(i=setTimeout(()=>{l&&p(l),i=null,r(D())},_)),l=setTimeout(()=>{i&&p(i),i=null,r(D())},f)})}}function vl(c,y=200,l={}
12){return dl(ml(y,l),c)}const Fs=({mainRate:c,perks:y})=>{const l=d=>`${(d?.level||"").toUpperCase()}|${d?.perkId??d?.name??""}`;return $(()=>{const d=new Set((Array.isArray(y)?y:[]).map(D=>l(D)));return(Array.isArray(c?.perks)?c.perks:[]).filter(D=>d.has(l(D))).map(D=>({...D,icon:D.icon||la(D.perkId)}))})},pl={class:"popupPolicies"},hl={key:0,style:{"font-size":"1.2rem","margin-bottom":"2rem"}},gl={class:"policiesList"},fl={key:0,class:"icon-text-lines"},yl={key:1},kl={key:2,style:{display:"flex","flex-direction":"column"}},_l={key:3,class:"icon-text-lines"},bl={style:{"margin-top":"1rem"}},Rl=["data-rate-plan-id"],wl={class:"optionPart op1"},$l={key:0,class:"icon-text-lines"},Cl={key:1,class:"icon-text-lines"},Sl={key:2,style:{display:"flex","flex-direction":"column"}},Il=["innerHTML"],Pl={key:3,class:"icon-text-lines"},Dl={class:"flex flex-column gap-2"},Ml={class:"optionPart op2"},xl={key:0,class:"noMarkup"},Tl={key:0,class:"line-through suggestedPrice"},Al={key:1,class:"flex justify-content-start align-items-baseline gap-1"},Ol={class:"no-underline"},Bl={key:1,class:"withMarkup"},Fl={key:0,class:"badge"},Hl={key:0},Ll={key:2,class:"withMarkup isGuest"},Gl={key:0,class:"badge guest"},ql={key:0,class:"flex align-items-end"},El={class:"py-0"},Nl={key:1,class:"line-through guestPrice"},jl={class:"flex flex-column align-items-end gap-1 w-full"},zl={key:0,class:"rate-price-breakdown w-full"},Ul={class:"rate-price-row"},Vl={class:"rate-price-row__label"},Jl={class:"rate-price-row__amount"},Ql={class:"rate-price-row"},Wl={class:"rate-price-row__label"},Kl={class:"rate-price-row__amount"},Yl={class:"rate-price-row__label"},Xl={class:"rate-price-row__amount"},Zl={class:"fees-description"},ei={key:2,class:"google-stay-total"},ti={key:0,class:"rate-card__loyalty"},oi={class:"optionPart op3"},si={key:0,class:"perks-container"},ai={class:"perks-list"},li=Le({__name:"RatesCard",props:{rates:{},retailRate:{},suggestedRate:{},currencySymbol:{},showAllRooms:{},index:{},loadingState:{},offerId:{},numberRooms:{},occupancies:{},checkin:{},checkout:{},isGuestUser:{type:Boolean},hasMarkup:{type:Boolean},memberPrice:{},guestPrice:{},memberSavings:{},supplier:{},supplierId:{},perks:{},loyaltyPoints:{},loyaltyEstimatedFiat:{},googleRatePlanId:{},googleMatchRateId:{}},emits:["prebookRate"],setup(c,{emit:y}){const{t:l}=Fe(),{isGrabPreset:i}=gs(),{isQueryMode:d}=Do(),p=c,M=$(()=>_o(p.supplier,p.supplierId)),D=y,f=u(b.shouldUseBaseRateNightPrice||!1),_=b.showTotalAndNightlyPrice,r=u(ye.project.settings||{}),H=$(()=>fs({retailRate:p.retailRate,hasMarkup:p.hasMarkup,isGuestUser:p.isGuestUser,memberPrice:p.memberPrice,guestPrice:p.guestPrice})),h=$(()=>ys({isQueryMode:d.value,bookingTotal:H.value,loyaltyPoints:p.loyaltyPoints,hideRatesLoyaltyPointsBadge:r.value.hideRatesLoyaltyPointsBadge})),C=u(!1),Q=u(null),I=u(ye.loyalty?.program||null),w=p.rates[0],L=w.retailRate&&w.retailRate.taxesAndFees||[],S=w.commission||[],T=de.fromISO(p.checkout).diff(de.fromISO(p.checkin),"days").days,B=bo(L),z=$(()=>p.retailRate?Ro(p.retailRate.amount,L):0),oe=$(()=>r.value.showSimplifiedPriceDisplay===!0),ie=$(()=>oe.value&&B>0&&!ut&&!r.value.hidePrices&&(_||f.value)&&!!p.retailRate),X=$(()=>wo(T,p.numberRooms,B,w,M,l,ut)),G=$(()=>{if(p.retailRate&&p.suggestedRate&&p.retailRate?.amount<p.suggestedRate?.amount){const F=Math.round(100-100*p.retailRate.amount/p.suggestedRate.amount);return F<$o?0:F}else return 0}),Z=$(()=>G.value>=30),q=F=>F?.cancellationPolicies?.refundableTag==="RFN"?l("roomCard.RFN"):l("roomCard.NRFN"),J=F=>{switch(F?.boardType){case"BI":return l("roomCard.breakfast.roomWithBreakfast");case"RO":return l("roomCard.breakfast.roomOnly");case"HB":return l("roomCard.breakfast.halfBoard");case"FB":return l("roomCard.breakfast.fullBoard");case"AI":return l("roomCard.breakfast.allInclusive");case"DI":return l("roomCard.breakfast.dinnerIncluded");case"LI":return l("roomCard.breakfast.lunchIncluded");default:return F.boardName}},te=F=>{switch(F?.boardType){case"BI":return l("roomCard.breakfast.included");case"RO":return l("roomCard.breakfast.noMeals");case"HB":return l("roomCard.breakfast.halfBoardVerbose");case"FB":return l("roomCard.breakfast.fullBoardVerbose");case"AI":return l("roomCard.breakfast.allInclusive");case"DI":return l("roomCard.breakfast.dinnerIncluded");case"LI":return l("roomCard.breakfast.lunchIncluded");default:return F?.boardName}},fe=Fs({mainRate:w,perks:p.perks}),R=$(()=>({background:Z.value?"#FF1F54":"#15A233"})),A=$(()=>Z.value?l("roomCard.discount.bigDiscount",{discount:G.value}):l("roomCard.discount.smallDiscount",{discount:G.value})),P=F=>{const re=F.split("Free cancellation before")[1];return`${l("roomCard.freeCancellationBefore")} <span class="capitalize">${ks(re,b.language,{weekday:"short",day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"numeric"})}</span>`},he=$(()=>
12r.value?.useLoyaltyAppearance===!0),me=$(()=>he.value&&I.value?.appearance?.bgColor?{backgroundColor:I.value.appearance.bgColor,backgroundImage:"none"}:{}),_e=$(()=>he.value&&I.value?.appearance?.textColor?I.value.appearance.textColor:"#fff"),ae=$(()=>!!p.googleRatePlanId),U=$(()=>!!p.googleRatePlanId&&w.rateId===p.googleMatchRateId),x=$(()=>Jt(p.retailRate,L)),Te=$(()=>x.value?l("roomCard.googleStayTotal",{amount:Co(x.value.total,x.value.currency),count:T,unit:T>1?l("occupancy.nights"):l("occupancy.night")}):"");return(F,re)=>{const Y=dt("font-awesome-icon");return o(),s(V,null,[g(e(Ze),{visible:C.value,"onUpdate:visible":re[1]||(re[1]=N=>C.value=N),dismissableMask:C.value,modal:"",position:e(b).isMobile?"bottom":"center",style:ke({borderRadius:e(b).isMobile?"4px":"16px",overflow:"hidden",width:e(b).isMobile?"98%":"40%",height:"fit-content","box-shadow":"none",margin:e(b).isMobile?"0":"auto"}),pt:{mask:{style:"backdrop-filter: blur(2px)"},root:"border-radius: 16px"},draggable:!1},{header:ve(()=>re[3]||(re[3]=[t("div",{style:{display:"flex","justify-content":"end",padding:"0"}},null,-1)])),default:ve(()=>[t("div",pl,[Q.value?(o(),s("h2",hl,a(J(Q.value))+" ⢠"+a(q(Q.value)),1)):n("",!0),t("div",gl,[Q.value?.boardType==="RO"?(o(),s("span",fl,[re[4]||(re[4]=t("i",{class:"pi pi-times",style:{"font-size":"0.8rem",color:"var(--theme-error-600)",padding:"0.18rem 0"}},null,-1)),O(" "+a(e(l)("roomCard.breakfast.noMeals")),1)])):(o(),s("span",yl,[re[5]||(re[5]=t("i",{class:"pi pi-check",style:{"font-size":"0.8rem",color:"var(--theme-success-600)",padding:"0.18rem 0"}},null,-1)),O(a(te(Q.value||{})),1)])),Q.value?.cancellationPolicies.refundableTag==="RFN"?(o(),s("span",kl,[(o(!0),s(V,null,ce(Q.value?.formattedCancellationPolicies?.policies,(N,ee)=>(o(),s("span",{key:N.message,class:K({"full-refundable":N.highlight,hidden:ee>0&&!C.value})},[re[6]||(re[6]=t("i",{class:"pi pi-check",style:{"font-size":"0.8rem",color:"var(--theme-success-600)",padding:"0.3rem 0"}},null,-1)),O(a(N.message),1)],2))),128))])):(o(),s("span",_l,[re[7]||(re[7]=t("i",{class:"pi pi-times",style:{"font-size":"0.8rem",color:"var(--theme-error-600)",height:"12px"}},null,-1)),O(a(e(l)("roomCard.NRFN")),1)])),t("span",bl,[re[8]||(re[8]=t("b",{style:{"font-size":"large"}},"*",-1)),O(" "+a(e(l)("roomCard.timeMentioned",{timeFormat:Q.value?.formattedCancellationPolicies?.timezone||"GMT"})),1)])]),g(e(Me),{label:e(l)("roomCard.close"),class:"btn-outline radius_sm",outlined:"",severity:"secondary",onClick:re[0]||(re[0]=N=>C.value=!1),style:{"margin-top":"1rem","align-self":"flex-end",width:"fit-content"}},null,8,["label"])])]),_:1},8,["visible","dismissableMask","position","style"]),t("div",{class:K(["container",{"with-perks":e(fe)&&e(fe).length>0,"google-match":U.value}]),style:ke(e(fe)&&e(fe).length>0?me.value:{}),"data-rate-plan-id":U.value?F.googleRatePlanId:void 0},[t("div",{class:K(["option",{hidden:F.index>3&&!F.showAllRooms}])},[t("div",wl,[t("h2",null,a(J(e(w)))+" ⢠"+a(q(e(w))),1),t("div",null,[e(w).boardType==="RO"?(o(),s("span",$l,[re[9]||(re[9]=t("i",{class:"pi pi-times",style:{"font-size":"0.8rem",color:"var(--theme-error-600)",padding:"0.18rem 0"}},null,-1)),O(" "+a(e(l)("roomCard.breakfast.noMeals")),1)])):(o(),s("span",Cl,[re[10]||(re[10]=t("i",{class:"pi pi-check",style:{"font-size":"0.8rem",color:"var(--theme-success-600)",padding:"0.18rem 0"}},null,-1)),O(" "+a(te(e(w))),1)])),e(w).cancellationPolicies.refundableTag==="RFN"?(o(),s("span",Sl,[(o(!0),s(V,null,ce(e(w)?.formattedCancellationPolicies?.policies,(N,ee)=>(o(),s("span",{key:N.message,class:K([{"full-refundable":N.highlight,hidden:ee>0},"icon-text-lines"])},[re[11]||(re[11]=t("i",{class:"pi pi-check",style:{"font-size":"0.8rem",color:"var(--theme-success-600)",height:"12px"}},null,-1)),t("div",{innerHTML:P(N.message)},null,8,Il)],2))),128))])):(o(),s("span",Pl,[re[12]||(re[12]=t("i",{class:"pi pi-times",style:{"font-size":"0.8rem",color:"var(--theme-error-600)",height:"12px"}},null,-1)),O(a(e(l)("roomCard.NRFN")),1)])),r.value.hidePrices?n("",!0):(o(!0),s(V,{key:4},ce(e(xs)(e(w)),N=>(o(),s("span",{key:N,class:"icon-text-lines rate-promotion"},[g(Y,{icon:"tag"}),t("div",null,a(N),1)]))),128))])]),t("div",Dl,[t("div",Ml,[!F.hasMarkup&&!r.value.hidePrices?(o(),s("div",xl,[G.value?(o(),s("div",{key:0,class:"discount",style:ke(R.value)},[g(we,{class:"BadgeInstance",name:"badge-instance",color:R.value.background},null,8,["color"]),t("p",null,[g(Y,{icon:"tag"}),O(" "+a(A.value),1)])],4)):n("",!0),t("h2",{class:K(["flex align-items-center gap-2",{"price-nightly-secondary":e(_)}])},[G.value&&F.suggestedRate?.amount?(o(),s("div",Tl,a(e(Pe)(F.suggestedRate.amount,e(T),e(L),e(S),e(b).currency,void 0,ae.value)),1)):n("",!0),F.retailRate?(o(),s("div",Al,[O(a(e(Pe)(F.retailRate?.amount,e(T),e(L),e(S),F.retailRate?.currency,void 0,ae.value))+" ",1),t("span",Ol,a(e(l)("hotelCard.nightly")),1)])):n("",!0)],2)])):n("",!0),F.hasMarkup&&!F.isGuestUser&&e(b).showLoginButton&&!r.value.hidePrices?(o(),s("div",Bl,[F.memberSavings&&F.retailRate?(o(),s("p",Fl,[g(we,{name:"unlock"}),O(" "+a(e(l)("roomCard.signInAndSave"))+" "+a(e(Pe)(F.retailRate?.amount,e(T),e(L),e(S),e(b).currency,F.memberPrice,ae.value)),1)])):n("",!0),F.memberPrice?(o(),s("h2",{key:1,class:K({"price-nightly-secondary":e(_)})},[O(a(e(Pe)(F.memberPrice,e(T),e(L),e(S),e(b).currency,void 0,ae.value)),1),t("span",null,a(e(l)("hotelCard.nightly")),1)],2)):n("",!0),t("p",null,[O(a(e(l)("roomCard.publicPrice"))+" ",1),F.guestPrice?(o(),s("strong",Hl,a(e(Pe)(F.guestPrice,e(T),e(L),e(S),e(b).currency,void 0,ae.value)),1)):n("",!0)])])):n("",!0),F.hasMarkup&&F.isGuestUser&&!r.value.hidePrices?(o(),s("div",Ll,[F.memberSavings?(o(),s("p",Gl,[g(we,{name:"price-tag"}),O(" "+a(e(l)("roomCard.membersPrice"))+" "+a(e(Pe)(F.memberSavings,e(T),e(L),e(S),e(b).currency,void 0,ae.value))+" "+a(e(l)("roomCard.off")),1)])):n("",!0),t("h2",{class:K({"price-nightly-secondary":e(_)})},[F.memberPrice&&!r.value.hidePrices?(o(),s("div",ql,[O(a(e(Pe)(F.memberPrice,e(T),e(L),e(S),e(b).currency,void 0,ae.value)),1),t("span",El,a(e(l)("hotelCard.nightly")),1)])):n("",!0),F.guestPrice&&!r.value.hidePrices?(o(),s("div",Nl,a(e(Pe)(F.guestPrice,e(T),e(L),e(S),e(b).currency,void 0,ae.value)),1)):n("",!0)],2)])):n("",!0),t("div",jl,[ie.value?(o(),s("div",zl,[t("div",Ul,[t("span",Vl,a(e(l)("checkout.roomTotalInclTaxes")),1),t("span",Jl,a(e(ze)(F.retailRate?.amount||0,{currency:F.retailRate?.currency,machineSafe:ae.value})),1)]),t("div",Ql,[t("span",Wl,a(e(l)("checkout.paidAtHotel")),1),t("span",Kl,a(e(ze)(e(B),{currency:F.retailRate?.currency,machineSafe:ae.value})),1)]),t("div",{class:K(["rate-price-row rate-price-row--total",{"price-total-primary":e(_)}])},[t("span",Yl,a(e(l)("booking.total")),1),t("span",Xl,a(e(ze)(z.value,{currency:F.retailRate?.currency,machineSafe:ae.value})),1)],2)])):F.retailRate&&!r.value.hidePrices&&(e(_)||f.value)?(o(),s("span",{key:1,class:K(["total-price",{"price-total-primary":e(_)}])},a(e(ze)(F.retailRate?.amount||0,{currency:F.retailRate?.currency,machineSafe:ae.value}))+" "+a(e(l)("booking.total")),3)):n("",!0),t("span",Zl,a(X.value),1),ae.value&&Te.value?(o(),s("p",ei,a(Te.value),1)):n("",!0)])]),h.value?(o(),s("div",ti,[g(jt,{"booking-total":H.value,Points:F.loyaltyPoints,"estimated-fiat":F.loyaltyEstimatedFiat||null,class:"w-full"}
12,null,8,["booking-total","Points","estimated-fiat"])])):n("",!0),t("div",oi,[g(e(Me),{label:e(i)?e(l)("roomCard.book"):e(l)("roomCard.chooseRoom"),class:"btn-filled radius_sm",severity:"primary","data-testid":"hotel-choose-room-button",loading:F.loadingState&&!0,onClick:re[2]||(re[2]=N=>D("prebookRate",F.offerId,F.index,F.rates))},null,8,["label","loading"])])])],2),e(fe)&&e(fe).length>0?(o(),s("div",si,[t("h2",{style:ke({color:_e.value})},"Additional Perks:",4),t("div",ai,[(o(!0),s(V,null,ce(e(fe),N=>(o(),s("div",{class:"perk-item",key:N.perkId},[g(Y,{icon:N.icon,style:ke({color:_e.value})},null,8,["icon","style"]),t("span",{style:ke({color:_e.value})},a(N.name),5)]))),128))])])):n("",!0)],14,Rl)],64)}}}),ii=He(li,[["__scopeId","data-v-e2245033"],["__file","RatesCard.vue"]]);function Hs(c,y,l){const i=c.sources[0].rates[0],d=de.fromISO(c.checkout).diff(de.fromISO(c.checkin),"days").days,p=$(()=>{const h=d>1?y("occupancy.nights"):y("occupancy.night"),C=c.numberRooms>1?y("selectGuestRoom.roomsLabel"):y("selectGuestRoom.roomLabel");return`${d} ${h}, ${c.numberRooms} ${C}`}),M=h=>{const C=h.suggestedSellingPrice?.source;return C?`(${C.charAt(0).toUpperCase()}${C.slice(1)})`:null},D=h=>{const C=h.rates[0].retailRate?.taxesAndFees||[],Q=h.rates[0].commission||[];return Pe(h.offerRetailRate?.amount||0,d,C,Q,h.offerRetailRate?.currency||c.currencySymbol)},f=h=>{if(!h.suggestedSellingPrice?.amount)return null;const C=h.rates[0].retailRate?.taxesAndFees||[],Q=h.rates[0].commission||[];return Pe(h.suggestedSellingPrice.amount,d,C,Q,h.suggestedSellingPrice.currency)},_=h=>!h.offerRetailRate||!h.suggestedSellingPrice||h.offerRetailRate.amount>=h.suggestedSellingPrice.amount?!1:Math.round(100-100*h.offerRetailRate.amount/h.suggestedSellingPrice.amount)>=$o,r=u(null);return{mainRate:i,nights:d,nightsDescription:p,getSourceChannel:M,rowPrice:D,rowSuggestedPrice:f,rowHasDiscount:_,clickedOfferId:r,chooseSource:h=>{r.value=h.offerId,l(h.offerId,c.index,h.rates)}}}const ni={class:"sources-card-mobile__info"},ri={class:"sources-card-mobile__title"},ci={class:"sources-card-mobile__policies"},ui={class:"icon-text-lines"},di={class:"icon-text-lines"},mi={class:"sources-card-mobile__rows"},vi=["onClick"],pi={class:"source-row-mobile__label"},hi=["data-source"],gi={class:"source-row-mobile__label-text"},fi={key:0,class:"source-row-mobile__channel"},yi={class:"source-row-mobile__right"},ki={class:"source-row-mobile__price-block"},_i={class:"source-row-mobile__price"},bi={key:0,class:"source-row-mobile__suggested"},Ri={class:"source-row-mobile__amount"},wi={class:"source-row-mobile__unit"},$i={class:"source-row-mobile__fees"},Ci=Le({__name:"RatesCardSources",props:{sources:{},currencySymbol:{},showAllRooms:{type:Boolean},index:{},loadingState:{type:Boolean},numberRooms:{},checkin:{},checkout:{}},emits:["prebookRate"],setup(c,{emit:y}){const l=c,i=y,{t:d}=Fe(),{mainRate:p,nightsDescription:M,getSourceChannel:D,rowPrice:f,rowSuggestedPrice:_,rowHasDiscount:r,clickedOfferId:H,chooseSource:h}=Hs(l,d,(C,Q,I)=>i("prebookRate",C,Q,I));return(C,Q)=>(o(),s("div",{class:K(["sources-card-mobile radius_md",{hidden:C.index>3&&!C.showAllRooms}])},[t("div",ni,[t("p",ri,a(e(zt)(e(p),e(d)))+" ⢠"+a(e(Ft)(e(p),e(d))),1),t("div",ci,[t("span",ui,[Q[0]||(Q[0]=t("i",{class:"pi pi-times",style:{color:"var(--theme-error-600)"}},null,-1)),O(" "+a(e(p).boardType==="RO"?e(d)("roomCard.breakfast.noMeals"):e(p).boardName),1)]),t("span",di,[t("i",{class:K(e(p).cancellationPolicies?.refundableTag==="RFN"?"pi pi-check":"pi pi-times"),style:ke({color:e(p).cancellationPolicies?.refundableTag==="RFN"?"var(--theme-success-600)":"var(--theme-error-600)"})},null,6),O(" "+a(e(Ft)(e(p),e(d))),1)])])]),t("div",mi,[(o(!0),s(V,null,ce(C.sources,I=>(o(),s("a",{key:I.offerId,class:K(["source-row-mobile",{"source-row-mobile--loading":C.loadingState&&I.offerId===e(H)}]),onClick:Ce(w=>!C.loadingState&&e(h)(I),["prevent"])},[t("span",pi,[t("span",{class:"source-row-mobile__icon","data-source":I.source},[g(we,{name:e(Ts)(I.source),width:18,height:18},null,8,["name"])],8,hi),t("span",gi,[t("span",null,a(e(As)(I.source,e(d))),1),e(D)(I)?(o(),s("span",fi,a(e(D)(I)),1)):n("",!0)])]),t("div",yi,[t("span",ki,[t("span",_i,[e(r)(I)?(o(),s("span",bi,a(e(_)(I)),1)):n("",!0),t("span",Ri,[O(a(e(f)(I))+" ",1),t("span",wi,a(e(d)("hotelCard.nightly")),1)])]),t("span",$i,a(e(M)),1)]),Q[1]||(Q[1]=t("i",{class:"pi pi-chevron-right source-row-mobile__chevron"},null,-1))])],10,vi))),128))])],2))}}),Si=He(Ci,[["__scopeId","data-v-d37fdbb3"],["__file","RatesCardSources.vue"]]),We={room:"https://schema.org/
12HotelRoom",offer:"https://schema.org/Offer https://schema.org/LodgingReservation",compoundPrice:"https://schema.org/CompoundPriceSpecification",unitPrice:"https://schema.org/UnitPriceSpecification",inStock:"https://schema.org/InStock",soldOut:"https://schema.org/SoldOut"},Vt="GenericTax",Ls="T15:00:00",Gs="T10:00:00",Mo=(c,y,l)=>c?{itemscope:!0,itemtype:y,...l?{itemprop:l}:{}}:{},Ii=["data-rate-plan-id"],Pi=["content"],Di=["itemtype"],Mi=["content"],xi=["content"],Ti=["content"],Ai=["content"],Oi=["itemtype"],Bi=["content"],Fi=["content"],Hi=["itemtype"],Li=["content"],Gi=["content"],qi=["content"],Ei=["content"],Ni={key:1,class:"cursor-pointer images-slideshow"},ji=["onClick"],zi={class:"no-room-image-text"},Ui={class:"no-room-image-text__content flex justify-content-center align-items-center radius_md"},Vi={key:2,class:"images-slideshow"},Ji={key:0,class:"no-room-image-text"},Qi={class:"no-room-image-text__content flex justify-content-center align-items-center radius_md"},Wi={class:"bottom-section"},Ki={class:"details"},Yi={class:"title"},Xi={class:"room-details"},Zi={key:0,class:"room-details__content"},en={key:0,class:"room-details__item"},tn={class:"room-details__size"},on={key:1,class:"room-details__item"},sn={class:"room-details__size"},an={class:"priceSection flex flex-column justify-content-end align-items-end"},ln={class:"nightly"},nn={class:"nightly"},rn={key:0,class:"font-semibold"},cn={class:"nightly"},un={key:1,class:"rate-price-breakdown w-full"},dn={class:"rate-price-row"},mn={class:"rate-price-row__label"},vn={class:"rate-price-row__amount"},pn={class:"rate-price-row"},hn={class:"rate-price-row__label"},gn={class:"rate-price-row__amount"},fn={class:"rate-price-row__label"},yn={class:"rate-price-row__amount"},kn={class:"taxes"},_n={key:2,class:"google-stay-total"},bn=Le({__name:"GroupRoomCardMobile",props:{rooms:{},backgroundImageUrl:{},handleGetMappedRoom:{type:Function},refSection:{},labelDiv:{},groupedRooms:{},numberRooms:{},nights:{},isGuestUser:{type:Boolean},hasMarkup:{type:Boolean},supplier:{},supplierId:{},googleRatePlanId:{},checkin:{},checkout:{}},emits:["handleShowOverlay","handleCurrentRoomImageIndex"],setup(c,{emit:y}){const{t:l}=Fe(),i=u(ye.project.settings||{}),d=c,p=$(()=>_o(d.supplier,d.supplierId)),M=u(0),D=u(!1),f=u(0),_=u(b.shouldUseBaseRateNightPrice||!1),r=b.showTotalAndNightlyPrice,H=A=>d.handleGetMappedRoom&&d.handleGetMappedRoom(A),h=u([]);_t(async()=>{C()});const C=()=>{if(!d.rooms?.length)return;const A=[];d.rooms.forEach(P=>{const he=P.mappedRoomId;if(he&&A.length>0&&A.some(me=>me.key===he)){let me=A.findIndex(_e=>_e.key===he);A[me].count++}else{const me=H(P.mappedRoomId);A.push({count:1,id:Math.random(),name:P.name,key:he,mappedRoom:me,perks:P?.perks||[]})}}),h.value=A},Q=A=>{if(!A?.mappedRoom?.photos?.length)return[];const P=[...A.mappedRoom.photos],he=P.findIndex(me=>me.mainPhoto===!0);if(he>0){const me=P.splice(he,1)[0];P.unshift(me)}return P},I=y,w=(A,P)=>{const he=h.value[P];he.mappedRoom.photos[A]&&he.mappedRoom.photos.splice(A,1)},L=A=>A.mappedRoom&&A.mappedRoom.photos&&Array.isArray(A.mappedRoom.photos)&&A.mappedRoom.photos.length>0,S=d.groupedRooms[0]?.rates[0],T=S?.retailRate&&S.retailRate.taxesAndFees||[],B=S?.commission||[],z=bo(T),oe=$(()=>{const A=d.groupedRooms[0];return A?d.hasMarkup&&d.isGuestUser&&A.memberPrice!=null?A.memberPrice:d.hasMarkup&&!d.isGuestUser&&A.guestPrice!=null?A.guestPrice:A.offerRetailRate?.amount??0:0}),ie=$(()=>Ro(oe.value,T)),X=$(()=>i.value.showSimplifiedPriceDisplay===!0),G=$(()=>X.value&&z>0&&!ut&&!i.value.hidePrices&&(r||_.value)&&oe.value>0),Z=$(()=>wo(d.nights,d.numberRooms,z,S,p,l,ut));$e(()=>h.value.map(A=>A.mappedRoom?.photos?.length||0),()=>{f.value=0},{immediate:!0});const q=$(()=>!!d.googleRatePlanId),J=A=>{if(!d.googleRatePlanId||!A)return!1;const[P]=d.googleRatePlanId.split("-");return String(A)===P},te=$(()=>Jt(d.groupedRooms?.[0]?.offerRetailRate,T)),fe=$(()=>S?`${S.mappedRoomId}-${S.boardType}-${S.cancellationPolicies?.refundableTag}`:""),R=$(()=>te.value?l("roomCard.googleStayTotal",{amount:Co(te.value.total,te.value.currency),count:d.nights,unit:d.nights>
121?l("occupancy.nights"):l("occupancy.night")}):"");return(A,P)=>(o(!0),s(V,null,ce(h.value,(he,me)=>(o(),s("div",Wt({class:["group-room-card-rooms",{"google-match":J(he.key)}],key:he.id,onClick:P[0]||(P[0]=_e=>I("handleShowOverlay",h.value)),"data-rate-plan-id":J(he.key)?A.googleRatePlanId:void 0,ref_for:!0},e(Mo)(q.value,e(We).room,"containsPlace")),[q.value?(o(),s(V,{key:0},[t("meta",{itemprop:"identifier",content:String(he.key)},null,8,Pi),A.checkin&&A.checkout&&fe.value?(o(),s("span",{key:0,hidden:"",itemprop:"offers",itemscope:"",itemtype:e(We).offer},[t("meta",{itemprop:"identifier",content:fe.value},null,8,Mi),t("meta",{itemprop:"checkinTime",content:`${A.checkin}${e(Ls)}`},null,8,xi),t("meta",{itemprop:"checkoutTime",content:`${A.checkout}${e(Gs)}`},null,8,Ti),t("meta",{itemprop:"availability",content:te.value?e(We).inStock:e(We).soldOut},null,8,Ai),te.value?(o(),s("span",{key:0,itemprop:"priceSpecification",itemscope:"",itemtype:e(We).compoundPrice},[t("meta",{itemprop:"price",content:String(te.value.total)},null,8,Bi),t("meta",{itemprop:"priceCurrency",content:te.value.currency},null,8,Fi),te.value.tax>0?(o(),s("span",{key:0,itemprop:"priceComponent",itemscope:"",itemtype:e(We).unitPrice},[t("meta",{itemprop:"name",content:e(Vt)},null,8,Li),t("meta",{itemprop:"priceComponentType",content:e(Vt)},null,8,Gi),t("meta",{itemprop:"price",content:String(te.value.tax)},null,8,qi),t("meta",{itemprop:"priceCurrency",content:te.value.currency},null,8,Ei)],8,Hi)):n("",!0)],8,Oi)):n("",!0)],8,Di)):n("",!0)],64)):n("",!0),L(he)?(o(),s("div",Ni,[he.mappedRoom.photos.length>0?(o(!0),s(V,{key:0},ce(Q(he),(_e,ae)=>(o(),s("div",{key:_e.url,class:"image main radius_md",onClick:U=>{M.value=ae,D.value=!0,I("handleShowOverlay",h.value)},style:ke({display:f.value===ae?"block":"none"})},[_e?(o(),ne(Pt,{key:0,image:_e,onRemove:U=>w(ae,me),"mapped-room-id":he.key,lazy:!0},null,8,["image","onRemove","mapped-room-id"])):n("",!0)],12,ji))),128)):(o(),s("span",{key:1,class:"bg",style:ke({backgroundImage:`url(${A.backgroundImageUrl})`,display:"flex",justifyContent:"center",alignItems:"center",backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",borderRadius:"1rem",height:"100%",width:"100%"})},[t("span",zi,[t("span",Ui,[P[1]||(P[1]=t("i",{class:"mr-2 pi pi-image"},null,-1)),O(" "+a(e(l)("GroupRoomCardRooms.roomCard.noImageAvailable")),1)])])],4))])):(o(),s("div",Vi,[t("span",{class:"bg",style:ke({backgroundImage:`url(${A.backgroundImageUrl})`,display:"flex",justifyContent:"center",alignItems:"center",backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",borderRadius:"1rem",height:"100%",width:"100%"})},[!A.backgroundImageUrl||A.backgroundImageUrl.includes("noRoomBlur")?(o(),s("span",Ji,[t("span",Qi,[P[2]||(P[2]=t("i",{class:"mr-2 pi pi-image"},null,-1)),O(" "+a(e(l)("GroupRoomCardRooms.roomCard.noImageAvailable")),1)])])):n("",!0)],4)])),t("div",Wi,[t("div",Ki,[t("div",Yi,[t("h1",
12null,a(`${he.count} x ${e(It)([he?.name||""],he.mappedRoom?.name||"",!0)}`),1),g(ft,{"ref-section":d.refSection,type:"bug",labelDiv:d.labelDiv},null,8,["ref-section","labelDiv"])]),t("div",Xi,[h.value&&h.value.length&&h.value[0]?.mappedRoom?(o(),s("div",Zi,[h.value?.[0]?.mappedRoom?.size?(o(),s("div",en,[P[4]||(P[4]=t("i",{class:"pi pi-building text-500"},null,-1)),t("span",tn,[O(a(h.value?.[0]?.mappedRoom?.size)+"m",1),P[3]||(P[3]=t("sup",null,"2",-1))])])):n("",!0),h.value?.[0]?.mappedRoom?.occupancy?(o(),s("div",on,[P[5]||(P[5]=t("i",{class:"pi pi-users text-500"},null,-1)),t("span",sn,a(e(l)("roomCard.sleepsCount",{count:h.value[0]?.mappedRoom?.occupancy})),1)])):n("",!0)])):n("",!0)])]),t("div",an,[A.groupedRooms&&A.groupedRooms.length?(o(),s(V,{key:0},[A.hasMarkup&&A.isGuestUser&&A.groupedRooms[0].memberPrice!==void 0?(o(),s(V,{key:0},[t("span",{class:K(["font-semibold priceDaily",{"price-nightly-secondary":e(r)}])},[O(a(e(Pe)(A.groupedRooms[0].memberPrice,A.nights,e(T),e(B),e(b).currency,void 0,q.value))+" ",1),t("span",ln,a(e(l)("hotelCard.nightly")),1)],2),(e(r)||_.value)&&!G.value?(o(),s("span",{key:0,class:K(["priceTotal",{"price-total-primary":e(r)}])},a(e(ze)(A.groupedRooms[0].memberPrice,{currency:e(b).currency,machineSafe:q.value}))+" "+a(e(l)("booking.total")),3)):n("",!0)],64)):A.hasMarkup&&!A.isGuestUser&&A.groupedRooms[0].guestPrice!==void 0?(o(),s(V,{key:1},[t("span",{class:K(["font-semibold priceDaily",{"price-nightly-secondary":e(r)}])},[O(a(e(Pe)(A.groupedRooms[0].guestPrice,A.nights,e(T),e(B),e(b).currency,void 0,q.value)),1),t("span",nn,a(e(l)("hotelCard.nightly")),1)],2),(e(r)||_.value)&&!G.value?(o(),s("span",{key:0,class:K(["priceTotal",{"price-total-primary":e(r)}])},a(e(ze)(A.groupedRooms[0].guestPrice,{currency:e(b).currency,machineSafe:q.value}))+" "+a(e(l)("booking.total")),3)):n("",!0)],64)):!A.hasMarkup&&A.groupedRooms[0].offerRetailRate!==void 0?(o(),s(V,{key:2},[i.value.hidePrices?(o(),s("span",rn,a(e(l)("hotelCard.costCovered")),1)):(o(),s(V,{key:1},[t("span",{class:K(["font-semibold priceDaily",{"price-nightly-secondary":e(r)}])},[O(a(e(Pe)(A.groupedRooms[0].offerRetailRate.amount,A.nights,e(T),e(B),e(b).currency,void 0,q.value))+" ",1),t("span",cn,a(e(l)("hotelCard.nightly")),1)],2),(e(r)||_.value)&&!G.value?(o(),s("span",{key:0,class:K(["priceTotal",{"price-total-primary":e(r)}])},a(e(ze)(A.groupedRooms[0].offerRetailRate.amount,{currency:e(b).currency,machineSafe:q.value}))+" "+a(e(l)("booking.total")),3)):n("",!0)],64))],64)):n("",!0)],64)):n("",!0),G.value?(o(),s("div",un,[t("div",dn,[t("span",mn,a(e(l)("checkout.roomTotalInclTaxes")),1),t("span",vn,a(e(ze)(oe.value,{currency:e(b).currency,machineSafe:q.value})),1)]),t("div",pn,[t("span",hn,a(e(l)("checkout.paidAtHotel")),1),t("span",gn,a(e(ze)(e(z),{currency:e(b).currency,machineSafe:q.value})),1)]),t("div",{class:K(["rate-price-row rate-price-row--total",{"price-total-primary":e(r)}])},[t("span",fn,a(e(l)("booking.total")),1),t("span",yn,a(e(ze)(ie.value,{currency:e(b).currency,machineSafe:q.value})),1)],2)])):n("",!0),t("span",kn,a(Z.value),1),q.value&&R.value?(o(),s("p",_n,a(R.value),1)):n("",!0)])])],16,Ii))),128))}}),Rn=He(bn,[["__scopeId","data-v-9c4ad6f6"],["__file","GroupRoomCardMobile.vue"]]),wn={class:"perk-pills__title"},$n={class:"perk-pills"},Cn=Le({__name:"PerkPills",props:{title:{},maxVisiblePills:{default:3},perks:{}},setup(c){const y=h=>({1:"fal fa-bed",2:"fal fa-star",3:"fal fa-bed-front",4:"fal fa-wifi",5:"fal fa-clock",6:"fal fa-clock",7:"fal fa-glass-cheers",8:"fal fa-bed",9:"fal fa-glass-cheers",10:"fal fa-coffee"})[h]||"fal fa-star",l=c,i=u(Array.isArray(l.perks)&&l.perks.length?ia(l.perks.map(h=>({...h,icon:h.icon||y(h.perkId)}))):[]),d=$(()=>i.value.slice(0,l.maxVisiblePills)),p=$(()=>i.value.slice(l.maxVisiblePills)),M=$(()=>p.value.length),D=u(null),f=u(ye.project?.settings||{}),_=u(ye.loyalty?.program||null),r=$(()=>f.value?.useLoyaltyAppearance===!0),H=$(()=>r.value&&_.value?.appearance?.bgColor?{backgroundColor:_.value.appearance.bgColor,color:_.value.appearance.textColor}:{color:"#fff",background:"url('/sapphireBG.webp')",backgroundRepeat:"no-repeat",backgroundSize:"cover",backgroundPosition:"center"});
12return(h,C)=>{const Q=dt("font-awesome-icon");return o(),s("div",{class:"perk-pills-container",style:ke(H.value)},[t("h4",wn,a(h.title),1),t("div",$n,[(o(!0),s(V,null,ce(d.value,I=>(o(),s("span",{key:I.perkId,class:"pill"},[g(Q,{icon:I.icon},null,8,["icon"]),O(" "+a(I.name),1)]))),128)),M.value>0?(o(),s("span",{key:0,class:"pill__more",onMouseenter:C[0]||(C[0]=I=>D.value&&D.value.toggle(I)),onClick:C[1]||(C[1]=Ce(I=>D.value&&D.value.toggle(I),["stop"])),onMouseleave:C[2]||(C[2]=I=>D.value&&D.value.toggle(I))}," +"+a(M.value)+" more ",33)):n("",!0),g(e(La),{ref_key:"op",ref:D},{default:ve(()=>[C[3]||(C[3]=t("h4",null,"More benefits",-1)),(o(!0),s(V,null,ce(p.value,(I,w)=>(o(),s("span",{key:w,class:"pill__more"},[g(Q,{icon:I.icon},null,8,["icon"]),O(" "+a(I.name),1)]))),128))]),_:1},512)])],4)}}}),Sn=He(Cn,[["__scopeId","data-v-f7b44865"],["__file","PerkPills.vue"]]),In={class:"galleryItems"},Pn={class:"rates-dialog-header rates-dialog-header--grab"},Dn={class:"rates-dialog-header__title"},Mn={class:"gallery-dialog-content"},xn={key:0},Tn={class:"galleryItems"},An={key:1,class:"images-slideshow"},On={key:0,class:"no-room-image-text"},Bn={class:"no-room-image-text__content flex justify-content-center align-items-center radius_md"},Fn={class:"mt-5 flex flex-column px-3"},Hn={class:"topSection"},Ln={class:"radius_md"},Gn=["onClick"],qn={class:"room-card-title"},En={class:"room-details"},Nn={class:"room-details-section"},jn={key:0},zn={key:1},Un={key:1,class:"perk-pills-content"},Vn={class:"roomsOptions"},Jn={key:0,class:"show-all-rooms-button"},Qn={key:2,class:"amenities"},Wn={key:4,class:"description"},Kn={class:"description-title",style:{"margin-bottom":"12px"}},Yn=["innerHTML"],Xn={class:"p-2 room-overlay-error h-fit radius_md"},Zn={class:"top-content",style:{display:"flex","flex-direction":"column","align-items":"center"}},er=["id"],tr={class:"left-content"},or=50,sr=Le({__name:"Rates",props:{groupedRooms:Object,mappedRooms:Object,currencySymbol:String,checkin:String,checkout:String,rooms:Number,adults:Number,children:String,occupancies:String,handleGetMappedRoom:{type:Function,required:!0},trackingId:String,isHighlighted:Boolean,googleRatePlanId:String,googleMatchRateId:String},emits:["click","refresh-rooms"],setup(c,{expose:y,emit:l}){const i=c,d=u(b.isAuthenticated);$e(()=>b.guest,()=>{d.value=b.isAuthenticated}),$e(()=>i.groupedRooms,async W=>{W&&W.length>0&&(await Rs(W,i.currencySymbol),S.value=W?.map(le=>({points:le.loyaltyPoints??0,estimatedFiat:le.loyaltyEstimatedFiat??void 0}))||[])},{immediate:!0});const p=u([]),M=u([]),D=u([]),f=u(null),_=de.fromISO(i.checkout).diff(de.fromISO(i.checkin),"days").days,r=u(!1);ye.project.settings&&typeof ye.project.settings.guestMarkup<"u"&&ye.project.settings.guestMarkup>0&&(r.value=!0,p.value=i.groupedRooms?.map(W=>W.memberPrice)||[],M.value=i.groupedRooms?.map(W=>W.memberSavings)||[],D.value=i.groupedRooms?.map(W=>W.guestPrice)||[]);const H=i.groupedRooms?.map(W=>W.rates),h=i.groupedRooms?.map(W=>W.offerRetailRate),C=i.groupedRooms?.map(W=>W.suggestedSellingPrice),Q=u(i.groupedRooms?.map(W=>W.offerId)||[]),I=i.groupedRooms?.[0]?.rates.length,w=u([]),L=u(""),S=u([]),T=i.groupedRooms?.map(W=>W.rates),B=$(()=>Os(i.groupedRooms,{enabled:ye.project.settings?.enableMultiRateSources===!0,hasMarkup:r.value,googleMatchRateId:i.googleMatchRateId}));function z(W=[]){const le="/noRoomBlur4.jpeg",se=new URL(le,import.meta.url).href;if(!W.length){L.value=se;return}const Ie=W.shift();if(!Ie){L.value=se;return}const Ue=new Image;Ue.onload=()=>{L.value=Ie??se},Ue.onerror=()=>{z(W)},Ue.src=Ie??se}const oe=u(null),ie=u(0),X=u(0),G=Qt(),Z=So(),q=u(!1),J=u(!1),te=u(Math.random().toString(36).substring(7)),fe=u(!1),R=u(!1),A=u(4),P=u(""),he=l,me=u(!1),_e=()=>{if(fe.value){fe.value=!1,A.value=4;return}fe.value=!0,A.value=B.value.length||4},ae=()=>{R.value=!R.value},U=u(Array(B.value.length??0).fill(!1)),x=async(W,le,se)=>{U.value[le]=!0,me.value=!1;const Ie=i.groupedRooms?.find(qe=>qe.offerId===W),Ue=await _s({room:Ie,offerId:W,rates:se});bs({offerId:W,checkin:i.checkin||G.query.checkin,checkout:i.checkout||G.query.checkout,occupancies:st(i.occupancies),rooms:i.rooms||G.query.rooms,adults:i.adults||G.query.adults,children:i.children||G.query.children,trackingId:i.trackingId,mappedRates:se.map(qe=>({rateId:qe.rateId,mappedRoomId:qe.mappedRoomId,paymentTypes:qe.paymentTypes,beds:qe.beds})),guestId:b.guest?.id??void 0,currency:b.currency,cancellationPolicies:se.length?se[0].cancellationPolicies:null,
12source:G.query.source||"direct",loyaltyPoints:Ue}).then(qe=>{const{prebookRate:Dt}=qe;at("prebook_confirmed",{prebookId:Dt.prebookId,hotelId:G.params.id,checkin:i.checkin||G.query.checkin,checkout:i.checkout||G.query.checkout,adults:i.adults??G.query.adults,rooms:i.rooms??G.query.rooms}),Z.push({path:"/booking",query:{prebookId:Dt.prebookId,checkin:i.checkin||G.query.checkin,checkout:i.checkout||G.query.checkout,rooms:i.rooms||G.query.rooms,adults:i.adults||G.query.adults,children:i.children||G.query.children,hotelId:G.params.id,placeId:G.query.placeId,occupancies:i.occupancies,trackingId:i.trackingId,source:G.query.source||"direct",...G.query.ratePlanId?{ratePlanId:G.query.ratePlanId}:{},...Ie?.source?{rateSource:Ie.source}:{}}})}).catch(qe=>{at("prebook_failed",{offerId:W,hotelId:G.params.id,error:qe.response?.data?.message||qe.response?.data?.error||qe.message}),U.value[le]=!1,P.value=qe.response?.data?.error||qe.message,me.value=!0,console.error(qe)})},Te=()=>{he("refresh-rooms"),q.value=!1,J.value=!1,me.value=!1};y({$el:oe,room:i.groupedRooms,rate:T});const F=W=>{ie.value=W,X.value=0},re=W=>{W&&(b.isMobile?J.value=!0:q.value=!0,w.value=W.filter(le=>le.mappedRoom))};_t(()=>{z(i.mappedRooms?.[0]&&i.mappedRooms?.[0]?.photos&&i.mappedRooms?.[0]?.photos.length?i.mappedRooms?.[0]?.photos.map(W=>ho(W)).filter(W=>W!=null):[]),S.value=i.groupedRooms?.map(W=>({points:W.loyaltyPoints??0,estimatedFiat:W.loyaltyEstimatedFiat??void 0}))||[],Ae(),window.addEventListener("resize",Ae),window.visualViewport?.addEventListener("resize",Ae)});const Y=u(!1),N=u(0),ee=u([]),{t:be}=Fe(),{paymentBottomSheetProps:Ne,isBottomSheet:De}=Za(),xe=u(0),Se=u(0),Re=W=>{xe.value=W.touches[0].clientX},Ge=W=>{Se.value=W.touches[0].clientX},Be=W=>{const le=Se.value-xe.value;if(Math.abs(le)>or&&w.value[ie.value]?.mappedRoom?.photos?.length>1)if(W.preventDefault(),W.stopPropagation(),le>0)X.value>0?X.value--:X.value=w.value[ie.value].mappedRoom.photos.length-1;else{const se=w.value[ie.value].mappedRoom.photos.length-1;X.value<se?X.value++:X.value=0}},Ae=()=>{document.documentElement.style.setProperty("--vh",`${window.innerHeight}px`)},E=()=>{X.value!==0&&(X.value=X.value-1)},pe=W=>{X.value!==W-1&&(X.value=X.value+1)},ge=u(ee.value.length),Ee=W=>{if(W+1<=ge.value){let le=new Image;le.src=ho(ee.value[W+1])}};return $e(()=>ee.value,()=>{ge.value=ee.value.length}),(W,le)=>(o(),s(V,null,[g(e(ko),{visible:Y.value,"onUpdate:visible":le[1]||(le[1]=se=>Y.value=se),class:"p-hotelDetail-gallery",value:ee.value,circular:!0,fullScreen:!0,showItemNavigators:!0,showThumbnails:!1,"active-index":N.value,style:{zIndex:200,position:"relative"}},{item:ve(se=>[t("div",In,[(o(),ne(Pt,{key:se.item,image:se.item,onLoaded:le[0]||(le[0]=()=>Ee(N.value))},null,8,["image"]))])]),_:1},8,["visible","value","active-index"]),g(e(Ze),Wt({visible:J.value,"onUpdate:visible":le[4]||(le[4]=se=>J.value=se),class:"rates-dialog"},e(Ne),{header:e(De)?void 0:e(be)("GroupRoomCardRooms.roomCard.roomDetails"),closable:!e(De),modal:!0,dismissableMask:!1,style:{width:"100vw !important",height:"var(--vh, 100vh) !important",maxHeight:"var(--vh, 100vh) !important",justifyContent:"flex-start",boxShadow:"none",margin:e(b).isMobile?"0":"auto",backgroundColor:"white",maxWidth:"100%",borderRadius:"0 !important",zIndex:"99 !important"}}),Ga({default:ve(()=>[t("div",Mn,[w.value[ie.value]?.mappedRoom?.photos?.length?(o(),s("div",xn,[g(e(ko),{visible:!0,value:w.value[ie.value].mappedRoom.photos,circular:!0,showItemNavigators:!1,showThumbnails:!1,"active-index":X.value,showIndicators:!0,changeItemOnIndicatorHover:!0,showIndicatorsOnItem:!0,indicatorsPosition:"bottom"},{item:ve(se=>[t("div",Tn,[(o(),ne(Pt,{key:se.item,image:se.item,"mapped-room-id":w.value[ie.value].key,onTouchstart:Re,onTouchmove:Ge,onTouchend:Be},null,8,["image","mapped-room-id"])),w.value[ie.value]?.mappedRoom?.photos?.length?(o(),ne(e(Me),{key:0,icon:"pi pi-chevron-left",class:K(["radius_sm p-button-rounded chevron left",{disabled:X.value===0}]),size:"small",onClick:Ce(E,["stop","prevent"])},null,8,["class"])):n("",!0),w.value[ie.value]?.mappedRoom?.photos?.length?(o(),ne(e(Me),{key:1,icon:"pi pi-chevron-right",class:K(["radius_sm p-button-rounded chevron right",{disabled:X.value===w.value[ie.value]?.mappedRoom?.photos?.length-1}]),size:"small",onClick:le[3]||(le[3]=Ce(Ie=>pe(w.value[ie.value]?.mappedRoom?.photos?.length),["stop","prevent"]))},null,8,["class"])):n("",!0)])]),default:ve(()=>[le[7]||(le[7]=O(" > "))]),_:1},8,["value","active-index"])])):(o(),s("div",An,[t("span",{class:"bg",style:ke({backgroundImage:`url(${L.value})`,display:"flex",justifyContent:"center",alignItems:"center",backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",borderRadius:"1rem",he
12ight:"100%",width:"100%"})},[!L.value||L.value.includes("noRoomBlur")?(o(),s("span",On,[t("span",Bn,[le[8]||(le[8]=t("i",{class:"mr-2 pi pi-image"},null,-1)),O(" "+a(e(be)("GroupRoomCardRooms.roomCard.noImageAvailable")),1)])])):n("",!0)],4)])),t("div",Fn,[t("div",Hn,[w.value.length?(o(),s(V,{key:0},[t("div",Ln,[(o(!0),s(V,null,ce(w.value,(se,Ie)=>(o(),s("span",{key:se.mappedRoom.rateId,class:K(["radius_md",{active:ie.value===Ie}]),onClick:()=>F(Ie)},[t("p",qn,a(e(It)([se.name],se.mappedRoom.name,!0)),1)],10,Gn))),128))]),t("div",En,[t("div",Nn,[w.value[ie.value]?.mappedRoom.size?(o(),s("span",jn,[le[9]||(le[9]=t("i",{class:"pi pi-building text-500"},null,-1)),O(" "+a(w.value[ie.value].mappedRoom?.size)+" m",1),le[10]||(le[10]=t("sup",null,"2",-1))])):n("",!0),w.value[ie.value]?.mappedRoom.adults?(o(),s("span",zn,[le[11]||(le[11]=t("i",{class:"pi pi-users text-500"},null,-1)),O(" "+a(e(be)("roomCard.sleepsCount",{count:w.value[ie.value].mappedRoom.adults})),1)])):n("",!0)])])],64)):n("",!0),(c.isHighlighted||e(ye).project.settings?.highlightHotelsPerks)&&e(ye).project.settings?.showPerksPills&&(e(T)?.length??0)>0&&e(yt)(e(T),{sourceRoom:!0}).length>0?(o(),s("div",Un,[g(Sn,{"max-visible-pills":10,title:"Your benefits",perks:e(yt)(e(T),{sourceRoom:!0})},null,8,["perks"])])):n("",!0)]),w.value.length?(o(),ne(e(Et),{key:0,align:"center",class:"my-4"})):n("",!0),t("div",Vn,[(o(!0),s(V,null,ce(B.value.slice(0,A.value||4),(se,Ie)=>(o(),s(V,{key:se.key},[se.multiSource?(o(),ne(Si,{key:0,sources:se.indices.map(Ue=>c.groupedRooms?.[Ue]),currencySymbol:c.currencySymbol||"$",index:Ie,loadingState:U.value[Ie],"show-all-rooms":fe.value,onPrebookRate:x,numberRooms:e(I)||1,checkin:c.checkin,checkout:c.checkout},null,8,["sources","currencySymbol","index","loadingState","show-all-rooms","numberRooms","checkin","checkout"])):(o(),ne(ii,{key:1,currencySymbol:c.currencySymbol||"$",index:Ie,rates:e(T)[se.indices[0]],loadingState:U.value[Ie],"show-all-rooms":fe.value,offerId:Q.value[se.indices[0]]||"",onPrebookRate:x,retailRate:e(h)?.[se.indices[0]],suggestedRate:e(C)?.[se.indices[0]],numberRooms:e(I)||1,checkin:c.checkin,checkout:c.checkout,occupancies:c.occupancies,isGuestUser:d.value,hasMarkup:r.value,guestPrice:D.value[se.indices[0]],memberPrice:p.value[se.indices[0]],memberSavings:M.value[se.indices[0]],supplier:c.groupedRooms?.[0]?.supplier||"",supplierId:c.groupedRooms?.[0]?.supplierId||0,perks:e(yt)(e(T),{sourceRates:!0}),loyaltyPoints:S.value[se.indices[0]]?.points??null,loyaltyEstimatedFiat:S.value[se.indices[0]]?.estimatedFiat??null,googleRatePlanId:c.googleRatePlanId,googleMatchRateId:c.googleMatchRateId},null,8,["currencySymbol","index","rates","loadingState","show-all-rooms","offerId","retailRate","suggestedRate","numberRooms","checkin","checkout","occupancies","isGuestUser","hasMarkup","guestPrice","memberPrice","memberSavings","supplier","supplierId","perks","loyaltyPoints","loyaltyEstimatedFiat","googleRatePlanId","googleMatchRateId"]))],64))),128)),B.value.length>4?(o(),s("div",Jn,[g(e(Me),{style:{"padding-top":"0.5rem","font-size":"0.9rem"},class:"w-full underline border-none btn-outline radius_sm",outlined:"",severity:"secondary",onClick:Ce(_e,["prevent"])},{default:ve(()=>[O(a(fe.value?e(be)("GroupRoomCardRooms.roomCard.showLess"):`${e(be)("GroupRoomCardRooms.roomCard.showAll")} ${B.value.length} ${e(be)("GroupRoomCardRooms.roomCard.rates")}`),1)]),_:1})])):n("",!0)]),w.value[ie.value]?.mappedRoom.room_amenities.length?(o(),ne(e(Et),{key:1,align:"center",class:"my-4"})):n("",!0),w.value[ie.value]?.mappedRoom.room_amenities.length?(o(),s("div",Qn,[g(Ya,{view:"mobile",amenities:w.value[ie.value].mappedRoom?.room_amenities},null,8,["amenities"])])):n("",!0),w.value[ie.value]?.mappedRoom.description?(o(),ne(e(Et),{key:3,align:"center",class:"my-4"})):n("",!0),w.value[ie.value]?.mappedRoom.description?(o(),s("div",Wn,[t("h3",Kn,a(e(be)("hotelDetail.sections.description.label")),1),t("div",{class:K(["description-text",{short:R.value}]),innerHTML:w.value[ie.value]?.mappedRoom.description},null,10,Yn),t("span",{onClick:ae},a(R.value?e(be)("GroupRoomCardRooms.roomCard.showLess"):e(be)("GroupRoomCardRooms.roomCard.showAll")),1)])):n("",!0)])])]),_:2},[e(De)?{name:"header",fn:ve(()=>[t("div",Pn,[t("h2",Dn,a(e(be)("GroupRoomCardRooms.roomCard.roomDetails")),1),t("button",{class:"rates-dialog-header__close","aria-label":"Close",onClick:le[2]||(le[2]=se=>J.value=!1)},le[6]||(le[6]=[t("i",{class:"pi pi-chevron-down"},null,-1)]))])]),key:"0"}:void 0]),1040,["visible","header","closable","style"]),g(e(Ze),{visible:me.value,"onUpdate:visible":le[5]||(le[5]=se=>me.value=se),modal:"",dismissableMask:!1,position:"bottom",style:{width:"80% !important",height:"fit-content","box-shadow":"none",margin:"auto"},pt:{root:"border-none",mask:{style:"backdrop-filter: blur(2px)"}},class:"error-dialog"},{container:ve(({})=>[t("div",Xn,[t("div",Zn,[g(Ms,{title:e(be)("GroupRoomCardRooms.roomCard.error.title"),message:e(be)("GroupRoomCardRooms.roomCard.error.message"),needButton:!1,hideImage:!0,errorType:"Booking"},null,8,["title","message"]),g(e(Me),{label:e(be)("GroupRoomCardRooms.roomCard.backToExploring"),class:"btn-outline radius_sm",outlined:"",severity:"secondary",onClick:Te,style:{"margin-bottom":"1rem"}},null,8,["label"])])])]),_:1},8,["visible"]),me.value?n("",!0):(o(),s("div",{key:0,class:"room-overlay radius_md",ref_key:"roomCard",ref:f},[t("div",{class:"card",id:`card-content-${te.value}`},[t("div",tr,[g(Rn,{rooms:e(H)?.[0],onHandleShowOverlay:re,"handle-get-mapped-room":c.handleGetMappedRoom,"background-image-url":L.value,refSection:f.value,labelDiv:"roomCard",groupedRooms:c.groupedRooms||[],numberRooms:e(I)||1,nights:e(_),isGuestUser:d.value,hasMarkup:r.value,supplier:c.groupedRooms?.[0]?.supplier||"",supplierId:c.groupedRooms?.[0]?.supplierId||0,googleRatePlanId:c.googleRatePlanId,checkin:c.checkin,checkout:c.checkout},null,8,["rooms","handle-get-mapped-room","background-image-url","refSection","groupedRooms","numberRooms","nights","isGuestUser","hasMarkup","supplier","supplierId","googleRatePlanId","checkin","checkout"])])],8,er)],512))],64))}}),ar=He(sr,[["__scopeId","data-v-c95d2047"],["__file","Rates.vue"]]),lr={key:0,class:"popupPolicies"},ir={key:0,style:{"font-size":"1.2rem","margin-bottom":"2rem"}},nr={class:"policiesList"},rr={key:0,class:"icon-text-lines"},cr={key:1},ur={key:2,style:{display:"flex","flex-direction":"column"}},dr={key:3,class:"icon-text-lines"},mr={style:{"margin-top":"1rem"}},vr=["data-rate-plan-id","data-google-match"],pr=["content"],hr=["content"],gr=["content"],fr=["content"],yr=["itemtype"],kr=["content"],_r=["content"],br=["itemtype"],Rr=["content"],wr=["content"],$r=["content"],Cr=["content"],Sr={class:"optionPart op1"},Ir={key:0,class:"icon-text-lines"},Pr={class:"text-300"},Dr={key:1,class:"icon-text-lines"},Mr={key:2},xr={key:0,style:{display:"flex","flex-direction":"column"}},Tr=["innerHTML"],Ar={key:1,class:"icon-text-lines"},Or={key:0,class:"optionPart op2"},Br={key:0,class:"noMarkup"},Fr={key:0,class:"line-through suggestedPrice"},Hr={key:1,class:"flex justify-content-start align-items-baseline"},Lr={class:"no-underline"},Gr={key:1,class:"withMarkup"},qr={key:0,class:"badge"},Er={class:"flex align-items-center"},Nr={key:0,class:"flex align-items-baseline px-1"},jr={class:"px-1 py-0"},zr={key:2,class:"withMarkup isGuest"},Ur={key:0,class:"badge guest"},Vr={key:0,class:"flex align-items-end"},Jr={class:"px-1"},Qr={key:1,class:"line-through guestPrice flex"},Wr={class:"flex flex-column align-content-center gap-1"},Kr={key:0,class:"rate-price-breakdown w-full"},Yr={class:"rate-price-row"},Xr={class:"rate-price-row__label"},Zr={class:"rate-price-row__amount"},ec={class:"rate-price-row"},tc={class:"rate-price-row__label"},oc={class:"rate-price-row__amount"},sc={class:"rate-price-row__label"},ac={class:"rate-price-row__amount"},lc={class:"fees-description"},ic={key:2,class:"google-stay-total"},nc={key:3,class:"rate-card__loyalty"},rc={key:1,class:"optionPart op2"},cc={class:"font-semibold text-xl text-gray-900"},uc={class:"optionPart op3"},dc={key:1,class:"perks-container"},mc={class:"perks-list"},vc=Le({__name:"GroupRoomCardRates",props:{rates:{},retailRate:{},suggestedRate:{},currencySymbol:{},showAllRooms:{},index:{},loadingState:{},offerId:{},numberRooms:{},occupancies:{},checkin:{},checkout:{},isGuestUser:{type:Boolean},hasMarkup:{type:Boolean},memberPrice:{},guestPrice:{},memberSavings:{},supplier:{},supplierId:{},perks:{},loyaltyPoints:{},loyaltyEstimatedFiat:{},googleRatePlanId:{},googleMatchRateId:{}},emits:["prebookRate"],setup(c,{emit:y}){const{t:l}=Fe(),{isQueryMode:i}
12=Do(),d=c,p=y,M=u(b.shouldUseBaseRateNightPrice||!1),D=b.showTotalAndNightlyPrice,f=u(ye.project.settings||{}),_=$(()=>fs({retailRate:d.retailRate,hasMarkup:d.hasMarkup,isGuestUser:d.isGuestUser,memberPrice:d.memberPrice,guestPrice:d.guestPrice})),r=$(()=>ys({isQueryMode:i.value,bookingTotal:_.value,loyaltyPoints:d.loyaltyPoints,hideRatesLoyaltyPointsBadge:f.value.hideRatesLoyaltyPointsBadge})),H=u(ye.loyalty?.program||null),h=u(!1),C=u(null),Q=$(()=>f.value?.useLoyaltyAppearance===!0),I=$(()=>Q.value&&H.value?.appearance?.bgColor?{backgroundColor:H.value.appearance.bgColor,backgroundImage:"none"}:{}),w=$(()=>Q.value&&H.value?.appearance?.textColor?H.value.appearance.textColor:"#fff"),L=$(()=>_o(d.supplier,d.supplierId)),S=d.rates[0],T=S.retailRate&&S.retailRate.taxesAndFees||[],B=S.commission||[],z=de.fromISO(d.checkout).diff(de.fromISO(d.checkin),"days").days,oe=bo(T),ie=$(()=>d.retailRate?Ro(d.retailRate.amount,T):0),X=$(()=>f.value.showSimplifiedPriceDisplay===!0),G=$(()=>X.value&&oe>0&&!ut&&!f.value.hidePrices&&(D||M.value)&&!!d.retailRate),Z=$(()=>wo(z,d.numberRooms,oe,S,L,l,ut)),q=$(()=>{if(d.retailRate&&d.suggestedRate&&d.retailRate?.amount<d.suggestedRate?.amount){const U=Math.round(100-100*d.retailRate.amount/d.suggestedRate.amount);return U<$o?0:U}else return 0}),J=$(()=>q.value>=30),te=Fs({mainRate:S,perks:d.perks}),fe=$(()=>({background:J.value?"#FF1F54":"#15A233"})),R=$(()=>J.value?l("roomCard.discount.bigDiscount",{discount:q.value}):l("roomCard.discount.smallDiscount",{discount:q.value})),A=U=>{const x=U.split("Free cancellation before")[1];return`${l("roomCard.freeCancellationBefore")} <span class="capitalize">${ks(x,b.language,{weekday:"short",day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"numeric"})}</span>`},P=$(()=>!!d.googleRatePlanId),he=$(()=>`${S.mappedRoomId}-${S.boardType}-${S.cancellationPolicies?.refundableTag}`),me=$(()=>P.value&&S.rateId===d.googleMatchRateId),_e=$(()=>Jt(d.retailRate,T)),ae=$(()=>_e.value?l("roomCard.googleStayTotal",{amount:Co(_e.value.total,_e.value.currency),count:z,unit:z>1?l("occupancy.nights"):l("occupancy.night")}):"");return(U,x)=>{const Te=dt("font-awesome-icon");return o(),s(V,null,[g(e(Ze),{visible:h.value,"onUpdate:visible":x[1]||(x[1]=F=>h.value=F),dismissableMask:h.value,modal:"",position:e(b).isMobile?"bottom":"center",style:ke({borderRadius:e(b).isMobile?"4px":"16px",overflow:"hidden",width:e(b).isMobile?"98%":"40%",height:"fit-content","box-shadow":"none",margin:e(b).isMobile?"0":"auto"}),pt:{mask:{style:"backdrop-filter: blur(2px)"},root:"border-radius: 16px"},draggable:!1},{header:ve(()=>x[3]||(x[3]=[t("div",{style:{display:"flex","justify-content":"end",padding:"0"}},null,-1)])),default:ve(()=>[f.value.hidePrices!==!0?(o(),s("div",lr,[C.value?(o(),s("h2",ir,a(e(zt)(C.value,e(l)))+" ⢠"+a(e(Ft)(C.value,e(l))),1)):n("",!0),t("div",nr,[C.value?.boardType==="RO"?(o(),s("span",rr,[x[4]||(x[4]=t("i",{class:"pi pi-times",style:{"font-size":"0.8rem",color:"var(--theme-error-600)",padding:"0.18rem 0"}},null,-1)),O(" "+a(e(l)("roomCard.breakfast.noMeals")),1)])):(o(),s("span",cr,[x[5]||(x[5]=t("i",{class:"pi pi-check",style:{"font-size":"0.8rem",color:"var(--theme-success-600)",padding:"0.18rem 0"}},null,-1)),O(a(e(Zo)(C.value||{},e(l))),1)])),C.value?.cancellationPolicies.refundableTag==="RFN"&&!f.value.hidePrices?(o(),s("span",ur,[(o(!0),s(V,null,ce(C.value?.formattedCancellationPolicies?.policies,(F,re)=>(o(),s("span",{key:F.message,class:K({"full-refundable":F.highlight,hidden:re>0&&!h.value})},[x[6]||(x[6]=t("i",{class:"pi pi-check",style:{"font-size":"0.8rem",color:"var(--theme-success-600)",padding:"0.3rem 0"}},null,-1)),O(a(F.message),1)],2))),128))])):(o(),s("span",dr,[x[7]||(x[7]=t("i",{class:"pi pi-times",style:{"font-size":"0.8rem",color:"var(--theme-error-600)",height:"12px"}},null,-1)),O(a(e(l)("roomCard.NRFN")),1)])),t("span",mr,[x[8]||(x[8]=t("b",{style:{"font-size":"large"}},"*",-1)),O(" "+a(e(l)("roomCard.timeMentioned",{timeFormat:C.value?.formattedCancellationPolicies?.timezone||"GMT"})),1)])]),g(e(Me),{label:e(l)("roomCard.close"),class:"btn-outline radius_sm",outlined:"",severity:"secondary",onClick:x[0]||(x[0]=F=>h.value=!1),style:{"margin-top":"1rem","align-self":"flex-end",width:"fit-content"}},null,8,["label"])])):n("",!0)]),_:1},8,["visible","dismissableMask","position","style"]),t("div",Wt({class:["rate-card",{"with-perks":e(te)&&e(te).length>0,"google-match":me.value}],style:e(te)&&e(te).length>0?I.value:{},"data-rate-plan-id":P.value?he.value:void 0,"data-google-match":me.value?"1":void 0},e(Mo)(P.value,e(We).offer,"offers")),[P.value?(o(),s(V,{key:0},[t("meta",{itemprop:"identifier",content:he.value},null,8,pr),t("meta",{itemprop:"checkinTime",content:`${U.checkin}${e(Ls)}`},null,8,hr),t("meta",{itemprop:"checkoutTime",content:`${U.checkout}${e(Gs)}`},null,8,gr),t("meta",{itemprop:"availability",content:_e.value?e(We).inStock:e(We).soldOut},null,8,fr),_e.value?(o(),s("span",{key:0,hidden:"",itemprop:"priceSpecification",itemscope:"",itemtype:e(We).compoundPrice},[t("meta",{itemprop:"price",content:String(_e.value.total)},null,8,kr),t("meta",{itemprop:"priceCurrency",content:_e.value.currency},null,8,_r),_e.value.tax>0?(o(),s("span",{key:0,itemprop:"priceComponent",itemscope:"",itemtype:e(We).unitPrice},[t("meta",{itemprop:"name",content:e(Vt)},null,8,Rr),t("meta",{itemprop:"priceComponentType",content:e(Vt)},null,8,wr),t("meta",{itemprop:"price",content:String(_e.value.tax)},null,8,$r),t("meta",{itemprop:"priceCurrency",content:_e.value.currency},null,8,Cr)],8,br)):n("",!0)],8,yr)):n("",!0)],64)):n("",!0),t("div",{class:K(["option radius_md",{hidden:U.index>3&&!U.showAllRooms}])},[t("div",Sr,[t("p",null,[t("b",null,a(e(zt)(e(S),e(l))),1)]),t("div",null,[e(S)?.beds?(o(),s("span",Ir,[g(Te,{icon:"bed"}),t("div",null,[O(a(e(S)?.beds?.[0]||""),1),x[9]||(x[9]=t("br",null,null,-1)),t("small",Pr,a(e(l)("roomCard.bedsNotGuaranteed")),1)])])):n("",!0),e(S).boardType==="RO"?(o(),s("span",Dr,[x[10]||(x[10]=t("i",{class:"pi pi-info-circle"},null,-1)),O(" "+a(e(l)("roomCard.breakfast.noMeals")),1)])):(o(),s("span",Mr,[x[11]||(x[11]=t("i",{class:"pi pi-check",style:{"font-size":"0.8rem",color:"var(--theme-success-600)",padding:"0.18rem 0"}},null,-1)),O(" "+a(e(Zo)(e(S),e(l))),1)])),f.value.hidePrices!==!0?(o(),s(V,{key:3},[e(S).cancellationPolicies.refundableTag==="RFN"?(o(),s("span",xr,[(o(!0),s(V,null,ce(e(S)?.formattedCancellationPolicies?.policies,(F,re)=>
12(o(),s("span",{key:F.message,class:K([{"full-refundable":F.highlight,hidden:re>0},"icon-text-lines"])},[x[12]||(x[12]=t("i",{class:"pi pi-check",style:{"font-size":"0.8rem",color:"var(--theme-success-600)",height:"12px"}},null,-1)),t("div",{innerHTML:A(F.message)},null,8,Tr)],2))),128))])):(o(),s("span",Ar,[x[13]||(x[13]=t("i",{class:"pi pi-info-circle",style:{"font-size":"0.8rem",height:"12px"}},null,-1)),O(a(e(l)("roomCard.NRFN")),1)])),(o(!0),s(V,null,ce(e(xs)(e(S)),F=>(o(),s("span",{key:F,class:"icon-text-lines rate-promotion"},[g(Te,{icon:"tag"}),t("div",null,a(F),1)]))),128))],64)):n("",!0)])]),f.value.hidePrices!==!0?(o(),s("div",Or,[U.hasMarkup?n("",!0):(o(),s("div",Br,[q.value?(o(),s("div",{key:0,class:"discount",style:ke(fe.value)},[g(we,{class:"BadgeInstance",name:"badge-instance",color:fe.value.background},null,8,["color"]),t("p",null,[g(Te,{icon:"tag"}),O(" "+a(R.value),1)])],4)):n("",!0),t("h2",{class:K(["",{"price-nightly-secondary":e(D)}])},[q.value&&U.suggestedRate?.amount?(o(),s("div",Fr,a(e(Pe)(U.suggestedRate.amount,e(z),e(T),e(B),e(b).currency,void 0,P.value)),1)):n("",!0),U.retailRate?(o(),s("div",Hr,[O(a(e(Pe)(U.retailRate?.amount,e(z),e(T),e(B),U.retailRate?.currency,void 0,P.value))+" ",1),t("span",Lr,a(e(l)("hotelCard.nightly")),1)])):n("",!0)],2)])),U.hasMarkup&&!U.isGuestUser&&e(b).showLoginButton?(o(),s("div",Gr,[U.memberSavings&&U.retailRate?(o(),s("p",qr,[g(we,{name:"unlock"}),O(" "+a(e(l)("roomCard.signInAndSave"))+" "+a(e(Pe)(U.retailRate?.amount,e(z),e(T),e(B),e(b).currency,U.memberPrice,P.value)),1)])):n("",!0),U.memberPrice?(o(),s("h2",{key:1,class:K(["flex align-items-end",{"price-nightly-secondary":e(D)}])},[O(a(e(Pe)(U.memberPrice,e(z),e(T),e(B),e(b).currency,void 0,P.value))+" ",1),t("span",null,a(e(l)("hotelCard.nightly")),1)],2)):n("",!0),t("p",Er,[O(a(e(l)("roomCard.publicPrice"))+" ",1),U.guestPrice?(o(),s("strong",Nr,[O(a(e(Pe)(U.guestPrice,e(z),e(T),e(B),e(b).currency,void 0,P.value))+" ",1),t("span",jr,a(e(l)("hotelCard.nightly")),1)])):n("",!0)])])):n("",!0),U.hasMarkup&&U.isGuestUser?(o(),s("div",zr,[U.memberSavings?(o(),s("p",Ur,[g(we,{name:"price-tag"}),O(" "+a(e(l)("roomCard.membersPrice"))+" "+a(e(Pe)(U.memberSavings,e(z),e(T),e(B),e(b).currency,void 0,P.value))+" "+a(e(l)("roomCard.off")),1)])):n("",!0),t("h2",{class:K({"price-nightly-secondary":e(D)})},[U.memberPrice?(o(),s("div",Vr,[O(a(e(Pe)(U.memberPrice,e(z),e(T),e(B),e(b).currency,void 0,P.value))+" ",1),t("span",Jr,a(e(l)("hotelCard.nightly")),1)])):n("",!0),U.guestPrice?(o(),s("div",Qr,a(e(Pe)(U.guestPrice,e(z),e(T),e(B),e(b).currency,void 0,P.value)),1)):n("",!0)],2)])):n("",!0),t("div",Wr,[G.value?(o(),s("div",Kr,[t("div",Yr,[t("span",Xr,a(e(l)("checkout.roomTotalInclTaxes")),1),t("span",Zr,a(e(ze)(U.retailRate?.amount||0,{currency:U.retailRate?.currency,machineSafe:P.value})),1)]),t("div",ec,[t("span",tc,a(e(l)("checkout.paidAtHotel")),1),t("span",oc,a(e(ze)(e(oe),{currency:U.retailRate?.currency,machineSafe:P.value})),1)]),t("div",{class:K(["rate-price-row rate-price-row--total",{"price-total-primary":e(D)}])},[t("span",sc,a(e(l)("booking.total")),1),t("span",ac,a(e(ze)(ie.value,{currency:U.retailRate?.currency,machineSafe:P.value})),1)],2)])):(o(),s(V,{key:1},[U.retailRate&&(e(D)||M.value)?(o(),s("span",{key:0,class:K(["total-price",{"price-total-primary":e(D)}])},a(e(ze)(U.retailRate?.amount||0,{currency:U.retailRate?.currency,machineSafe:P.value}))+"Â "+a(e(l)("booking.total")),3)):n("",!0)],64)),t("span",lc,a(Z.value),1),P.value&&ae.value?(o(),s("p",ic,a(ae.value),1)):n("",!0)]),r.value?(o(),s("div",nc,[g(jt,{"booking-total":_.value,Points:U.loyaltyPoints,"estimated-fiat":U.loyaltyEstimatedFiat||null},null,8,["booking-total","Points","estimated-fiat"])])):n("",!0)])):(o(),s("div",rc,[t("span",cc,a(e(l)("hotelCard.costCovered")),1)])),t("div",uc,[g(e(Me),{label:e(l)("roomCard.chooseRoom"),class:"btn-filled radius_sm",severity:"primary",loading:U.loadingState&&!0,onClick:x[2]||(x[2]=F=>p("prebookRate",U.offerId,U.index,U.rates)),"data-testid":"hotel-choose-room-button"},null,8,["label","loading"])])],2),e(te)&&e(te).length>0?(o(),s("div",dc,[t("h2",{style:ke({color:w.value})},"Additional Perks:",4),t("div",mc,[(o(!0),s(V,null,ce(e(te),F=>
12(o(),s("div",{class:"perk-item",key:F.perkId},[g(Te,{icon:F.icon,style:ke({color:w.value})},null,8,["icon","style"]),t("span",{style:ke({color:w.value})},a(F.name),5)]))),128))])])):n("",!0)],16,vr)],64)}}}),pc=He(vc,[["__scopeId","data-v-e70d5b98"],["__file","GroupRoomCardRates.vue"]]),hc={class:"sources-card__info"},gc={class:"sources-card__title"},fc={class:"sources-card__policies"},yc={class:"icon-text-lines"},kc={class:"icon-text-lines"},_c={class:"sources-card__rows"},bc=["onClick"],Rc={class:"source-row__label"},wc=["data-source"],$c={class:"source-row__label-text"},Cc={key:0,class:"source-row__channel"},Sc={class:"flex align-items-center gap-4 justify-content-center"},Ic={class:"source-row__price-block"},Pc={class:"source-row__price"},Dc={key:0,class:"source-row__suggested"},Mc={class:"source-row__amount"},xc={class:"source-row__unit"},Tc={class:"source-row__fees"},Ac=Le({__name:"GroupRoomCardRatesSources",props:{sources:{},currencySymbol:{},showAllRooms:{type:Boolean},index:{},loadingState:{type:Boolean},numberRooms:{},checkin:{},checkout:{}},emits:["prebookRate"],setup(c,{emit:y}){const l=c,i=y,{t:d}=Fe(),{mainRate:p,nightsDescription:M,getSourceChannel:D,rowPrice:f,rowSuggestedPrice:_,rowHasDiscount:r,clickedOfferId:H,chooseSource:h}=Hs(l,d,(C,Q,I)=>i("prebookRate",C,Q,I));return(C,Q)=>(o(),s("div",{class:K(["sources-card radius_md",{hidden:C.index>3&&!C.showAllRooms}])},[t("div",hc,[t("p",gc,a(e(zt)(e(p),e(d)))+" ⢠"+a(e(Ft)(e(p),e(d))),1),t("div",fc,[t("span",yc,[Q[0]||(Q[0]=t("i",{class:"pi pi-times",style:{color:"var(--theme-error-600)"}},null,-1)),O(" "+a(e(p).boardType==="RO"?e(d)("roomCard.breakfast.noMeals"):e(p).boardName),1)]),t("span",kc,[t("i",{class:K(e(p).cancellationPolicies?.refundableTag==="RFN"?"pi pi-check":"pi pi-times"),style:ke({color:e(p).cancellationPolicies?.refundableTag==="RFN"?"var(--theme-success-600)":"var(--theme-error-600)"})},null,6),O(" "+a(e(Ft)(e(p),e(d))),1)])])]),Q[2]||(Q[2]=t("div",{class:"sources-card__divider"},null,-1)),t("div",_c,[(o(!0),s(V,null,ce(C.sources,I=>(o(),s("a",{key:I.offerId,class:K(["source-row",{"source-row--loading":C.loadingState&&I.offerId===e(H)}]),onClick:Ce(w=>!C.loadingState&&e(h)(I),["prevent"])},[t("span",Rc,[t("span",{class:"source-row__icon","data-source":I.source},[g(we,{name:e(Ts)(I.source),width:18,height:18},null,8,["name"])],8,wc),t("span",$c,[t("span",null,a(e(As)(I.source,e(d))),1),e(D)(I)?(o(),s("span",Cc,a(e(D)(I)),1)):n("",!0)])]),t("div",Sc,[t("span",Ic,[t("span",Pc,[e(r)(I)?(o(),s("span",Dc,a(e(_)(I)),1)):n("",!0),t("span",Mc,[O(a(e(f)(I))+" ",1),t("span",xc,a(e(d)("hotelCard.nightly")),1)])]),t("span",Tc,a(e(M)),1)]),Q[1]||(Q[1]=t("i",{class:"pi pi-chevron-right source-row__chevron"},null,-1))])],10,bc))),128))])],2))}}),Oc=He(Ac,[["__scopeId","data-v-06b8af14"],["__file","GroupRoomCardRatesSources.vue"]]),Bc={class:"title"},Fc={key:0,class:"cursor-pointer images-slideshow"},Hc=["onClick"],Lc={class:"no-room-image-text"},Gc={class:"no-room-image-text__content flex justify-content-center align-items-center radius_md"},qc={key:1,class:"images-slideshow"},Ec={key:0,class:"no-room-image-text radius_md"},Nc={class:"no-room-image-text__content flex justify-content-center align-items-center radius_md"},jc={key:2,class:"room-details"},zc={class:"room-details__title"},Uc={class:"room-details__content"},Vc={key:0,class:"room-details__item"},Jc={class:"room-details__size"},Qc={key:1,class:"room-details__item"},Wc={class:"room-details__size"},Kc={key:3,class:"room-details room-Amenities"},Yc={class:"room-details__title"},Xc={class:"room-details__content"},Zc={key:0,class:"room-details__item"},eu={class:"room-details__size"},tu={key:1,class:"room-details__item"},ou={class:"room-details__size"},su={class:"show-link"},au=Le({__name:"GroupRoomCardRooms",props:{rooms:{},backgroundImageUrl:{},handleGetMappedRoom:{type:Function},refSection:{},labelDiv:{},isHighlighted:{type:Boolean},perks:{}},emits:["handleShowOverlay","handleCurrentRoomImageIndex"],setup(c,{emit:y}){const{t:l}=Fe(),i=c,d=u(0),p=u(!1),M=u(0),D=I=>i.handleGetMappedRoom&&i.handleGetMappedRoom(I),f=[];i.rooms?.forEach(I=>{const w=I.mappedRoomId;if(w&&f.length>0&&f.some(L=>L.key===w)){let L=f.findIndex(S=>S.key===w);f[L].count++}else f.push({count:1,id:Math.random(),name:I.name,key:w,mappedRoom:D(I.mappedRoomId),perks:I?.perks||[]})});const _=I=>{if(!I?.mappedRoom?.photos?.length)return[];const w=[...I.mappedRoom.photos],L=w.findIndex(S=>S.mainPhoto===!0);if(L>0){const S=w.splice(L,1)[0];w.unshift(S)}return w},r=y,H=()=>{p.value=!0,r("handleShowOverlay",f)},h=(I,w)=>{const L=f[w];L.mappedRoom.photos[I]&&L.mappedRoom.photos.splice(I,1)},C=()=>{M.value!==0&&(M.value=M.value-1)},Q=I=>{M.value!==I-1&&(M.value=M.value+1)};return $e(()=>f.map(I=>I.mappedRoom?.photos?.length||0),()=>{M.value=0},{immediate:!0}),(I,w)=>{const L=dt("font-awesome-icon");return o(),s(V,null,[(o(),s(V,null,ce(f,(S,T)=>t("div",{class:"group-room-card-rooms",key:S.id},[t("div",Bc,[g(na,{text:`${S.count} x ${e(ye).project.settings?.showCupidRoomName&&S.mappedRoom?.name?S.mappedRoom.name:e(It)([S?.name||""],S.mappedRoom?.name||"",!0)}`,direction:"top",styles:{backgroundColor:"var(--theme-gray-800)",padding:"8px 12px",fontSize:"12px",color:"#fff",borderRadius:"6px"},onClick:w[0]||(w[0]=B=>r("handleShowOverlay",f))},{default:ve(()=>[t("h1",null,a(`${S.count} x ${e(ye).project.settings?.showCupidRoomName&&S.mappedRoom?.name?S.mappedRoom.name:e(It)([S?.name||""],S.mappedRoom?.name||"",!0)}`),1)]),_:2}
12,1032,["text"]),g(ft,{"ref-section":i.refSection,type:"bug",labelDiv:i.labelDiv},null,8,["ref-section","labelDiv"])]),S.mappedRoom&&S.mappedRoom.photos?(o(),s("div",Fc,[S.mappedRoom.photos.length>0?(o(!0),s(V,{key:0},ce(_(S),(B,z)=>(o(),s("div",{key:B.url,class:"image main radius_md",onClick:oe=>{d.value=z,p.value=!0,r("handleShowOverlay",f)},style:ke({display:M.value===z?"block":"none"})},[B?(o(),ne(Pt,{key:0,image:B,onRemove:oe=>h(z,T),classes:"radius_md","mapped-room-id":S.key,lazy:!0},null,8,["image","onRemove","mapped-room-id"])):n("",!0)],12,Hc))),128)):(o(),s("span",{key:1,class:"bg",style:ke({backgroundImage:`url(${I.backgroundImageUrl})`,display:"flex",justifyContent:"center",alignItems:"center",backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",borderRadius:"1rem",height:"100%",width:"100%"})},[t("span",Lc,[t("span",Gc,[w[2]||(w[2]=t("i",{class:"mr-2 pi pi-image"},null,-1)),O(" "+a(e(l)("GroupRoomCardRooms.roomCard.noImageAvailable")),1)])])],4)),S.mappedRoom.photos.length?(o(),s("a",{key:2,class:"show-more",onClick:H},[O(a(M.value+1)+" / "+a(S.mappedRoom.photos.length)+" ",1),g(L,{icon:"camera"})])):n("",!0),S.mappedRoom.photos.length?(o(),ne(e(Me),{key:3,icon:"pi pi-chevron-left",class:K(["radius_sm p-button-rounded chevron left",{disabled:M.value===0}]),size:"small",onClick:Ce(C,["prevent"])},null,8,["class"])):n("",!0),S.mappedRoom.photos.length?(o(),ne(e(Me),{key:4,icon:"pi pi-chevron-right",class:K(["radius_sm p-button-rounded chevron right",{disabled:M.value===S.mappedRoom.photos.length-1}]),size:"small",onClick:Ce(B=>Q(S.mappedRoom.photos.length),["prevent"])},null,8,["class","onClick"])):n("",!0)])):(o(),s("div",qc,[t("span",{class:"bg radius_md",style:ke({backgroundImage:`url(${I.backgroundImageUrl})`,display:"flex",justifyContent:"center",alignItems:"center",backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat",borderRadius:"1rem",height:"100%",width:"100%"})},[!I.backgroundImageUrl||I.backgroundImageUrl.includes("noRoomBlur")?(o(),s("span",Ec,[t("span",Nc,[w[3]||(w[3]=t("i",{class:"mr-2 pi pi-image"},null,-1)),O(" "+a(e(l)("GroupRoomCardRooms.roomCard.noImageAvailable")),1)])])):n("",!0)],4)])),f&&f.length&&f[0]?.mappedRoom&&(f[0]?.mappedRoom?.size||f[0]?.mappedRoom?.unit||f[0]?.mappedRoom?.occupancy)?(o(),s("div",jc,[t("h3",zc,a(e(l)("GroupRoomCardRooms.roomCard.roomDetails")),1),t("div",Uc,[f?.[0]?.mappedRoom?.size&&f?.[0]?.mappedRoom?.unit?(o(),s("div",Vc,[g(we,{name:"room-size-icon"}),t("span",Jc,a(f?.[0]?.mappedRoom?.size+" "+f?.[0]?.mappedRoom?.unit),1)])):n("",!0),f?.[0]?.mappedRoom?.occupancy?(o(),s("div",Qc,[w[4]||(w[4]=t("i",{class:"ml-3 pi pi-users text-500"},null,-1)),t("span",Wc,a(e(l)("roomCard.sleepsCount",{count:f[0]?.mappedRoom?.occupancy})),1)])):n("",!0)])])):n("",!0),f&&f.length&&f[0]?.mappedRoom&&f[0]?.mappedRoom?.room_amenities&&f[0]?.mappedRoom?.room_amenities?.length>0?(o(),s("div",Kc,[t("h3",Yc,a(e(l)("GroupRoomCardRooms.roomCard.amenities")),1),t("div",Xc,[f?.[0]?.mappedRoom?.room_amenities?.[0]?(o(),s("div",Zc,[g(L,{icon:e(Ut)(f?.[0].mappedRoom?.room_amenities?.[0]?.id)},null,8,["icon"]),t("span",eu,a(f?.[0].mappedRoom?.room_amenities?.[0]?.name),1)])):n("",!0),f?.[0].mappedRoom?.room_amenities?.[1]?(o(),s("div",tu,[g(L,{icon:e(Ut)(f?.[0].mappedRoom?.room_amenities?.[1]?.id)},null,8,["icon"]),t("span",ou,a(f?.[0].mappedRoom?.room_amenities?.[1]?.name),1)])):n("",!0)])])):n("",!0),t("div",su,[S.mappedRoom?(o(),s("a",{key:0,onClick:w[1]||(w[1]=B=>r("handleShowOverlay",f))},a(e(l)("GroupRoomCardRooms.roomCard.viewDetails")),1)):n("",!0)])])),64)),e(ye).project.settings?.showPerksPills&&(I.isHighlighted||e(ye).project.settings?.highlightHotelsPerks)&&i?.perks&&i?.perks.length>0?(o(),ne(tl,{key:0,perks:i?.perks,title:e(l)("checkout.benefitsIncluded")},null,8,["perks","title"])):n("",!0)],64)}}}),lu=He(au,[["__scopeId","data-v-04df0540"],["__file","GroupRoomCardRooms.vue"]]),iu={class:"p-2 room-overlay h-fit radius_md"},nu={class:"top-content",style:{display:"flex","flex-direction":"column","align-items":"center"}}
12,ru=["content"],cu=["id"],uu={class:"left-content"},du={class:"roomsOptions"},mu={key:0,class:"show-all-rooms-button"},vu=Le({__name:"GroupRoomCard",props:{groupedRooms:Object,mappedRooms:Object,currencySymbol:String,checkin:String,checkout:String,rooms:Number,adults:Number,children:String,occupancies:String,handleGetMappedRoom:{type:Function,required:!0},trackingId:String,isHighlighted:Boolean,googleRatePlanId:String,googleMatchRateId:String},emits:["click","refresh-rooms"],setup(c,{expose:y,emit:l}){const i=c,d=u(b.isAuthenticated);$e(()=>b.guest,()=>{d.value=b.isAuthenticated}),$e(()=>i.groupedRooms,async Y=>{Y&&Y.length>0&&(await Rs(Y,i.currencySymbol),f.value=Y?.map(N=>({points:N.loyaltyPoints??0,estimatedFiat:N.loyaltyEstimatedFiat??void 0}))||[])},{immediate:!0});const p=u([]),M=u([]),D=u([]),f=u([]),_=u(null),r=u(!1);ye.project.settings&&typeof ye.project.settings.guestMarkup<"u"&&ye.project.settings.guestMarkup>0&&(r.value=!0,p.value=i.groupedRooms?.map(Y=>Y.memberPrice)||[],M.value=i.groupedRooms?.map(Y=>Y.memberSavings)||[],D.value=i.groupedRooms?.map(Y=>Y.guestPrice)||[]);const H=i.groupedRooms?.map(Y=>Y.rates),h=i.groupedRooms?.map(Y=>Y.offerRetailRate),C=i.groupedRooms?.map(Y=>Y.suggestedSellingPrice),Q=u(i.groupedRooms?.map(Y=>Y.offerId)||[]),I=i.groupedRooms?.[0]?.rates.length,w=u([]),L=u(""),S=i.groupedRooms?.map(Y=>Y.rates),T=$(()=>Os(i.groupedRooms,{enabled:ye.project.settings?.enableMultiRateSources===!0,hasMarkup:r.value,googleMatchRateId:i.googleMatchRateId}));function B(Y=[]){const N="/noRoomBlur4.jpeg",ee=new URL(N,import.meta.url).href;if(!Y.length){L.value=ee;return}const be=Y.shift();if(!be){L.value=ee;return}const Ne=new Image;Ne.onload=()=>{L.value=be??ee},Ne.onerror=()=>{B(Y)},Ne.src=be??ee}const z=u(null),oe=u(0),ie=u(0),X=Qt(),G=So(),Z=$(()=>!!i.googleRatePlanId),q=u(!1),J=u(""),te=u(""),fe=u(Math.random().toString(36).substring(7)),R=u(!1),A=u(4),P=u(""),he=l,me=u(!1),_e=()=>{if(R.value){R.value=!1,A.value=4;return}R.value=!0,A.value=T.value.length||4},ae=()=>{let Y=window.innerHeight-140,N=window.innerWidth-100;Y>600?Y=600:(N<500||Y<400)&&(Y=window.innerHeight),N>1e3?N=1e3:N<900&&(N=window.innerWidth),b.isMobile||(te.value=`${Y}px`,J.value=`${N}px`)},U=u(Array(T.value.length).fill(!1)),x=async(Y,N,ee)=>{U.value[N]=!0,me.value=!1;const be=i.groupedRooms?.find(De=>De.offerId===Y),Ne=await _s({room:be,offerId:Y,rates:ee});bs({offerId:Y,checkin:i.checkin||X.query.checkin,checkout:i.checkout||X.query.checkout,occupancies:st(i.occupancies),rooms:i.rooms||X.query.rooms,adults:i.adults||X.query.adults,children:i.children||X.query.children,trackingId:i.trackingId,mappedRates:ee.map(De=>({rateId:De.rateId,mappedRoomId:De.mappedRoomId,paymentTypes:De.paymentTypes,beds:De.beds})),guestId:b.guest?.id??void 0,currency:b.currency,cancellationPolicies:ee.length?ee[0].cancellationPolicies:null,source:X.query.source||"direct",loyaltyPoints:Ne}).then(De=>{const{prebookRate:xe}=De;at("prebook_confirmed",{prebookId:xe.prebookId,hotelId:X.params.id,checkin:i.checkin||X.query.checkin,checkout:i.checkout||X.query.checkout,adults:i.adults??X.query.adults,rooms:i.rooms??X.query.rooms}),G.push({path:"/booking",query:{prebookId:xe.prebookId,checkin:i.checkin||X.query.checkin,checkout:i.checkout||X.query.checkout,rooms:i.rooms||X.query.rooms,adults:i.adults||X.query.adults,children:i.children||X.query.children,hotelId:X.params.id,placeId:X.query.placeId,occupancies:i.occupancies,trackingId:i.trackingId,source:X.query.source||"direct",...X.query.ratePlanId?{ratePlanId:X.query.ratePlanId}:{},...be?.source?{rateSource:be.source}:{}}})}).catch(De=>{at("prebook_failed",{offerId:Y,hotelId:X.params.id,error:De.response?.data?.message||De.response?.data?.error||De.message}),U.value[N]=!1,P.value=De.response?.data?.error||De.message,me.value=!0,console.error(De)})},Te=()=>{he("refresh-rooms"),q.value=!1,me.value=!1};y({$el:z,room:i.groupedRooms,rate:S});const F=Y=>{if(!Y?.length)return;const N=Y.filter(ee=>ee.mappedRoom);N.length&&(w.value=N,oe.value=0,q.value=!0)};Cs(()=>{window.removeEventListener("resize",ae)}),_t(()=>{window.addEventListener("resize",ae),ae(),B(i.mappedRooms?.[0]&&i.mappedRooms?.[0]?.photos&&i.mappedRooms?.[0]?.photos.length?i.mappedRooms?.[0]?.photos.map(Y=>ho(Y)).filter(Y=>Y!=null):[]),f.value=i.groupedRooms?.map(Y=>({points:Y.loyaltyPoints??0,estimatedFiat:Y.loyaltyEstimatedFiat??void 0}))||[]});const{t:re}=Fe();return(Y,N)=>(o(),s(V,null,[g(e(Ze),{visible:me.value,"onUpdate:visible":N[0]||(N[0]=ee=>me.value=ee),modal:"",dismissableMask:me.value,position:e(b).isMobile?"bottom":"center",style:ke({width:J.value,height:"auto","box-shadow":"none",margin:e(b).isMobile?"0":"auto"}),pt:{root:"border-none",mask:{style:"backdrop-filter: blur(2px)"}},class:"error-dialog"},{container:ve(({})=>[t("div",iu,[t("div",nu,[g(Ms,{title:e(re)("GroupRoomCardRooms.roomCard.error.title"),message:e(re)("GroupRoomCardRooms.roomCard.error.message"),needButton:!1,hideImage:!0,errorType:"Booking"},null,8,["title","message"]),g(e(Me),{label:e(re)("GroupRoomCardRooms.roomCard.backToExploring"),class:"btn-outline radius_sm",outlined:"",severity:"secondary",onClick:Te,style:{"margin-top":"-2rem","margin-bottom":"1rem"}},null,8,["label"])])])]),_:1},8,["visible","dismissableMask","position","style"]),me.value?n("",!0):(o(),s("div",Wt({key:0,class:"room-overlay radius_md",ref_key:"roomCard",ref:_},e(Mo)(Z.value,e(We).room,"containsPlace")),[Z.value&&c.groupedRooms?.[0]?.mappedRoomId?(o(),s("meta",{key:0,itemprop:"identifier",content:String(c.groupedRooms[0].mappedRoomId)},null,8,ru)):n("",!0),t("div",{class:"card",id:`card-content-${fe.value}`},[t("div",uu,[g(lu,{rooms:e(H)?.[0],onHandleShowOverlay:F,"handle-get-mapped-room":c.handleGetMappedRoom,"background-image-url":L.value,refSection:_.value,labelDiv:"roomCard","is-highlighted":c.isHighlighted,perks:e(yt)(e(S),{sourceRoom:!0})},null,8,["rooms","handle-get-mapped-room","background-image-url","refSection","is-highlighted","perks"])]),t("div",du,[(o(!0),s(V,null,ce(T.value.slice(0,A.value||4),(ee,be)=>(o(),s(V,{key:ee.key},[ee.multiSource?(o(),ne(Oc,{key:0,sources:ee.indices.map(Ne=>c.groupedRooms?.[Ne]),currencySymbol:c.currencySymbol||"$",index:be,loadingState:U.value[be],"show-all-rooms":R.value,onPrebookRate:x,numberRooms:e(I)||1,checkin:c.checkin,checkout:c.checkout},null,8,["sources","currencySymbol","index","loadingState","show-all-rooms","numberRooms","checkin","checkout"])):(o(),ne(pc,{key:1,currencySymbol:c.currencySymbol||"$",index:be,rates:e(S)[ee.
12indices[0]],loadingState:U.value[be],"show-all-rooms":R.value,offerId:Q.value[ee.indices[0]]||"",onPrebookRate:x,retailRate:e(h)?.[ee.indices[0]],suggestedRate:e(C)?.[ee.indices[0]],numberRooms:e(I)||1,checkin:c.checkin,checkout:c.checkout,occupancies:c.occupancies,isGuestUser:d.value,hasMarkup:r.value,guestPrice:D.value[ee.indices[0]],memberPrice:p.value[ee.indices[0]],memberSavings:M.value[ee.indices[0]],supplier:c.groupedRooms?.[0]?.supplier||"",supplierId:c.groupedRooms?.[0]?.supplierId||0,loyaltyPoints:f.value[ee.indices[0]]?.points??null,loyaltyEstimatedFiat:f.value[ee.indices[0]]?.estimatedFiat??null,perks:e(yt)(e(S),{sourceRates:!0}),googleRatePlanId:c.googleRatePlanId,googleMatchRateId:c.googleMatchRateId},null,8,["currencySymbol","index","rates","loadingState","show-all-rooms","offerId","retailRate","suggestedRate","numberRooms","checkin","checkout","occupancies","isGuestUser","hasMarkup","guestPrice","memberPrice","memberSavings","supplier","supplierId","loyaltyPoints","loyaltyEstimatedFiat","perks","googleRatePlanId","googleMatchRateId"]))],64))),128)),T.value.length>4?(o(),s("div",mu,[g(e(Me),{style:{"padding-top":"0.5rem","font-size":"0.9rem"},class:"w-full underline border-none btn-outline radius_sm",outlined:"",severity:"secondary",onClick:Ce(_e,["prevent"])},{default:ve(()=>[O(a(R.value?e(re)("GroupRoomCardRooms.roomCard.showLess"):`${e(re)("GroupRoomCardRooms.roomCard.showAll")} ${T.value.length} ${e(re)("GroupRoomCardRooms.roomCard.rates")}`),1)]),_:1})])):n("",!0)])],8,cu),q.value&&w.value[oe.value]?.mappedRoom?(o(),ne(Xa,{key:ie.value,"show-overlay":q.value,perks:e(yt)(e(S),{sourceRoom:!0}),room:w.value[oe.value]?.mappedRoom,"display-name":e(ye).project.settings?.showCupidRoomName&&w.value[oe.value]?.mappedRoom?.name?w.value[oe.value].mappedRoom.name:e(It)([w.value[oe.value]?.name||""],w.value[oe.value]?.mappedRoom?.name||"",!0),"is-highlighted":c.isHighlighted,onClose:N[1]||(N[1]=ee=>q.value=!1)},null,8,["show-overlay","perks","room","display-name","is-highlighted"])):n("",!0)],16))],64))}}),pu=He(vu,[["__scopeId","data-v-9355367c"],["__file","GroupRoomCard.vue"]]),hu=c=>{if(!c)return null;const y=c.split("-");if(y.length!==3)return null;const[l,i,d]=y;return!l||!i||!d?null:{roomId:l,boardType:i,refundableTag:d}},gu=(c,y)=>{const l=hu(y);if(!l||!c?.length)return null;let i=null,d=1/0;return c.forEach((p,M)=>{p.forEach((D,f)=>{const _=D.rates?.[0];if(!_||String(_.mappedRoomId)!==l.roomId||_.boardType!==l.boardType||_.cancellationPolicies?.refundableTag!==l.refund
12ableTag)return;const r=D.offerRetailRate?.amount??1/0;r<d&&(d=r,i={cardIndex:M,rowIndex:f,rateId:_.rateId})})}),i},fu=(c,y)=>{if(!y)return c;const l=[...c],[i]=l.splice(y.cardIndex,1);if(!i)return c;const d=[...i],[p]=d.splice(y.rowIndex,1);return l.unshift([p,...d]),l},yu=(c,y)=>{const l=$(()=>gu(Qe(c),Qe(y))),i=$(()=>l.value?.rateId),d=$(()=>{const p=Qe(c)||[];return Qe(y)?fu(p,l.value):p});return{match:l,googleMatchRateId:i,displayGroupRooms:d}},ku="https://schema.org/InStock",_u="https://schema.org/SoldOut",ns="GenericTax",bu=(c,y)=>{const l=[];return c>0&&l.push({"@type":"UnitPriceSpecification",name:ns,price:c,priceCurrency:y,priceComponentType:ns}),l},Ru=c=>{const y=$(()=>{if(!Qe(c.googleRatePlanId)||Qe(c.hidePrices))return null;const i=Qe(c.hotelIdentifier),d=Qe(c.groups)||[];if(!i||!d.length)return null;const p=Qe(c.checkin),M=Qe(c.checkout),D=Qe(c.occupancyGuests),f=Qe(c.maxRatesPerCard)??4,_=p?`${p}T15:00:00`:void 0,r=M?`${M}T10:00:00`:void 0,H=[],h=new Map;let C=0;return d.forEach(Q=>{Q.slice(0,f).forEach(I=>{const w=I.rates?.[0];if(!w)return;let L=h.get(w.mappedRoomId);L||(L={"@type":"HotelRoom",identifier:String(w.mappedRoomId),occupancy:{"@type":"QuantitativeValue",value:D},offers:[]},h.set(w.mappedRoomId,L),H.push(L));const S=`${w.mappedRoomId}-${w.boardType}-${w.cancellationPolicies?.refundableTag}`,T=Jt(I.offerRetailRate,w.retailRate?.taxesAndFees||[]),B={"@type":["Offer","LodgingReservation"],identifier:S,..._?{checkinTime:_}:{},...r?{checkoutTime:r}:{}};T?(B.availability=ku,B.priceSpecification={"@type":"CompoundPriceSpecification",price:T.total,priceCurrency:T.currency,priceComponent:bu(T.tax,T.currency)}):(B.availability=_u,B.priceSpecification={}),L.offers.push(B),C+=1})}),C?JSON.stringify({"@context":"https://schema.org","@type":"Hotel",identifier:i,containsPlace:H}):null});return ra(()=>({script:y.value?[{type:"application/ld+json",innerHTML:y.value}]:[]})),typeof document<"u"&&$e(y,l=>{l&&document.querySelectorAll("script[data-ssr-google-jsonld]").forEach(i=>i.remove())},{immediate:!0}),{jsonLd:y}},wu={class:"facilities-container"},$u={key:0,class:"popular-facilities"},Cu={class:"facilities-subtitle"},Su={class:"facilities-grid"},Iu={key:1,class:"facilities-divider"},Pu={key:2,class:"grouped-facilities"},Du={class:"facilities-groups-expanded"},Mu={class:"facilities-group-header"},xu={class:"facilities-group-items"},Tu={key:3,class:"no-facilities"},Au=Le({__name:"Facilities",props:{facilities:{},showOverlay:{type:Boolean}},emits:["close"],setup(c,{emit:y}){const l=y,i=c,d=$({get:()=>i.showOverlay,set:r=>{r||l("close")}}),p=()=>{l("close")},M=$(()=>i.facilities&&i.facilities.length>0),D=$(()=>{if(!i.facilities)return[];const r=Wa.map(H=>H.id);return i.facilities.filter(H=>r.includes(H.id))}),f=$(()=>{const r={};return i.facilities?(i.facilities.forEach(H=>{for(const h in Tt)if(Tt[h].facilities.includes(H.id)){r[h]||(r[h]={name:Tt[h].name,icon:Tt[h].icon,sort:Tt[h].sort,facilities:[]}),r[h].facilities.push(H);break}}),Object.values(r).sort((H,h)=>H.sort-h.sort)):[]}),{t:_}=Fe();return(r,H)=>{const h=dt("font-awesome-icon");return o(),ne(e(Ze),{visible:d.value,"onUpdate:visible":H[0]||(H[0]=C=>d.value=C),class:"facilities-dialog radius_md",header:e(_)("hotelDetail.sections.facilities.shortLabel"),modal:!0,dismissableMask:!0,onHide:p,style:ke({width:e(b).isMobile?"100%":"50rem",maxwidth:e(b).isMobile?"100%":"50rem",maxHeight:e(b).isMobile?"100%":"auto",borderRadius:e(b).isMobile?"0 !important":"16px !important",overflow:"hidden"})},{default:ve(()=>[t("div",wu,[M.value&&D.value.length>0?(o(),s("div",$u,[t("h4",Cu,a(e(_)("hotelDetail.popularFacilities")),1),t("div",Su,[(o(!0),s(V,null,ce(D.value,C=>(o(),s("span",{key:C.id,class:"facilities-section-item"},[g(h,{icon:e(Ds)(C.id)},null,8,["icon"]),O(" "+a(C.name),1)]))),128))])])):n("",!0),M.value&&D.value.length>0?(o(),s("div",Iu)):n("",!0),M.value?(o(),s("div",Pu,[t("div",Du,[(o(!0),s(V,null,ce(f.value,(C,Q)=>(o(),s("div",{key:Q,class:"facilities-group"},[t("div",Mu,[g(h,{icon:C.icon},null,8,["icon"]),O(" "+a(C.name),1)]),t("ul",xu,[(o(!0),s(V,null,ce(C.facilities,I=>(o(),s("li",{key:I.id},a(I.name),1))),128))])]))),128))])])):(o(),s("div",Tu," No facilities available for this room. "))])]),_:1},8,["visible","header","style"])}}}),Ou=He(Au,[["__file","Facilities.vue"]]),Bu=["mode","size"],Fu=["onClick"],Hu={class:"date-description"},Lu={class:"label search_input"},Gu={key:0,class:"label search_input"},rs="Near me",qu=Le({inheritAttrs:!1,__name:"SearchRoom",props:{inline:{type:Boolean},mini:{type:Boolean},filters:{type:Object},roomSearch:{type:Boolean,default:!1},source:{type:String,required:!0},isLabel:{type:Boolean,required:!0},dailyRates:{type:Array,default:()=>[]}},emits:["change"],setup(c,{emit:y}){const l=Io(),{t:i,locale:d}=Fe(),p=c,M=Qt(),D=y,_=u({description:"",place_id:"",icon:"",structured_formatting:{main_text:"",secondary_text:""},types:[]}),r=u([{adults:2,children:[]}]),H=u(go(r.value)),h=u(fo(r.value)),C=u(yo(r.value)),Q=u([]),I=u([]),w=u([]),L=u(Wo),S=u(""),T=u([]),B=u([]),z=u([]),oe=u([]),ie=u([]),X=u([]),G=u([]),Z=$(()=>p.dailyRates?p.dailyRates.map(E=>{switch(E.expense_level){case 1:E.color="teal";break;case 2:E.color="green";break;case 3:E.color="yellow";break;case 4:E.color="orange";break;case 5:E.color="red";break}return{content:E.color,dates:[new Date(E.date)]}}):[]),q=u(0),J=$(()=>ca()),te=u({start:l.checkin?l.checkin:de.now().plus({days:1}).toJSDate(),end:l.checkout?l.checkout:de.now().plus({days:2}).toJSDate()}),fe=u(new Date(M.query.checkin)),R=u(new Date(M.query.checkout)),A=E=>{const ge=de.fromJSDate(E).setLocale(d.value).toFormat("dd LLL");return U(ge)},P=$(()=>A(te.value.start)),he=$(()=>A(te.value.end)),me=new ua;me.place_id="nearby",me.description=rs,me.structured_formatting={main_text:rs,secondary_text:""},me.types=["nearby"];let _e="";da().then(E=>
12{E&&(_e=`${E.latitude},${E.longitude}`,me.place_id=_e)});const ae=u(!1),U=E=>E.charAt(0).toUpperCase()+E.slice(1),x=M.name==="hotels",Te=E=>{const pe=JSON.stringify(E),ge=JSON.stringify(r.value),Ee=pe!==ge;r.value=JSON.parse(JSON.stringify(E)),H.value=go(E),h.value=fo(E),C.value=yo(E),l.occupancies=r.value,l.rooms=H.value,l.adults=h.value,l.children=C.value,Ee&&ee()},F=E=>{l.occupancies=E,l.rooms=H.value,l.adults=h.value,l.children=C.value};$e(()=>te.value,()=>{Y()}),$e(()=>p.filters,()=>{re(),Y()},{deep:!0}),$e(()=>te.value,E=>{fe.value=E.start,R.value=E.end;const pe=de.fromJSDate(E.start).toFormat("yyyy-MM-dd"),ge=de.fromJSDate(E.end).toFormat("yyyy-MM-dd");l.checkin=pe,l.checkout=ge},{deep:!0});const re=()=>{Q.value=p?.filters?.stars??[],I.value=p?.filters?.freeCancellation??[],w.value=p?.filters?.price??[],L.value=p?.filters?.sorting??Wo,S.value=p?.filters?.hotelName??"",T.value=p?.filters?.ratings??[],B.value=p?.filters?.facilities??[],z.value=p?.filters?.roomAmenities??[],G.value=p?.filters?.mealPlans??[],oe.value=p?.filters?.chains??[],ie.value=p?.filters?.hotelTypes??[],X.value=p?.filters?.suburbs??[]},Y=()=>{p.inline&&!M.params.id&&ee()};let N;if(M.query.placeId||M.params.id?N={placeId:"",...M.query}:N=ma(),N){_.value.place_id=N.placeId||"",_.value.description=N.name||"",_.value.structured_formatting={main_text:N.name||"",secondary_text:""};const E=N.checkin||de.now().plus({days:1}).toISODate(),pe=N.checkout||(N.checkin?de.fromISO(N.checkin).plus({days:1}).toISODate():de.now().plus({days:2}).toISODate())||de.now().plus({days:2}).toISODate();te.value={start:de.fromFormat(E,"yyyy-MM-dd").toJSDate(),end:de.fromFormat(pe,"yyyy-MM-dd").toJSDate()},N.rooms&&(H.value=typeof N.rooms=="string"?parseInt(N.rooms,10):N.rooms),N.adults&&(h.value=typeof N.adults=="string"?parseInt(N.adults,10):N.adults),N.children&&(C.value=typeof N.children=="string"?N.children?.split(",").map(ge=>parseInt(ge,10)):N.children),N.occupancies&&(r.value=st(N.occupancies))}const ee=()=>{be()},be=()=>{const E=te.value.start,pe=te.value.end;if(!E||!pe)return;ae.value=!0;const ge={checkin:de.fromJSDate(E).toFormat("yyyy-MM-dd"),checkout:de.fromJSDate(pe).toFormat("yyyy-MM-dd"),rooms:H.value,adults:h.value,children:C.value.length?C.value.toString():"",occupancies:ws(r.value)};at(`search_initiated_${p.source}`,{...ge,occupancies:r.value}),ha(ge),D("change",ge)},Ne=u(!1),De=E=>{te.value=ga(E),xe(te.value)},xe=E=>{const pe=E.start;let ge=E.end;Ne.value=pe.getFullYear()===ge.getFullYear()&&pe.getMonth()===ge.getMonth()&&pe.getDate()===ge.getDate(),Ne.value?(ge=de.fromJSDate(ge).plus({days:1}).toJSDate(),te.value={start:pe,end:ge}):te.value=E,q.value+=1};$e(()=>[l.checkin,l.checkout],([E,pe])=>{E&&pe&&(te.value={start:de.fromISO(E).toJSDate(),end:de.fromISO(pe).toJSDate()},fe.value=de.fromISO(E).toJSDate(),R.value=de.fromISO(pe).toJSDate(),q.value++)});const Se=$(()=>ye.project?.settings?.lockSearchBar===!0),Re=$(()=>ye.project?.settings?.disableDateSelection===!0),Ge=()=>{ee()},Be=E=>{Te(E)},Ae=E=>{Re.value||De(E)};return(E,pe)=>Se.value?n("",!0):(o(),s("div",{key:0,class:K(["fields",[c.source=="home"?"home-search":"",{"date-disabled":Re.value}]]),mode:p.inline?"inline":"",size:p.mini?"mini":""},[t("div",{class:K(["field mid DatePicker",{disabled:Re.value}])},[(o(),ne(e(va),{modelValue:te.value,"onUpdate:modelValue":[pe[0]||(pe[0]=ge=>te.value=ge),Ae],modelModifiers:{range:!0},"min-date":J.value,key:q.value,mode:"range",columns:1,transition:"fade",locale:e(d),range:!0,"first-day-of-week":1,lazy:!0,attributes:Z.value,disabled:Re.value,onDayclick:pe[1]||(pe[1]=(ge,Ee)=>{Ee.target.blur()})},{default:ve(({togglePopover:ge})=>[t("div",{class:K(["field mid",{disabled:Re.value}]),onClick:Ee=>Re.value?"":ge()},[g(we,{name:"calendar-right"}),t("div",Hu,[t("span",Lu,a(P.value)+" - "+a(he.value),1),x?n("",!0):(o(),s("span",Gu))])],10,Fu)]),_:1},8,["modelValue","min-date","locale","attributes","disabled"]))],2),g(e(Et),{align:"center",layout:"vertical"}),t("div",{class:K(["field last",{"room-details-field":c.source==="rooms"}])},[pe[2]||(pe[2]=t("i",{class:"pi pi-users text-500"},null,-1)),g(pa,{onChange:Be,onDropdownClosed:F,rooms:H.value,adults:h.value,children:C.value,inline:p.inline,mini:p.mini,occupancies:r.value,source:c.source},null,8,["rooms","adults","children","inline","mini","occupancies","source"])],2),t("div",{class:K(["btn align-items-stretch h-auto",{favourites:c.source=="favourites"}])},[g(e(Me),{size:"large",style:ke(c.isLabel?"":"border-radius: var(--theme-radii-md) !important; box-shadow: none;"),label:c.isLabel?e(i)("search.searchButton"):"",class:K(["search-btn align-items-stretch",{"with-border":p.inline,disabled:!_.value.place_id}]),icon:"pi pi-search text-sm",onClick:Ge},null,8,["style","label","class"])],2)],10,Bu))}}),Eu=He(qu,[["__scopeId","data-v-ba364c3a"],["__file","SearchRoom.vue"]]),Nu={key:0,class:"title"},ju={key:1,class:"reviews-header"},zu={class:"rating-summary"},Uu={class:"rating-score"},Vu={key:1,class:"rating-text"},Ju={key:0}
12,Qu={key:0,class:"filter-controls"},Wu={key:0,class:"reviews-sidebar"},Ku={key:0,class:"top-comments"},Yu={class:"comment-tags scrollable"},Xu={class:"who-stays-section"},Zu={class:"traveler-types scrollable"},ed={class:"icon-container"},td={class:"percentage"},od={key:1,class:"reviews-header flex flex-row align-items-center"},sd={class:"title"},ad={class:"filter-controls"},ld={key:0,class:"no-results"},id={key:1,class:"review-slider-container"},nd={class:"review-slider scrollable mb-2"},rd={class:"review-header"},cd={class:"reviewer-info"},ud={class:"flex gap-2 flex-column"},dd={key:0,class:"room-type"},md={class:"review-date"},vd={class:"review-content"},pd=["onClick"],hd={class:"review-header"},gd={class:"reviewer-info"},fd={class:"flex gap-2 flex-column md:flex-row"},yd={key:0,class:"room-type"},kd={class:"review-date"},_d={class:"review-content"},bd=["onClick"],Rd={key:3,class:"show-more-reviews"},wd={key:0,class:"reviews-count radius_md"},At=150,$d=Le({__name:"Reviews",props:{reviews:{type:Array,required:!0},rating:{type:Number,required:!0},reviewsCounts:{type:Number,required:!0},ReviewsSentiment:{type:Object,required:!0},mobileCardSlider:{type:Boolean,default:!1},isModal:{type:Boolean,default:!1}},emits:["openReviewsDrawer"],setup(c,{expose:y,emit:l}){const{t:i}=Fe(),d=c,p=l,M=()=>{p("openReviewsDrawer")},D=u(null),f=u([]),_=u(4),r=u([{name:i("hotelDetail.sections.reviews.sortOptions.newest"),code:"newest"},{name:i("hotelDetail.sections.reviews.sortOptions.highest"),code:"highest"},{name:i("hotelDetail.sections.reviews.sortOptions.lowest"),code:"lowest"}]),H=$(()=>d.ReviewsSentiment.categories.filter(G=>G.name!=="Overall Experience").map((G,Z)=>({id:Z+1,text:i(`reviewCategories.${G.name}`)+` (${Bt(G.rating)})`,description:G.description,raw:G})));y({});const h=$(()=>Ot(d.rating)),C=$(()=>typeof window<"u"?window.innerWidth<=576:!1),Q=$(()=>{const G=d.reviewsCounts||0;return new Intl.NumberFormat(Fe().locale.value).format(G)}),I=G=>new Intl.NumberFormat(Fe().locale.value).format(G),w=$(()=>I(d.reviewsCounts)),L=$(()=>I(f.value.length)),S=$(()=>i("hotelDetail.sections.reviews.showingReviews",{displayed:L.value,total:w.value})),T=()=>{B()},B=()=>{let G=[...d.reviews];D.value&&(D.value.code==="newest"?G.sort((Z,q)=>new Date(q.date).getTime()-new Date(Z.date).getTime()):D.value.code==="highest"?G.sort((Z,q)=>q.average_score-Z.average_score):D.value.code==="lowest"&&G.sort((Z,q)=>Z.average_score-q.average_score)),G=G.map(Z=>{const q={...Z};return q.fullPros=q.pros,q.pros&&q.pros.length>At?(q.pros=q.pros.substring(0,At)+"...",q.showMore=!0):q.showMore=!1,q}),f.value=G.slice(0,_.value)},z=()=>{_.value+=10,B()},oe=G=>{const Z=f.value.findIndex(q=>q.date===G.date&&q.name===G.name);if(Z!==-1&&f.value[Z].fullPros){const q={...f.value[Z]};q.showMore?(q.pros=q.fullPros||q.pros,q.showMore=!1):(q.pros=(q.fullPros||"").substring(0,At)+"...",q.showMore=!0),f.value[Z]=q}};function ie(G){const Z=G.toLowerCase();if(Z==="none"||Z==="other"||Z==="others"){const q="hotelDetail.sections.reviews.travelerTypes.others",J=i(q);return{label:J===q?"Others":J,icon:["fal","user"]}}return Z.includes("family")?{label:i("hotelDetail.sections.reviews.travelerTypes.family"),icon:["fal","family"]}:Z.includes("business")?{label:i("hotelDetail.sections.reviews.travelerTypes.business"),icon:["fal","briefcase"]}:Z.includes("couple")?{label:i("hotelDetail.sections.reviews.travelerTypes.couple"),icon:["fal","heart"]}:Z.includes("friend")||Z.includes("group")?{label:i("hotelDetail.sections.reviews.travelerTypes.friendsGroup"),icon:["fal","users"]}:Z.includes("solo")||Z.includes("single")?{label:i("hotelDetail.sections.reviews.travelerTypes.solo"),icon:["fal","user"]}:{label:G.charAt(0).toUpperCase()+G.slice(1),icon:["fal","user"]}}const X=$(()=>{const G=d.reviews||[],Z={};G.forEach(te=>{if(te.type){const{label:fe,icon:R}=ie(te.type);Z[fe]||(Z[fe]={count:0,icon:R}),Z[fe].count++}});const q=G.length;return Object.entries(Z).sort((te,fe)=>fe[1].count-te[1].count).map(([te,{count:fe,icon:R}])=>({type:te,icon:R,percent:q?Math.round(fe/q*100):0}))});return _t(()=>{B()}),(G,Z)=>{const q=dt("font-awesome-icon");return o(),s("div",{class:K(["reviews-container",{"mobile-layout":C.value,"is-modal":c.isModal}])},[c.isModal?n("",!0):(o(),s("h2",Nu,a(e(i)("hotelDetail.sections.reviews.title")),1)),c.reviews.length>0?(o(),s("div",ju,[t("div",zu,[t("div",Uu,[d.rating?(o(),s("div",{key:0,class:"ribbon",style:ke({backgroundColor:e(kt)(d.rating)})},a(e(Bt)(d.rating)),5)):n("",!0),d.rating&&d.reviewsCounts>0?(o(),s("div",Vu,[h.value?(o(),s("h3",Ju,a(e(i)(h.value)),1)):n("",!0),t("p",null,a(e(i)("hotelDetail.sections.reviews.basedOn",{number:Q.value})),1)])):n("",!0)])]),C.value?n("",!0):(o(),s("div",Qu,[g(e(Xo),{modelValue:D.value,"onUpdate:modelValue":Z[0]||(Z[0]=J=>D.value=J),options:r.value,optionLabel:"name",placeholder:e(i)("hotelDetail.sections.reviews.sortOptions.newest"),onChange:T,class:"sort-dropdown radius_md",pt:{panel:{class:"sort-reviews-panel-custom"}}},null,8,["modelValue","options","placeholder"])]))])):n("",!0),t("div",{class:K(["reviews-body",{"mobile-layout":C.value||c.reviews.length===0}])},[c.reviews.length>0?(o(),s("aside",Wu,[H.value.length>0?(o(),s("div",Ku,[t("h4",null,a(e(i)("hotelDetail.sections.reviews.toCommentsFromTravellers")),1),t("div",Yu,[(o(!0),s(V,null,ce(H.value,J=>(o(),ne(e(Ss),{key:J.id,title:J.description||J.text},{default:ve(()=>[O(a(J.text),1)]),_:2},1032,["title"]))),128))])])):n("",!0),t("div",Xu,[t("h4",null,a(e(i)("hotelDetail.sections.reviews.whoStaysHere")),1),t("div",Zu,[(o(!0),s(V,null,ce(X.value,J=>(o(),s("div",{class:"traveler-type",key:J.type},[t("div",ed,[g(q,{icon:J.icon},null,8,["icon"])]),t("p",null,a(J.type),1),t("p",td,a(J.percent)+"%",1)]))),128))])])])):n("",!0),C.value?(o(),s("div",od,[t("h2",sd,a(e(i)("hotelDetail.sections.reviews.title")),1),t("div",ad,[g(e(Xo),{modelValue:D.value,"onUpdate:modelValue":Z[1]||(Z[1]=J=>D.value=J),options:r.value,optionLabel:"name",placeholder:e(i)("hotelDetail.sections.reviews.sortOptions.newest"),onChange:T,class:"sort-dropdown radius_md",pt:{panel:{class:"sort-reviews-panel-custom"}}},null,8,["modelValue","options","placeholder"])])])):n("",!0),t("section",{class:K(["review-list radius_md",{"mobile-card-slider":d.mobileCardSlider&&C.value,"span-full-width":f.value.length===0}])},[f.value.length===0?(o(),s("div",ld,[t("p",null,a(e(i)("hotelDetail.sections.reviews.noReviews")),1)])):n("",!0),d.mobileCardSlider&&C.value?(o(),s("div",id,[t("div",nd,[(o(!0),s(V,null,ce(f.value,J=>(o(),s("div",{key:`${J.name}-${J.date}`,class:"review-card slider-card"},[t("div",rd,[t("div",cd,[t("div",ud,[t("h4",null,a(J.name),1),J.type?(o(),s("span",dd,a(J.type),1)):n("",!0)]),t("p",md,a(e(Ko)(J.date)),1)]),t("div",{class:"ribbon review-rating",style:ke({backgroundColor:e(kt)(J.average_score)})},a(J.average_score),5)]),t("div",vd,[t("p",null,[t("b",null,a(J.headline),1)]),t("p",null,[O(a(J.pros)+" ",1),J.fullPros&&J.fullPros.length>At?(o(),s("span",{key:0,class:"show-more",onClick:te=>oe(J)},a(e(i)(`hotelDetail.sections.reviews.${J.showMore?"showMore":"showLess"}`)),9,pd)):n("",!0)])])]))),128))]),t("a",{class:"load-more--btn radiu
12s_md",onClick:M},a(e(i)("hotelDetail.sections.reviews.readAll")),1)])):(o(!0),s(V,{key:2},ce(f.value,J=>(o(),s("div",{key:`${J.name}-${J.date}`,class:"review-card"},[t("div",hd,[t("div",gd,[t("div",fd,[t("h4",null,a(J.name),1),J.type?(o(),s("span",yd,[Z[2]||(Z[2]=t("span",{class:"hidden md:inline"},"â¢",-1)),O(" "+a(J.type),1)])):n("",!0)]),t("p",kd,a(e(Ko)(J.date)),1)]),t("div",{class:"ribbon review-rating",style:ke({backgroundColor:e(kt)(J.average_score)})},a(J.average_score),5)]),t("div",_d,[t("p",null,[t("b",null,a(J.headline),1)]),t("p",null,[O(a(J.pros)+" ",1),J.fullPros&&J.fullPros.length>At?(o(),s("span",{key:0,class:"show-more",onClick:te=>oe(J)},a(e(i)(`hotelDetail.sections.reviews.${J.showMore?"showMore":"showLess"}`)),9,bd)):n("",!0)])])]))),128)),f.value.length>0&&f.value.length<(d.reviewsCounts===0?d.reviews.length:d.reviewsCounts)&&(!d.mobileCardSlider||!C.value)?(o(),s("div",Rd,[t("a",{class:"radius_md load-more--btn",onClick:z},a(e(i)("hotelDetail.sections.reviews.loadMore")),1),f.value.length>0&&d.reviewsCounts>0?(o(),s("div",wd,[t("p",null,a(S.value),1)])):n("",!0)])):n("",!0)],2)],2)],2)}}}),cs=He($d,[["__scopeId","data-v-53a1ba1d"],["__file","Reviews.vue"]]),Cd={class:"sentiment-header flex justify-content-between align-items-center mb-4"},Sd={class:"title m-0"},Id={class:"rating-summary"},Pd={class:"rating-score"},Dd={key:1,class:"rating-text"},Md={key:0},xd={class:"sentiment-highlights grid"},Td={class:"col-12"},Ad={class:"highlight-title"},Od={class:"highlight-tags"},Bd={key:1,class:"empty-state text-500 text-sm"},Fd={key:0,class:"categories-section mt-4"},Hd={class:"flex justify-content-between align-items-center mb-3"},Ld={class:"m-0"},Gd={class:"rating-categories grid"},qd={class:"category-name flex justify-content-between"},Ed={class:"rating-value font-bold"},Nd={class:"rating-bar"},jd={key:0,class:"category-description mt-2"},zd={class:"text-sm font-normal text-600"},Ud={key:0,class:"col-12 empty-state text-500 text-sm"},Vd={key:0,class:"sentiment-footer mt-2 flex justify-content-left align-items-left"},Jd={class:"sentiment-generated"},Qd={class:"text-sm font-semibold"},Wd=Le({__name:"ReviewsSentiment",props:{reviewsSentiment:{type:Object,required:!0},rating:{type:Number,required:!0},reviewsCount:{type:Number,required:!0}},emits:["openReviewsDrawer"],setup(c,{emit:y}){const{t:l,locale:i}=Fe(),d=c,p=$(()=>window.innerWidth<=576),M=u(!1),D=u(!1),f=y,_=$(()=>Ot(d.rating)),r=$(()=>d.reviewsSentiment.pros?.slice(0,4)||[]),H=()=>{D.value=!D.value,p.value&&(M.value=!M.value)},h=()=>{f("openReviewsDrawer")},C=$(()=>new Intl.NumberFormat(i.value).format(d.reviewsCount)),Q=$(()=>d.reviewsSentiment.categories||[]),I=$(()=>Q.value&&Q.value.length>0),w=$(()=>{if(!p.value||M.value)return Q.value;const L=Q.value.slice(0,2),S=Q.value.find(B=>B.name==="Overall Experience"),T=[...L];return S&&!L.some(B=>B.name==="Overall Experience")&&T.push(S),T});return(L,S)=>(o(),s("div",{class:K(["sentiment-container",{mobile:p.value}])},[t("div",Cd,[t("h2",Sd,a(e(l)("hotelDetail.sections.reviews.sentimentTitle")),1),t("a",{class:"see-all",onClick:h},a(e(l)("hotelDetail.sections.reviews.readAll")),1)]),t("div",Id,[t("div",Pd,[d.rating?(o(),s("div",{key:0,class:"ribbon",style:ke({backgroundColor:e(kt)(d.rating)})},a(e(Bt)(d.rating)),5)):n("",!0),d.rating&&d.reviewsCount>0?(o(),s("div",Dd,[_.value?(o(),s("h3",Md,a(e(l)(_.value)),1)):n("",!0),t("span",null,a(e(l)("hotelDetail.sections.reviews.basedOn",{number:C.value})),1)])):n("",!0)])]),t("div",xd,[t("div",Td,[t("h3",Ad,a(e(l)("hotelDetail.sections.reviews.whatGuestsLiked")),1),t("div",Od,[r.value.length>0?(o(!0),s(V,{key:0},ce(r.value,(T,B)=>(o(),ne(e(Ss),{key:"pos-"+B,severity:"success",class:"mr-2 mb-2"},{default:ve(()=>[O(' "'+a(T)+'" ',1)]),_:2},1024))),128)):(o(),s("div",Bd,a(e(l)("hotelDetail.sections.reviews.noPositiveHighlights")),1))])])]),I.value?(o(),s("div",Fd,[t("div",Hd,[t("h3",Ld,a(e(l)("hotelDetail.sections.reviews.categories")),1),t("a",{class:"see-all",onClick:H},a(e(l)(`hotelDetail.sections.reviews.${D.value?"hideDetails":"showDetail
12s"}`)),1)]),t("div",Gd,[(o(!0),s(V,null,ce(w.value,(T,B)=>(o(),s("div",{key:B,class:"col-12 md:col-4 mb-3 category-item"},[t("div",qd,[t("span",null,a(e(l)(`reviewCategories.${T.name}`)),1),t("span",Ed,a(e(Bt)(T.rating)),1)]),t("div",Nd,[t("div",{class:"rating-progress",style:ke({width:`${T.rating/10*100}%`,backgroundColor:e(kt)(T.rating)})},null,4)]),D.value?(o(),s("div",jd,[t("p",zd,a(T.description),1)])):n("",!0)]))),128)),I.value?n("",!0):(o(),s("div",Ud,a(e(l)("hotelDetail.sections.reviews.noCategories")),1))]),I.value?(o(),s("div",Vd,[t("div",Jd,[g(e(Qa),{icon:["fas","sparkles"],class:"mr-2"}),t("span",Qd,a(e(l)("hotelDetail.sections.reviews.generatedSentiment",d.reviewsCount>0?{count:C.value}:{})),1)])])):n("",!0)])):n("",!0)],2))}}),Kd=He(Wd,[["__scopeId","data-v-0b3c21f6"],["__file","ReviewsSentiment.vue"]]),Yd={class:"gallery-dialog-content"},Xd={class:"galleryItems"},Zd={class:"slider-caption"},em={class:"content"},tm={class:"room-details"},om={class:"room-details-title mt-2"},sm={class:"room-details-section"},am={key:0},lm={key:1},im={class:"amenities",id:"amenities-section"},nm={class:"amenities-title"},rm={key:0,class:"amenities-section"},cm={class:"p-vertical-room-card"},um={class:"images-slideshow"},dm={class:"content"},mm={class:"space-size"},vm={key:0},pm={key:1},hm={key:0,class:"amenities"},gm={class:"amenities-title"},fm={class:"amenities-list"},ym={class:"tag"},km={key:0,class:"sold-out"},_m=Le({__name:"VerticalRoomCard",props:{room:{},tag:{}},setup(c){const{t:y}=Fe(),l=c,i=u(0),d=u(!1),p=u(!1),M=$(()=>[...l.room.photos.filter(_=>_.main_photo),...l.room.photos.filter(_=>!_.main_photo)]),D=_=>{i.value=_,d.value=!0},f=_=>{if(!M.value[_+1])return;let r=new Image;r.src=M.value[_+1].url};return $e(()=>p.value,_=>{_&&(d.value=!0,Nt(()=>{document.getElementById("amenities-section")?.scrollIntoView({behavior:"smooth"})}))}),$e(()=>d.value,_=>{_||(p.value=!1)}),(_,r)=>{const H=dt("font-awesome-icon");return o(),s(V,null,[g(e(Ze),{visible:d.value,"onUpdate:visible":r[0]||(r[0]=h=>d.value=h),class:"gallery-dialog vertical-room-card",header:e(It)([_.room.name],_.room.name),dismissableMask:d.value,modal:!0,draggable:!1},{default:ve(()=>[t("div",Yd,[r[8]||(r[8]=t("div",{class:"galleries"},null,-1)),g(e(ko),{visible:!0,value:_.room.photos,circular:!0,showItemNavigators:!0,showThumbnails:!1,"active-index":i.value},{item:ve(h=>[t("div",Xd,[(o(),ne(Pt,{key:h.item.url,image:h.item,classes:"radius_md slider-image"},null,8,["image"])),t("p",Zd,a(_.room.photos?_.room.photos.indexOf(h.item)+1:"")+"/"+a(_.room.photos?_.room.photos.length:""),1)])]),nextitemicon:ve(()=>[g(we,{name:"chevron-right"})]),previousitemicon:ve(()=>[g(we,{name:"chevron-left"})]),_:1},8,["value","active-index"]),t("div",em,[t("div",tm,[t("h3",om,a(e(y)("roomCard.roomDetails")),1),t("div",sm,[_.room.size?(o(),s("span",am,[g(H,{icon:"up-right-and-down-left-from-center"}),O(" "+a(_.room.size)+" m",1),r[7]||(r[7]=t("sup",null,"2",-1))])):n("",!0),_.room.adults?(o(),s("span",lm,[g(H,{icon:"user"}),O(" "+a(e(y)("roomCard.sleepsCount",{count:_.room.adults})),1)])):n("",!0)])]),t("div",im,[t("h3",nm,a(e(y)("roomCard.amenities")),1),_.room.room_amenities.length?(o(),s("div",rm,[(o(!0),s(V,null,ce(_.room?.room_amenities,h=>(o(),s("span",{key:h.id,class:"amenities-section-item"},[g(H,{icon:e(Ut)(h.id)},null,8,["icon"]),O(" "+a(h.name),1)]))),128))])):n("",!0)])])])]),_:1},8,["visible","header","dismissableMask"]),t("div",cm,[t("div",um,[t("div",{class:"cursor-pointer image-container",onClick:r[2]||(r[2]=h=>D(i.value))},[(o(),ne(Pt,{key:i.value,image:M.value[i.value],classes:"radius_md",onLoaded:r[1]||(r[1]=()=>f(i.value))},null,8,["image"]))]),t("a",{class:"show-more",onClick:r[3]||(r[3]=h=>d.value=!0)},[O(a(i.value+1)+" / "+a(M.value.length)+" ",1),g(H,{icon:"camera"})]),g(e(Me),{icon:"pi pi-chevron-left",class:"btn_applied-radius p-button-rounded chevron chevron-left",size:"small",onClick:r[4]||(r[4]=Ce(h=>i.value=i.value-1,["prevent"])),disabled:i.value===0},null,8,["disabled"]),g(e(Me),{icon:"pi pi-chevron-right",class:"btn_applied-radius p-button-rounded chevron chevron-right",size:"small",onClick:r[5]||
12(r[5]=Ce(h=>i.value=i.value+1,["prevent"])),disabled:i.value===M.value.length-1},null,8,["disabled"])]),t("div",dm,[t("h1",null,a(_.room.name),1),t("div",mm,[_.room?.size?(o(),s("span",vm,[g(H,{icon:"up-right-and-down-left-from-center"}),O(" "+a(_.room?.size)+" m",1),r[9]||(r[9]=t("sup",null,"2",-1))])):n("",!0),_.room?.adults?(o(),s("span",pm,[g(H,{icon:"user"}),O(" "+a(e(y)("roomCard.sleepsCount",{count:_.room?.adults})),1)])):n("",!0)]),_.room?.room_amenities.length?(o(),s("div",hm,[t("div",gm,[t("h3",null,a(e(y)("roomCard.amenities")),1),t("a",{onClick:r[6]||(r[6]=h=>p.value=!0),class:"cursor-pointer"},a(e(y)("roomCard.seeAllAmenities",{count:_.room.room_amenities.length})),1)]),t("div",fm,[(o(!0),s(V,null,ce(_.room?.room_amenities.slice(0,6),h=>(o(),s("span",{key:h.id,class:"amenity"},[g(H,{icon:e(Ut)(h.id)},null,8,["icon"]),O(" "+a(h.name),1)]))),128))])])):n("",!0),t("div",ym,[_.tag==="soldOut"?(o(),s("span",km,a(e(y)("roomCard.soldOut")),1)):n("",!0)])])])],64)}}}),us=He(_m,[["__scopeId","data-v-6ac0e814"],["__file","VerticalRoomCard.vue"]]),ds="/assets/NoHotelImageDetailPage-C28uLrYE.png",bm={class:"highlight-wrapper"},Rm={key:0,class:"highlight-glow"},wm={class:"card-icon-wrapper"},$m={class:"card-title"},Cm={class:"card-description"},Sm={class:"card-icon-wrapper"},Im=Le({__name:"HighlightsCard",props:{type:{},title:{},description:{},isLoading:{type:Boolean},isHighlighted:{type:Boolean}},setup(c){const y=(l,i)=>{switch(l){case"historicCityCenterCharm":return i?"highlights-location-colored":"highlights-location";case"exceptionalComfortExperience":return"highlights-thumb";case"exclusiveRooftopLuxury":return"highlights-office";default:return"highlights-location"}};return(l,i)=>(o(),s("div",bm,[l.isHighlighted&&l.type==="historicCityCenterCharm"?(o(),s("div",Rm)):n("",!0),t("div",{class:K(["highlight-card",[l.type,{"is-highlighted":l.isHighlighted&&l.type==="historicCityCenterCharm"}]])},[l.isLoading?(o(),s(V,{key:1},[t("div",Sm,[g(e(je),{width:"24px",height:"24px",borderRadius:"50%"}),g(e(je),{width:"140px",height:"24px",borderRadius:"8px"})]),g(e(je),{width:"100%",height:"60px",borderRadius:"12px"})],64)):(o(),s(V,{key:0},[t("div",wm,[g(we,{class:"card-icon",name:y(l.type??"historicCityCenterCharm",l.isHighlighted),height:24,width:24},null,8,["name"]),t("h2",$m,a(l.title),1)]),t("p",Cm,a(l.description),1)],64))],2)]))}}),ms=He(Im,[["__scopeId","data-v-dd91d49c"],["__file","HighlightsCard.vue"]]),Pm={class:"similar-hotels-section"},Dm={key:0,class:"similar-hotels__notice-container"},Mm={class:"similar-hotels__notice-content"},xm={class:"similar-hotels__notice-text"},Tm={class:"similar-hotels__notice-text-main"},Am={class:"similar-hotels__notice-text-sub"},Om={key:1,class:"grid-container similar-hotels-cards-section"},Bm={class:"grid"},Fm={class:"col-12"},Hm={class:"p-carousel-header__flex"},Lm={class:"p-carousel-header__flex__navigators"},Gm=["data-id"],qm={class:"p-3 h-11rem flex flex-column justify-content-between"},Em={class:"flex flex-column gap-2"},Nm={class:"flex flex-row justify-content-between"},jm={key:2,class:"grid-container similar-hotels-cards-section"},zm={class:"p-carousel-header__flex"},Um={class:"flex gap-2 align-items-center"},Vm={class:"checkin-checkout"},Jm={class:"p-carousel-header__flex__navigators"},Qm={class:"hotel-card-slider"},Wm=Le({__name:"SimilarHotels",props:{hotelId:{},checkin:{},checkout:{},occupancies:{},hasNoRooms:{type:Boolean},isLoadingRooms:{type:Boolean}},setup(c){const{t:y}=Fe(),l=Io(),i=c,d=u([]),p=u(!1),M=u(3),D=u(3),f=u(0),_=ye.project.appearance.pages?.home?.components?.homeHotelCard?.id||"homeHotelCard1",r=[{breakpoint:"1400px",numVisible:3,numScroll:3},{breakpoint:"1199px",numVisible:2.6,numScroll:2},{breakpoint:"1031px",numVisible:2,numScroll:2},{breakpoint:"767px",numVisible:2,numScroll:1},{breakpoint:"614px",numVisible:1.4,numScroll:1},{breakpoint:"425px",numVisible:1.15,numScroll:1},{breakpoint:"335px",numVisible:1,numScroll:1}],H=$(()=>{const L=i.checkin||ct.checkin,S=i.checkout||ct.checkout;if(!L||!S)return"";const T=de.fromISO(L),B=de.fromISO(S);if(!T.isValid||!B.isValid)return"";const z="MMM d";
12return`${T.toFormat(z)} - ${B.toFormat(z)}`});$e(()=>[i.hotelId,i.checkin,i.checkout],()=>{h()}),$e(()=>JSON.stringify(i.occupancies),(L,S)=>{L!==S&&h()});const h=async()=>{if(!i.hotelId){d.value=[];return}p.value=!0;try{const L=await fa(i.hotelId,{needPrices:!0,checkin:i.checkin||ct.checkin,checkout:i.checkout||ct.checkout,occupancies:i.occupancies||ct.occupancies,limit:20});d.value=L,await ya(d.value,b.currency)}catch(L){console.error("Failed to fetch similar hotels",L),d.value=[]}finally{p.value=!1}},C=()=>{const L=window.innerWidth;for(let S=r.length-1;S>=0;S--){const T=r[S];if(L<=parseInt(T.breakpoint)){M.value=T.numVisible,D.value=T.numScroll;return}}M.value=3,D.value=3},Q=()=>{f.value>0&&(f.value-=1)},I=()=>{const L=Math.max(0,Math.ceil(d.value.length/M.value)-1);f.value<L&&(f.value+=1)},w={extends:Is,props:{numVisible:Number,numScroll:Number,responsiveOptions:Array},methods:{onTouchMove(){}}};return C(),_t(()=>{h(),window.addEventListener("resize",C)}),(L,S)=>(o(),s("div",Pm,[i.hasNoRooms&&!i.isLoadingRooms?(o(),s("div",Dm,[t("div",Mm,[g(we,{name:"calendar-cut-line",width:24,height:24,class:"similar-hotels__notice-icon"}),t("div",xm,[t("b",Tm,a(e(y)("hotelDetail.similarHotelsFullyBooked")),1),t("span",Am,a(e(y)("hotelDetail.similarHotelsAlternativesNotice")),1)])])])):n("",!0),p.value?(o(),s("div",Om,[t("div",Bm,[t("div",Fm,[g(w,{value:[1,2,3],numVisible:M.value,numScroll:D.value,responsiveOptions:r,"show-navigators":!1},{header:ve(()=>[t("div",Hm,[t("h2",null,a(e(y)("hotelDetail.similarHotels")),1),t("div",Lm,[g(e(Me),{class:"p-carousel-prev",icon:"pi pi-chevron-left",size:"small",text:"",rounded:"","aria-label":"previous"}),g(e(Me),{class:"p-carousel-next",icon:"pi pi-chevron-right",size:"small",text:"",rounded:"","aria-label":"next"})])])]),item:ve(T=>[t("div",{class:"skeleton-card radius_lg","data-id":T.data},[g(e(je),{height:"190px",class:"mb-2","border-radius":"0"}),t("div",qm,[t("div",Em,[t("div",null,[(o(),s(V,null,ce(5,B=>g(e(je),{key:B,height:"1rem",width:"1rem",class:"mr-1 inline-block"})),64))]),g(e(je),{width:"80%",height:"1.5rem"}),g(e(je),{width:"60%",height:".75rem"})]),t("div",Nm,[g(e(je),{width:"2rem",height:"2rem",shape:"circle"}),g(e(je),{width:"40%",height:"2rem"})])])],8,Gm)]),_:1},8,["numVisible","numScroll"])])])])):n("",!0),!p.value&&d.value.length?(o(),s("div",jm,[g(w,{value:d.value,numVisible:M.value,numScroll:D.value,responsiveOptions:r,page:f.value,"onUpdate:page":S[0]||(S[0]=T=>f.value=T),"show-navigators":!1},{header:ve(()=>[t("div",zm,[t("div",Um,[t("h2",null,a(e(y)("hotelDetail.similarHotels")),1),t("span",Vm,a(H.value),1)]),t("div",Jm,[g(e(Me),{class:"p-carousel-prev",icon:"pi pi-chevron-left",size:"small",onClick:Q,text:"",rounded:"","aria-label":"previous"}),g(e(Me),{class:"p-carousel-next",icon:"pi pi-chevron-right",size:"small",onClick:I,text:"",rounded:"","aria-label":"next"})])])]),item:ve(T=>[t("div",Qm,[g(ol,{variant:e(_),"has-likes":!1,hotel:T.data,checkin:i.checkin??e(ct).checkin,checkout:i.checkout??e(ct).checkout,sameTab:!0,occupancies:e(l).occupancies||e(ct).occupancies,source:e($s).SIMILAR_HOTELS.CONTROL},null,8,["variant","hotel","checkin","checkout","occupancies","source"])])]),_:1},8,["value","numVisible","numScroll","page"])])):n("",!0)]))}}),vs=He(Wm,[["__scopeId","data-v-90347d54"],["__file","SimilarHotels.vue"]]),po="wl_show_rooms";function Km(c){const y=String(c??"");try{return y==="1"||y==="true"?localStorage.setItem(po,"1"):(y==="0"||y==="false")&&localStorage.removeItem(po),localStorage.getItem(po)==="1"}catch{return y==="1"||y==="true"}}const Ym={class:"askai-wrapper"},Xm={style:{position:"absolute",width:"0",height:"0",overflow:"hidden"}},Zm={class:"askai-container"},ev={class:"askai-header"},tv={class:"askai-header-text"},ov={class:"askai-title"},sv={class:"askai-subtitle"},av={class:"askai-beta"},lv={class:"askai-suggestions"},iv=["onClick"],nv={class:"askai-input-icon"},rv=["placeholder"],cv={style:{width:"16px",height:"16px"},viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5"},uv=Le({__name:"AskAI",props:{suggestions:{type:Array,default:()=>
12["Does the hotel have parking?","Does the hotel offer any amenities?","What dining options are available??"]}},emits:["open-dialog"],setup(c,{emit:y}){const{t:l}=Fe(),i=y,d=u(""),p=f=>{i("open-dialog",f)},M=()=>{const f=d.value.trim();f?(i("open-dialog",f),d.value=""):i("open-dialog")},D=f=>{f.key==="Enter"&&!f.shiftKey&&(f.preventDefault(),M())};return(f,_)=>(o(),s("div",Ym,[(o(),s("svg",Xm,_[2]||(_[2]=[t("defs",null,[t("linearGradient",{id:"askai-gradient",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},[t("stop",{offset:"0%","stop-color":"#ec4899"}),t("stop",{offset:"100%","stop-color":"#f97316"})])],-1)]))),t("div",Zm,[t("div",ev,[t("div",tv,[t("h3",ov,a(e(l)("hotelDetail.askAI.title","Ask AI about this hotel")),1),t("p",sv,a(e(l)("hotelDetail.askAI.subtitle","Get instant answers with AI powered search of property information and reviews.")),1)]),t("div",av,[_[3]||(_[3]=t("span",{style:{width:"8px",height:"8px",background:"linear-gradient(101deg, #ff6a2a -0.23%, #eb51ff 100%)","border-radius":"50%","flex-shrink":"0"}},null,-1)),O(" "+a(e(l)("hotelDetail.askAI.beta","Beta version")),1)])]),t("div",lv,[(o(!0),s(V,null,ce(e(b).isMobile?c.suggestions.slice(0,2):c.suggestions,(r,H)=>(o(),s("span",{key:H,class:"askai-chip",onClick:()=>p(r)},[g(we,{name:"search-loading-icon"}),t("p",null,a(r),1)],8,iv))),128))]),t("div",{class:K(["askai-input-box",{focused:d.value.trim().length>0}])},[t("div",nv,[g(we,{name:"three-sparkles-icon"})]),Po(t("input",{"onUpdate:modelValue":_[0]||(_[0]=r=>d.value=r),type:"text",placeholder:e(l)("hotelDetail.askAI.placeholder","Ask anything..."),class:"askai-input",onKeyup:D,onClick:_[1]||(_[1]=Ce(()=>{},["stop"]))},null,40,rv),[[Ps,d.value]]),t("button",{onClick:Ce(M,["stop"]),class:"askai-send",style:ke({background:d.value.trim().length>0?"linear-gradient(135deg, #ec4899 0%, #f97316 100%)":"#f3f4f6",color:d.value.trim().length>0?"#ffffff":"#9ca3af",opacity:d.value.trim().length>0?1:.5,cursor:d.value.trim().length>0?"pointer":"not-allowed",boxShadow:d.value.trim().length>0?"0 2px 8px rgba(236, 72, 153, 0.4)":"none"})},[(o(),s("svg",cv,_[4]||(_[4]=[t("path",{d:"M5 12h14m-7-7l7 7-7 7","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])))],4)],2)])]))}}),dv=He(uv,[["__scopeId","data-v-cb65b49d"],["__file","AskAI.vue"]]),mv={class:"askai-wrapper"},vv={style:{position:"absolute",width:"0",height:"0",overflow:"hidden"}},pv={class:"askai-container"},hv={key:0,class:"askai-header-question"},gv={class:"askai-header-question-text"},fv={class:"askai-question-title"},yv={key:1,class:"askai-header"},kv={class:"askai-header-text"},_v={class:"askai-title"},bv={class:"askai-subtitle"},Rv={class:"askai-beta"},wv={key:2,class:"askai-suggestions"},$v=["onClick"],Cv={class:"askai-query"},Sv={key:0,class:"askai-answer-row"},Iv={class:"askai-answer-content"},Pv={class:"askai-answer-bubble"},Dv={key:0,class:"askai-citations"},Mv={class:"askai-citations-label"},xv={class:"askai-citations-list"},Tv={key:1,class:"askai-answer-row"},Av={class:"askai-error"},Ov={style:{width:"20px",height:"20px","flex-shrink":"0"},viewBox:"0 0 24 24",fill:"none",stroke:"#ef4444","stroke-width":"2"},Bv={key:0,class:"askai-response"},Fv={class:"askai-query"},Hv={class:"askai-disclaimer"},Lv={class:"askai-input-icon"},Gv=["placeholder"],qv=["disabled"],Ev={key:0,style:{width:"16px",height:"16px"},viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5"},Nv={key:1,style:{width:"16px",height:"16px",animation:"askai-spin 1s linear infinite"},viewBox:"0 0 24 24",fill:"none"},ps=50,jv=Le({__name:"ModalAskAi",props:{visible:{type:Boolean,default:!1},suggestions:{type:Array,default:()=>["Does the hotel have parking?","Does the hotel offer any amenities?","What dining options are available?"]},hotelId:{type:String,default:""},initialQuestion:{type:String,default:void 0}},emits:["update:visible","close"],setup(c,{emit:y}){const{t:l}=Fe(),i=c,d=y,p=u(""),M=u(!1),D=u(""),f=u([]),_=u(!1),r=u(null),H=$(()=>p.value.trim().length>0),h=$(()=>f.value.length>0||M.value||!!D.value),C=u(i.visible);_t(()=>{f.value=[],_.value=!1});const Q=()=>{Nt(()=>{r.value&&(r.value.scrollTop=r.value.scrollHeight)})};$e([()=>f.value.length,()=>M.value],()=>{Q()},{deep:!0}),$e(()=>C.value,B=>
12{B&&(Q(),i.initialQuestion&&i.initialQuestion.trim()&&Nt(()=>{const z=i.initialQuestion;z&&(p.value=z,w(!0))}))}),$e(()=>i.visible,B=>{C.value=B}),$e(()=>C.value,B=>{B||(d("close"),d("update:visible",!1))});function I(B){_.value||(_.value=!0,at("ask_ai_feature_used",{hotelId:i.hotelId,interactionType:B}))}async function w(B=!1){if(!H.value||M.value||!i.hotelId)return;I(B?"suggestion":"manual");const z=p.value.trim();D.value=z,p.value="",M.value=!0;try{const oe=await ka(i.hotelId,z),ie={query:z,answer:oe.answer||"",citations:oe.citations||void 0};f.value.push(ie),f.value.length>ps&&f.value.shift()}catch(oe){console.error("Ask AI Error:",oe);const ie=l("hotelDetail.askAI.error","Sorry, we couldn't get an answer. Please try again."),X={query:z,answer:"",error:ie};f.value.push(X),f.value.length>ps&&f.value.shift()}finally{M.value=!1,D.value=""}}function L(B){p.value=B,w(!0)}function S(B){B.key==="Enter"&&!B.shiftKey&&(B.preventDefault(),w())}function T(){C.value=!1}return(B,z)=>(o(),ne(e(Ze),{visible:C.value,"onUpdate:visible":z[2]||(z[2]=oe=>C.value=oe),modal:"",class:"askai-dialog",closable:!0,dismissableMask:!0,showHeader:!1,style:ke({width:e(b).isMobile?"100vw":"60vw",height:e(b).isMobile?"100dvh":"auto",maxHeight:e(b).isMobile?"100dvh":"80vh",borderRadius:e(b).isMobile?"0":"16px",overflow:"hidden"})},{default:ve(()=>[t("div",mv,[(o(),s("svg",vv,z[3]||(z[3]=[t("defs",null,[t("linearGradient",{id:"askai-gradient-modal",x1:"0%",y1:"0%",x2:"100%",y2:"100%"},[t("stop",{offset:"0%","stop-color":"#ec4899"}),t("stop",{offset:"100%","stop-color":"#f97316"})])],-1)]))),t("div",pv,[t("button",{onClick:T,class:"askai-close-button"},z[4]||(z[4]=[t("i",{class:"pi pi-times"},null,-1)])),h.value||e(b).isMobile?(o(),s("div",hv,[t("div",gv,[g(we,{name:"three-sparkles-icon"}),t("h3",fv,a(e(l)("hotelDetail.askAI.titleQuestion","Ask a question")),1)])])):n("",!0),h.value?n("",!0):(o(),s("div",yv,[t("div",kv,[t("h3",_v,a(e(l)("hotelDetail.askAI.title","Ask AI about this hotel")),1),t("p",bv,a(e(l)("hotelDetail.askAI.subtitle","Get instant answers with AI powered search of property information and reviews.")),1)]),t("div",Rv,[z[5]||(z[5]=t("span",{style:{width:"8px",height:"8px",background:`linear-gradient( 13 101deg, 14 #ff6a2a -0.23%, 15 #eb51ff 100% 16 )`,"border-radius":"50%","flex-shrink":"0"}},null,-1)),O(" "+a(e(l)("hotelDetail.askAI.beta","Beta version")),1)])])),!h.value&&!M.value?(o(),s("div",wv,[(o(!0),s(V,null,ce(e(b).isMobile?c.suggestions.slice(0,2):c.suggestions,(oe,ie)=>(o(),s("span",{key:ie,class:"askai-chip",onClick:X=>L(oe)},[g(we,{name:"search-loading-icon"}),t("p",null,a(oe),1)],8,$v))),128))])):n("",!0),h.value||M.value?(o(),s("div",{key:3,ref_key:"conversationChatRef",ref:r,class:"askai-conversation-chat"},[(o(!0),s(V,null,ce(f.value,(oe,ie)=>(o(),s("div",{key:ie,class:"askai-response"},[t("div",Cv,[t("span",null,a(oe.query),1)]),oe.answer&&!oe.error?(o(),s("div",Sv,[t("div",Iv,[t("div",Pv,[t("p",null,a(oe.answer),1),oe.citations&&oe.citations.length>0?(o(),s("div",Dv,[t("span",Mv,a(e(l)("hotelDetail.askAI.sources","Sources:")),1),t("div",xv,[(o(!0),s(V,null,ce(oe.citations,(X,G)=>(o(),s("span",{key:G,class:"askai-citation"},a(X),1))),128))])])):n("",!0)])])])):oe.error?(o(),s("div",Tv,[t("div",Av,[(o(),s("svg",Ov,z[6]||(z[6]=[t("circle",{cx:"12",cy:"12",r:"10"},null,-1),t("path",{d:"M12 8v4m0 4h.01","stroke-linecap":"round"},null,-1)]))),t("p",null,a(oe.error),1)])])):n("",!0)]))),128)),M.value?(o(),s("div",Bv,[t("div",Fv,[t("span",null,a(D.value),1)]),z[7]||(z[7]=t("div",{class:"askai-answer-row"},[t("div",{class:"askai-typing"},[t("span"),t("span"),t("span")])],-1))])):n("",!0)],512)):n("",!0),t("p",Hv,a(e(l)("hotelDetail.askAI.disclaimer","AI-generated answers may be inaccurate or out of date. Please confirm important or time-sensitive details directly with the hotel before you rely on them.")),1),t("div",{class:K(["askai-input-box",{focused:H.value}])},[t("div",Lv,[g(we,{name:"three-sparkles-icon"})]),Po(t("input",{"onUpdate:modelValue":z[0]||(z[0]=oe=>p.value=oe),type:"text",placeholder:e(l)("hotelDetail.askAI.placeholder","Ask anything..."),class:"askai-input",onKeyup:S},null,40,Gv),[[Ps,p.value]]),t("button",{onClick:z[1]||(z[1]=()=>w()),disabled:!H.value||M.value,class:"askai-send",style:ke({background:H.value&&!M.value?"linear-gradient(135deg, #ec4899 0%, #f97316 100%)":"#edeef1",color:H.value&&!M.value?"#ffffff"
16:"#9ca3af",cursor:H.value&&!M.value?"pointer":"not-allowed",boxShadow:H.value&&!M.value?"0 2px 8px rgba(236, 72, 153, 0.4)":"none"})},[M.value?(o(),s("svg",Nv,z[9]||(z[9]=[t("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4",opacity:"0.25"},null,-1),t("path",{fill:"currentColor",opacity:"0.75",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"},null,-1)]))):(o(),s("svg",Ev,z[8]||(z[8]=[t("path",{d:"M5 12h14m-7-7l7 7-7 7","stroke-linecap":"round","stroke-linejoin":"round"},null,-1)])))],12,qv)],2)])])]),_:1},8,["visible","style"]))}}),zv=He(jv,[["__scopeId","data-v-8b1f7a85"],["__file","ModalAskAi.vue"]]),Uv={key:0,class:"grid-container"},Vv={class:"container"},Jv={key:2,class:"card"},Qv={key:1,class:"v-hotelDetail",itemscope:"",itemtype:"https://schema.org/Hotel"},Wv=["content"],Kv=["content"],Yv={itemscope:"",itemtype:"https://schema.org/PostalAddress",itemprop:"address"},Xv=["content"],Zv=["content"],ep=["content"],tp={key:0,class:"perk-banner-mobile"},op=["onClick"],sp={class:"parent-container"},ap={key:0,class:"perk-banner-desktop"},lp={class:"title-section-content-container"},ip={class:"title-section--content"},np={class:"back-text"},rp={class:"title-section--content--title"},cp={class:"title","data-testid":"hotel-title"},up={class:"stars"},dp=["data-i"],mp={class:"title-section--content--address"},vp={class:"address"},pp={key:0,class:"distance"},hp={class:"title-section--buttons"},gp={class:"title-section--buttons--save"},fp={key:0,class:"detail-stay-loyalty-banner mt-3 w-full"},yp={class:"tab-container no-scrollbar desktop"},kp=["onClick"],_p={key:0,class:"flex justify-content-center align-items-center fromPrice"},bp={key:1,class:"initialPrice"},Rp={key:0},wp={key:1},$p={key:2},Cp={class:"title-section--buttons--rooms"},Sp={class:"flex"},Ip={key:3,class:"card first"},Pp={class:"header"},Dp={class:"content"},Mp={class:"title"},xp={"data-testid":"hotel-title"},Tp={class:"stars"},Ap=["data-i"],Op={class:"address"},Bp={key:0,class:"info"},Fp={key:1,class:"reviews-subheader mobile"},Hp={class:"rating-info"},Lp={key:0,class:"text-left"},Gp={key:1},qp={key:2},Ep={key:2,class:"detail-stay-loyalty-banner mt-3 w-full"},Np={key:3,class:"show__map__section"},jp={class:"popular-facilities"},zp={key:0,class:"overview-suggestion"},Up={class:"overview-wrapper"},Vp={class:"popular-facilities--title"},Jp={class:"flex gap-2 align-items-center"},Qp={class:"title"},Wp=["innerHTML"],Kp={class:"rooms"},Yp={class:"section",id:"hotel-rates","data-testid":"hotel-rates"},Xp={class:"flex gap-2 align-items-center rooms-header"},Zp={key:0,class:"alternative-info"},eh={class:"alternative-info__message"},th={key:2,class:"search-wrapper"},oh={key:3,class:"filter-wrapper"},sh={class:"toggles"},ah={key:0,class:"pi pi-times"},lh={key:1,class:"pi pi-plus"},ih={key:0,class:"pi pi-times"},nh={key:1,class:"pi pi-plus"},rh={key:0,class:"pi pi-times"},ch={key:1,class:"pi pi-plus"},uh={key:0,class:"pi pi-times"},dh={key:1,class:"pi pi-plus"},mh={key:0,class:"pi pi-times"},vh={key:1,class:"pi pi-plus"},ph={key:0,class:"pi pi-times"},hh={key:1,class:"pi pi-plus"},gh={key:0,class:"pi pi-times"},fh={key:1,class:"pi pi-plus"},yh={class:"rooms-container"},kh={key:0,class:"h-10 spinner-container"},_h={key:2,class:"rooms-list"},bh={class:"flex justify-content-between align-items-start gap-2 flex-wrap"},Rh={key:0,class:"w-full"},wh={key:1},$h={key:0,class:"flex gap-2 align-items-center mb-2"},Ch={key:1,class:"soldout-cards"},Sh={key:2,class:"soldout-mobile-cards"},Ih={class:"p-carousel-header__flex"},Ph={class:"p-carousel-header__flex__navigators"},Dh={class:"hotel-card-slider"},Mh={key:3,class:"showMore-btn"},xh={class:"title"},Th={class:"reviews-modal-content p-0"},Ah={key:7,class:"card property-description radius_md",id:"hotel-description","data-testid":"hotel-description"},Oh=["innerHTML"],Bh={key:8,class:"similar-hotels-container card"},Fh={class:"stars"},Hh={key:0,class:"info"},Lh={key:1,class:"info"},Gh={key:0,class:"mobile-fromPrice title-section--buttons--rooms"},qh={key:0,class:"initialPrice"},Eh={class:"flex align-items-baseline gap-1 price"},Nh={key:0},jh={key:1},zh={key:2},Uh={class:"flex align-items-center justify-content-between"},Vh=null,hs=null,Jh=Le({__name:"HotelDetail",setup(c){const y=u(ye?.project?.settings||{}),l=_a(),i=$(()=>ye.project?.settings?.lockSearchBar===!0),{isGrabPreset:d}=gs(),{isQueryMode:p}=Do(),M=$(()=>{if(!R.value)return 0;const v=P.value?.[0]?.[0];if(v){const m=v.memberPrice??v.guestPrice??v.offerRetailRate?.amount;if(m!=null&&m>0)return m}return R.value.price??0}),D=$(()=>P.value?.[0]?.[0]?.loyaltyPoints??null),f=$(()=>p.value&&M.value>0?!0:(D.value??0)>0&&ba("appearance.label")),_={extends:Is,props:{numVisible:Number,numScroll:Number},methods:{onTouchMove(){}}},{t:r,locale:H}=Fe(),h=Io(),C=u(!0),Q=u(!1),I=u(),w=u(!1),L=u(void 0),S=u(!0),T=u([]),B=$(()=>[{key:"overview",label:r("hotelDetail.sections.overview.label")},{key:"facilities",label:r("hotelDetail.sections.facilities.shortL
16abel")},{key:"rooms",label:r("hotelDetail.sections.rooms.label")},{key:"reviews",label:r("hotelDetail.sections.reviews.shortLabel")},{key:"description",label:r("hotelDetail.sections.description.label")}].filter(m=>!(m.key==="reviews"&&!R.value?.reviews?.length||m.key==="facilities"&&!R.value?.facilities?.length||m.key==="description"&&!R.value?.hotelDescription)).map(m=>m.label)),z=u(0),oe=u(!1),ie=$(()=>({[r("hotelDetail.sections.overview.label")]:"hotel-overview",[r("hotelDetail.sections.facilities.shortLabel")]:"hotel-facilities",[r("hotelDetail.sections.reviews.shortLabel")]:"hotel-reviews",[r("hotelDetail.sections.rooms.label")]:"hotel-rates",[r("hotelDetail.sections.description.label")]:"hotel-description"})),X=()=>{const m=document.querySelector(".tab-container")?.clientHeight||0,j=b.isMobile?60:80,k=ot(R?.value?.id||"",T.value)?b.isMobile?60:80:0;return m+j+k},G=v=>{const m=document.getElementById(v);if(!m)return;oe.value=!0;const j=X(),ue=m.getBoundingClientRect().top+window.pageYOffset-j;window.scrollTo({top:ue,behavior:"smooth"}),setTimeout(()=>{oe.value=!1},800)},Z=v=>
16{const m=B.value.indexOf(v);z.value=m;const j=ie.value[v];j&&(window.history.replaceState(history.state,"",`${window.location.pathname}${window.location.search}#${j}`),G(j))},q=u(""),J=()=>{if(oe.value)return;const v=B.value.map(Oe=>document.getElementById(ie.value[Oe])),m=X(),j=window.innerHeight,k=window.scrollY,ue=document.documentElement.scrollHeight,Ve=k+j>=ue-100;let Ye=-1;for(let Oe=v.length-1;Oe>=0;Oe--){const Xe=v[Oe];if(!Xe)continue;if(Xe.getBoundingClientRect().top<=m+20){Ye=Oe;break}}if(Ve&&Ye<v.length-1&&v[v.length-1]&&(Ye=v.length-1),Ye>=0&&z.value!==Ye){z.value=Ye;const Oe=B.value[Ye],Xe=ie.value[Oe];Xe&&q.value!==Xe&&(window.history.replaceState(history.state,"",`${window.location.pathname}${window.location.search}#${Xe}`),q.value=Xe)}const ht=document.getElementById("hotel-rates");if(ht){const Oe=ht.getBoundingClientRect(),gt=Oe.top<j-250&&Oe.bottom>0;C.value=!gt}};let te;const fe=()=>{te&&clearTimeout(te),te=window.setTimeout(J,100)};window.addEventListener("scroll",fe,{passive:!0});const R=u(Vh),A=u(hs),P=u(hs),he=u({}),me=u(0),_e=u(!1),ae=u(!1),U=u(""),x=Qt(),Te=Km(x.query.showRooms),F=So(),re=qa(),Y=u(!1),N=u(!1),ee=u([]),be=u([]),Ne=u(!1),De=u("facilities"),xe=u(""),Se=u(""),Re=u(""),Ge=u(1),Be=u(2),Ae=u(""),E=u(""),pe=u(!1),ge=u(!1),Ee=u(!1),W=u(!1),le=u(!1),se=u(!1),Ie=u(!1),Ue=u([]),qe=u("center"),Dt=u({checkin:"",checkout:"",occupancies:""}),mt=$(()=>de.fromISO(Re.value).diff(de.fromISO(Se.value),"days").days),et=$(()=>x.query.ratePlanId||void 0),{googleMatchRateId:xo,displayGroupRooms:Kt}=yu(()=>P.value,et),qs=$(()=>{const v=Ae.value?Ae.value.split(",").filter(m=>m.trim()!=="").length:0;return(Be.value||0)+v}),To=$(()=>et.value?ye.hotel?.id||x.params.id||void 0:x.params.id||void 0);Ru({hotelIdentifier:()=>To.value,groups:()=>Kt.value,googleRatePlanId:et,checkin:()=>Se.value,checkout:()=>Re.value,occupancyGuests:qs,hidePrices:()=>y.value.hidePrices===!0,maxRatesPerCard:4});const Yt=u(Te),Xt=u(!0),Zt=u(""),Mt=u(Te),eo=u([]),bt=u({cons:[],pros:[],categories:[]}),Ht=u(""),Es=u(""),lt=u(null),vt=u(!1),Ao=u(null),Oo=u(null),Bo=u(null),Fo=u(null),Ho=u(null),Lo=u(""),Rt=u(!1),Go=$(()=>{if(!P.value||!R.value?.mapped)return[];let v=[];return P.value?.flat().forEach(m=>m.rates.flat().forEach(j=>R.value?.mapped&&j.mappedRoomId&&v.push(j.mappedRoomId))),[...new Set(v)]}),it=$(()=>!R.value?.rooms||!Go.value?[]:R.value?.rooms?.filter(v=>!Go.value.includes(v.id))),qo=async v=>{if(b.isAuthenticated){try{const{toggleFavourite:m}=await uo(async()=>{const{toggleFavourite:j}=await import("./main-kBzK4eIG.js").then(k=>k.eK);return{toggleFavourite:j}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));await m(v),Rt.value=b.favouriteHotelIds.includes(v)}catch{try{await Eo(v)}catch(j){console.error("Error managing favorite hotel:",j)}}return}Lt.value=!0,jo.value=!0},Eo=async v=>{try{const m=b.favouriteHotelIds.includes(v);Rt.value=m}catch(m){console.error("Error checking if hotel is favorite:",m),Rt.value=!1}},to=u(""),oo=u(""),so=u(""),Ns=()=>{b.isMobile?(to.value="400px",oo.value="100%",so.value="0px"):(to.value="450px",oo.value="fit-content",so.value="24px")},Lt=u(!1),js=()=>{jo.value=!1,Lt.value=!1},No=()=>{Mt.value=!Mt.value},zs=v=>{if(De.value===v){De.value="";return}De.value=v},Us=Ua(()=>uo(()=>import("./HotelDetailMap-CS1B3EF5.js"),__vite__mapDeps([10,0,1,2,3,4,5,6,7,8,9,11,12,13,14]))),jo=u(!1),Vs=u(ye.project.settings.showUnmappedRates===!0),Js=u(ye.project.settings.shouldShowSoldOutRates===!0||Te),ao=()=>{C.value=!1;let v,m,j;if(P.value?.[0]?.[0]){const ue=P.value[0][0];v=ue.memberPrice??ue.guestPrice??ue.offerRetailRate?.amount,m=ue.guestPrice,j=ue.memberPrice}!v&&R.value?.price&&(v=R.value.price);const k=ae.value&&(!P.value||P.value.length===0);re.open(Us,{props:{modal:!0,closable:!0,dismissableMask:!0,unstyled:!0,contentClass:"map-overlay overflow-hidden",showHeader:!1},data:{selectedHotel:R.value,checkin:Se.value,checkout:Re.value,occupancies:E.value,rooms:Ge.value,currentHotelPrice:v,currentGuestPrice:m,currentMemberPrice:j,nights:mt.value,isUnavailable:k}})},xt=u(b.isAuthenticated);$e(()=>b.guest,()=>{xt.value=b.isAuthenticated});const Qs=vl(()=>{ae.value=!1,wt()},80);Ea(()=>{b.currency,b.guestNationality,b.guest,Qs()}),$e(()=>b.language,()=>{io()}),$e(()=>b.agentMargin,(v,m)=>{m!==void 0&&ut&&b.guest?.isAgent&&wt()}),$e(()=>x.params.id,v=>{v&&v!==xe.value&&(xe.value=v,io())});const lo=()=>{const v=r("hotelDetail.sections.rooms.label"),m=B.value.indexOf(v);if(m!==-1){z.value=m;const j="hotel-rates";window.history.replaceState(history.state,"",`${window.location.pathname}${window.location.search}#${j}`),G(j)}},Gt=v=>R.value?.rooms?.find(j=>j.id==v);$e(()=>[x.query.checkin,x.query.checkout],([v,m])=>{v!==void 0&&(Se.value=v),m!==void 0&&(Re.value=m)},{immediate:!0});const zo=()=>{const v=new URLSearchParams(window.location.search);v.set("checkin",Se.value),v.set("checkout",Re.value),v.set("rooms",Ge.value),v.set("adults",Be.value),v.set("children",Ae.value),v.set("occupancies",E.value),[{key:"needBreakfast",value:ge.value},{key:"needFreeCancellation",value:pe.value},{key:"needHalfBoard",value:Ee.value},{key:"needFullBoard",value:W.value},{key:"needAllInclusive",value:le.value},{key:"needDinnerIncluded",value:se.value},{key:"needLunchIncluded",value:Ie.value}
16].forEach(k=>{k.value?v.set(k.key,"1"):v.delete(k.key)});const j=`${window.location.origin}${window.location.pathname}?${v.toString()}${window.location.hash}`;window.history.replaceState(history.state,"",j)},Ws=()=>{const v=Lo.value||window.location.hash;if(!v)return;const m=v.substring(1),j=Object.keys(ie.value).find(k=>ie.value[k]===m);j&&B.value.includes(j)&&Z(j)},tt=()=>{if(zo(),!A.value)return;const v={needFreeCancellation:pe.value,needBreakfast:ge.value,needHalfBoard:Ee.value,needFullBoard:W.value,needAllInclusive:le.value,needDinnerIncluded:se.value,needLunchIncluded:Ie.value};if(Object.values(v).every(j=>!j)){if(Vs.value){P.value=A.value;return}A.value?P.value=A.value.filter(k=>k.some(ue=>ue.rates.filter(Ve=>Ve.mappedRoomId).length===ue.rates.length)):P.value=[];let j=[...new Set(A.value.map(k=>k.filter(ue=>!ue.rates.some(Ve=>Ve.mappedRoomId))).filter(k=>k.length>0).flat())];console.debug("Unmapped rates",j);return}function m(j){const{formattedCancellationPolicies:k,boardType:ue,cancellationPolicies:Ve}=j,Ye=k?.hasFreeCancellation,ht=Ve?.refundableTag;let Oe=!0;v.needFreeCancellation&&(Oe=Oe&&(Ye??!1)&&ht==="RFN");const gt=Object.entries({needBreakfast:"BI",needHalfBoard:"HB",needFullBoard:"FB",needAllInclusive:"AI",needDinnerIncluded:"DI",needLunchIncluded:"LI"}).filter(([St])=>v[St]).map(([,St])=>St);return gt.length>0&&(Oe=Oe&>.includes(ue)),Oe}P.value=A.value.map(j=>j.filter(k=>k.rates.some(ue=>m(ue))).filter(k=>k.rates.length>0)).filter(j=>j.length>0),at("room_filter_applied",{needFreeCancellation:pe.value,needBreakfast:ge.value,needHalfBoard:Ee.value,needFullBoard:W.value,needAllInclusive:le.value,needDinnerIncluded:se.value,needLunchIncluded:Ie.value})};function Ks(){Ba(x.query.placeId).then(v=>{if(he.value=v,qe.value=Fa(he.value,x.query.name),v&&R.value&&v.geometry){const m={x:R.value.latitude,y:R.value.longitude,distance:0},j=ul({x:v.geometry.location.lat,y:v.geometry.location.lng},[m,m]);j.length>0&&(me.value=j[0].distance)}}).catch(()=>{})}const Uo=$(()=>l.similarHotelsVariant);_t(()=>{uo(()=>import("./HotelDetailMap-CS1B3EF5.js"),__vite__mapDeps([10,0,1,2,3,4,5,6,7,8,9,11,12,13,14])),Lo.value=window.location.hash,Ns(),Dt.value={checkin:x.query.checkin,checkout:x.query.checkout,occupancies:x.query.occupancies};const v=Ra(x.query);Zt.value=v.sessionId||v.trackingId||"",(()=>{const rt=kt(R.value?.rating||0);document.getElementById("ratingBadge")&&document.documentElement.style.setProperty("--custom-ribbon-color",rt)})(),xe.value=x.params.id,Qo();const j=de.fromISO(x.query.checkin).toJSDate(),k=de.fromISO(x.query.checkout).toJSDate(),ue=new Date,Ve=new Date(j.getFullYear(),j.getMonth(),j.getDate()),Ye=new Date(k.getFullYear(),k.getMonth(),k.getDate()),ht=new Date(ue.getFullYear(),ue.getMonth(),ue.getDate());if((Ve<ht||!x.query.checkin||!x.query.checkout||Ve>Ye)&&(x.query.checkin=de.now().plus({days:1}).toISODate(),x.query.checkout=de.now().plus({days:2}).toISODate()),Ve<ht||!x.query.checkin||!x.query.checkout){const rt=de.now().plus({days:1});x.query.checkin=rt.toISODate(),x.query.checkout=rt.plus({days:1}).toISODate()}const Oe=de.fromISO(Se.value),Xe=de.fromISO(Re.value),gt=de.now().startOf("day");if((!Se.value||!Re.value||Oe<gt||Xe<Oe)&&(Se.value=de.now().plus({days:1}).toISODate(),Re.value=de.now().plus({days:2}).toISODate()),Se.value=x.query.checkin,Re.value=x.query.checkout,x.query.occupancies){E.value=x.query.occupancies;const rt=st(E.value);Ge.value=go(rt),Be.value=fo(rt),Ae.value=yo(rt).join(",")}else Ge.value=parseInt(x.query.rooms||1),Be.value=parseInt(x.query.adults||2),Ae.value=x.query.children||"",E.value=ws(wa(Ge.value,Be.value,Ae.value));pe.value=!!x.query.needFreeCancellation,ge.value=!!x.query.needBreakfast,Ee.value=!!x.query.needHalfBoard,W.value=!!x.query.needFullBoard,le.value=!!x.query.needAllInclusive,se.value=!!x.query.needDinnerIncluded,Ie.value=!!x.query.needLunchIncluded,h.checkin=Se.value,h.checkout=Re.value,h.rooms=Ge.value,h.adults=Be.value,h.children=Ae.value.split(","),h.occupancies=st(E.value),io();const St=()=>{at("similar_hotels_feature_enabled",{variant:Uo.value,hotelId:x.params.id,occupancies:E.value,checkin:Se.value,checkout:Re.value,firstSearch:no.value===0,routerFrom:x.redirectedFrom?.name??x.redirectedFrom?.fullPath??"direct_link"})};
16l.isInitialized&&St(),b.isAuthenticated&&Eo(xe.value)});const io=async()=>{const v={hotelId:xe.value,checkin:Se.value,checkout:Re.value,rooms:Ge.value,adults:Be.value,children:Ae.value,occupancies:st(E.value)};_e.value=!1;try{const m=await $a(v,x,F);if(m===null)return;if(!m)throw new Error("No hotel data found.");R.value=m,Ca(m.name??""),h.setHotelData({name:m.name,city:m.city,country:m.country,address:m.address,latitude:m.latitude,longitude:m.longitude}),Ys(m),Xs(m),Nt(()=>{Ws()}),m.latitude&&m.longitude&&Ks(),wt(),Qo()}catch(m){if(m?.response?.status===404)return F.push({name:"notFound",query:{originalUrl:window.location.href,hotelId:xe.value}});U.value=m.response?.data?.error||m.message,console.error("Failed to find hotel:",m)}finally{_e.value=!0}},Ys=v=>{try{const m=Sa(v);if(!m){Ue.value=[];return}const j=Ia(v,m).filter(k=>k!=null);Ue.value=[m,...j]}catch(m){console.error("Error processing hotel images:",m),Ue.value=[]}};function Vo(v,m,j){const k=ue=>`${ue}${ue.includes("?")?"&":"?"}width=${m}&height=${j}&quality=85&sharpen=true`;return{...v,url:k(v.url),urlHd:v.urlHd?k(v.urlHd):v.urlHd}}const Xs=v=>{if(!v||!v.facilities){ee.value=[],N.value=!1;return}ee.value=v.facilities?v.facilities.filter(m=>m.name!=="").sort((m,j)=>m.id-j.id):[],N.value=ee.value!==void 0&&ee.value.length>0&&ee.value[0]?.id!==0},wt=()=>{_e.value=!1,ae.value=!1,A.value=[];const v={hotelId:xe.value,checkin:Se.value,checkout:Re.value,rooms:Ge.value,adults:Be.value,children:Ae.value,occupancies:E.value?st(E.value):[{adults:2,children:[]}]};Ht.value="",Be.value===2&&Ae.value===""&&(vt.value=!0,Pa(xe.value,Se.value,Re.value).then(m=>{vt.value=!1,Es.value=m.suggestion,m.alternatives.length&&(be.value=m.dailyRates,lt.value=m.alternatives[0],lt.value.savings_percentage>5&&(Ht.value=r("hotelDetail.alternativeText",{checkin:de.fromISO(lt.value?.alternative_checkin).setLocale(H.value).toFormat("MMMM dd"),checkout:de.fromISO(lt.value?.alternative_checkout).setLocale(H.value).toFormat("MMMM dd"),savings:lt.value.savings_percentage})))}).catch(m=>{vt.value=!1,console.error(m)})),Da(v).then(m=>{_e.value=!0,ae.value=!0,A.value=m,T.value=yt(A.value?.[0],{sourceRoom:!0}),P.value=[],tt()}).catch(m=>{_e.value=!0,ae.value=!0,P.value=[],U.value=m.response?.data?.error||m.message,console.error(m)})},no=u(0),qt=v=>{ae.value=!1,A.value=[],Se.value=v.checkin,Re.value=v.checkout,Ge.value=v.rooms,Be.value=v.adults,Ae.value=v.children,E.value=v.occupancies,h.checkin=v.checkin,h.checkout=v.checkout,zo(),Xt.value=JSON.stringify(Dt.value)===JSON.stringify({checkin:Se.value,checkout:Re.value,occupancies:E.value}),wt(),no.value+=1};Cs(()=>{window.removeEventListener("scroll",fe),h.clearHotelData()});const Zs=()=>{const v={...x.query};!v.placeId&&R.value?.latitude&&R.value?.longitude&&(v.placeId=`${R.value.latitude},${R.value.longitude}`),!v.name&&R.value?.city&&R.value?.country&&(v.name=`${R.value.city}, ${R.value.country}`);const m=new URLSearchParams;Object.entries(v).forEach(([j,k])=>{k!=null&&k!==""&&(Array.isArray(k)?k.forEach(ue=>m.append(j,String(ue))):m.append(j,String(k)))}),window.location.href=`/hotels${m.toString()?`?${m}`:""}`};$e(ae,v=>{v&&!P.value?.length&&at("hotel_detail:no_rooms_available",{hotelId:x.params.id,occupancies:E.value,checkin:Se.value,checkout:Re.value,firstSearch:no.value===0,routerFrom:x.redirectedFrom?.name??x.redirectedFrom?.fullPath??"direct_link"}),ea(v)}),$e([()=>P.value,()=>ae.value],([v,m])=>{if(R.value?.id)if(v?.[0]?.[0]){const j=v[0][0],k=j.memberPrice??j.guestPrice??j.offerRetailRate?.amount;k&&window.dispatchEvent(new CustomEvent("hotel-price-update",{detail:{hotelId:R.value.id,price:k,guestPrice:j.guestPrice,memberPrice:j.memberPrice,isUnavailable:!1}}))}else m&&(!v||v.length===0)&&window.dispatchEvent(new CustomEvent("hotel-price-update",{detail:{hotelId:R.value.id,isUnavailable:!0}}))},{immediate:!0});const ea=v=>{if(v&&x.query.scrollTo==="rooms"){lo();const m=B.value.indexOf("Rooms");m!==-1&&(z.value=m)}},nt=u(0),ta=()=>{nt.value>0&&(nt.value=nt.value-1)},oa=()=>{it.value&&nt.value<it.value.length&&(nt.value=nt.value+1)},sa=()=>{if(lt.value){const v=lt.value.alternative_checkin,m=lt.value.alternative_checkout;qt({checkin:v,checkout:m,rooms:Ge.value,adults:Be.value,children:Ae.value,occupancies:E.value}),h.checkin=v,h.checkout=m,Se.value=v,Re.value=m}},aa=()=>{Yt.value=!0},ro=$(()=>P.value?.[0]?.[0]?{rates:P.value?.[0]?.[0].rates||[],supplier:P.value?.[0]?.[0].supplier}:{rates:[],supplier:""}),$t=$(()=>ro.value.rates?.[0]?.retailRate&&ro.value.rates[0].retailRate.taxesAndFees||[]),Ct=$(()=>ro.value.rates?.[0]?.commission||[]);$e(()=>Ha(xe.value),v=>{Rt.value=v});const pt=u(!1);ye.project.settings&&typeof ye.project.settings.guestMarkup<"u"&&ye.project.settings.guestMarkup>0&&(pt.value=!0);const Jo=$(()=>A.value?A.value.some(v=>v.some(m=>m.rates.some(j=>j.formattedCancellationPolicies?.hasFreeCancellation===!0&&j.cancellationPolicies.refundableTag==="RFN"))):!1),Je=v=>A.value?A.value.some(m=>m.some(j=>j.rates.some(k=>k.boardType===v))):!1,co=()=>{Q.value=!0};
16$e(R,()=>{eo.value=R.value?.reviews||[];const v=R.value?.reviewSentiment;try{bt.value=typeof v=="string"?v==="neutral"||v==="positive"||v==="negative"?{cons:[],pros:[],categories:[],sentiment:v}:JSON.parse(v||'{"cons":[],"pros":[],"categories":[]}'):v||{cons:[],pros:[],categories:[]}}catch(m){console.warn("Failed to parse reviewSentiment:",v,m),bt.value={cons:[],pros:[],categories:[]}}}),$e(()=>A.value,()=>{pe.value&&!Jo.value&&x.query.needFreeCancellation!=="1"&&(pe.value=!1),ge.value&&!Je("BI")&&x.query.needBreakfast!=="1"&&(ge.value=!1),Ee.value&&!Je("HB")&&x.query.needHalfBoard!=="1"&&(Ee.value=!1),W.value&&!Je("FB")&&x.query.needFullBoard!=="1"&&(W.value=!1),le.value&&!Je("AI")&&x.query.needAllInclusive!=="1"&&(le.value=!1),se.value&&!Je("DI")&&x.query.needDinnerIncluded!=="1"&&(se.value=!1),Ie.value&&!Je("LI")&&x.query.needLunchIncluded!=="1"&&(Ie.value=!1),tt()});const Qo=async()=>{try{S.value=!0;const v=ot(xe.value,T.value),m=await Ma(xe.value,v);I.value=m.highlights||[]}catch(v){console.error("Error fetching hotel highlights:",v),I.value=[]}finally{S.value=!1}};return(v,m)=>{const j=dt("font-awesome-icon");return o(),s(V,null,[g(xa,{visible:Lt.value,"onUpdate:visible":m[0]||(m[0]=k=>Lt.value=k),"modal-width":to.value,"modal-height":oo.value,"modal-border-radius":so.value,"show-info-step":!0,"info-icon":"gift-dialog","translation-namespace":"hotelDetail",onClose:js},null,8,["visible","modal-width","modal-height","modal-border-radius"]),U.value?(o(),s("div",Uv,[t("div",Vv,[U.value?(o(),ne(e(Na),{key:0,severity:"error"},{default:ve(()=>[O(a(U.value),1)]),_:1})):n("",!0),n("",!0),R.value?n("",!0):(o(),s("div",Jv,[g(e(je),{width:"30%",height:"3rem",class:"mt-4 mb-2"}),g(e(je),{width:"50%",class:"mb-2"}),g(e(je),{width:"100%",class:"mb-2"}),g(e(je),{width:"100%",class:"mb-2"}),g(e(je),{width:"100%",class:"mt-6 mb-2"}),g(e(je),{width:"100%",class:"mb-2"}),g(e(je),{width:"100%",class:"mb-2"})]))])])):n("",!0),R.value&&!U.value?(o(),s("div",Qv,[t("meta",{itemprop:"name",content:R.value.name},null,8,Wv),t("meta",{itemprop:"identifier",content:To.value||R.value.id},null,8,Kv),t("div",Yv,[t("meta",{itemprop:"addressCountry",content:R.value.country},null,8,Xv),t("meta",{itemprop:"postalCode",content:R.value.zip},null,8,Zv),t("meta",{itemprop:"streetAddress",content:R.value.address},null,8,ep)]),e(b).isMobile?(o(),s(V,{key:0},[e(ot)(R.value.id,T.value)&&e(b).isMobile?(o(),s("div",tp,[g(Yo)])):n("",!0),g(e(es),{images:Ue.value,title:R.value.name,"show-all-label":e(r)("hotelDetail.sections.imageHeader.showAllPictures"),"back-to-grid-label":e(r)("hotelDetail.gallery.backToGallery"),"placeholder-alt":e(r)("hotelDetail.gallery.noHotelImage"),"placeholder-src":e(ds),"preview-video":R.value.video,"optimize-preview-image":Vo,"preview-id":"hotel-overview"},{"mobile-preview-overlay":ve(()=>[t("div",{class:"favourite-btn-container",onClick:m[1]||(m[1]=Ce(k=>qo(R.value.id),["stop"]))},[Rt.value?(o(),ne(we,{key:0,name:"heart-filled",color:"white"})):(o(),ne(we,{key:1,name:"heart",color:"white"}))])]),_:1},8,["images","title","show-all-label","back-to-grid-label","placeholder-alt","placeholder-src","preview-video"])],64)):n("",!0),e(b).isMobile?(o(),s("div",{key:1,class:K(["tab-container no-scrollbar mobile",{isHighlighted:e(ot)(R.value.id,T.value)}])},[(o(!0),s(V,null,ce(B.value,(k,ue)=>(o(),s("div",{key:ue,class:K({"active-tab":z.value===ue}),onClick:Ve=>Z(k)},a(k),11,op))),128)),t("span",{class:"askai-open-span",onClick:m[2]||(m[2]=Ce(k=>w.value=!0,["stop"]))},[O(a(e(r)("hotelDetail.askAI.openFromTabs","Ask AI"))+" ",1),m[25]||(m[25]=t("span",{class:"askai-open-span-icon"}," Beta ",-1))])],2)):n("",!0),t("div",sp,[e(ot)(R.value.id,T.value)&&!e(b).isMobile?(o(),s("div",ap,[g(Yo)])):n("",!0),e(b).isMobile?n("",!0):(o(),s(V,{key:1},[R.value?(o(),s("div",{key:0,class:K(["title-section",{"perk-banner-margin":!e(b).isMobile}]),ref_key:"hotelTitle",ref:Ao},[t("div",lp,[t("div",ip,[t("div",{class:"breadcrumb",onClick:Zs},[g(we,{name:"chevron-left"}),t("span",np,a(e(r)("hotelDetail.seeAllProperties")),1)]),t("div",rp,[t("h1",cp,a(R.value.name),1),t("div",up,[(o(!0),s(V,null,ce(Math.floor(R.value.stars),k=>(o(),s("i",{class:"pi pi-star-fill","data-i":k,key:k,style:{color:"#FF862E"}}
16,null,8,dp))),128))]),g(ft,{"ref-section":Ao.value,type:"bug",labelDiv:"hotelTitle"},null,8,["ref-section"])]),t("div",mp,[t("div",vp,[g(we,{name:"location",height:18,width:18}),t("span",null,a(R.value.address)+", "+a(R.value.city)+", "+a(R.value.country),1)]),R.value.distance?(o(),s("div",pp,[g(we,{name:"walking"}),t("span",null,a(R.value.distance),1)])):n("",!0),t("a",{href:"#",class:"show-map","data-testid":"hotel-map",onClick:Ce(ao,["prevent"])},[t("span",null,a(e(r)("hotelDetail.sections.titleSection.showOnMap")),1)])])]),t("div",hp,[t("div",gp,[!e(Ta)&&e(b).showLoginButton?(o(),ne(e(Me),{key:0,onClick:m[3]||(m[3]=k=>qo(R.value.id)),class:"radius_sm"},{default:ve(()=>[Rt.value&&e(b).isAuthenticated?(o(),ne(we,{key:0,name:"heart-filled"})):(o(),ne(we,{key:1,name:"heart",color:"#9DA4AE"})),t("span",null,a(e(r)("hotelDetail.sections.titleSection.save")),1)]),_:1})):n("",!0)])])]),f.value?(o(),s("div",fp,[g(jt,{"booking-total":M.value,Points:D.value,variant:"detail",class:"w-full"},null,8,["booking-total","Points"])])):n("",!0)],2)):n("",!0),g(e(es),{class:"radius_md mt-4",images:Ue.value,title:R.value.name,"show-all-label":e(r)("hotelDetail.sections.imageHeader.showAllPictures"),"back-to-grid-label":e(r)("hotelDetail.gallery.backToGallery"),"placeholder-alt":e(r)("hotelDetail.gallery.noHotelImage"),"placeholder-src":e(ds),"preview-video":R.value.video,"optimize-preview-image":Vo,"preview-id":"hotel-overview","preview-test-id":"hotel-overview-images"},null,8,["images","title","show-all-label","back-to-grid-label","placeholder-alt","placeholder-src","preview-video"])],64)),e(b).isMobile?n("",!0):(o(),s("div",{key:2,class:K(["tab-container__parent flex justify-content-between align-items-center",{"perk-banner-margin":e(ot)(R.value.id,T.value)}])},[t("div",yp,[(o(!0),s(V,null,ce(B.value,(k,ue)=>(o(),s("div",{key:ue,class:K({"active-tab":z.value===ue}),onClick:Ve=>Z(k)},a(k),11,kp))),128)),t("span",{class:"askai-open-span",onClick:m[4]||(m[4]=Ce(k=>w.value=!0,["stop"]))},[O(a(e(r)("hotelDetail.askAI.openFromTabs","Ask AI"))+" ",1),m[26]||(m[26]=t("span",{class:"askai-open-span-icon"}," Beta ",-1))])]),C.value?(o(),s("div",_p,[ae.value&&P.value?.length&&P.value[0]?.length&&y.value.hidePrices!==!0&&!et.value&&e(ut)&&e(b).canManageMargin?(o(),ne(el,{key:0,value:e(b).agentMargin,bordered:"",background:""},null,8,["value"])):n("",!0),ae.value&&P.value?.length&&P.value[0]?.length&&y.value.hidePrices!==!0&&!et.value?(o(),s("span",bp,[O(a(e(r)("hotelCard.priceFrom"))+" ",1),pt.value&&xt.value&&P.value[0][0].memberPrice!==void 0?(o(),s("strong",Rp,a(e(Pe)(P.value[0][0].memberPrice,mt.value,$t.value,Ct.value,e(b).currency)),1)):pt.value&&!xt.value&&P.value[0][0].guestPrice!==void 0?(o(),s("strong",wp,a(e(Pe)(P.value[0][0].guestPrice,mt.value,$t.value,Ct.value,e(b).currency)),1)):!pt.value&&P.value[0][0].offerRetailRate!==void 0?(o(),s("strong",$p,a(e(Pe)(P.value[0][0].offerRetailRate.amount,mt.value,$t.value,Ct.value,e(b).currency)),1)):n("",!0),O(" "+a(e(r)("hotelCard.nightly")),1)])):n("",!0),!ae.value&&!P.value?(o(),ne(j,{key:2,icon:["fas","ellipsis"],fade:"",size:"lg",color:"var(--theme-primary)"})):n("",!0),t("div",Cp,[g(e(Me),{onClick:lo,class:"radius_sm flex align-items-center justify-content-between gap-2"},{default:ve(()=>[t("span",Sp,a(e(r)("hotelDetail.sections.titleSection.showRooms")),1),g(we,{name:"chevron-down"})]),_:1})])])):n("",!0)],2)),e(b).isMobile?(o(),s("div",Ip,[t("div",Pp,[t("div",Dp,[t("div",Mp,[t("h1",xp,a(R.value.name),1),t("div",Tp,[(o(!0),s(V,null,ce(Math.floor(R.value.stars),k=>(o(),s("i",{class:"pi pi-star-fill","data-i":k,key:k},null,8,Ap))),128))])]),t("div",Op,[g(we,{name:"location2",height:20,width:20}),O(" "+a(R.value.address)+", "+a(R.value.city),1)]),me.value?(o(),s("div",Bp,[g(we,{name:"walking",height:20,width:20}),O(" "+a(e(Aa)(me.value))+" "+a(e(r)("hotelDetail.from"))+" "+a(qe.value)+" ",1),e(b).isMobile?(o(),s("a",{key:0,href:"#",class:"show-map",onClick:Ce(ao,["prevent"])},[t("span",null,a(e(r)("hotelDetail.showOnMap")),1)])):n("",!0)])):n("",!0),e(b).isMobile&&R.value.rating&&R.value.rating>0?(o(),s("div",Fp,[t("div",{class:K(["rating",{"no-reviews":!R.value.reviewsCount||!R.value.reviews||R.value.reviews?.length===0}]),onClick:m[5]||(m[5]=k=>co())},[t("div",{id:"ratingBadge",class:"ribbon",style:ke({backgroundColor:e(kt)(R.value.rating)})},a(e(Bt)(R.value.rating)),5),t("aside",Hp,[e(Ot)(R.value.rating)!==""?(o(),s("strong",Lp,a(e(r)(e(Ot)(R.value.rating))),1)):n("",!0),e(Ot)(R.value.rating)!==""&&R.value.reviewsCount&&R.value.reviews&&R.value.reviews?.length>0?(o(),s("span",Gp,"â¢")):n("",!0),R.value.reviewsCount&&R.value.reviews&&R.value.reviews?.length>0?(o(),s("span",qp,a(e(r)("hotelDetail.numberReviews",{number:R.value.reviewsCount})),1)):n("",!0)])],2)])):n("",!0),f.value?(o(),s("div",Ep,[g(jt,{"booking-total":M.value,Points:D.value,variant:"detail",class:"w-full"},null,8,["booking-total","Points"])])):n("",!0),e(b).isMobile?n("",!0):(o(),s("div",Np,[t("a",{href:"#",class:"show-map",onClick:Ce(ao,["prevent"])},[m[27]||(m[27]=t("i",{class:"pi pi-map",height:20,width:20},null,-1)),t("span",null,a(e(r)("hotelDetail.showOnMap")),1)])]))])])])):n("",!0),t("div",jp,[I.value||S.value?(o(),s("div",zp,[t("h2",null,a(e(r)("hotelDetail.highlights.title")),1),t("div",Up,[!S.value&&I.value?(o(!0),s(V,{key:0},ce(I.value,k=>(o(),ne(ms,{"is-highlighted":e(ot)(R.value.id,T.value)&&!e(ye).project.settings.disableHighlightsBorder,key:k.type,type:k.type,title:k.title,de
16scription:k.description,"is-loading":S.value},null,8,["is-highlighted","type","title","description","is-loading"]))),128)):(o(),s(V,{key:1},ce(3,k=>g(ms,{key:k,"is-loading":!0})),64))])])):n("",!0)]),ee.value&&ee.value.length>0?(o(),s("div",{key:4,class:"popular-facilities",id:"hotel-facilities",ref_key:"facilitiesSection",ref:Oo},[t("div",Vp,[t("div",Jp,[t("h2",Qp,a(e(r)("hotelDetail.sections.facilities.label")),1),g(ft,{"ref-section":Oo.value,type:"bug",labelDiv:"facilitiesSection"},null,8,["ref-section"])]),ee.value&&(ee.value?.length>16||e(b).isMobile&&ee.value?.length>4)?(o(),s("a",{key:0,class:"see-all",href:"#",onClick:m[6]||(m[6]=Ce(k=>Y.value=!Y.value,["prevent"]))},a(e(r)("hotelDetail.sections.facilities.seeAllFacilities")),1)):n("",!0)]),t("div",{class:K(["popular-facilities--content",{"show-all":Y.value}])},[(o(!0),s(V,null,ce(e(b).isMobile?ee.value?.slice(0,4):ee.value?.slice(0,16),k=>(o(),s("div",{class:"facility",key:k.id},[g(j,{icon:e(Ds)(k.id)},null,8,["icon"]),t("span",{innerHTML:k.name},null,8,Wp)]))),128))],2)],512)):n("",!0),g(Ou,{onClose:m[7]||(m[7]=k=>Y.value=!1),facilities:ee.value,showOverlay:Y.value},null,8,["facilities","showOverlay"]),bt.value?.categories?.length>0?(o(),ne(Kd,{key:5,id:"hotel-reviews-sentiment",reviewsCount:R.value.reviewsCount,reviewsSentiment:bt.value||{},rating:R.value.rating,onOpenReviewsDrawer:co},null,8,["reviewsCount","reviewsSentiment","rating"])):n("",!0),t("div",Kp,[t("div",Yp,[t("div",{class:"flex flex-column gap-3",ref_key:"roomSection",ref:Bo},[t("div",Xp,[t("h2",null,a(e(r)("hotelDetail.sections.rooms.chooseYourRoom")),1),g(ft,{"ref-section":Bo.value,type:"bug",labelDiv:"roomSection"},null,8,["ref-section"])]),!et.value&&(Ht.value||vt.value)&&y.value?.hidePrices!==!0&&P.value?.length?(o(),s("div",Zp,[t("div",eh,[vt.value?(o(),ne(j,{key:1,icon:"loader",height:28,width:28,spin:"",class:"loader"})):(o(),ne(we,{key:0,name:"sparkles",height:28,width:28})),t("span",null,a(vt.value?e(r)("hotelDetail.checkingLoader"):Ht.value),1)]),vt.value?n("",!0):(o(),s("button",{key:0,class:"alternative-info__btn",onClick:sa},a(e(r)("hotelDetail.changeDates")),1))])):n("",!0),ae.value&&P.value?.length===0&&!e(Te)?(o(),ne(Ka,{key:1,hotelId:xe.value,currentCheckin:Se.value,currentCheckout:Re.value,rooms:Ge.value,adults:Be.value,children:Ae.value,occupancies:E.value,currency:e(b).currency,parentHasRates:!!(P.value&&P.value.length>0),onChangeDates:m[8]||(m[8]=(k,ue)=>qt({checkin:k,checkout:ue,rooms:Ge.value,adults:Be.value,children:Ae.value,occupancies:E.value}))},null,8,["hotelId","currentCheckin","currentCheckout","rooms","adults","children","occupancies","currency","parentHasRates"])):n("",!0),i.value?n("",!0):(o(),s("div",th,[e(b).isMobile?(o(),ne(Eu,{key:1,inline:!0,roomSearch:!0,onChange:qt,style:{width:"40%",height:"100%"},source:"rooms",dailyRates:be.value,isLabel:!0},null,8,["dailyRates"])):(o(),ne(Oa,{key:0,inline:!0,roomSearch:!0,onChange:qt,style:{width:"40%",height:"100%"},source:"rooms",dailyRates:be.value,isLabel:!0},null,8,["dailyRates"]))])),!i.value&&ae.value&&P.value?.length?(o(),s("div",oh,[t("div",sh,[Je("BI")?(o(),s("a",{key:0,href:"#",class:K(["toggle-btn radius_sm",{active:ge.value}]),onClick:m[9]||(m[9]=Ce(k=>{ge.value=!ge.value,tt()},["prevent"]))},[O(a(e(r)("hotelDetail.sections.rooms.breakfastIncluded"))+" ",1),ge.value?(o(),s("i",ah)):(o(),s("i",lh))],2)):n("",!0),Je("HB")?(o(),s("a",{key:1,href:"#",class:K(["toggle-btn radius_sm",{active:Ee.value}]),onClick:m[10]||(m[10]=Ce(k=>{Ee.value=!Ee.value,tt()},["prevent"]))},[O(a(e(r)("hotelDetail.sections.rooms.halfBoard"))+" ",1),Ee.value?(o(),s("i",ih)):(o(),s("i",nh))],2)):n("",!0),Je("FB")?(o(),s("a",{key:2,href:"#",class:K(["toggle-btn radius_sm",{active:W.value}]),onClick:m[11]||(m[11]=Ce(k=>{W.value=!W.value,tt()},["prevent"]))},[O(a(e(r)("hotelDetail.sections.rooms.fullBoard"))+" ",1),W.value?(o(),s("i",rh)):(o(),s("i",ch))],2)):n("",!0),Je("AI")?(o(),s("a",{key:3,href:"#",class:K(["toggle-btn radius_sm",{active:le.value}]),onClick:m[12]||(m[12]=Ce(k=>{le.value=!le.value,tt()},["prevent"]))},[O(a(e(r)("hotelDetail.sections.rooms.allInclusive"))+" ",1),le.value?(o(),s("i",uh)):(o(),s("i",dh))],2)):n("",!0),Je("DI")?(o(),s("a",{key:4,href:"#",class:K(["toggle-btn radiu
16s_sm",{active:se.value}]),onClick:m[13]||(m[13]=Ce(k=>{se.value=!se.value,tt()},["prevent"]))},[O(a(e(r)("hotelDetail.sections.rooms.dinnerIncluded"))+" ",1),se.value?(o(),s("i",mh)):(o(),s("i",vh))],2)):n("",!0),Je("LI")?(o(),s("a",{key:5,href:"#",class:K(["toggle-btn radius_sm",{active:Ie.value}]),onClick:m[14]||(m[14]=Ce(k=>{Ie.value=!Ie.value,tt()},["prevent"]))},[O(a(e(r)("hotelDetail.sections.rooms.lunchIncluded"))+" ",1),Ie.value?(o(),s("i",ph)):(o(),s("i",hh))],2)):n("",!0),Jo.value&&!e(ye)?.project?.settings?.onlyRefundableRates?(o(),s("a",{key:6,href:"#",class:K(["toggle-btn radius_sm",{active:pe.value}]),onClick:m[15]||(m[15]=Ce(k=>{pe.value=!pe.value,tt()},["prevent"]))},[O(a(e(r)("hotelDetail.sections.rooms.freeCancellation"))+" ",1),pe.value?(o(),s("i",gh)):(o(),s("i",fh))],2)):n("",!0)])])):n("",!0)],512),t("div",yh,[ae.value?n("",!0):(o(),s("div",kh,[g(e(ja))])),e(b).isMobile?n("",!0):(o(),s("div",{key:1,class:"rooms-list",style:ke({opacity:ae.value?1:.15})},[(o(!0),s(V,null,ce(e(Kt),k=>(o(),ne(pu,{"is-highlighted":e(ot)(R.value.id,T.value),key:k[0].offerId+k.map(ue=>ue.rates.length).join("-")+e(x).query.occupancies,groupedRooms:k,currencySymbol:e(b).currency,mappedRooms:k.map(ue=>Gt(ue?.mappedRoomId)),checkin:Se.value,checkout:Re.value,rooms:Ge.value,adults:Be.value,children:Ae.value,"handle-get-mapped-room":Gt,onRefreshRooms:wt,occupancies:E.value,"tracking-id":Xt.value?Zt.value:void 0,"google-rate-plan-id":et.value,"google-match-rate-id":e(xo)},null,8,["is-highlighted","groupedRooms","currencySymbol","mappedRooms","checkin","checkout","rooms","adults","children","occupancies","tracking-id","google-rate-plan-id","google-match-rate-id"]))),128))],4)),e(b).isMobile&&ae.value?(o(),s("div",_h,[t("span",bh,[(o(!0),s(V,null,ce(e(Kt),k=>(o(),ne(ar,{key:k[0].offerId+k.map(ue=>ue.rates.length).join("-")+e(x).query.occupancies,"is-highlighted":e(ot)(R.value.id,T.value),groupedRooms:k,currencySymbol:e(b).currency,mappedRooms:k.map(ue=>Gt(ue?.mappedRoomId)),checkin:Se.value,checkout:Re.value,rooms:Ge.value,adults:Be.value,children:Ae.value,"handle-get-mapped-room":Gt,onRefreshRooms:wt,occupancies:E.value,"tracking-id":Xt.value?Zt.value:void 0,"google-rate-plan-id":et.value,"google-match-rate-id":e(xo)},null,8,["is-highlighted","groupedRooms","currencySymbol","mappedRooms","checkin","checkout","rooms","adults","children","occupancies","tracking-id","google-rate-plan-id","google-match-rate-id"]))),128))])])):n("",!0)]),ae.value&&!e(Te)&&(!P.value||P.value.length===0)?(o(),ne(vs,{key:0,"hotel-id":xe.value,checkin:Se.value,checkout:Re.value,occupancies:e(st)(E.value),hasNoRooms:P.value?.length===0,isLoadingRooms:!ae.value},null,8,["hotel-id","checkin","checkout","occupancies","hasNoRooms","isLoadingRooms"])):n("",!0),g(dv,{"hotel-id":xe.value,onOpenDialog:m[16]||(m[16]=k=>{L.value=k,w.value=!0})},null,8,["hotel-id"]),g(zv,{visible:w.value,"onUpdate:visible":m[17]||(m[17]=k=>w.value=k),hotelId:xe.value,initialQuestion:L.value,onClose:m[18]||(m[18]=k=>L.value=void 0)},null,8,["visible","hotelId","initialQuestion"])])]),ae.value&&it.value?.length&&Js.value?(o(),s("div",{key:6,class:"soldout mb-1",ref_key:"soldoutCard",ref:Fo},[Yt.value?n("",!0):(o(),s("div",Rh,[t("span",{onClick:aa,class:"showSoldout radius_md w-full"},[O(a(e(r)("hotelDetail.sections.rooms.showSoldOut"))+" ",1),g(we,{name:"chevron-down"})])])),Yt.value?(o(),s("div",wh,[e(b).isMobile?n("",!0):(o(),s("div",$h,[t("h2",null,a(e(r)(e(Te)?"hotelDetail.sections.rooms.label":"hotelDetail.sections.rooms.soldOutRooms")),1),g(ft,{"ref-section":Fo.value,type:"bug",labelDiv:"soldoutCard"},null,8,["ref-section"])])),e(b).isMobile?(o(),s("div",Sh,[g(_,{value:it.value,numVisible:1.2,numScroll:1,page:nt.value,"onUpdate:page":m[19]||(m[19]=k=>nt.value=k),"show-navigators":!1},{header:ve(()=>[t("div",Ih,[t("h2",null,a(e(r)(e(Te)?"hotelDetail.sections.rooms.label":"hotelDetail.sections.rooms.soldOutRooms")),1),t("div",Ph,[g(e(Me),{class:"p-carousel-prev",icon:"pi pi-chevron-left",size:"small",onClick:ta,text:"",rounded:""}),g(e(Me),{class:"p-carousel-next",icon:"pi pi-chevron-right",size:"small",onClick:oa,text:"",rounded:""})])])]),item:ve(k=>[t("div",Dh,[g(us,{room:k.data,tag:e(Te)?void 0:"soldOut"},null,8,["room","tag"])])]),_:1},8,["value","page"])])):(o(),s("div",Ch,[(o(!0),s(V,null,ce(it.value.slice(0,Mt.value?it.value.length:3),k=>(o(),ne(us,{key:k.id,room:k,tag:e(Te)?void 0:"soldOut"},null,8,["room","tag"]))),128))])),e(b).isMobile?n("",!0):(o(),s("div",Mh,[Mt.value&&it.value?.length>3?(o(),ne(e(Me),{key:0,class:"toggle-content",onClick:Ce(No,["prevent"]),link:""},{default:ve(()=>[O(a(e(r)("hotelDetail.sections.rooms.showLess")),1)]),_:1})):!Mt.value&&it.value?.length>3?(o(),ne(e(Me),{key:1,class:"toggle-content",onClick:Ce(No,["prevent"]),link:""},{default:ve(()=>[O(a(e(r)("hotelDetail.sections.rooms.showMoreRooms")),1)]),_:1})):n("",!0)]))])):n("",!0)],512)):n("",!0),g(cs,{id:"hotel-reviews","data-testid":"hotel-reviews",reviews:eo.value,rating:R.value?.rating,reviewsCounts:R.value?.reviewsCount,ReviewsSentiment:bt.value,mobileCardSlider:!0,onOpenReviewsDrawer:co},null,8,["reviews","rating","reviewsCounts","ReviewsSentiment"]),g(e(Ze),{visible:Q.value,"onUpdate:visible":m[21]||(m[21]=k=>Q.value=k),modal:"",closable:!0,dismissableMask:!0,class:"reviews-modal radius_md",
16style:ke({width:e(b).isMobile?"100vw":"min(95%, 1300px)",height:e(b).isMobile?"100dvh":"auto",margin:e(b).isMobile?"0 !important":"auto",maxHeight:e(b).isMobile?"100%":"auto"}),showHeader:!0,position:"bottom"},{header:ve(()=>[t("h2",xh,a(e(r)("hotelDetail.sections.reviews.title")),1),t("button",{onClick:m[20]||(m[20]=k=>Q.value=!1),class:"close-button"},m[28]||(m[28]=[t("i",{class:"pi pi-times"},null,-1)]))]),default:ve(()=>[t("div",Th,[g(cs,{reviews:eo.value,rating:R.value?.rating,reviewsCounts:R.value?.reviewsCount,ReviewsSentiment:bt.value,class:"modal-component mt-0",isModal:!0},null,8,["reviews","rating","reviewsCounts","ReviewsSentiment"])])]),_:1},8,["visible","style"]),R.value.hotelDescription?(o(),s("div",Ah,[t("div",{class:"section",ref_key:"descriptionSection",ref:Ho},[t("div",{class:K(["heading",{active:De.value==="description"}]),onClick:m[22]||(m[22]=k=>zs("description"))},[t("h3",null,a(e(r)("hotelDetail.sections.rooms.propertyDescription")),1),g(ft,{"ref-section":Ho.value,type:"bug",labelDiv:"descriptionSection"},null,8,["ref-section"])],2),Po(t("div",{class:"content description-content",innerHTML:R.value.hotelDescription},null,8,Oh),[[Va,!0]])],512)])):n("",!0),Uo.value===e($s).SIMILAR_HOTELS.VARIANTS[1]&&P.value&&P.value.length>0?(o(),s("div",Bh,[g(vs,{"hotel-id":xe.value,checkin:Se.value,checkout:Re.value,occupancies:e(st)(E.value),hasNoRooms:!1,isLoadingRooms:!ae.value},null,8,["hotel-id","checkin","checkout","occupancies","isLoadingRooms"])])):n("",!0),m[29]||(m[29]=t("div",{class:"spacer"},null,-1))])])):n("",!0),R.value&&R.value.reviews?(o(),ne(e(Ze),{key:2,visible:Ne.value,"onUpdate:visible":m[23]||(m[23]=k=>Ne.value=k),dismissableMask:Ne.value,modal:"",header:"Reviews",style:{width:"50rem",maxHeight:"100% !important"},breakpoints:{"1199px":"75vw","575px":"90vw"},class:"review-dialog"},{default:ve(()=>[(o(!0),s(V,null,ce(R.value.reviews,k=>(o(),s("div",{class:"review-card",key:k.date},[t("div",Fh,[g(e(za),{modelValue:k.average_score,"onUpdate:modelValue":ue=>k.average_score=ue,stars:5,readonly:"",cancel:!1},null,8,["modelValue","onUpdate:modelValue"]),t("span",null,a(k.average_score*2)+"/10",1)]),t("h5",null,a(k.headline),1),k.pros?(o(),s("div",Hh,[m[30]||(m[30]=t("div",{class:"green"},[t("i",{class:"pi pi-thumbs-up"})],-1)),t("p",null,a(k.pros),1)])):n("",!0),k.cons?(o(),s("div",Lh,[m[31]||(m[31]=t("div",{class:"red"},[t("i",{class:"pi pi-thumbs-down"})],-1)),t("p",null,a(k.cons),1)])):n("",!0),t("strong",null,[t("span",null,"â "+a(k.name),1),t("span",null,a(e(de).fromISO(k.date.replace(" ","T")).toLocaleString(e(de).DATE_FULL)),1)]),m[32]||(m[32]=t("br",null,null,-1))]))),128))]),_:1},8,["visible","dismissableMask"])):n("",!0),e(b).isMobile?(o(),s(V,{key:3},[C.value&&P.value?.length&&P.value[0]?.length?(o(),s("div",Gh,[ae.value&&P.value&&y.value.hidePrices!==!0&&!et.value?(o(),s("span",qh,[t("span",Eh,[t("span",null,a(e(r)("hotelCard.priceFrom")),1),t("span",null,[pt.value&&xt.value&&P.value[0][0].memberPrice!==void 0?(o(),s("strong",Nh,a(e(Pe)(P.value[0][0].memberPrice,mt.value,$t.value,Ct.value,e(b).currency)),1)):pt.value&&!xt.value&&P.value[0][0].guestPrice!==void 0?(o(),s("strong",jh,a(e(Pe)(P.value[0][0].guestPrice,mt.value,$t.value,Ct.value,e(b).currency)),1)):!pt.value&&P.value[0][0].offerRetailRate&&P.value[0][0].offerRetailRate.amount!==void 0?(o(),s("strong",zh,a(e(Pe)(P.value[0][0].offerRetailRate.amount,mt.value,$t.value,Ct.value,e(b).currency)),1)):n("",!0),O(" "+a(e(r)("hotelCard.nightly")),1)])])])):n("",!0),g(e(Me),{onClick:lo,class:"radius_sm"},{default:ve(()=>[t("span",Uh,[O(a(e(r)("hotelDetail.sections.titleSection.showRooms"))+" ",1),e(d)?n("",!0):(o(),ne(we,{key:0,name:"chevron-right-transparent"}))])]),_:1})])):n("",!0)],64)):n("",!0)],64)}}}),fg=He(Jh,[["__scopeId","data-v-59703f18"],["__file","HotelDetail.vue"]]);export{fg as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.