PageSourceSearch

https://vibeadventures.com/_nuxt/hbqCk9z_.js

js vibeadventures.com collected 2026-09-24 09:40:31 UTC 43,258 bytes, 1 lines download raw bytes

1import{_ as vs,ad as hs,E as B,u as ys,y as c,a8 as _s,v as bs,ac as xs,ae as ws,z as Ds,X as gt,$ as Ss,A as Ts,S as mt,C as As,I as ks,c as m,g as y,a as n,b as _,d as N,w as $,H as b,f as ye,t as D,F as pt,L as Cs,O as W,V as X,M as Is,e as vt,o as f,h as re,m as Ms,a1 as Ne,an as ht,ao as yt,N as Rs,G as $s,J as _t,a4 as bt,ax as Ps}from"./3bA9CyQV.js";import{T as Ns,s as xt,_ as Ys}from"./C-IYNxaS.js";import{_ as Es}from"./Dye1SeIO.js";import{_ as Ye}from"./YGWho0ST.js";import{S as Fs,_ as wt,a as Ls}from"./SZlP1Pgz.js";import{d as M}from"./DfAzwDaU.js";import{s as I}from"./DbriTW_Q.js";import{_ as Us}from"./5uTFpA0k.js";import{s as Bs}from"./LI12ESqa.js";import{s as Ee,a as Fe}from"./CIe5CzZZ.js";import{c as Gs}from"./D0E5sU8J.js";import{i as Vs}from"./DhFT9Spy.js";import"./Cc_XqtBP.js";import{T as Os}from"./CSBICZHz.js";import"./CUwvVQyt.js";import"./D3ZEqZKj.js";import"./Dtn1oYBG.js";import"./BXvogjit.js";import"./Bx3tkl4y.js";import"./DeyaGwLj.js";import"./CUIUky-3.js";import"./B4M1VvMj.js";import"./Dxfa1344.js";import"./Czln9p4D.js";import"./C_VZktjG.js";import"./D7Aae8ky.js";import"./C8QMM7wa.js";import"./DzRhkVf-.js";import"./Cpj98o6Y.js";import"./fRmM-JZ5.js";import"./D9emHrrr.js";const js={key:0,class:"mt-8 mb-8 main-spacing"},zs={key:1,class:"toursv2-page"},Hs={key:0,style:{"text-align":"right"}},Ks={key:1,activeIndex:null},qs={style:{"text-align":"right"}},Js={key:0,id:"filters"},Ws={key:1,id:"skeleton"},Xs={class:"grid toursv2-content-grid",style:{"max-width":"1240px",margin:"0 auto"}},Qs={key:0,class:"col-12 md:col-5 lg:col-4 xl:col-3"},Zs={key:0,id:"filters"},eo={key:1,id:"skeleton"},to={class:"col-12 md:col-7 lg:col-8 xl:col-9"},so={class:"lg:max-w-[75rem]"},oo={class:"mx-6",id:"adventures"},ro={class:"card mb-4"},ao=["onClick"],no={class:"",id:"adventures"},lo={class:"lp-page-title"},io={style:{color:"#82cf45"}},co={key:0,class:"interstate text-sm lg:text-base text-justify"},uo={key:0,class:"card flex lg:justify-content-end sm:justify-content-between align-items-center",style:{"align-items":"center"},id:"sorts"},fo={key:0,class:"col m-3 lg:m-5",style:{display:"none"}},go={key:1,class:"overflow-x-hidden m-3 lg:m-5"},mo={key:0,class:"border-1 border-300 border-round-md my-3"},po={class:"grid m-0 lg:pr-3 lg:align-items-stretch tour-results-card-row"},vo={class:"col-12 lg:col-4 p-0 m-0 flex flex-column min-w-0 tour-card-visual-column"},ho=["onClick"],yo=["onClick"],_o=["onClick"],bo={class:"col-12 lg:col-5 px-3"},xo={class:"col-12 lg:col-12"},wo={class:"flex gap-2 flex-wrap mb-2"},Do={key:0,class:"p-1 px-3 border-round-xl text-sm font-medium text-green-800",style:{"background-color":"#e8f8db"}},So={key:1,class:"p-1 px-3 border-round-xl text-sm font-medium text-900",style:{"background-color":"#ffe8d9"}},To={key:0,class:"flex gap-2"},Ao={key:0,class:"p-1 px-3 border-round-xl badge-bs text-green-800 text-sm font-medium"},ko={key:1,class:"p-1 px-3 border-round-xl badge-gv text-orange-800 text-sm font-medium"},Co=["onClick"],Io=["onClick"],Mo={class:"text-sm lg:text-sm mx-2"},Ro={class:"text-sm lg:text-sm"},$o={class:"description-container md:mt-5"},Po={class:"text-xs lg:text-sm description-text mb-0"},No=["onClick"],Yo={class:"grid justify-content-between text-sm mt-2 md:mt-2",style:{"max-width":"100%"}},Eo={class:"col-6 lg:flex lg:align-items-center text-right"},Fo={class:"col-6 lg:flex lg:align-items-center text-right"},Lo={key:0,class:"col-4 lg:col-6 flex align-items-center"},Uo={key:1,class:"col-6 lg:flex lg:align-items-center text-right"},Bo={key:2,class:"col-4 lg:col-6 flex align-items-center"},Go={key:3,class:"col-6 lg:flex lg:align-items-center text-right"},Vo={class:"col-7 lg:col-6 lg:flex text-right lg:text-left"},Oo={key:0},jo={class:"col-7 lg:col-6 lg:flex text-right lg:text-left"},zo={key:0},Ho={class:"col-12 lg:col-3 align-content-between flex-wrap justify-content-center mt-3 px-2"},Ko={class:"grid p-2 price-box mobile-price-box"},qo={class:"col-4 mobile-days-col"},Jo={class:"text-xl lg:text-xl font-semibold"},Wo={class:"col-8 sm:p-0 mobile-from-col"},Xo={key:0},Qo={class:"text-sm lg:text-base flex align-items-center mb-2 mt-2 mobile-from-row"},Zo={key:0,style:{border:"1px dotted red","border-radius":"20px",padding:"2px 8px",width:"fit-content",display:"inline-flex","align-items":"center","justify-content":"center","margin-left":"8px"}},er={style:{color:"red",margin:"0","font-size":"12px","text-align":"center"}},tr={class:"font-semibold green-vibe",style:{"font-size":"18px"}},sr={class:"text-gray-600 text-sm"},or={key:1,class:"text-sl lg:text-xl font-semibold gray"},rr=["href","onClick"],ar={key:2},nr=["src"],lr={class:"fresh-prices-content"},ir=1200,cr=1e3*60*60*24,Dt="tourIdsCache_v1",ur={__name:"[countrySlug]",async setup(dr){let G,ae;const _e=hs(),St=B(()=>`https://vibeadventures.com${_e.path}`);ys({link:[{rel:"canonical",href:St}]});const P=c({rangeUpdated:!1,flexibleApplied:!1,widenedRange:!1,exactOnly:!1,noResults:!1});function Tt(t){const o={1:"rangeUpdated",2:"flexibleApplied",3:"widenedRange",4:"exactOnly",5:"noResults"}[t];o&&(P.value[o]=!1)}const V=c(null),ne=c(null),Le=c(!1);c(0);const At=c(null);c(null);const Ue=c(!1),be=c(null),le=c({}),kt=B(()=>{let t="";
1return F.value.forEach(e=>{t=e.label}),t}),xe=c(""),Be=()=>{const t=window.innerWidth<=768;Ue.value=window.innerWidth<=768,t?(V.value=null,ne.value=null):(V.value=0,ne.value=0)},we=c(!1),De=c(""),ie=c(!1);function Ge(t){De.value=`${t}`,we.value=!0}const Ve=()=>{V.value=null},Oe=t=>{V.value=t.index},Ct=_s(),It=bs(),Q=t=>{It.add({severity:"Secondary",detail:t,life:3e3})};c([]);const je=c(null),ze=c(null);xs();const E=ks(),ce=c(""),F=c([]),L=c(0),Z=c([]),ee=c(0),O=c(0),He=c(0),v=c([]),ue=c(null),R=c(!0),Ke=c(ir);let j=null;function Mt(){ie.value=!1,window.location.reload()}ws(()=>{j&&clearInterval(j)});const Y=c(!0),de=c([]),qe=c(""),Je=c(""),We=c([]);c([]),c([]);const z=c([]),fe=c(!0),Rt=c(0),H=c(0),$t=c([{label:"Adventures",scrollTarget:"adventures"},{label:"Travel guide",scrollTarget:"guide"}]),Pt=t=>{const e=document.getElementById(t);e&&e.scrollIntoView({behavior:"smooth",block:"start"})},K=c({name:"Total Price: Lowest first",code:"1"}),Nt=c([{name:"Total Price: Lowest first",code:"1"},{name:"Total Price: Highest first",code:"2"},{name:"Price/day: Lowest first",code:"3"},{name:"Price/day: Highest first",code:"4"},{name:"Duration: Shortest first",code:"5"},{name:"Duration: Longest first",code:"6"},{name:"Popularity: Most popular first",code:"7"},{name:"Reviews: Most reviewed ",code:"8"}]),Yt=c(0),Xe=c(""),Et=c(0);Ds(K,async()=>{fe.value=!1,v.value=z.value,console.log("selectedSort.value: ",K.value),v.value=Ft(),console.log("tours.value before sort",v.value)});function Ft(){return[...v.value].sort((t,e)=>{switch(K.value.code){case"1":return t.totalPrice-e.totalPrice;case"2":return e.totalPrice-t.totalPrice;case"3":return t.totalPrice/t.tour_length_days-e.totalPrice/e.tour_length_days;case"4":return e.totalPrice/e.tour_length_days-t.totalPrice/t.tour_length_days;case"5":return t.tour_length_days-e.tour_length_days;case"6":return e.tour_length_days-t.tour_length_days;case"7":return(parseFloat(e.ratings_overall)||0)-(parseFloat(t.ratings_overall)||0);case"8":return(e.reviews_count||0)-(t.reviews_count||0);default:return 0}})}const Lt=B(()=>{switch(K.value?.code){case"1":return"sort_by=price_total&sort_order=asc";case"2":return"sort_by=price_total&sort_order=desc";case"3":return"sort_by=price_day&sort_order=asc";case"4":return"sort_by=price_day&sort_order=desc";case"5":return"sort_by=tour_length_days&sort_order=asc";case"6":return"sort_by=tour_length_days&sort_order=desc";case"7":return"sort_by=reviews_overall&sort_order=desc";case"8":return"sort_by=reviews_count&sort_order=desc";default:return"sort_by=price_total&sort_order=asc"}});c([{breakpoint:"1400px",numVisible:2,numScroll:1},{breakpoint:"1199px",numVisible:3,numScroll:1},{breakpoint:"767px",numVisible:2,numScroll:1},{breakpoint:"575px",numVisible:1,numScroll:1}]);function Se(){console.log("onFiltersReset"),v.value=z.value}async function Qe(t){console.log("apply with payload",t),R.value=!0;let e=z.value;if(t.selectedTime&&t.selectedTime.length){const[o,r]=t.selectedTime;e=e.filter(s=>Number(s.tour_length_days)>=Number(o)&&Number(s.tour_length_days)<=Number(r))}if(t.selectedPrice&&t.selectedPrice.length===3){const[o,r,s]=t.selectedPrice;e=e.filter(a=>{const i=Number(a.totalPrice||0);if(s===1&&Number(a.tour_length_days)>0){const l=i/Number(a.tour_length_days);return l>=Number(o)&&l<=Number(r)}else return i>=Number(o)&&i<=Number(r)})}if(t.selectedAges&&t.selectedAges.length){const[o,r]=t.selectedAges;e=e.filter(s=>Number(s.min_age)>=Number(o)&&Number(s.max_age)<=Number(r))}if(t.selectedGroup&&t.selectedGroup.length){const[o,r]=t.selectedGroup;e=e.filter(s=>Number(s.max_group_size)>=Number(o)&&Number(s.max_group_size)<=Number(r))}if(t.selectedCategories&&t.selectedCategories.length){const o=t.selectedCategories;e=e.filter(r=>o.some(s=>r.type.some(a=>Number(a.tour_type_id)===Number(s))))}if(t.selectedRatings&&t.selectedRatings.length){const o=[];for(const r of t.selectedRatings)for(const s of e)s.type.find(a=>Number(a.tour_type_id)===Number(r))&&o.push(s);e=o}if(t.selectedStyles&&t.selectedStyles.length){const o=[];for(const r of t.selectedStyles)for(const s of e)s.type.find(a=>Number(a.tour_type_id)===Number(r))&&o.push(s);e=o}if(t.selectedCities&&t.selectedCities.length){const o=new Set,r=[];
1t.selectedCities.forEach(s=>{e.forEach(a=>{a.cities_list&&a.cities_list.some(i=>Number(i.t_city_id)===Number(s.id))&&!o.has(a.tour_id)&&(r.push(a),o.add(a.tour_id))})}),e=r}v.value=e.filter((o,r,s)=>r===s.findIndex(a=>a.tour_id===o.tour_id)),R.value=!1}const Ze=async t=>{try{const e=await fetch(`${E.public.BACKEND_URL}/api/iata_codes?t_city=${t}`);if(!e.ok)return console.error(`City data not found for tourradarID: ${t}. Status: ${e.status}`),null;const o=await e.json();return console.log("getKiwiIDFromTourradarID data received:",o),o?.code?o.code.toLowerCase():(console.error(`city.code not found for tourradarID: ${t}`),null)}catch(e){return console.error(`Failed to fetch Kiwi ID for tourradarID ${t}:`,e),null}},Ut=(t,e,o,r,s,a)=>{const i=Bt(r);console.log("formattedRanges before filterdepartures",i),F.value.map(h=>`${h.type}=${h.t_id}`).join("&");const l=s!==""?"&childrenAges="+s:"",u=a&&Array.isArray(a)&&a.length===2&&(Number(a[0])!==1||Number(a[1])!==65)?`&tour_duration=${a[0]},${a[1]}`:"",d=`${E.public.BACKEND_URL}/api/filterdeparturesdb?date_range=${i}&tourIds=${e}&travelers=${o}&user_country=185&currency=USD${l}${u}`;return console.log("Constructed URL:",d),d};function Bt(t){console.log("ranges constructTourRadarAPI",t);const e=t.split("-"),o=e[0],r=e[1];return`${o},${r}`}const{data:et}=([G,ae]=gt(()=>X(`${E.public.BACKEND_URL}/api/menu-destinations`,"$MMV_s0bse-")),G=await G,ae(),G),Te=B(()=>et.value?et.value.flatMap(e=>e.items||[]).find(e=>Is(e.label)===_e.params.countrySlug.toLowerCase()):null),te=B(()=>{if(!Te.value?.url)return null;const t=Te.value.url.match(/t_id=(\d+)/);return t?t[1]:null}),Gt=B(()=>Te.value?.label||"");Ss(()=>{console.log("--- Vibe Adventures Debug ---"),console.log("Current URL Slug (from path):",_e.params.countrySlug),console.log("Resolved Country ID (t_id):",te.value),console.log("------------------------------")});const tt=(t,e)=>{console.log("constructIdsRequest destinations",t);let o=Array.isArray(t)?[...t]:[];o.length===0&&te.value&&o.push({type:"country",t_id:te.value});const r=o.map(l=>`${l.type}=${l.t_id}`).join("&");let s="";if(e&&e.includes("-")){const[l,u]=e.split("-"),d=l.replaceAll("/","-"),h=u.replaceAll("/","-");s=`&date_from=${d}&date_to=${h}`}const a=`&travelers=${L?.value||1}`,i=r?`${r}`:"search=true";return`${E.public.BACKEND_URL}/api/tour-ids?${i}${s}${a}&${Lt.value}`};c(null);async function st(t,e){const o=`${E.public.BACKEND_URL}/api/departure/`;try{return await $fetch(o,{params:{tourId:t,departureId:e},headers:{accept:"application/json"},retry:3,retryDelay:4500,onResponseError({response:s}){s.status===429&&console.warn(`Rate limited for tour ${t}. Retrying...`)}})??[]}catch(r){return console.error("Fetch error after retries",r),null}}const ot=t=>new Promise(e=>setTimeout(e,t));async function Vt(t,e,o,r,s,a=null){console.log("validDeparture ",a," tourId ",t);const i=v.value.findIndex(x=>x.tour_id===t);if(i===-1)return;const l=v.value[i];if(!e){l.Flight=null,l.totalPrice=null;return}l.Flight=e,l.origin=o,l.startIata=r,l.endIata=s;const u=Number(e.price||0);console.log("flightprice",t,":",u,"target:",l.tour_id),console.log("target.departures",l.departures);const d=a||await st(l.tour_id,l.departures[0].id);if(await ot(100+Math.random()*300),!d)return;console.log("specificDeparture.prices.accommodations",d.prices.accommodations);const h=Ot(d?.prices?.accommodations,L.value);console.log("selectAccommodation",h);let k=0;for(const x of d?.prices?.mandatory_addons){console.log(x.name,":",x.value);const A=x.value*L;k+=A}const p=h?.price_tiers?.[0]?.value_promotion??h?.price_tiers?.[0]?.value??0,g=p*ee.value;let T=0,S=null;O.value>0&&(S=h?.price_tiers?.[1]?.value_promotion??h?.price_tiers?.[1]?.value??p,T=S*O.value),u>0?l.totalPrice=1.15*(u+g+T+k):l.totalPrice=null;const w=l.departures?.[0];if(w&&w.price_base&&w.price_promotion){const x=Number(w.price_base||0),A=Number(w.price_promotion||0);x>A&&(l.discount=Math.ceil(Math.abs(x-A))),console.log("target.discount",l.discount)}}const Ot=(t,e)=>{if(!Array.isArray(t)||t.length===0)return null;const o=Number(e)||0,r=l=>{const u=(l.price_tiers||[]).map(h=>Number.isFinite(h.value)?h.value:1/0).filter(h=>Number.isFinite(h)),d=Number.isFinite(l.value)?l.value:1/0;return u.length?Math.min(d,...u):d},s=l=>{if(!l)return!1;const u=l.is_shared;return u===!0||u===1||u==="true"||u==="1"},a=t.map(l=>({...l,effectiveValue:r(l),_isShared:s(l)}));if(o%2===1){const l=a.filter(u=>u._isShared);if(l.length)return l.sort((u,d)=>u.effectiveValue-d.effectiveValue),console.debug("selectAccommodation: odd group ->
1 choosing shared option",l[0]),l[0]}const i=a.filter(l=>{const u=Number.isFinite(l.beds_number)?Number(l.beds_number):null;return!(u===null||u<o||u>o&&!l._isShared)});return i.length?(i.sort((l,u)=>l.effectiveValue-u.effectiveValue),console.debug("selectAccommodation: fit option chosen",i[0]),i[0]):(a.sort((l,u)=>l.effectiveValue-u.effectiveValue),console.debug("selectAccommodation: fallback cheapest chosen",a[0]),a[0])};async function jt(t){setTimeout(()=>{console.log("2 seconds have passed")},2e3);const{origin:e="JFK",destination:o,departureDate:r,originInbound:s,destinationInbound:a,departureDateInbound:i,adultsCount:l,childrenCount:u,cabinClass:d,tourDate:h,limit:k=3}=t;if(!o)return console.error(`Destination not found before fetching flights: '${o}'`),[];if(!r)return console.error(`departureDate not found before fetching flights: '${o}'`),[];const p=new URLSearchParams;p.append("origin",e),p.append("destination",o),p.append("departureDate",r),s!==void 0&&p.append("originInbound",s),a!==void 0&&p.append("destinationInbound",a),i!==void 0&&p.append("departureDateInbound",i),l!==void 0&&p.append("adultsCount",l),u!==void 0&&p.append("childrenCount",u),d!==void 0&&p.append("cabinClass",d),k!==void 0&&p.append("limit",k),p.append("sortByLeastExpensive","sortByLeastExpensive"),console.log("tourDate ",h),p.append("supplierTimeout",6e4);const g=`${E.public.BACKEND_URL}/api/duffel/create-request-get-offers?${p.toString()}`,{data:T,error:S}=await X(g,{headers:{accept:"application/json"},async onResponseError({request:w,response:x,options:A}){if(x.status===429){const he=x.headers.get("Retry-After")?parseInt(x.headers.get("Retry-After")):2;return await new Promise(oe=>setTimeout(oe,he*3e4)),$fetch(w,A)}},timeout:3e4},"$tYbq9G6zRR");if(S?.value?.data?.message){for(const w in S?.value?.data?.message)console.error(`${w}: ${S?.value?.data?.message[w]}`);return[]}return T?.value?.data??[]}const zt=async(t,e,o,r,s)=>{if(!e||!o||!s)return null;const a=Math.floor(Math.random()*1001)+500;await new Promise(u=>setTimeout(u,a));const i=s,l=t.tour_length_days;try{const u=e,d=o,h=r,k=M(i.date).subtract(1,"day").format("YYYY-MM-DD"),p=M(i.date).add(l,"day").format("YYYY-MM-DD"),g=M(p).add(1,"day").format("YYYY-MM-DD"),T=i?.date,w=(await jt({origin:r,destination:u,departureDate:k,originInbound:d,destinationInbound:h,departureDateInbound:g,adultsCount:ee.value,childrenCount:O.value,tourDate:T,tourEndDate:p}))?.offers;if(!w||!w.length)return null;const x=[...w].sort((oe,ps)=>oe.total_amount-ps.total_amount),A=x[0];return{price:A.total_amount||0,departure:A.slices?.[0]?.segments?.[0]?.departing_at||null,arrival:A.slices?.at(-1)?.segments?.at(-1)?.arriving_at||null,id:A.id,offers:x}}catch(u){return console.error("Flight fetch error",u),null}};function ge(t){const e=v.value.findIndex(o=>o.tour_id===t);console.log("idx",e),e!==-1&&v.value.splice(e,1),console.log("removeTourById tours.value",v.value)}function Ht(t){const e=new Map;(v.value||[]).forEach(o=>e.set(o.tour_id,o)),t.forEach(o=>{if(e.has(o.tour_id)){const r=e.get(o.tour_id);Object.assign(r,o),r.Flight=r.Flight??null,r.totalPrice=r.totalPrice??null,r.discount=r.discount??null}else e.set(o.tour_id,{...o,Flight:null,totalPrice:null,discount:null})}),v.value=Array.from(e.values()),z.value=v.value}const C=c(1),U=c(5),Ae=c([]),ke=c(),Ce=c(),Ie=c(),me=c(),Me=c(null),Re=c([]),Kt=async(t,e)=>{if(t.map(g=>g.tour_id).filter(Boolean).length===0){C.value*U.value<e&&(C.value++,await J());return}const r=t.map(g=>({...g.tour,departures:g.departures,tour_id:g.tour_id,Flight:null,totalPrice:null,discount:null}));Ht(r);const s=[...r];let a=0;const i=5,l=2;let u=!1;const d=async()=>{for(;s.length>0&&a<i&&!u;){const g=s.shift();if(g)try{const[T,S]=await Promise.all([Ze(g.start_city),Ze(g.end_city)]);if(!T||!S){console.warn(`Tour ${g.tour_id} removed: Missing IATA codes`),ge(g.tour_id);continue}let w=null;for(const x of g.departures||[]){if(u)break;await ot(150);const A=await st(g.tour_id,x.id);if(A?.error==="rate_limit"||A?.status===429){u=!0,console.error("API Rate Limit Hit!");break}if(A?.departure_type==="guaranteed"&&A?.is_instant_confirmable){w=A;break}}if(u)break;if(w){const x=await zt(g,T,S,ce.value,w);x?.price>0?(await Vt(g.tour_id,x,ce.value,T,S,w),a++):ge(g.tour_id)}else ge(g.tour_id)}catch(T){console.error("Worker error:",T),ge(g.tour_id)}}};await Promise.all(Array.from({length:l},d));const h=C.value*U.value,k=v.value.length<5,p=h<e;console.log(`Progress: ${v.value.length}/5 found. Total checked: ${h}/${e}`),k&&p?(console.log("Chunk exhausted without 5 results. Loading next..."),C.value++,await J()):(fe.value=!1,console.log(v.value.length>=5?"Target reached.":"No more IDs to check."),Ae.value=await Jt(v.value),await Promise.all([Wt(v.value),Xt(v.value),Qt(v.value)]),me.value=qt(v.value),Me.value=Zt(v.value),Re.value=es(v.value),console.log("cities.value",me.value))};v.value.length<5&&Number(H.value)>Number(C.value+1)&&([G,ae]=gt(()=>nt()),await G,ae());function qt(t){if(!Array.isArray(t)||t.length===0)return[];const e=new Map;for(const o of t){if(!Array.isArray(o.cities_list))continue;console.log("tour.cities_list",o.cities_list);const r=new Set;for(const s of o.cities_list){const a=s.t_city_id??s.city?.t_city_id??s.city?.id;if(a==null||r.has(a))continue;r.add(a);const i=s.city_name??s.city?.city_name??s.city?.name??"";e.has(a)?e.get(a).count+=1:e.set(a,{t_city_id:a,city:{city_name:i},count:1})}}return Array.from(e.values()).sort((o,r)=>(o.city.city_name||"").localeCompare(r.city.city_name||""))}const Jt=async t=>{if(!t||t.length===0)return[];const e=new Map;for(const o of t){if(!Array.isArray(o.types_list))continue;const r=new Set;for(const s of o.types_list){const a=String(s.tour_type_id??s.type?.tour_type_id??"").trim();if(!a||r.has(a))continue;r.add(a);const i=(s.type&&s.type.tourtype_name)??s.tourtype_name??String(a);e.has(a)?e.get(a).count+=1:e.set(a,{name:i,key:a,count:1})}}return Array.from(e.values()).sort((o,r)=>r.count-o.count)}
1,Wt=async t=>{if(!t||t.length===0)return;const e=t.map(s=>Number(s.tour_length_days)),o=Math.min(...e),r=Math.max(...e);ke.value=[o,r]},Xt=async t=>{if(!t||t.length===0)return;const e=t.map(a=>Number(a.min_age)),o=t.map(a=>Number(a.max_age)),r=Math.min(...e),s=Math.max(...o);Ce.value=[r,s]},Qt=async t=>{if(!t||t.length===0)return;const e=t.map(s=>Number(s.max_group_size)),o=Math.min(...e),r=Math.max(...e);Ie.value=[o,r]},Zt=t=>{const e=(t||[]).filter(s=>s.totalPrice!=null&&Number(s.totalPrice)>0);if(!e.length)return null;const o=e.map(s=>Number(s.totalPrice)),r=e.filter(s=>Number(s.tour_length_days)>0).map(s=>Number(s.totalPrice)/Number(s.tour_length_days));return{perPerson:[Math.floor(Math.min(...o)),Math.ceil(Math.max(...o))],perDay:r.length?[Math.floor(Math.min(...r)),Math.ceil(Math.max(...r))]:null}},es=t=>{if(!t||t.length===0)return[];const e=new Map;for(const o of t){const r=String(o.language??"").trim().toLowerCase();if(!r)continue;const s=ft(r);s&&(e.has(r)?e.get(r).count+=1:e.set(r,{name:s,id:r,count:1}))}return Array.from(e.values()).sort((o,r)=>r.count-o.count)},se=new Map;if(typeof window<"u"&&window.localStorage)try{const t=localStorage.getItem(Dt);if(t){const e=JSON.parse(t);Object.entries(e).forEach(([o,r])=>{r&&r.ts&&r.value!==void 0&&se.set(o,r)})}}catch(t){console.warn("Could not restore tourIds cache from localStorage",t)}function rt(){if(!(typeof window>"u"||!window.localStorage))try{const t={};for(const[e,o]of se.entries())t[e]=o;localStorage.setItem(Dt,JSON.stringify(t))}catch(t){console.warn("Could not persist tourIds cache",t)}}function ts(t){const e=se.get(t);if(!e)return null;const o=Date.now();return e.ts+cr<o?(se.delete(t),rt(),null):e.value}function at(t,e){const o={value:e,ts:Date.now()};se.set(t,o),rt()}c(null);async function ss(t){try{const e=tt(F.value,t),o=e,{data:r,error:s}=await X(e,{headers:{accept:"application/json"},async onResponseError({request:a,response:i,options:l}){if(i.status===429){const u=i.headers.get("Retry-After")?parseInt(i.headers.get("Retry-After")):2;return await new Promise(d=>setTimeout(d,u*1e3)),$fetch(a,l)}},timeout:1e4},"$ScCvIlU-yX");if(s?.value)return console.error("Error fetching IDs (first attempt):",s.value),{tour_ids:[]};if(console.log("fetchToursIds data",r.value.data),r.value.data.total==0){console.log("cities no results"),Q("No tours found for city");const a=F.value.find(i=>i.type==="city");if(a){console.log("cityDestination",a);const l=(await X(`${E.public.FRONTEND_URL}/expanded-cities.json`,"$BF3R-bNc7G"))?.data?.value||[],u=Array.isArray(l)&&l.find(d=>d.TourradarID==a.t_id)||null;if(u){Q("Expanding search to country"),console.log("cityInfo",u),F.value=[{t_id:u.t_country_id,label:u.country_name,type:"country"}];const d=await tt(F.value),h=ts(d);if(h)return console.log("fetchToursIds: returning cached ids for expanded country",d),h;const{secondResponse:k,error:p}=await X(d,{headers:{accept:"application/json"},async onResponseError({request:g,response:T,options:S}){if(T.status===429){const w=T.headers.get("Retry-After")?parseInt(T.headers.get("Retry-After")):2;return await new Promise(x=>setTimeout(x,w*1e3)),$fetch(g,S)}},timeout:1e4},"$r6Nx_Pe2rD");return k?.data?.value?(console.log("Data after second request:",k.data.value.data),at(d,k.data.value.data),k.data.value.data):(console.log("no cityInfo response"),Q("Try with another destination"),{tour_ids:[]})}else return console.log("no cityInfo"),Q("Try with another destination"),{tour_ids:[]}}else return console.log("no cities"),Q("Try with another destination"),{tour_ids:[]}}else{const a=r.value.data;return at(o,a),a}}catch(e){return console.error("Error fetching data from APIs",e),{tour_ids:[]}}}async function os(t,e,o,r,s,a){console.log("fetchToursData with data",t,e,o,r,s,a);try{let i=Array.isArray(e)?e:typeof e=="string"?e.split(",").map(w=>w.trim()).filter(Boolean):[];const l=(Number(t)-1)*U.value,u=i.slice(l,l+U.value);if(!u.length)return console.log(`No tour ids for page ${t} (slice empty).`),[];const d=u.join(","),h=Ut(t,d,o,r,s,a);console.log("Fetching data from URL:",h);const k=Date.now(),{data:p,error:g}=await X(h,{headers:{accept:"application/json"},async onResponseError({request:w,response:x,options:A}){if(x.status===429){const he=x.headers.get("Retry-After")?parseInt(x.headers.get("Retry-After")):2;return await new Promise(oe=>setTimeout(oe,he*1e3)),$fetch(w,A)}},timeout:1e4},"$zyJawUJpGj"),T=Date.now();if(console.log(`Fetch duration: ${T-k}ms`),g?.value)return console.error("Error fetching data from API:",g.value),[];const S=p?.value?.items||[];return console.log("Response data value (items):",S),console.log("total de registros encontrados",S.length),Yt.value=S.length,Rt.value<S.length?fe.value=S.length:fe.value=!1,S}catch(i){return console.error("Error fetching data from APIs:",i),[]}}let rs=c(!1);const as=B(()=>v.value);console.log("toursValue",as);const $e=c(!1),q=c(!1);function ns(t,e="/"){if(!t||!t.includes("-"))return t;const[o,r]=t.split("-"),s=new Date(o.replaceAll("/","-")),a=new Date(r.replaceAll("/","-"));s.setDate(s.getDate()-45),a.setDate(a.getDate()+45);const i=l=>{const u=l.getFullYear(),d=String(l.getMonth()+1).padStart(2,"0"),h=String(l.getDate()).padStart(2,"0");return`${u}${e}${d}${e}${h}`};return`${i(s)}-${i(a)}`}const J=async()=>{C.value===1&&(R.value=!0,Y.value=!0,rs.value=!1,$e.value=!1);try{if(!ce.value||!F.value)return console.error("Please check departureSelected or destinationsSelected"),!1;let t=de.value;q.value&&(t=ns(de.value,"/"),console.log("Using expanded date range for API requests:",t));const o=(await ss(t))?.tour_ids||[],r=o.length;H.value=Math.ceil(r/U.value);let s=await os(C.value,o,L.value,t,Xe.value,We.value);await Kt(s,r);const a=5,i=C.value*U.value<r;if(v.value.length<a&&i)console.log(`Found ${v.value.length}/5. Checking next chunk (Page ${C.value+1})...`),C.value++,await J();else if(v.value.length===0&&!i&&!q.value)console.log("No tours found inside standard range. Activating +45/-45 days expansion..."),q.value=!0,P.value.widenedRange=!0,C.value=1,H.value=0,await J();else if(v.value.length===0&&!i&&q.value){console.log("No tours found even after exp
1anding dates. Redirecting..."),window.location.href="/toursv2?search=true&type=tour_type&t_id=383&no_results=true";return}else console.log("Search finished or target reached.")}catch(t){return console.error("searchTours2 error:",t),!1}finally{const t=C.value*U.value<(Et.value||0),e=v.value.length===0&&!t&&!q.value;(v.value.length>=5||!t)&&!e&&(R.value=!1,Y.value=!1,$e.value=!0)}},Pe=c(!1),nt=async()=>{if(!Pe.value){Pe.value=!0,console.log("pages.value",H.value);try{Se(),ue.value&&ue.value.clearAllFilters();const t=3;let e=0;for(;e<t&&Number(H.value)>Number(C.value);)console.log("while chain",e),e++,C.value++,console.log("loader.value",C.value),R.value=!0,Y.value=!0,await J()}catch(t){console.error("loadMore error:",t)}finally{Pe.value=!1,R.value=!1,Y.value=!1}}};M.extend(Gs),M.extend(Vs);function ls(t){const e=t.get("departureSelected");return!e||e.toUpperCase()==="NYC"?"JFK":e}function is(t){return t.get("timeStay")?t.get("timeStay").split(","):["6","65"]}function cs(t,e){if(t.get(e))return P.value.exactOnly=!0,t.get(e).split("-");const o=90,r=60,s=p=>{const g=p.format("MM-DD"),T=g>="12-20"||g<="01-05",S=g>="05-15"&&g<="08-15";return T||S};let a=[];const i=[];let l=0,u=M().add(r,"day");for(let p=0;p<365&&l<o;p++)s(u)?a.length>0&&(i.push(a),a=[]):(a.push(u.clone()),l++),u=u.add(1,"day");a.length>0&&i.push(a);let d=[];if(i.length>2?d=i.reduce((p,g)=>g.length>p.length?g:p,[]):d=i.flat(),d.length===0){const p=M().add(r,"day").format("DD/MM/YYYY");return[p,p]}const h=d[0].format("DD/MM/YYYY"),k=d[d.length-1].format("DD/MM/YYYY");return P.value.flexibleApplied=!0,[h,k]}function us(t,e){return t.get(e)?parseInt(t.get(e)):1}function lt(t,e){return t.get(e)?parseInt(t.get(e)):0}c(),c(null),c(null),c(""),c([{code:77,type:"In-depth Cultural"},{code:383,type:"Explorer"},{code:178,type:"Food & Culinary"},{code:32,type:"Bicycle"},{code:73,type:"Hiking & Trekking"},{code:189,type:"Safari"},{code:381,type:"Festival & Events"},{code:56,type:"Sailing"},{code:209,type:"River Cruise"},{code:4,type:"Overland Truck"}]);const it=c(1800);Ts(async()=>{Be(),window.addEventListener("resize",Be);const t=mt(()=>{it.value>0?it.value--:(clearInterval(t),location.reload())},1e3);j=mt(()=>{Ke.value>0?Ke.value--:(j&&(clearInterval(j),j=null),ie.value=!0)},1e3),As(async()=>{const e=new URLSearchParams(window.location.search);ce.value=ls(e),We.value=is(e),Z.value=cs(e,"dateRange");const o=e.get("no_results");console.log("no_results",o),o&&(P.value.noResults=!0),console.log("dateSelected.value",Z.value),de.value=ds(Z.value),console.log("formattedDates.value",de.value),console.log("prev DATES",qe.value),console.log("next DATES",Je.value),ee.value=us(e,"adultsCount"),O.value=lt(e,"childrenCount"),He.value=lt(e,"infantsCount"),L.value=Number(ee.value)+Number(O.value)+Number(He.value),e.get("search"),Le.value=e.get("error"),e.get("childrenAges")&&e.get("childrenAges")!==""&&(Xe.value=e.get("childrenAges")),xe.value="country";const r="country";await J(),At.value=localStorage.getItem("user_id"),be.value&&r&&te.value&&be.value.searchTravelGuide(r,te.value);const s=localStorage.getItem("unloggedTourId");s&&localStorage.getItem("user_id")&&(await Ct.addTourToWishlistAfterLoginIfNeeded(s,E.public.BACKEND_URL),localStorage.removeItem("unloggedTourId"))})});const ds=t=>{const e=M(t[0],"DD/MM/YYYY"),o=M(t[1],"DD/MM/YYYY");(!e.isValid()||!o.isValid())&&console.error("Invalid date format detected. Please use DD/MM/YYYY.");const r=e.format("YYYY/MM/DD"),s=o.format("YYYY/MM/DD"),a=e.subtract(1,"day"),i=a.subtract(89,"day");qe.value=`${i.format("YYYY/MM/DD")}-${a.format("YYYY/MM/DD")}`;const l=o.add(1,"day"),u=l.add(89,"day");return Je.value=`${l.format("YYYY/MM/DD")}-${u.format("YYYY/MM/DD")}`,`${r}-${s}`},ct=t=>{console.log("dates",t);const e=M(t[0],"DD/MM/YYYY"),o=M(t[1],"DD/MM/YYYY");console.log("startDate",e),console.log("endDate",o);const r=e.format("YYYY/MM/DD"),s=o.format("YYYY/MM/DD");return`${r}-${s}`},ut=t=>{const e=ct(Z.value);return`/tourv2?${new URLSearchParams({tourId:t.tour_id,adultsCount:ee.value,childrenCount:O.value,dateRange:e}).toString()}`},dt=t=>{const e=ct(Z.value),o=`${t.tour_id}-${e}`;localStorage.setItem(o,JSON.stringify({savedAt:M().valueOf(),value:Ps(t)}))},fs=(t,e)=>{if(!e.totalPrice){t.preventDefault();return}dt(e)},pe=t=>{console.log("handleSeeTrip tour",t),dt(t),window.open(ut(t),"_self")},gs=(t,e=100)=>
1{if(!t)return"";const o=t.replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/&#160;/g," ").replace(/&#x0*A0;/gi," ").replace(/\u00A0/g," ").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&amp;/g,"&").replace(/\s+/g," ").trim(),r=/[.!?]$/.test(o);if(o.length<=e&&r)return o;const s=Math.min(o.length,e),a=o.substring(0,s),i=a.lastIndexOf(" ");return i>0?a.substring(0,i).replace(/[,.;:!?]+$/,"")+"...":a+"..."},ft=t=>{if(!t)return"";const e=String(t).trim().toLowerCase();return e?{en:"English",es:"Spanish",fr:"French",de:"German",it:"Italian",pt:"Portuguese",nl:"Dutch"}[e]??"":""},ms=t=>{const e=t?.min_age,o=t?.max_age,r=e!=null&&String(e).trim()!==""?String(e).trim():"",s=o!=null&&String(o).trim()!==""?String(o).trim():"";return r&&s?`${r} - ${s} yrs`:r||s||""},ve=(t,e)=>(Array.isArray(t?.types_list)?t.types_list:[]).find(s=>s?.group_name===e&&s?.tourtype_name)?.tourtype_name??"";return(t,e)=>{const o=vt("ripple"),r=vt("tooltip");return f(),m(pt,null,[Le.value?(f(),m("div",js,[...e[5]||(e[5]=[n("span",{style:{color:"red","font-size":"18px"}},"Error, uppsss!",-1),n("br",null,null,-1),n("span",null,[N("Unfortunately, we encountered an error while booking your trip. It seems this trip is no longer available on the specified departure. No worries "),n("strong",null,"-your card hasn't been charged"),N(". Feel free to book a similar tour instead.")],-1)])])):y("",!0),R.value==!1?(f(),m("div",zs,[ne.value==0?(f(),m("div",Hs,[_(xt)])):(f(),m("div",Ks,[_(b(Fe),{class:"mt-8"},{default:$(()=>[_(b(Ee),null,{header:$(()=>[...e[6]||(e[6]=[n("div",{class:"filter-title"},"Modify Search",-1)])]),default:$(()=>[n("div",qs,[_(xt)])]),_:1})]),_:1}),_(b(Fe),{activeIndex:V.value,onTabClose:Ve,onTabOpen:Oe},{default:$(()=>[_(b(Ee),null,{header:$(()=>[...e[7]||(e[7]=[n("div",{class:"filter-title"},"Filters",-1)])]),default:$(()=>[Y.value==!1&&z.value.length>0?(f(),m("div",Js,[_(wt,{ref_key:"filtersRef",ref:ue,types:Ae.value,duration:ke.value,ages:Ce.value,group:Ie.value,cities:me.value,prices:Me.value,languages:Re.value,onApply:Qe,onReset:Se},null,8,["types","duration","ages","group","cities","prices","languages"])])):y("",!0),R.value?(f(),m("div",Ws,[_(b(I),{class:"mb-2"}),_(b(I),{width:"2rem",class:"mb-2"}),_(b(I),{width:"1rem",class:"mb-2"}),_(b(I),{height:"2rem",class:"mb-2"}
1),_(b(I),{width:"1rem",height:"4rem"})])):y("",!0)]),_:1})]),_:1},8,["activeIndex"])]))])):y("",!0),n("div",Xs,[ne.value==0?(f(),m("div",Qs,[_(b(Fe),{activeIndex:V.value,onTabClose:Ve,onTabOpen:Oe},{default:$(()=>[_(b(Ee),null,{header:$(()=>[...e[8]||(e[8]=[n("div",{class:"filter-title"},"Filters",-1)])]),default:$(()=>[Y.value==!1&&z.value.length>0?(f(),m("div",Zs,[_(wt,{ref_key:"filtersRef",ref:ue,types:Ae.value,duration:ke.value,ages:Ce.value,group:Ie.value,cities:me.value,prices:Me.value,languages:Re.value,onApply:Qe,onReset:Se},null,8,["types","duration","ages","group","cities","prices","languages"])])):y("",!0),R.value?(f(),m("div",eo,[_(b(I),{class:"mb-2"}),_(b(I),{width:"2rem",class:"mb-2"}),_(b(I),{width:"1rem",class:"mb-2"}),_(b(I),{height:"2rem",class:"mb-2"}),_(b(I),{width:"1rem",height:"4rem"})])):y("",!0)]),_:1})]),_:1},8,["activeIndex"])])):y("",!0),n("div",to,[n("div",so,[n("div",oo,[n("div",ro,[xe.value!="tour_type"?(f(),ye(b(Bs),{key:0,model:$t.value},{item:$(({item:s,props:a})=>[re((f(),m("a",Ms({href:"#"},a.action,{onClick:Ne(i=>Pt(s.scrollTarget),["prevent"])}),[n("span",ht(yt(a.icon)),null,16),n("span",ht(yt(a.label)),D(s.label),17)],16,ao)),[[o]])]),_:1},8,["model"])):y("",!0)]),n("div",no,[n("h1",lo,[n("span",io,D(b(Gt))+":",1),e[9]||(e[9]=N(" Adventures, Tours & Trips ",-1))]),le.value.destination?(f(),m("p",co,D(le.value.destination?.overview),1)):y("",!0)]),Y.value==!1?(f(),m("div",uo,[e[10]||(e[10]=N(" Sort by: ",-1)),_(b(Rs),{modelValue:K.value,"onUpdate:modelValue":e[0]||(e[0]=s=>K.value=s),options:Nt.value,optionLabel:"name",placeholder:"Sort by:",class:"md:w-14rem green-border mt-3 lg:ml-3"},null,8,["modelValue","options"])])):y("",!0)])]),_(Us,{loading:R.value,"tip-delay":5e3,centered:""},null,8,["loading"]),q.value&&R.value?(f(),m("div",fo," We couldn't find results for your dates based on your parameters, so we're showing results for future dates instead. ")):y("",!0),_(Fs,{"show-notice-1":P.value.rangeUpdated,"show-notice-2":P.value.flexibleApplied,"show-notice-3":P.value.widenedRange,"show-notice-4":P.value.exactOnly,"show-notice-5":P.value.noResults,onCloseNotice:Tt},null,8,["show-notice-1","show-notice-2","show-notice-3","show-notice-4","show-notice-5"]),v.value!==null?(f(),m("div",go,[e[26]||(e[26]=n("hr",{class:"surface-300",style:{height:"1px",border:"none"}},null,-1)),(f(!0),m(pt,null,Cs(v.value,(s,a)=>(f(),m("div",{key:a},[s.startFlight!==null?(f(),m("div",mo,[n("div",po,[n("div",vo,[n("div",{class:"tour-card-hero relative bg-cover bg-center border-round-top-md",style:W({backgroundImage:"url("+s.main_image+")",cursor:s.totalPrice?"pointer":"not-allowed",opacity:s.totalPrice?1:.6}),onClick:i=>s.totalPrice?pe(s):null},[n("div",{class:"text-right pt-3 pr-3 relative",style:{"z-index":"1"},onClick:e[1]||(e[1]=Ne(()=>{},["stop"]))},[!Y.value&&!R.value?(f(),ye(Os,{key:0,"tour-id":s.tour_id,variant:"inline"},null,8,["tour-id"])):y("",!0)])],12,ho),n("div",{class:"hidden lg:flex flex-column w-full cursor-pointer tour-card-map-section",onClick:i=>Ge(s.map_image)},[n("div",{class:"w-full bg-cover bg-center tour-card-map-thumb image-container",style:W({backgroundImage:"url("+s.map_thumbnail+")"})},[n("button",{type:"button",onClick:Ne(i=>Ge(s.map_image),["stop"]),class:"view-map-btn"}," View map ",8,_o)],4)],8,yo)]),n("div",bo,[n("div",xo,[n("div",wo,[ve(s,"Adventure Styles")?(f(),m("div",Do,D(ve(s,"Adventure Styles")),1)):y("",!0),ve(s,"Group Type")?(f(),m("div",So,D(ve(s,"Group Type")),1)):y("",!0)])]),je.value||ze.value?(f(),m("div",To,[je.value===s.tour_id?re((f(),m("div",Ao,[...e[11]||(e[11]=[N(" Best Seller ",-1)])])),[[r,"This package is more popular and has received better reviews compared to other trips on this page."]]):y("",!0),ze.value===s.tour_id?re((f(),m("div",ko,[...e[12]||(e[12]=[N(" Great value ",-1)])])),[[r,"This package offers lower price per day compared to other trips listed on this page."]]):y("",!0)])):y("",!0),n("h1",{class:"text-base lg:text-xl my-1 font-semibold lg:text-left",style:W({cursor:s.totalPrice?"pointer":"not-allowed",opacity:s.totalPrice?1:.6}),onClick:i=>s.totalPrice?pe(s):null},D(s.tour_name),13,Co),s.reviews_count>0?(f(),m("div",{key:1,class:"flex md:mt-3 lg:justify-content-start",style:W({cursor:s.totalPrice?"pointer":"not-allowed",opacity:s.totalPrice?1:.6}),onClick:i=>s.totalPrice?pe(s):null},[e[13]||(e[13]=n("span",null,[n("img",{src:Ys,alt:""})],-1)),n("span",Mo,D(s.ratings_operator),1),n("span",Ro,"("+D(s.reviews_count)+" reviews)",1)],12,Io)):y("",!0),n("div",$o,[n("p",Po,[N(D(gs(s.description))+" ",1),n("a",{href:"#",class:"text-green-vibe",onClick:i=>pe(s)},"Read more",8,No)])]),n("div",Yo,[e[16]||(e[16]=n("div",{class:"col-4 lg:col-6 flex align-items-center"},[n("span",{class:"font-semibold"},"Language")],-1)),n("div",Eo,[n("span",null,D(ft(s?.language)),1)]),e[17]||(e[17]=n("div",{class:"col-4 lg:col-6 flex align-items-center"},[n("span",{class:"font-semibold"},"Age Range:")],-1)),n("div",Fo,[n("span",null,D(ms(s)),1)]),s?.physicalRating||s?.types_list?.[3]?.tourtype_name&&s?.types_list?.[3]?.group_name=="Physical rating type"?(f(),m("div",Lo,[...e[14]||(e[14]=[n("span",{class:"font-semibold"},"Physical Rating",-1)])])):y("",!0),s?.physicalRating||s?.types_list?.[3]?.tourtype_name&&s?.types_list?.[3]?.group_name=="Physical rating type"?(f(),m("div",Uo,[n("span",null,D(s?.physicalRating?s.physicalRating:s.types_list[3].tourtype_name),1)])):y("",!0),s?.max_group_size?(f(),m("div",Bo,[...e[15]||(e[15]=[n("span",{class:"font-semibold"},"Max Group Size",-1)])])):y("",!0),s?.max_group_size?(f(),m("div",Go,[n("span",null,D(s?.max_group_size),1)])):y("",!0),e[18]||(e[18]=n("div",{class:"col-4 lg:col-6 flex align-items-center"},[n("span",{class:"font-semibold"},"Departure:")],-1)),n("div",Vo,[s?.Flight?.departure?(f(),m("span",Oo,D(b(M)(s.Flight.departure).format("MMM D, YYYY"))+" ("+D(s.cities_list[0].city_name)+", "+D(s.start_country)+") ",1)):y("",!0)]),e[19]||(e[19]=n("div",{class:"col-4 lg:col-6 flex align-items-center"},[n("span",{class:"font-semibold"},"Return:")],-1)),n("div",jo,[s?.Flight?.arrival?(f(),m("span",zo,D(b(M)(s.Flight.arrival).format("MMM D, YYYY"))+" ("+D(s.cities_list.at(-1).city_name)+", "+D(s.end_country)+") ",1)):y("",!0)])])]),n("div",Ho,[n("div",Ko,[n("div",qo,[e[20]||(e[20]=n("span",{class:"text-sm lg:text-base block"},"Days",-1)),n("span",Jo,D(s.tour_length_days),1)]),n("div",Wo,[s.totalPrice?(f(),m("span",Xo,[n("span",Qo,[e[21]||(e[21]=N(" From ",-1)),s?.discount>0&&!Ue.value?re((f(),m("div",Zo,[n("p",er," $"+D(s.discount)+" OFF ",1)])),[[r,"A discount applied by the tour operator compared to the standard price of the adventure component of the package."]]):y("",!0)]),n("span",tr,D(t.$currencyDecimal(Math.ceil(s.totalPrice))),1),e[22]||(e[22]=n("br",null,null,-1)),re((f(),m("span",sr,[N(D(s?.tour_length_days&&s.totalPrice&&L.value?`${t.$currencyDecimal(Math.ceil(s.totalPrice/s.tour_length_days/L.value))} pp/day`:"—"),1)])),[[r,"Average price per person per day (from the total package price, which includes the organized adventure and flights) in your booking, considering the standard duration of the adventure (and not taking into consideration the pre- and post-tour nights that you can choose during the booking).",void 0,{top:!0}]]),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=n("span",{style:{color:"gray"},class:"interstate-font font-semibold"},[N("Includes flights "),n("img",{class:"h-1rem mr-2 ml-1",src:Es,alt:"airplane icon"})],-1))])):(f(),m("span",or,"Loading price..."))])]),n("div",null,[e[25]||(e[25]=$s('<div class="flex flex-column sm:flex-row lg:flex-column justify-content-around lg:justify-content-center lg:text-base text-sm lg:mt-8 mt-2" data-v-dbe60272><div class="flex lg:my-1 check-icon-info" style="padding-left:0.5rem;" data-v-dbe60272><span data-v-dbe60272><img src="'+Ye+'" data-v-dbe60272></span><span class="text-sm mx-2 font-medium" data-v-dbe60272>No booking fees</span></div><div class="flex lg:my-1" style="padding-left:0.5rem;" data-v-dbe60272><span data-v-dbe60272><img src="'+Ye+'" data-v-dbe60272></span><span class="text-sm mx-2 font-medium" data-v-dbe60272>Guaranteed departure</span></div><div class="flex lg:my-1 my-1" style="padding-left:0.5rem;" data-v-dbe60272><span data-v-dbe60272><img src="'+Ye+'" data-v-dbe60272></span><span class="text-sm mx-2 font-medium" data-v-dbe60272>Transparent pricing</span></div></div>',1)),n("a",{href:ut(s),onClick:i=>fs(i,s),style:W({cursor:s.totalPrice?"pointer":"not-allowed",marginBottom:"10%",opacity:s.totalPrice?"1":"0.6",textDecoration:"none"}),class:"interstate orange-vibe text-center mx-auto w-10 rem py-3 mt-3 border-round-md text-gray-50 block"}," See trip ",12,rr)])])])])):y("",!0)]))),128))])):y("",!0),R.value?(f(),m("div",ar,[_(b(I),{class:"mb-2"}),_(b(I),{width:"10rem",class:"mb-2"}),_(b(I),{width:"5rem",class:"mb-2"}),_(b(I),{height:"2rem",class:"mb-2"}),_(b(I),{width:"10rem",height:"4rem"})])):y("",!0),Y.value==!1&&H.value>C.value+1?(f(),ye(b(_t),{key:3,id:"loadButton",label:"Load more",class:"mx-5",onClick:nt,style:W({pointerEvents:$e.value?"auto":"none",backgroundColor:"#82CF45",border:"none"})},null,8,["style"])):y("",!0)]),xe.value!="tour_type"?(f(),ye(Ns,{key:1,ref_key:"travelGuideRef",ref:be,travelGuide:le.value,nameActivity:b(kt),"onUpdate:travelGuide":e[2]||(e[2]=s=>le.value=s),class:"mt-4"},null,8,["travelGuide","nameActivity"])):y("",!0)]),_(b(bt),{visible:we.value,"onUpdate:visible":e[3]||(e[3]=s=>we.value=s),modal:!0,closable:!0,"dismissable-mask":!0,style:{width:"50rem"}},{default:$(()=>[De.value?(f(),m("img",{key:0,src:De.value,class:"enlarged-map",alt:"Enlarged Tour Map"},null,8,nr)):y("",!0)]),_:1},8,["visible"]),_(b(bt),{visible:ie.value,"onUpdate:visible":e[4]||(e[4]=s=>ie.value=s),modal:"",showHeader:!1,closable:!1,dismissableMask:!1,closeOnEscape:!1,style:{width:"min(400px, 90vw)"},pt:{content:{class:"p-0"}},class:"fresh-prices-dialog"},{default:$(()=>[n("div",lr,[e[27]||(e[27]=n("div",{class:"fresh-prices-illustration text-center"},[n("img",{src:Ls,alt:"",class:"fresh-prices-globe"})],-1)),e[28]||(e[28]=n("h2",{class:"fresh-prices-title text-center"},"Get fresh prices",-1)),e[29]||(e[29]=n("p",{class:"fresh-prices-desc text-center"},"Refresh your search for the latest pricing and availability.",-1)),_(b(_t),{class:"fresh-prices-btn",label:"Refresh",onClick:Mt})])]),_:1},8,["visible"])],64)}}},jr=vs(ur,[["__scopeId","data-v-dbe60272"]]);export{jr 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.