1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[414],{37395:function(e,t,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/travel/[destination]/[region]/hotels/[stay]",function(){return i(15517)}])},15517:function(e,t,i){"use strict";i.r(t),i.d(t,{__N_SSG:function(){return Q},default:function(){return z}});var a=i(85893),n=i(73906),o=i(97885);i(37677);var s=i(81084),r=i(52432),l=i.n(r),c=i(72891),d=i(67294),u=i(25675),g=i.n(u),m=i(76480),p=i(90512),h=i(74855),v=i.n(h),y=i(55678),f=i(40612),x=i(37280),b=i(2261),j=i(9334),N=i(59277),S=i(27484),w=i.n(S),k=i(42131),_=i(65732),M=i(62777),C=i(12570),B=i(16035),I=i(64235),T=i(46096),P=i(60334),L=i(57981),A=i(55337),D=i(76779),F=i(89552),R=i(63012),O=i(46348),V=i(35694),E=i(30138),Z=i(20251),H=i(6543),Y=i(92648),U=i(14783),W=i(68382),X=i(40619);let $=!n.FynoDatabaseInstance.isHiddenFromBots;var Q=!0;function z(e){var t,i,r,u,h,S;let[Q,z]=(0,d.useState)(!$),[J,G]=(0,d.useState)(e.destinationName||"");(0,d.useState)("");let[q,K]=(0,d.useState)(e.curatorInfo||null),[ee,et]=(0,d.useState)(e.region||null),[ei,ea]=(0,d.useState)(e.item||null),[en,eo]=(0,d.useState)(e.itineraries||{}),[es,er]=(0,d.useState)(e.activities||{}),[el,ec]=(0,d.useState)(e.shouldNoIndex||!1),[ed,eu]=(0,d.useState)(!1),[eg,em]=(0,d.useState)(!1),[ep,eh]=(0,d.useState)(!1),[ev,ey]=(0,d.useState)(!1),[ef,ex]=(0,d.useState)(!1),[eb,ej]=(0,d.useState)(!1),[eN,eS]=(0,d.useState)(0),[ew,ek]=(0,d.useState)(!1),[e_,eM]=(0,d.useState)(null),[eC,eB]=(0,d.useState)(["2025-04-01","2025-04-02"]),[eI,eT]=(0,d.useState)(0),[eP,eL]=(0,d.useState)(null),[eA,eD]=(0,d.useState)(""),eF=(0,d.useRef)(null),eR=(0,d.useRef)(null),{addStaysDetails:eO}=(0,T.e)(),{currentDates:eV}=(0,F.a)(),{itinerariesTopTags:eE}=D.CoreAppConfig,eZ=(0,Z.a)(),eH=(0,d.useMemo)(()=>{var e;return null!==(e=null==eZ?void 0:eZ.user)&&void 0!==e?e:null},[null==eZ?void 0:eZ.user]),{mixpanelIdentifier:eY}=(0,E.n)();(0,d.useEffect)(()=>{$||(async()=>{try{let t=n.FynoDatabaseInstance,i=await t.getDestinationContent(e.destinationId),a=await t.getDestinationName(e.destinationId);await t.getDestinationDescription(e.destinationId),G(a);let o=i.info.curatorId,s=await t.getCurrentCurator(o)||(0,W.X)(i);K(s);let r=await t.getRegion("".concat(e.destinationId,"/regions/").concat(e.regionId));et(r);let l=await t.getStay("".concat(e.destinationId,"/stays/").concat(e.regionId,"-").concat(e.stayId));ea(l);let c=await t.getDestinationItineraries(e.destinationId);eo(c);let d=await t.getDestinationActivities(e.destinationId);er(d),ec("live"!==i.info.status),z(!1)}catch(e){console.error("Error loading stay page data:",e),z(!1)}})()},[e.destinationId,e.regionId,e.stayId]);let eU=(null==ei?void 0:ei.id)||"",eW="stay",eX=e.regionId,e$=(0,d.useCallback)(e=>{let t=e.toString().includes("deals.vio.com")||e.toString().includes("booking.com"),i=e.toString().includes("booking.com");return t&&eY?"".concat(e).concat(i?"":"&label=".concat("".concat(eY))):e},[eY]),eQ=ei?(0,_.M6)(eW,ei):0,ez=eQ?"MUST"===eQ?"Must":(0,_.rG)(eQ):null,eJ=null==ei?void 0:ei.superTags,eG=Object.values(es).filter(t=>t.regions.includes("".concat(e.destinationId,"/regions/").concat(eX))).sort((e,t)=>e.sortPriority-t.sortPriority);(0,d.useEffect)(()=>{eu(!0);let e=setTimeout(()=>{em(!0)},500);return()=>{clearTimeout(e)}},[]),(0,d.useEffect)(()=>{if(!ei)return;let e="tripDates-".concat(null==ei?void 0:ei.id);if(localStorage.getItem(e)&&!eV.length)return;let t=ei.region?ei.region.replace("regions/",""):ei.regions[0].replace("regions/",""),i=ei.region?ei.region.replace("regions/","").split("/")[1]:ei.regions[0].replace("regions/","").split("/")[1],a=ei.id.replace("".concat(i,"-"),"").split(/\/activities\/|\/stays\//)[1]||"";eD("".concat(t,"/").concat("hotels","/").concat(a,"/"));let n=ei.vioMeta;n&&(async()=>{let e=w()().add(6,"week").format("YYYY-MM-DD"),t=eV&&eV.length>=2,i=t?w()(eV[0]).format("YYYY-MM-DD"):e,a=t?w()(eV[eV.length-1]).format("YYYY-MM-DD"):w()(e).add(1,"day").format("YYYY-MM-DD");eB([i,a]),eT((0,P.db)([i,a])),console.log("REQUEST");try{let e=await (0,N.A)([n],i,a),t=e.hotels[0];if(t){eM(t),eO(e.hotels);let i=t.offers.map(e=>e.provider.name);t.offers&&t.offers.length?(ex(!0),eL(i)):(null==ei?void 0:ei.bookingMeta)&&(null==ei?void 0:ei.vioMeta)&&ej(!0)}else eM(null),(null==ei?void 0:ei.bookingMeta)&&(null==ei?void 0:ei.vioMeta)&&ej(!0)}catch(e){console.error({error:e.message}),eM(null),(null==ei?void 0:ei.bookingMeta)&&(null==ei?void 0:ei.vioMeta)&&ej(!0)}})()},[ei,eV,ei]),(0,d.useEffect)(()=>{eR.current&&eS(eR.current.offsetHeight+350||0)},[eR,ei,eR.current]);let eq=()=>{eH&&(!1===ep?(n.FynoDatabaseInstance.saveItineraryItem(eH.uid,eU),(0,H.I1)(J,"Standalone page",eU,eW,"standalonePage")):n.FynoDatabaseInstance.removeSavedItineraryItem(eH.uid,eU),eh(!ep),ey(!ev),setTimeout(()=>{ey(!1)},300))};(0,d.useLayoutEffect)(()=>{eH&&n.FynoDatabaseInstance.getUserStays(eH.uid).then(e=>{let t=e.some(e=>e.id===eU);return(eh(t),t)?null:n.FynoDatabaseInstance.getUserActivities(eH.uid).then(e=>{eh(e.some(e=>e.id===eU))})})},[eH,eU]);let eK=()=>{ek(!ew)},e0=()=>y.Am.success(f.cN,{position:"top-right",autoClose:5e3,hideProgressBar:!1,closeOnClick:!0,pauseOnHover:!0,draggable:!0,progress:void 0,theme:"light",transition:y.BW});if(Q||!ei||!ee||!q||!ei)return(0,a.jsx)("div",{children:"Loading..."});let e1=null===(t=ei.id.split("/").at(-1))||void 0===t?void 0:t.replace("".concat(eX,"-"),""),e2="".concat("https://fyno.com","/travel/").concat(ei.destination,"/").concat(eX,"/hotels/").concat(e1,"/"),e5="".concat(ei.name," ").concat((null===(i=ei.tags)||void 0===i?void 0:i.length)?ei.tags[0].name:""," in ").concat(ee.name,", ").concat(J),e9=(null===(r=ei.photos)||void 0===r?void 0:r.length)?(0,o.BZ)(ei.photos[0].path):"/hero-phone.webp",e3=ei.superTags&&ei.superTags.length?ei.superTags.map(e=>e):[],e6=[{"@context":"https://schema.org","@type":"Article",name:"Stay at ".concat(e5),keywords:e3.join(", "),mainEntity:{"@type":"LodgingBusiness",name:"Hotel ".concat(e5),image:e9,description:ei.description}},{"@context":"https://schema.org","@type":"LodgingBusiness",name:"Hotel ".concat(e5),image:e9,description:ei.description,priceRange:"$".concat(ei.price.low,"-$").concat(ei.price.peak,", per night"),starRating:{"@type":"Rating",ratingValue:"".concat("MUST"===ei.score?10:ei.score||0),bestRating:"10"},latitude:null===(u=ei.location)||void 0===u?void 0:u.lat,longitude:null===(h=ei.location)||void 0===h?void 0:h.lng,containedInPlace:{"@type":"Place",name:(null==ee?void 0:ee.staySearchLocation)||(null==ee?void 0:ee.name)||"",alternateName:"".concat(null==ee?void 0:ee.name,", ").concat(J),address:{"@type":"PostalAddress",addressCountry:J,addressRegion:(null==ee?void 0:ee.staySearchLocation)||(null==ee?void 0:ee.name)||""}},amenityFeature:((null===(S=ei.tags)||void 0===S?void 0:S.map(e=>e.name))||[]).map(e=>({"@type":"LocationFeatureSpecification",name:e,value:!0})),aggregateRating:{"@type":"AggregateRating",ratingValue:Y.F.getHotelRating(ei),ratingCount:10,bestRating:5,worstRating:1}
1,hasMap:Y.F.getLocationOnMap(ei)}];return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.Z,{ogTitle:e5,ogImage:e9,ogType:"article",ogUrl:e2,jsonLd:e6,canonicalUrl:e2,shouldNoIndex:el}),(0,a.jsx)(c.E,{isStandalone:!0,stayId:ei.id,isDatesEnabled:!1,destinationName:J}),(0,a.jsx)(y.Ix,{}),(0,a.jsx)("div",{className:(0,p.Z)("wrapper new head standalone",O.Rq),style:{margin:0},children:(0,a.jsx)("div",{className:(0,p.Z)(l().thumbModalParent,l().active,l().extended,"itemModal","standalonePage"),children:(0,a.jsxs)("div",{className:(0,p.Z)(l().thumb,"thumb"),ref:eF,children:[(0,a.jsxs)("div",{className:(0,p.Z)(l().previewBar,l().previewThumbBar),children:[(0,a.jsx)("button",{className:(0,p.Z)(l().previewThumbButton,l().closeBtn),children:(0,a.jsx)(g(),{src:m.Z,width:32,height:32,alt:"close icon"})}),(0,a.jsxs)("div",{className:l().previewThumbActions,children:[(0,a.jsx)("button",{className:(0,p.Z)(l().favBtn,l().previewThumbButton,ep&&l().active,ev&&l().animate),onClick:()=>eq(),children:(0,a.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,a.jsx)("path",{d:"M16.5013 19.6588L16 19.3685L15.4987 19.6588L11 22.265V12.77C11 11.9279 11.0008 11.3554 11.0363 10.9126C11.071 10.4812 11.1339 10.2602 11.2109 10.106C11.4045 9.71862 11.7186 9.4045 12.106 9.21091C12.2602 9.13386 12.4812 9.071 12.9126 9.03633C13.3554 9.00075 13.9279 9 14.77 9H17.23C18.0721 9 18.6446 9.00075 19.0874 9.03633C19.5188 9.071 19.7398 9.13386 19.894 9.21091C20.2814 9.4045 20.5955 9.71862 20.7891 10.106C20.8661 10.2602 20.929 10.4812 20.9637 10.9126C20.9992 11.3554 21 11.9279 21 12.77V22.265L16.5013 19.6588Z",stroke:"black",strokeWidth:"2"}),(0,a.jsx)("path",{d:"M10 11C10 9.34315 11.3431 8 13 8H19C20.6569 8 22 9.34315 22 11V18.6852C22 20.957 19.4681 22.312 17.5778 21.0519V21.0519C16.6224 20.4149 15.3776 20.4149 14.4222 21.0519V21.0519C12.5319 22.312 10 20.957 10 18.6852V11Z",fill:"black",className:l().activeFrame})]})}),ed&&(0,a.jsx)(v(),{text:"".concat(location.origin,"/travel/").concat(eA),children:(0,a.jsx)("button",{className:l().previewThumbButton,onClick:()=>e0(),children:(0,a.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,a.jsx)("rect",{width:"32",height:"32",rx:"16",fill:"white"}),(0,a.jsx)("path",{className:"fill",fillRule:"evenodd",clipRule:"evenodd",d:"M16 6.08582L16.7071 6.79292L20.2071 10.2929L18.7929 11.7071L17 9.91424V19H15V9.91424L13.2071 11.7071L11.7929 10.2929L15.2929 6.79292L16 6.08582ZM13 13H12.5C10.8431 13 9.5 14.3432 9.5 16V21C9.5 22.6569 10.8431 24 12.5 24H19.5C21.1569 24 22.5 22.6569 22.5 21V16C22.5 14.3432 21.1569 13 19.5 13H19V15H19.5C20.0523 15 20.5 15.4477 20.5 16V21C20.5 21.5523 20.0523 22 19.5 22H12.5C11.9477 22 11.5 21.5523 11.5 21V16C11.5 15.4477 11.9477 15 12.5 15H13V13Z",fill:"black"})]})})})]})]}),ed?(0,a.jsxs)("div",{className:(0,p.Z)(l().thumbPreview,l().rounded),children:[ei.photos&&(Array.isArray(ei.photos)?1===ei.photos.length?ei.photos[0]&&(0,o.Xk)(ei.photos[0].path)&&(0,a.jsxs)("div",{className:l().previewWrapper,style:{opacity:1,height:"100%"},children:[(0,a.jsx)(g(),{src:(0,o.Xk)(ei.photos[0].path,"medium")||"",height:600,width:440,alt:"".concat(ei.name," in ").concat(ee.name," region of ").concat(J),className:l().thumbPreviewImage}),(()=>{var e;let t=ei.photos&&ei.photos.length?null===(e=ei.photos[0].metadata)||void 0===e?void 0:e.author:"";return t&&(0,a.jsxs)("span",{className:l().previewCredit,children:[ei.name," by ",t]})})()]}):(0,a.jsx)(x.Y,{isDefault:!1,autoplay:!0,allowTouchMove:!0,tracking:{hotelId:eU,location:"modal"},type:"stay",children:Array.isArray(ei.photos)&&ei.photos.map((e,t)=>{var i;let n=(0,o.Xk)(e.path,"medium"),s=null===(i=e.metadata)||void 0===i?void 0:i.author;return n&&(0,a.jsxs)(b.o5,{className:l().previewWrapper,children:[(0,a.jsx)(g(),{src:n,height:1200,width:1200,alt:"".concat(ei.name," in ").concat(ee.name," region of ").concat(J),className:l().thumbPreviewImage}),s&&""!==s&&(0,a.jsxs)("span",{className:l().previewCredit,children:["Photo by ",s]})]},"".concat(e,"-").concat(t,"-").concat(ei.name,"-thumb"))})}):""),ei.price&&"string"!=typeof ei.price?(0,a.jsxs)("div",{className:l().priceLabel,children:["$",String(ei.price.low),"+"]}):""]}):"",(0,a.jsxs)("div",{className:l().thumbMain,children:[(0,a.jsx)(j.b,{isAvailable:ef,isLikelySoldOut:eb,title:ei.name,isCustomTransfer:!1,isActivity:!1,isActivityOrCustomTransfer:!1,currentData:ei,lowerActivityPrice:null,isStandalone:!0}
1),(0,a.jsx)(k.P,{topRate:eQ,type:eW,topRateTag:ez,superTags:eJ,curatorName:q.name,isStay:!0,currentData:ei,destinationName:J,daysLeftNumber:null}),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"hiddenFromUser",children:[(0,a.jsx)("p",{children:"Compare prices:"}),(0,a.jsxs)("ul",{children:[(0,a.jsx)("li",{children:"Booking.com: $200"}),(0,a.jsx)("li",{children:"Expedia: $190"}),(0,a.jsx)("li",{children:"Vio.com: $180"})]})]}),(0,a.jsx)(V.O,{children:(0,a.jsx)(C.z,{dates:eC,handleBottomBar:eK,hotelDetails:e_,currentData:ei,duration:eI,destinationName:J,itineraryId:"Standalone stay page",isStandalone:!0,placement:"standalonePage",id:eU})}),(0,a.jsx)("div",{className:l().separator}),(0,a.jsx)(B.LJ,{tags:ei.tags||[],title:"Highlights"})]}),ei.description?(0,a.jsx)(M.W,{descriptionWithoutTips:ei.description,currentData:ei,destinationName:J,curatorInfo:q}):"",(0,a.jsx)(R.Z,{title:"Nearby things to do",activities:eG}),(0,a.jsx)("div",{className:l().itinerariesBox,children:(0,a.jsx)(A.V,{itineraries:en,itineraryId:null,destinationName:J,title:"".concat(J," itineraries with this stay"),tags:eE,arrows:!0,additionalClassname:l().itinerariesContainer,additionalSliderClassname:l().itinerariesSlider})})]}),(0,a.jsx)(V.O,{children:(0,a.jsx)(a.Fragment,{children:(()=>{var e;let t=e_&&e_.offers&&e_.offers.length;if(!ei)return"";let i=["booking"===ei.bookingProvider&&ei.bookingMeta,"airBnb"===ei.bookingProvider&&ei.airBnbMeta,"booking"!==ei.bookingProvider&&ei.bookingMeta],n=["expedia"===ei.bookingProvider&&ei.bookingMeta&&"Booking.com","booking"===ei.bookingProvider&&"Booking.com","airBnb"===ei.bookingProvider&&"airBnb","expedia"!==ei.bookingProvider&&ei.bookingMeta&&"Booking.com","booking"!==ei.bookingProvider&&"Booking.com"].filter(e=>e&&"string"==typeof e);if(i.filter(Boolean).length<1&&!t)return null;let o=w()(eC[1]).diff(w()(eC[0]),"day"),s="object"==typeof ei.price&&null!==ei.price?null===(e=ei.price)||void 0===e?void 0:e.low:0,r=t?Math.min(...e_.offers.map(e=>e.rate.base/o)):s;return(0,a.jsx)("div",{className:(0,p.Z)(l().bottomBar,l().standalone,eg&&l().active),children:(0,a.jsxs)("div",{className:l().bottomBarWrapper,children:[(0,a.jsxs)("div",{className:l().bottomBarHeader,children:[(0,a.jsxs)("div",{className:l().bottomBarHeaderMain,children:[(0,a.jsxs)("span",{className:l().bottomBarTitle,children:["From $",isNaN(Math.round(r))||Math.round(r)===1/0?0:Math.round(r)," ","per night"]}),(0,a.jsxs)("div",{className:l().providers,onClick:()=>eK(),children:[(0,a.jsx)("div",{className:(0,p.Z)(l().providersIcons),children:(0,a.jsx)(B.WF,{currentData:ei,id:eU,customOffers:(null==e_?void 0:e_.offers)||null,destination:null,destinationName:J})}),(()=>{let e=["booking"===ei.bookingProvider&&!(null==eP?void 0:eP.includes("Booking.com"))&&ei.bookingMeta,"airBnb"===ei.bookingProvider&&ei.airBnbMeta,"booking"!==ei.bookingProvider&&!(null==eP?void 0:eP.includes("Booking.com"))&&ei.bookingMeta],t=eP&&eP.length?eP.length+e.filter(Boolean).length-1:e.filter(Boolean).length-1;return(0,a.jsxs)(a.Fragment,{children:[eP&&eP.length&&!n.includes("Booking.com")?(0,a.jsx)("p",{style:{margin:0},className:l().firstVioProviderName,children:eP[0]}):(0,a.jsx)("p",{style:{margin:0},className:l().firstVioProviderName,children:n[0]}),t?(0,a.jsxs)("span",{style:{whiteSpace:"nowrap"},children:["+",t," ",(0,a.jsx)("span",{className:l().desktop,children:"more"})," ",t>1?"deals":"deal"]}):""]})})(),(0,a.jsx)("div",{className:(0,p.Z)(l().providersChevron,ew&&l().active),children:(0,a.jsx)(I.F,{color:"#3C3C4380"})})]})]}),(0,a.jsx)("div",{className:l().bottomBarHeaderRight,children:(0,a.jsx)(B.k3,{currentData:ei,type:eW,title:ei.name,hotelDates:eC,destinationName:J,id:eU,customLink:ei.bookingMeta?e$((0,B.oC)(ei.bookingMeta,U.lv,eC||[],eY||void 0)):t?e$(e_.offers[0].url):null,customProvider:t?e_.offers[0].provider.name:null,placement:"standalonePage"})})]}),(0,a.jsxs)("div",{className:(0,p.Z)(l().bottomBarBody,ew&&l().active),style:{maxHeight:ew?eN:0},children:[(0,a.jsx)("div",{className:l().separator}),(0,a.jsx)("div",{className:l().bottomBarBodyWrapper,ref:eR,children:(0,a.jsx)(B.F3,{currentData:ei,title:ei.name,type:eW,hotelDates:eC,id:eU,barActiveSetter:ek,customOffers:e_,destinationName:J,placement:"standalonePage"})})]})]})})})()})})]})})}),(0,a.jsx)("div",{style:{marginTop:"32px"},children:(0,a.jsx)(X.L,{destinationName:J})}),ed&&ei?(0,a.jsx)(L.e,{itinerary:null,destination:null,id:ei.id,destinationName:J}):""]})}},92648:function(e,t,i){"use strict";i.d(t,{F:function(){return s}});var a=i(97885),n=i(96495);class o{getItineraryStracturedData(e,t,i){return{"@context":"https://schema.org","@type":"TouristTrip","@id":e.id,name:"".concat(e.duration," days ").concat(e.name," itinerary"),description:t.info.curatorMessage,touristType:["Independent travelers","Adventure seekers"],provider:this.getFynoData(),offers:this.getOffers(t,e),mainEntityOfPage:{"@type":"WebPage","@id":""!==i?i:"https://fyno.com/travel/".concat(t.info.id,"/itineraries/").concat(e.id)},itinerary:{"@type":"ItemList",numberOfItems:this.getItineraryItems(e,t).length,itemListElement:this.getItineraryItems(e,t)},subTrip:this.getSubTrips(e,t,i)}}getFynoData(){return{"@type":"Organization",name:"Fyno",email:"[email protected]",url:"https://fyno.com",contactPoint:{"@type":"ContactPoint",contactType:"customer support",email:"[email protected]"}}}getNewCostModel(e,t,i,a){return Object.values({hotelAverage:i.hotelAverage[e]*(a-1)/n[t],flight:i.flight[e],meals:Math.floor(i.singleMeal[e]*a*2.5/n[t]),transport:Math.floor(i.transportation[e]*a*1.2/n[t])})}getArraySum(e){return e.reduce((e,t)=>
1e+t,0)}getOffers(e,t){let i=Object.values(this.getNewCostModel("solo",0,e.info.budget,t.duration)),a=Object.values(this.getNewCostModel("duo",1,e.info.budget,t.duration)),n=Object.values(this.getNewCostModel("family",2,e.info.budget,t.duration));return[{"@type":"Offer",priceSpecification:{"@type":"PriceSpecification",minPrice:Math.round(.9*this.getArraySum(i)),maxPrice:Math.round(1.3*this.getArraySum(i)),priceCurrency:"USD"},eligibleQuantity:{"@type":"QuantitativeValue",minValue:1,maxValue:1,unitCode:"C62"},description:"Estimated cost for solo traveler"},{"@type":"Offer",priceSpecification:{"@type":"PriceSpecification",minPrice:Math.round(1.8*this.getArraySum(a)),maxPrice:Math.round(2.6*this.getArraySum(a)),priceCurrency:"USD"},eligibleQuantity:{"@type":"QuantitativeValue",minValue:2,maxValue:2,unitCode:"C62"},description:"Estimated cost for a couple"},{"@type":"Offer",priceSpecification:{"@type":"PriceSpecification",minPrice:Math.round(3.6*this.getArraySum(n)),maxPrice:Math.round(5.2*this.getArraySum(n)),priceCurrency:"USD"},eligibleQuantity:{"@type":"QuantitativeValue",minValue:4,maxValue:4,unitCode:"C62"},description:"Estimated cost for a group of four"}]}getItineraryItems(e,t){let i=[],a=1;return e.items.filter(e=>e.region&&e.days).forEach(e=>{var n;null===(n=e.days)||void 0===n||n.forEach(e=>{var n;null===(n=e.activities)||void 0===n||n.forEach(e=>{i.push({"@type":"ListItem",position:a++,item:{"@type":"TouristAttraction",name:this.getActivityFromId(e,t).name,description:this.getActivityFromId(e,t).description,url:"https://fyno.com/travel/".concat(t.info.id,"/").concat(this.getActivityFromId(e,t).regions[0].split("/").at(-1),"/activities/").concat(e.split("/").at(-1))}})})})}),i}getSubTrips(e,t,i){let n=[],o=0;return e.items.filter(e=>e.region&&e.days).forEach(s=>{var r;null===(r=s.days)||void 0===r||r.forEach((r,l)=>{var c;let d=[],u=1;null===(c=r.activities)||void 0===c||c.forEach(e=>{var i,n,o,r,l,c,g,m,p,h;let v=this.getActivityFromId(e,t),y=null==v?void 0:null===(o=v.regions)||void 0===o?void 0:null===(n=o[0])||void 0===n?void 0:null===(i=n.split("/"))||void 0===i?void 0:i.at(-1),f=null==e?void 0:null===(r=e.split("/"))||void 0===r?void 0:r.at(-1),x=this.getRegionById(s.region,t);v&&d.push({"@type":"ListItem",position:u++,item:{"@type":"TouristAttraction",name:v.name,description:v.description,image:(null===(c=v.ph
1otos)||void 0===c?void 0:null===(l=c[0])||void 0===l?void 0:l.path)?(0,a.Xk)(v.photos[0].path,"medium"):void 0,geo:{"@type":"GeoCoordinates",latitude:null===(g=v.location)||void 0===g?void 0:g.lat,longitude:null===(m=v.location)||void 0===m?void 0:m.lng},address:{"@type":"PostalAddress",addressCountry:t.info.shortTitle,addressRegion:(null==x?void 0:x.name)||""},containedInPlace:{"@type":"Place",name:(null==x?void 0:x.staySearchLocation)||(null==x?void 0:x.name)||"",alternateName:"".concat(null==x?void 0:x.name,", ").concat(t.info.shortTitle),address:{"@type":"PostalAddress",addressCountry:t.info.shortTitle,addressRegion:(null==x?void 0:x.staySearchLocation)||(null==x?void 0:x.name)||""}},keywords:["MUST"===v.score?"Must See":"",...v.superTags||[],...(null===(p=v.tags)||void 0===p?void 0:p.map(e=>e.name))||[]].filter(e=>""!==e).join(", "),amenityFeature:((null===(h=v.tags)||void 0===h?void 0:h.map(e=>e.name))||[]).map(e=>({"@type":"LocationFeatureSpecification",name:e,value:!0})),aggregateRating:v.rating?{"@type":"AggregateRating",ratingValue:"MUST"===v.score?5:v.score,ratingCount:10,bestRating:5,worstRating:1}:void 0,hasMap:this.getLocationOnMap(v),url:"https://fyno.com/travel/".concat(t.info.id,"/").concat(y,"/activities/").concat(f)}})});let g=this.getRegionById(s.region,t),m=(null==g?void 0:g.name)||"";o+=1;let p="Day ".concat(o,". ").concat(r.dayName?"".concat(r.dayName,"."):""," ").concat(m||""),h=(null==g?void 0:g.description)||"";this.getHotelsForRegion(s.region,t,g).forEach(e=>{e.position=u++,d.push(e)}),n.push({"@type":"Trip",name:p,description:h,partOfTrip:{"@type":"TouristTrip","@id":""!==i?i:"https://fyno.com/travel/".concat(t.info.id,"/itineraries/").concat(e.id)},itinerary:{"@type":"ItemList",itemListElement:d}})})}),n}getHotelsForRegion(e,t,i){return(Object.values(t.stays).filter(t=>t.region.includes(e))||[]).map((n,o)=>{var s,r,l;return{"@type":"ListItem",position:o+1,item:{"@type":"LodgingBusiness",name:"Hotel ".concat(n.name),description:"Recommended lodging option. ".concat(n.description),priceRange:"$".concat(n.price.low,"-$").concat(n.price.peak,", per night"),keywords:["MUST"===n.score?"Must Stay":"",...n.superTags||[],...(null===(s=n.tags)||void 0===s?void 0:s.map(e=>e.name))||[]].filter(e=>""!==e).join(", "),amenityFeature:((null===(r=n.tags)||void 0===r?void 0:r.map(e=>e.name))||[]).map(e=>({"@type":"LocationFeatureSpecification",name:e,value:!0})),image:(0,a.Xk)(null===(l=n.photos)||void 0===l?void 0:l[0].path,"medium")||"",latitude:n.location.lat,longitude:n.location.lng,aggregateRating:{"@type":"AggregateRating",ratingValue:this.getHotelRating(n),ratingCount:10,bestRating:5,worstRating:1},containedInPlace:{"@type":"Place",name:i.staySearchLocation||(null==i?void 0:i.name)||"",alternateName:"".concat(i.name,", ").concat(t.info.shortTitle),address:{"@type":"PostalAddress",addressCountry:t.info.shortTitle,addressRegion:i.staySearchLocation||i.name||""}},hasMap:this.getLocationOnMap(n),url:"https://fyno.com/travel/".concat(t.info.id,"/").concat(e.split("/").at(-1),"/hotels/").concat(n.id.split("/").at(-1))}}})}getActivityFromId(e,t){return t.activities[e]}getRegionById(e,t){return Object.values(t.regions).find(t=>t.id===e)}getHotelRating(e){let t=e.bookingScore?e.bookingScore:e.expediaScore?e.expediaScore:e.airBnbScore?e.airBnbScore:e.score,i="MUST"===t?5:"number"==typeof t&&t>5?t/2:t;return i?parseFloat(i.toString()).toFixed(1):5}getLocationOnMap(e){let t=e.parkingLocation?e.parkingLocation:e.location;return e.location.lat&&e.location.lng?"https://www.google.com/maps?q=".concat(t.lat,",").concat(t.lng):null}constructor(){}}let s=new o},55337:function(e,t,i){"use strict";i.d(t,{V:function(){return j}});var a=i(85893),n=i(68187),o=i.n(n),s=i(90512),r=i(99390),l=i(97885),c=i(25675),d=i.n(c),u=i(6543),g=i(35694);let m=e=>{let{itinerary:t,preview:i,range:n,isLast:r=!1}=e;return(0,a.jsxs)("a",{href:"/travel/".concat(t.id,"/"),className:(0,s.Z)(o().card,r&&o().cardLast),onClick:()=>(0,u.MU)(t.name,t.id),children:[(0,a.jsxs)("span",{className:o().cardPreview,children:[(0,a.jsx)(d(),{src:i,width:292,height:292,alt:"".concat(t.name," preview image"),loading:"lazy",decoding:"async"}),(0,a.jsx)(g.O,{children:(0,a.jsxs)("span",{className:o().details,children:[(0,a.jsx)("span",{className:o().detailsTitle,children:t.durationRange}),(0,a.jsx)("span",{className:o().detailsSubTitle,children:"days"})]})})]}),(0,a.jsxs)("span",{className:o().cardMain,children:[(0,a.jsx)(g.O,{children:(0,a.jsx)("span",{className:o().subtitle,children:"Itinerary"})}),(0,a.jsx)("span",{className:o().cardTitle,"aria-label":t.name,children:t.name}),(0,a.jsx)("span",{className:o().subtitle,children:n})]})]})},p=e=>{var t;let{itinerary:i,isLast:n}=e,o=(0,l.Xk)(null===(t=i.coverPhoto)||void 0===t?void 0:t.path,"medium")||"",s=function(e){let t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],i=Array.from({length:12},(e,t)=>t+1).filter(t=>!e.includes(t));if(0===i.length)return"Best in Jan â Dec";if(e.every((t,i)=>{let a=e[i+1];return!a||a===t+1}))return"Best in ".concat(t[e[0]-1]," â ").concat(t[e[e.length-1]-1]);let a=i[0],n=i[i.length-1];return"Best in ".concat(t[n%12+1-1]," â ").concat(t[(a-1||12)-1])}(i.months.map(e=>parseInt(e)));return(0,a.jsx)(m,{itinerary:i,preview:o,range:s,isLast:n})};var h=i(2642),v=i(67294),y=i(46066);i(88139),i(68720);let f=(0,v.memo)(e=>{let{itinerary:t,isLast:i}=e;return(0,a.jsx)("div",{className:o().slideWrapper,children:(0,a.jsx)(p,{itinerary:t,isLast:i})})});f.displayName="ItinerarySlide";let x=(0,v.memo)(e=>{let{className:t,onClick:i}=e;return(0,a.jsxs)("div",{className:(0,s.Z)(t,o().sliderBtn,o().sliderBtnPrev,"itineraries-button-prev"),onClick:i,children:[(0,a.jsx)(d(),{src:h.Z,width:32,height:32,alt:"arrow left",loading:"lazy"}),(0,a.jsx)("div",{className:(0,s.Z)(o().overlay,"slick-arrow-overlay")})]})});x.displayName="PrevArrow";let b=(0,v.memo)(e=>{let{className:t,onClick:i}=e;return(0,a.jsxs)("div",{className:(0,s.Z)(t,o().sliderBtn,o().sliderBtnNext,"itineraries-button-next"),onClick:i,children:[(0,a.jsx)(d(),{src:h.Z,width:32,height:32,alt:"arrow right",loading:"lazy"}),(0,a.jsx)("div",{className:(0,s.Z)(o().overlay,"slick-arrow-overlay")})]})});b.displayName="NextArrow";let j=(0,v.memo)(e=>{let{itineraries:t,otherItineraries:i,itineraryId:n,destinationName:l,title:c,tags:d,arrows:u=!1,additionalClassname:g,additionalSliderClassname:m}=e,p=(0,v.useRef)(null),h=(0,v.useMemo)(()=>(i?i.filter(e=>e.id!==n):n?Object.values(t).filter(e=>e.id!==n):Object.values(t)).sort((e,t)=>
1e.sortPriority-t.sortPriority),[t,i,n]),j=(0,v.useMemo)(()=>c||"Other ".concat(l," itineraries"),[c,l]),N=(0,v.useMemo)(()=>({dots:!1,infinite:!1,speed:400,slidesToShow:h.length<=3?3:void 0,slidesToScroll:1,variableWidth:!0,arrows:u,draggable:!0,swipe:!0,touchThreshold:10,accessibility:!0,...u&&{prevArrow:(0,a.jsx)(x,{}),nextArrow:(0,a.jsx)(b,{})},responsive:[{breakpoint:1024,settings:{slidesToShow:2,slidesToScroll:1}},{breakpoint:768,settings:{slidesToShow:1,slidesToScroll:1}}]}),[u]);return 0===h.length?null:(0,a.jsxs)("div",{className:(0,s.Z)(o().container,g),children:[(0,a.jsxs)("div",{className:o().head,children:[(0,a.jsx)("h2",{className:o().title,children:j}),d&&d.length>0&&(0,a.jsx)(r.J,{tags:d,additionalTagClassname:o().tag})]}),(0,a.jsx)("div",{className:o().list,children:(0,a.jsx)(y.Z,{...N,ref:p,className:(0,s.Z)("alternative-itineraries-slider",o().slider,m),children:h.map((e,t)=>(0,a.jsx)(f,{itinerary:e,isLast:t===h.length-1},e.id))})})]})});j.displayName="AlternativeItineraries"},68187:function(e){e.exports={container:"style_container__s7Ave",head:"style_head__z7FGP",title:"style_title__M3cue",list:"style_list__6Whbd",slider:"style_slider__T1CXh",card:"style_card__7P8rn",cardLast:"style_cardLast__fbE_3",cardPreview:"style_cardPreview__kx1Uv",rmButton:"style_rmButton__XLkTk",cardTitle:"style_cardTitle__SYVvY",cardMain:"style_cardMain__ZKFSv",details:"style_details__9Krdi",detailsTitle:"style_detailsTitle__eidqs",detailsSubTitle:"style_detailsSubTitle___cPx1",subtitle:"style_subtitle__8WGFv",sliderBtn:"style_sliderBtn___Wya6",overlay:"style_overlay__5udXE",sliderBtnPrev:"style_sliderBtnPrev__oBe3M",sliderBtnPrevSmall:"style_sliderBtnPrevSmall__s4yU5",sliderBtnNext:"style_sliderBtnNext__htZbV",sliderBtnNextSmall:"style_sliderBtnNextSmall__2Oy5T",disabled:"style_disabled__ljVNV"}}},function(e){e.O(0,[996,550,921,911,950,43,977,953,649,888,774,179],function(){return e(e.s=37395)}),_N_E=e.O()}]);
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.