PageSourceSearch

https://www.premierholidays.co.uk/_nuxt/CQE9BxbY.js

js premierholidays.co.uk collected 2026-09-24 23:36:36 UTC 52,828 bytes, 146 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./C_FyPnh7.js","./lTr7RkzU.js","./BfJgI-1u.js","./swiper-vue.DJHdZmOr.css","./entry.-lzxiteZ.css","./Bhj8_NNP.js","./DKF9JScY.js","./Dp4LzAFS.js","./BIg6aLt4.js","./BVY1fCGU.js","./Jx4T7nIq.js","./BQ2uhhR1.js","./C1K6ie2k.js","./CqkleIqs.js","./vhhgy5la.js","./BShZcGEn.js","./Bak2IoqS.js","./BJcvxiDA.js","./bmA7BkAI.js","./DK7X3seW.js","./BzFwKO0c.js","./CjZlUkB4.js"])))=>i.map(i=>d[i]);
2import{_ as P,e as oe,b as j,a as ue,n as de,f as B}from"./lTr7RkzU.js";import{_ as me}from"./Bhj8_NNP.js";import{_ as pe}from"./BIg6aLt4.js";import{_ as fe}from"./BVY1fCGU.js";import{u as O}from"./Jx4T7nIq.js";import{M as L,I as w,V as f,a0 as l,a9 as v,X as m,Q as H,d as b,m as C,Y,a8 as ce,W as F,a1 as p,U as A,ab as W,ac as z,a7 as J,O as $,G as ge,q as X,N as I}from"./BfJgI-1u.js";import{_ as G}from"./BQ2uhhR1.js";import{d as Q}from"./C1K6ie2k.js";import{s as R}from"./vhhgy5la.js";import{u as De}from"./Bak2IoqS.js";const ye={__name:"FormsHolidayQuoteIntro",props:{introData:Object},emits:["pageData"],setup(a,{expose:e,emit:t}){e();const s=t,d=a,D=b(!!(d.introData.passengers.infants||d.introData.passengers.teens||d.introData.passengers.olderTeens)),o=["Not flexible","-1 week","-3 days","-2 days","-1 day","+1 week","+3 days","+2 days","+1 day","+ or - 1 week"],n=["UK & Channel Islands","North America","Faraway","Tailor-made quote"],i=C(()=>{const x=new Date;x.setDate(x.getDate()+10);const V=x.getFullYear();let _=x.getMonth()+1,k=x.getDate();return _=_<10?"0"+_:_,k=k<10?"0"+k:k,V+"-"+_+"-"+k}),r=C(()=>!!(d.introData.departure&&d.introData.flexible&&d.introData.quoteType)),{submitAttempted:g,visibility:u,tryAdvance:y}=O(r),c={emit:s,props:d,showExtra:D,flexibleOptions:o,quoteTypeOptions:n,formattedDate:i,validation:r,submitAttempted:g,visibility:u,tryAdvance:y,handleSubmit:()=>y(()=>s("pageData",2)),ref:b,get useStepValidation(){return O}};return Object.defineProperty(c,"__isScriptSetup",{enumerable:!1,value:!0}),c}},we={id:"intro",class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4"},ve={class:"rounded-lg divide-y divide-gray-200"},be={key:0,class:"text-sm text-red-700 bg-red-50 border border-red-200 rounded px-3 py-2 mt-4",role:"alert"};function he(a,e,t,s,d,D){const o=L("FormKit"),n=fe;return f(),w(H,null,[e[10]||(e[10]=l("div",{class:"w-full"},[l("h2",{class:"text-2xl xl:text-3xl mb-4"},"Travel Dates & Passengers")],-1)),l("div",we,[m(o,{type:"date",label:"Departure Date",modelValue:t.introData.departure,"onUpdate:modelValue":e[0]||(e[0]=i=>t.introData.departure=i),name:"depart",min:s.formattedDate,validation:"required","validation-visibility":s.visibility,"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue","min","validation-visibility"]),m(o,{type:"select",label:"Number of nights?",name:"duration",options:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],modelValue:t.introData.duration,"onUpdate:modelValue":e[1]||(e[1]=i=>t.introData.duration=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),m(o,{type:"select",label:"How Flexible are you?",name:"flexible",placeholder:"Please Select",options:s.flexibleOptions,modelValue:t.introData.flexible,"onUpdate:modelValue":e[2]||(e[2]=i=>t.introData.flexible=i),validation:"required","validation-visibility":s.visibility,"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue","validation-visibility"]),m(o,{type:"select",label:"What type of quote would you like?",name:"quoteType",placeholder:"Please Select",options:s.quoteTypeOptions,modelValue:t.introData.quoteType,"onUpdate:modelValue":e[3]||(e[3]=i=>t.introData.quoteType=i),validation:"required","validation-visibility":s.visibility,"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue","validation-visibility"])]),e[11]||(e[11]=l("h4",{class:"ph-form-label !font-semibold my-4"},"Who's travelling?",-1)),l("div",ve,[m(n,{modelValue:t.introData.passengers.adults,"onUpdate:modelValue":e[4]||(e[4]=i=>t.introData.passengers.adults=i),label:"Adults",min:1},null,8,["modelValue"]),m(n,{modelValue:t.introData.passengers.children,"onUpdate:modelValue":e[5]||(e[5]=i=>t.introData.passengers.children=i),label:"Children",hint:"Age 2-11"},null,8,["modelValue"]),s.showExtra?(f(),w(H,{key:0},[m(n,{modelValue:t.introData.passengers.infants,"onUpdate:modelValue":e[6]||(e[6]=i=>t.introData.passengers.infants=i),label:"Infants",hint:"Age 0-2"},null,8,["modelValue"]),m(n,{modelValue:t.introData.passengers.teens,"onUpdate:modelValue":e[7]||
2(e[7]=i=>t.introData.passengers.teens=i),label:"Children",hint:"Age 12-15"},null,8,["modelValue"]),m(n,{modelValue:t.introData.passengers.olderTeens,"onUpdate:modelValue":e[8]||(e[8]=i=>t.introData.passengers.olderTeens=i),label:"Children",hint:"Age 16-17"},null,8,["modelValue"])],64)):v("",!0),s.showExtra?v("",!0):(f(),w("button",{key:1,type:"button",class:"ph-form-label !text-ph-blue mt-2 cursor-pointer hover:underline self-start",onClick:e[9]||(e[9]=i=>s.showExtra=!0)}," + Add infants or other ages "))]),s.submitAttempted&&!s.validation?(f(),w("p",be," Please complete the highlighted required fields before continuing. ")):v("",!0),l("div",{id:"intro-navigation",class:"w-full flex justify-end my-4 border-t border-black pt-4 mt-4"},[l("button",{class:"next",onClick:s.handleSubmit},"Next")])],64)}const xe=P(ye,[["render",he],["__file","intro.vue"]]),_e={__name:"FormsSharedLoadingSelect",props:{loading:{type:Boolean,default:!1}},setup(a,{expose:e}){e();const t={};return Object.defineProperty(t,"__isScriptSetup",{enumerable:!1,value:!0}),t}};function ke(a,e,t,s,d,D){return f(),w("div",{class:ce(["ph-loading-select",t.loading?"is-loading":""])},[Y(a.$slots,"default",{},void 0,!0)],2)}const Te=P(_e,[["render",ke],["__scopeId","data-v-c0e4eee8"],["__file","loadingSelect.vue"]]),Ae={__name:"FormsHolidayQuoteFlights",props:{flightDetails:Object,type:String},emits:["pageData"],setup(a,{expose:e,emit:t}){e();const s=t,d=a,D=()=>{s("pageData",3)},o=()=>{s("pageData",1)},{data:n,pending:i}=oe("/api/airports","$Xpk6Nca_dJ"),r=C(()=>n.value?.data||[]),g=C(()=>!0),u={emit:s,props:d,handleSubmit:D,handleBack:o,airports:n,airportsPending:i,airportOptions:r,validation:g};return Object.defineProperty(u,"__isScriptSetup",{enumerable:!1,value:!0}),u}},Ve={class:"w-full"},Ce={class:"w-full"},Pe={key:0,class:"space-y-6 mt-6"},Se={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},Ie={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},Ne={key:1},Fe={key:0,class:"grid grid-cols-1 md:grid-cols-2 gap-4 mt-4"},Be={id:"navigation",class:"w-full flex justify-between my-4 border-t border-black pt-4 mt-4"},Oe=["disabled"];function He(a,e,t,s,d,D){const o=G,n=L("FormKit"),i=Te;return f(),w("div",Ve,[e[13]||(e[13]=l("h3",{class:"text-2xl xl:text-3xl mb-4"},"Flight Details",-1)),l("div",Ce,[m(o,{modelValue:t.flightDetails.requireFlights,"onUpdate:modelValue":e[0]||(e[0]=r=>t.flightDetails.requireFlights=r),label:"Do you require flights?",options:[{label:"Yes",value:!0},{label:"No",value:!1}]},null,8,["modelValue"]),t.flightDetails.requireFlights?(f(),w("div",Pe,[m(o,{modelValue:t.flightDetails.cheapestFlights,"onUpdate:modelValue":e[1]||(e[1]=r=>t.flightDetails.cheapestFlights=r),label:"We always quote the cheapest airfare available, which may not always be non stop. Do you specifically want us to quote using non stop flights from the UK?",options:[{label:"Yes",value:!0},{label:"No",value:!1}]},null,8,["modelValue"]),m(n,{type:"text",label:"Preferred airline (optional)",modelValue:t.flightDetails.preferredAirline,"onUpdate:modelValue":e[2]||(e[2]=r=>t.flightDetails.preferredAirline=r),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),e[11]||(e[11]=l("p",{class:"ph-form-label my-2"}," Which UK Airport would you like to fly from? ",-1)),l("div",Se,[m(i,{loading:s.airportsPending},{default:F(()=>[m(n,{type:"select",label:"First Choice",name:"first_Uk_Airport",placeholder:"Please Select",options:s.airportOptions,disabled:s.airportsPending,modelValue:t.flightDetails.firstChoiceAirport,"onUpdate:modelValue":e[3]||(e[3]=r=>t.flightDetails.firstChoiceAirport=r),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["options","disabled","modelValue"])]),_:1},8,["loading"]),m(i,{loading:s.airportsPending},{default:F(()=>[m(n,{type:"select",label:"Second Choice",name:"second_choice_Uk_Airport",options:s.airportOptions,placeholder:"Please Select",disabled:s.airportsPending,modelValue:t.flightDetails.secondChoiceAirport,"onUpdate:modelValue":e[4]||(e[4]=r=>t.flightDetails.secondChoiceAirport=r),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["options","disabled","modelValue"])]),_:1},8,["loading"])]),e[12]||(e[12]=l("p",{class:"ph-form-label my-2"}," We will base your quotation on economy class. If you would like to upgrade class, please select below. ",-1)),l("div",Ie,[m(n,{type:"select",label:"",name:"air_class",modelValue:t.flightDetails.class,"onUpdate:modelValue":e[5]||(e[5]=r=>t.flightDetails.class=r),options:["Economy","Premium Economy","Business Class","First Class"],"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"])])])):v("",!0),!t.flightDetails.requireFlights&&t.type=="UK & Channel Islands"?(f(),w("div",Ne,[m(o,{modelValue:t.flightDetails.requireFerry,"onUpdate:modelValue":e[6]||(e[6]=r=>t.flightDetails.requireFerry=r),label:"Do you require a ferry?",options:[{label:"Yes",value:!0},{label:"No",value:!1}]},null,8,["modelValue"]),t.flightDetails.requireFerry?(f(),w("div",Fe,[m(n,{type:"select",label:"Which port do you wish to 
2sail from?",name:"ferry_port",modelValue:t.flightDetails.ferryPort,"onUpdate:modelValue":e[7]||(e[7]=r=>t.flightDetails.ferryPort=r),options:["Portsmouth - Isle of Wight","Poole - Channel Islands","Heysham - Isle of Man","Liverpool - Isle of Man","Southampton - Isle of Wight","Lymington - Isle of Wight"],"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),m(n,{type:"select",label:"Would you like to take your own car?",name:"take_car",modelValue:t.flightDetails.takeYourOwnCar,"onUpdate:modelValue":e[8]||(e[8]=r=>t.flightDetails.takeYourOwnCar=r),options:[{label:"Yes",value:!0},{label:"No",value:!1}],"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"])])):v("",!0)])):v("",!0)]),l("div",Be,[l("button",{class:"prev",onClick:e[9]||(e[9]=r=>s.handleBack())}," Back "),l("button",{class:"next",disabled:!s.validation,onClick:e[10]||(e[10]=r=>s.validation&&s.handleSubmit())},p(s.validation?"Next":"Please fill out all remaining fields"),9,Oe)])])}const Ue=P(Ae,[["render",He],["__file","flights.vue"]]),Ee={__name:"FormsHolidayQuotePassengerDetails",props:{passengerDetails:Object},emits:["pageData"],setup(a,{expose:e,emit:t}){e();const s=t,d=a,D=C(()=>!!(d.passengerDetails?.firstName&&d.passengerDetails?.surname&&d.passengerDetails?.email&&d.passengerDetails?.telephone&&d.passengerDetails?.source)),{submitAttempted:o,visibility:n,tryAdvance:i}=O(D),u={emit:s,props:d,validation:D,submitAttempted:o,visibility:n,tryAdvance:i,handleSubmit:()=>i(()=>s("pageData",5)),handleBack:()=>s("pageData",3),get useStepValidation(){return O}};return Object.defineProperty(u,"__isScriptSetup",{enumerable:!1,value:!0}),u}},je={class:"w-full"},Le={class:"grid grid-cols-1 md:grid-cols-2 gap-4 md:gap-x-8"},Qe={key:0,class:"text-sm text-red-700 bg-red-50 border border-red-200 rounded px-3 py-2 mt-4",role:"alert"},Re={id:"navigation",class:"w-full flex justify-between my-4 border-t border-black pt-4 mt-4"};function Me(a,e,t,s,d,D){const o=L("FormKit"),n=G;return f(),w("div",je,[e[14]||(e[14]=l("h3",{class:"text-2xl xl:text-3xl mb-4"},"Passenger Details",-1)),l("div",Le,[l("div",null,[m(o,{type:"select",label:"Title",name:"title",options:["Miss","Mrs","Mr","Dr"],modelValue:t.passengerDetails.title,"onUpdate:modelValue":e[0]||(e[0]=i=>t.passengerDetails.title=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),m(o,{type:"text",label:"First Name",name:"firstName",modelValue:t.passengerDetails.firstName,"onUpdate:modelValue":e[1]||(e[1]=i=>t.passengerDetails.firstName=i),validation:"required","validation-visibility":s.visibility,"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue","validation-visibility"]),m(o,{type:"text",label:"Surname",name:"surname",modelValue:t.passengerDetails.surname,"onUpdate:modelValue":e[2]||(e[2]=i=>t.passengerDetails.surname=i),validation:"required","validation-visibility":s.visibility,"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue","validation-visibility"]),m(o,{type:"email",label:"Email address",name:"email",placeholder:"[email protected]",modelValue:t.passengerDetails.email,"onUpdate:modelValue":e[3]||(e[3]=i=>t.passengerDetails.email=i),validation:"required|email","validation-visibility":s.visibility,"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue","validation-visibility"]),m(o,{type:"tel",label:"Phone number",name:"telephone",placeholder:"+44 xxxxx-xxx-xxx",modelValue:t.passengerDetails.telephone,"onUpdate:modelValue":e[4]||(e[4]=i=>t.passengerDetails.telephone=i),validation:"required","validation-visibility":s.visibility,"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue","validation-visibility"])]),l("div",null,[m(o,{type:"text",label:"Postcode",name:"postcode",modelValue:t.passengerDetails.postcode,"onUpdate:modelValue":e[5]||(e[5]=i=>t.passengerDetails.postcode=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),m(o,{type:"text",label:"Address Line 1",name:"address1",modelValue:t.passengerDetails.address1,"onUpdate:modelValue":e[6]||(e[6]=i=>t.passengerDetails.address1=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),m(o,{type:"text",label:"Address Line 2",name:"address2",modelValue:t.passengerDetails.address2,"onUpdate:modelValue":e[7]||
2(e[7]=i=>t.passengerDetails.address2=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),m(o,{type:"text",label:"Address Line 3",name:"address3",modelValue:t.passengerDetails.address3,"onUpdate:modelValue":e[8]||(e[8]=i=>t.passengerDetails.address3=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),m(o,{type:"text",label:"Town or City",name:"townCity",modelValue:t.passengerDetails.townCity,"onUpdate:modelValue":e[9]||(e[9]=i=>t.passengerDetails.townCity=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),m(n,{modelValue:t.passengerDetails.bookedBefore,"onUpdate:modelValue":e[10]||(e[10]=i=>t.passengerDetails.bookedBefore=i),label:"Have you booked with us before?",options:[{label:"Yes",value:!0},{label:"No",value:!1}]},null,8,["modelValue"]),m(o,{type:"select",label:"Where did you hear about us?",name:"source",placeholder:"Please Select",options:["Brochure from travel agent","Dealchecker","Enewsletter","Facebook","General Holiday Search","Magazine","Newspaper","Recommended by a friend","Times online","Tourist Board","Travelzoo","Other"],modelValue:t.passengerDetails.source,"onUpdate:modelValue":e[11]||(e[11]=i=>t.passengerDetails.source=i),"outer-class":"w-full max-w-full mt-4","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),t.passengerDetails.source=="Other"?(f(),A(o,{key:0,type:"text",label:"If Other?",name:"otherSource",modelValue:t.passengerDetails.otherSource,"onUpdate:modelValue":e[12]||(e[12]=i=>t.passengerDetails.otherSource=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"])):v("",!0)])]),s.submitAttempted&&!s.validation?(f(),w("p",Qe," Please complete the highlighted required fields before continuing. ")):v("",!0),l("div",Re,[l("button",{class:"prev",onClick:e[13]||(e[13]=i=>s.handleBack())},"Back"),l("button",{class:"next",onClick:s.handleSubmit},"Next")])])}const Ye=P(Ee,[["render",Me],["__file","passengerDetails.vue"]]),Ge={__name:"FormsHolidayQuoteContactingYou",props:{contactDetails:Object,agentDetails:Object},emits:["pageData"],setup(a,{expose:e,emit:t}){e();const s=t,d=a,D=b(!1),n={emit:s,props:d,isAgent:D,handleBack:()=>{s("pageData",4)},ref:b};return Object.defineProperty(n,"__isScriptSetup",{enumerable:!1,value:!0}),n}},Ke={class:"w-full"},We={class:"w-full"},ze={key:0,class:"grid grid-cols-1 md:grid-cols-3 gap-4 mt-4"},Je={class:"flex items-start gap-2 mt-4"},$e={class:"flex items-start gap-2 mt-3"},Xe={id:"navigation",class:"w-full flex justify-between my-4 border-t border-black pt-4 mt-4"};function Ze(a,e,t,s,d,D){const o=G,n=L("FormKit");return f(),w("div",Ke,[e[10]||(e[10]=l("h3",{class:"text-2xl xl:text-3xl mb-4"},"Contacting You",-1)),l("div",We,[m(o,{modelValue:s.isAgent,"onUpdate:modelValue":e[0]||(e[0]=i=>s.isAgent=i),label:"Are you a travel agent enquiring on behalf of the lead passenger?",options:[{label:"Yes",value:!0},{label:"No",value:!1}]},null,8,["modelValue"]),s.isAgent?(f(),w("div",ze,[m(n,{type:"text",label:"Please enter your ABTA",name:"abta",modelValue:t.agentDetails.abta,"onUpdate:modelValue":e[1]||(e[1]=i=>t.agentDetails.abta=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),m(n,{type:"text",label:"Please enter your name",name:"agentName",modelValue:t.agentDetails.name,"onUpdate:modelValue":e[2]||(e[2]=i=>t.agentDetails.name=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),m(n,{type:"text",label:"Please enter your contact number",name:"agentContact",modelValue:t.agentDetails.contact,"onUpdate:modelValue":e[3]||(e[3]=i=>t.agentDetails.contact=i),"outer-class":"w-full max-w-full","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"])])):v("",!0),m(n,{type:"text",label:"Please indicate the best time to call",name:"timeToCall",modelValue:t.contactDetails.timeToCall,"onUpdate:modelValue":e[4]||(e[4]=i=>t.contactDetails.timeToCall=i),"outer-class":"w-full max-w-full mt-6","input-class":"w-full max-w-full","wrapper-class":"w-full max-w-full","inner-class":"w-full max-w-full"},null,8,["modelValue"]),l("div",Je,[W(l("input",{type:"checkbox",id:"quote-by-email","onUpdate:modelValue":e[5]||(e[5]=i=>t.contactDetails.quoteByEmail=i),class:"w-4 h-4 mt-0.5 cursor-pointer flex-shrink-0 accent-blue-950"},null,512),[[z,t.contactDetails.quoteByEmail]]),e[8]||(e[8]=l("label",{for:"quote-by-email",class:"cursor-pointer leading-snug ph-form-label"}," I would like to receive my holiday quotation via email ",-1))]),l("div",$e,[W(l("input",{type:"checkbox",id:"marketing-opt-in","onUpdate:modelValue":e[6]||(e[6]=i=>t.contactDetails.marketingOptIn=i),class:"w-4 h-4 mt-0.5 cursor-pointer flex-shrink-0 accent-blue-950"},null,512),[[z,t.contactDetails.marketingOptIn]]),e[9]||(e[9]=l("label",{for:"marketing-opt-in",class:"cursor-pointer leading-snug ph-form-label"}," We would like to keep you updated with all our very best offers and destination news through our e-newsletter, please tick this box if you would like to opt in to this service. Your personal data is safe with us and will never be passed on to third parties. ",-1))])]),l("div",Xe,[l("button",{class:"prev",onClick:e[7]||(e[7]=i=>s.handleBack())}," Back "),Y(a.$slots,"default")])])}const qe=P(Ge,[["render",Ze],["__file","contactingYou.vue"]]);async function U(){try{const a=await $fetch("/api/forms/country-options"),e=new Map;for(const t of Array.isArray(a)?a:[])t?.id!=null&&e.set(String(t.id),t.name);return e}catch(a){return console.warn("Failed to load country names for quote (non-blocking)",a),new Map}}function E(a,e){return e==null||e===""?null:a.get(String(e))||e}const ea={__name:"FormsHolidayQuoteReview",props:{data:{type:Object,required:!0}},emits:["pageData"],setup(a,{expose:e,emit:t}){e();const s=t,d=a,D=b(new Map);ge(async()=>{D.value=await U()});const o=u=>E(D.value,u)||"—",n=C(()=>{const u=d.data.introData.passengers,y=[];return u.adults&&y.push(`${u.adults} adult${u.adults>1?"s":""}`),u.children&&y.push(`${u.children} child${u.children>1?"ren":""}
2`),u.infants&&y.push(`${u.infants} infant${u.infants>1?"s":""}`),u.teens&&y.push(`${u.teens} teen${u.teens>1?"s":""}`),u.olderTeens&&y.push(`${u.olderTeens} older teen${u.olderTeens>1?"s":""}`),y.join(", ")||"—"}),i=u=>{if(!u)return"—";const[y,h,c]=String(u).split("-");return!y||!h||!c?u:`${c}/${h}/${y}`},r=C(()=>{const u=d.data.agentDetails;return!!(u?.abta||u?.name||u?.contact)}),g={emit:s,props:d,countryNameById:D,countryLabel:o,travellersSummary:n,formatDate:i,hasAgentDetails:r,get getCountryNameMap(){return U},get resolveCountryName(){return E}};return Object.defineProperty(g,"__isScriptSetup",{enumerable:!1,value:!0}),g}},aa={class:"w-full"},ta={class:"space-y-6"},la={class:"grid grid-cols-1 sm:grid-cols-2 gap-y-1 gap-x-6 ph-form-label"},sa={class:"flex justify-between sm:block"},ia={class:"flex justify-between sm:block"},na={class:"flex justify-between sm:block"},ra={class:"flex justify-between sm:block"},oa={class:"flex justify-between sm:block"},ua={key:0},da={class:"grid grid-cols-1 sm:grid-cols-2 gap-y-1 gap-x-6 ph-form-label"},ma={class:"flex justify-between sm:block"},pa={class:"flex justify-between sm:block"},fa={class:"flex justify-between sm:block"},ca={class:"flex justify-between sm:block"},ga={class:"flex justify-between sm:block"},Da={key:1},ya={class:"grid grid-cols-1 sm:grid-cols-2 gap-y-1 gap-x-6 ph-form-label"},wa={class:"flex justify-between sm:block"},va={class:"flex justify-between sm:block"},ba={key:2},ha={class:"ph-form-label whitespace-pre-wrap"},xa={class:"ph-form-label whitespace-pre-wrap"},_a={key:3},ka={class:"grid grid-cols-1 sm:grid-cols-2 gap-y-1 gap-x-6 ph-form-label"},Ta={class:"flex justify-between sm:block"},Aa={class:"flex justify-between sm:block"},Va={class:"flex justify-between sm:block"},Ca={class:"flex justify-between sm:block"},Pa={key:4},Sa={class:"space-y-2 ph-form-label"},Ia={key:5},Na={class:"space-y-2 ph-form-label"},Fa={class:"grid grid-cols-1 sm:grid-cols-2 gap-y-1 gap-x-6 ph-form-label"},Ba={class:"flex justify-between sm:block"},Oa={class:"flex justify-between sm:block"},Ha={class:"flex justify-between sm:block"},Ua={class:"flex justify-between sm:block"},Ea={key:6},ja={class:"grid grid-cols-1 sm:grid-cols-2 gap-y-1 gap-x-6 ph-form-label"},La={class:"flex justify-between sm:block"},Qa={class:"flex justify-between sm:block"},Ra={class:"flex justify-between sm:block"},Ma={id:"navigation",class:"w-full flex justify-between my-4 border-t border-black pt-4 mt-6"};function Ya(a,e,t,s,d,D){return f(),w("div",aa,[e[34]||(e[34]=l("h3",{class:"text-2xl xl:text-3xl mb-2"},"Review your request",-1)),e[35]||(e[35]=l("p",{class:"ph-form-label mb-6"}," Please check the details below. Use the stepper above to jump back and edit any section. ",-1)),l("div",ta,[l("section",null,[e[6]||(e[6]=l("h4",{class:"text-sm font-semibold text-ph-blue mb-2"},"Travel dates",-1)),l("dl",la,[l("div",sa,[e[1]||(e[1]=l("dt",{class:"text-gray-500"},"Departure",-1)),l("dd",null,p(s.formatDate(t.data.introData.departure)),1)]),l("div",ia,[e[2]||(e[2]=l("dt",{class:"text-gray-500"},"Nights",-1)),l("dd",null,p(t.data.introData.duration),1)]),l("div",na,[e[3]||(e[3]=l("dt",{class:"text-gray-500"},"Flexibility",-1)),l("dd",null,p(t.data.introData.flexible||"—"),1)]),l("div",ra,[e[4]||(e[4]=l("dt",{class:"text-gray-500"},"Quote type",-1)),l("dd",null,p(t.data.introData.quoteType||"—"),1)]),l("div",oa,[e[5]||(e[5]=l("dt",{class:"text-gray-500"},"Travellers",-1)),l("dd",null,p(s.travellersSummary),1)])])]),t.data.flightDetails.requireFlights?(f(),w("section",ua,[e[12]||(e[12]=l("h4",{class:"text-sm font-semibold text-ph-blue mb-2"},"Flights",-1)),l("dl",da,[l("div",ma,[e[7]||(e[7]=l("dt",{class:"text-gray-500"},"Cheapest non-stop only",-1)),l("dd",null,p(t.data.flightDetails.cheapestFlights?"Yes":"No"),1)]),l("div",pa,[e[8]||(e[8]=l("dt",{class:"text-gray-500"},"Preferred airline",-1)),l("dd",null,p(t.data.flightDetails.preferredAirline||"—"),1)]),l("div",fa,[e[9]||(e[9]=l("dt",{class:"text-gray-500"},"First choice airport",-1)),l("dd",null,p(t.data.flightDetails.firstChoiceAirport),1)]),l("div",ca,[e[10]||(e[10]=l("dt",{class:"text-gray-500"},"Second choice airport",-1)),l("dd",null,p(t.data.flightDetails.secondChoiceAirport),1)]),l("div",ga,[e[11]||(e[11]=l("dt",{class:"text-gray-500"},"Class",-1)),l("dd",null,p(t.data.flightDetails.class||"Economy"),1)])])])):t.data.flightDetails.requireFerry?(f(),w("section",Da,[e[15]||(e[15]=l("h4",{class:"text-sm font-semibold text-ph-blue mb-2"}
2,"Ferry",-1)),l("dl",ya,[l("div",wa,[e[13]||(e[13]=l("dt",{class:"text-gray-500"},"Port",-1)),l("dd",null,p(t.data.flightDetails.ferryPort||"—"),1)]),l("div",va,[e[14]||(e[14]=l("dt",{class:"text-gray-500"},"Bringing own car",-1)),l("dd",null,p(t.data.flightDetails.takeYourOwnCar?"Yes":"No"),1)])])])):v("",!0),t.data.introData.quoteType==="Tailor-made quote"?(f(),w("section",ba,[e[16]||(e[16]=l("h4",{class:"text-sm font-semibold text-ph-blue mb-2"},"Holiday details",-1)),l("p",ha,p(t.data.tmDetails.details||"—"),1),e[17]||(e[17]=l("p",{class:"ph-form-label !font-semibold !text-ph-blue mt-2"},"Budget",-1)),l("p",xa,p(t.data.tmDetails.budget||"—"),1)])):v("",!0),t.data.introData.quoteType==="UK & Channel Islands"?(f(),w("section",_a,[e[22]||(e[22]=l("h4",{class:"text-sm font-semibold text-ph-blue mb-2"},"Holiday details",-1)),l("dl",ka,[l("div",Ta,[e[18]||(e[18]=l("dt",{class:"text-gray-500"},"Destination",-1)),l("dd",null,p(t.data.shortHaulDetails.country||"—"),1)]),l("div",Aa,[e[19]||(e[19]=l("dt",{class:"text-gray-500"},"Accommodation",-1)),l("dd",null,p(t.data.shortHaulDetails.hotel||"—"),1)]),l("div",Va,[e[20]||(e[20]=l("dt",{class:"text-gray-500"},"Board basis",-1)),l("dd",null,p(t.data.shortHaulDetails.board||"—"),1)]),l("div",Ca,[e[21]||(e[21]=l("dt",{class:"text-gray-500"},"Budget",-1)),l("dd",null,p(t.data.shortHaulDetails.budget||"—"),1)])])])):v("",!0),t.data.introData.quoteType==="Faraway"?(f(),w("section",Pa,[e[23]||(e[23]=l("h4",{class:"text-sm font-semibold text-ph-blue mb-2"},"Holiday details",-1)),l("ol",Sa,[(f(!0),w(H,null,J(t.data.farawayDetails.destinations,(o,n)=>(f(),w("li",{key:n,class:"bg-white rounded p-2"},[l("strong",null,"Centre "+p(n+1)+":",1),$(" "+p(s.countryLabel(o.country))+" · "+p(o.resort||"any resort")+" · "+p(o.hotel||"any hotel")+" · "+p(o.duration)+" nights ",1)]))),128))])])):v("",!0),t.data.introData.quoteType==="North America"?(f(),w("section",Ia,[e[24]||(e[24]=l("h4",{class:"text-sm font-semibold text-ph-blue mb-2"},"Holiday details",-1)),l("ol",Na,[(f(!0),w(H,null,J(t.data.americaDetails.destinations,(o,n)=>(f(),w("li",{key:n,class:"bg-white rounded p-2"},[l("strong",null,"Centre "+p(n+1)+":",1),$(" "+p(s.countryLabel(o.country))+" · "+p(o.region||"—")+" · "+p(o.resort||"any resort")+" · "+p(o.duration)+" nights ",1)]))),128))])])):v("",!0),l("section",null,[e[29]||(e[29]=l("h4",{class:"text-sm font-semibold text-ph-blue mb-2"},"Lead passenger",-1)),l("dl",Fa,[l("div",Ba,[e[25]||(e[25]=l("dt",{class:"text-gray-500"},"Name",-1)),l("dd",null,p(t.data.passengerDetails.title)+" "+p(t.data.passengerDetails.firstName)+" "+p(t.data.passengerDetails.surname),1)]),l("div",Oa,[e[26]||(e[26]=l("dt",{class:"text-gray-500"},"Email",-1)),l("dd",null,p(t.data.passengerDetails.email),1)]),l("div",Ha,[e[27]||(e[27]=l("dt",{class:"text-gray-500"},"Phone",-1)),l("dd",null,p(t.data.passengerDetails.telephone),1)]),l("div",Ua,[e[28]||(e[28]=l("dt",{class:"text-gray-500"},"Best time to call",-1)),l("dd",null,p(t.data.contactDetails.timeToCall||"Anytime"),1)])])]),s.hasAgentDetails?(f(),w("section",Ea,[e[33]||(e[33]=l("h4",{class:"text-sm font-semibold text-ph-blue mb-2"},"Travel agent",-1)),l("dl",ja,[l("div",La,[e[30]||(e[30]=l("dt",{class:"text-gray-500"},"ABTA",-1)),l("dd",null,p(t.data.agentDetails?.abta||"—"),1)]),l("div",Qa,[e[31]||(e[31]=l("dt",{class:"text-gray-500"},"Agent name",-1)),l("dd",null,p(t.data.agentDetails?.name||"—"),1)]),l("div",Ra,[e[32]||(e[32]=l("dt",{class:"text-gray-500"},"Agent contact",-1)),l("dd",null,p(t.data.agentDetails?.contact||"—"),1)])])])):v("",!0)]),l("div",Ma,[l("button",{class:"prev",onClick:e[0]||(e[0]=o=>s.emit("pageData",5))},"Back"),Y(a.$slots,"default")])])}const Ga=P(ea,[["render",Ya],["__file","review.vue"]]);function M(a){return new Date(a).getTime()/1e3}var Z={};async function q(a){const e=[],t=await U();a.farawayDetails.value.destinations.forEach(r=>{e.push({country:E(t,r.country),hotel:r.hotel,resort:r.resort,nights:parseInt(r.duration)})});const s=`
3    mutation sendQuote(
4      $id: String
5      $travelType: String
6      $quoteType: String
7      $details: String
8      $offerDetails: offerDetailsInput
9      $departure: departureInput
10      $passenger: passengerInput
11      $rooms: roomsInput
12      $longhaul: LongHaulQuoteInput
13      $marketing: marketingDetailsInput
14      $received: Int
15      $completed: Boolean
16      $agent: AgentDetailsInput
17    ) {
18      sendQuote(
19        id: $id
20        travelType: $travelType
21        quoteType: $quoteType
22        details: $details
23        offerDetails: $offerDetails
24        departure: $departure
25        passenger: $passenger
26        rooms: $rooms
27        longhaul: $longhaul
28        marketing: $marketing
29        received: $received
30        completed: $completed
31        agent: $agent
32      ) {
33        code
34        message
35        success
36      }
37    }
38  `,d={id:a.passengerDetails.value.surname.toUpperCase()+Q().unix(),travelType:"LONG_HAUL",quoteType:"GENERAL",details:a.farawayDetail
38s.value.additionalDetails,departure:{departureDate:M(a.introData.value.departure),departurePoint:a.flightDetails.value.firstChoiceAirport,departurePoint2:a.flightDetails.value.secondChoiceAirport,flexible:a.introData.value.flexible},passenger:{title:a.passengerDetails.value.title,firstName:a.passengerDetails.value.firstName,surname:a.passengerDetails.value.surname,postcode:a.passengerDetails.value.postcode,address1:a.passengerDetails.value.address1,townCity:a.passengerDetails.value.townCity,email:a.passengerDetails.value.email,telephone:a.passengerDetails.value.telephone,quoteByEmail:a.contactDetails.value.quoteByEmail,timeToCall:a.contactDetails.value.timeToCall},longhaul:{quoteType:"FARAWAY",destinations:e,excursions:a.farawayDetails.value.excursions,flightsRequired:a.flightDetails.value.requireFlights,cheapestAirfare:a.flightDetails.value.cheapestFlights,preferredAirline:a.flightDetails.value.preferredAirline,class:a.flightDetails.value.class,budget:a.farawayDetails.value.budget},rooms:{adults:parseInt(a.introData.value.passengers.adults),children:parseInt(a.introData.value.passengers.children),infants:parseInt(a.introData.value.passengers.infants),teens:parseInt(a.introData.value.passengers.teens),olderTeens:parseInt(a.introData.value.passengers.olderTeens)},marketing:{bookedBefore:a.passengerDetails.value.bookedBefore,source:a.passengerDetails.value.source,website:"PH"},received:Math.floor(Date.now()/1e3),completed:!1,agent:{abta:a.agentDetails.value.abta,name:a.agentDetails.value.name,contact:a.agentDetails.value.contact}},D=j(),o=D?.public||{},n=o.graphqlEndpoint||o.payloadBaseUrl||D.payloadBaseUrl||Z.PAYLOAD_BASE_URL||"";typeof n=="string"&&n.replace(/\/$/,"");const i=Z.GRAPHQL_ENDPOINT||"https://premier-passport-api-production.up.railway.app";try{const r=await fetch(i,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","x-api-key":"nKe4xGFgHOA3EMPzq0D1JRBL6Yk1CHvz"},body:JSON.stringify({query:s,variables:d})}),g=await r.json();if(!r.ok){const y=g?.errors?.[0]?.message||g?.message||`GraphQL request failed with status ${r.status}`;throw new Error(y)}const u=g?.data?.sendQuote;if(!u?.success)throw new Error(u?.message||"Faraway quote submission failed");if(a.contactDetails.value.marketingOptIn)try{await R({firstName:a.passengerDetails.value.firstName,surname:a.passengerDetails.value.surname,email:a.passengerDetails.value.email,abta:a.agentDetails.value.abta||null})}catch(y){console.warn("Mailchimp signup failed (non-blocking)",y)}return u}catch(r){throw console.error("Failed to submit faraway quote",r),r}}var ee={};async function ae(a){const e=[],t=await U();a.americaDetails.value.destinations.forEach(r=>{e.push({country:E(t,r.country),hotel:r.hotel,resort:r.resort,nights:parseInt(r.duration)})});const s=`
39    mutation sendQuote(
40      $id: String
41      $travelType: String
42      $quoteType: String
43      $details: String
44      $offerDetails: offerDetailsInput
45      $departure: departureInput
46      $passenger: passengerInput
47      $rooms: roomsInput
48      $longhaul: LongHaulQuoteInput
49      $marketing: marketingDetailsInput
50      $received: Int
51      $completed: Boolean
52      $agent: AgentDetailsInput
53    ) {
54      sendQuote(
55        id: $id
56        travelType: $travelType
57        quoteType: $quoteType
58        details: $details
59        offerDetails: $offerDetails
60        departure: $departure
61        passenger: $passenger
62        rooms: $rooms
63        longhaul: $longhaul
64        marketing: $marketing
65        received: $received
66        completed: $completed
67        agent: $agent
68      ) {
69        code
70        message
71        success
72      }
73    }
74  `,d={id:a.passengerDetails.value.surname.toUpperCase()+Q().unix(),travelType:"LONG_HAUL",quoteType:"GENERAL",details:a.americaDetails.value.additionalDetails,departure:{departureDate:M(a.introData.value.departure),departurePoint:a.flightDetails.value.firstChoiceAirport,departurePoint2:a.flightDetails.value.secondChoiceAirport,flexible:a.introData.value.flexible},passenger:{title:a.passengerDetails.value.title,firstName:a.passengerDetails.value.firstName,surname:a.passengerDetails.value.surname,postcode:a.passengerDetails.value.postcode,address1:a.passengerDetails.value.address1,townCity:a.passengerDetails.value.townCity,email:a.passengerDetails.value.email,telephone:a.passengerDetails.value.telephone,quoteByEmail:a.contactDetails.value.quoteByEmail,timeToCall:a.contactDetails.value.timeToCall},longhaul:{quoteType:"NORTH_AMERICA",destinations:e,excursions:a.americaDetails.value.excursions,flightsRequired:a.flightDetails.value.requireFlights,cheapestAirfare:a.flightDetails.value.cheapestFlights,preferredAirline:a.flightDetails.value.preferredAirline,class:a.flightDetails.value.class,budget:a.americaDetails.value.budget},rooms:{adults:parseInt(a.introData.value.passengers.adults),children:parseInt(a.introData.value.passengers.children),infants:parseInt(a.introData.value.passengers.infants),teens:parseInt(a.introData.value.passengers.teens),olderTeens:parseInt(a.introData.value.passengers.olderTeens)},marketing:{bookedBefore:a.passengerDetails.value.bookedBefore,source:a.passengerDetails.value.source,website:"PH"},received:Math.floor(Date.now()/1e3),completed:!1,agent:{abta:a.agentDetails.value.abta,name:a.agentDetails.value.name,contact:a.agentDetails.value.contact}},D=j(),o=D?.public||{},n=o.graphqlEndpoint||o.payloadBaseUrl||D.payloadBaseUrl||ee.PAYLOAD_BASE_URL||"";typeof n=="string"&&n.replace(/\/$/,"");const i=ee.GRAPHQL_ENDPOINT||"https://premier-passport-api-production.up.railway.app";try{const r=await fetch(i,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","x-api-key":"nKe4xGFgHOA3EMPzq0D1JRBL6Yk1CHvz"},body:JSON.stringify({query:s,variables:d})}),g=await r.json();if(!r.ok){const y=g?.errors?.[0]?.message||g?.message||`GraphQL request failed with status ${r.status}`;throw new Error(y)}const u=g?.data?.sendQuote;if(a.contactDetails.value.marketingOptIn)try{await R({firstName:a.passengerDetails.value.firstName,surname:a.passengerDetails.value.surname,email:a.passengerDetails.value.email,abta:a.agentDetails.value.abta||null})}catch(y){console.warn("Mailchimp signup failed (non-blocking)",y)}return u}catch(r){throw console.error("Failed to submit North America quote",r),r}}var te={};async function le(a){const e=`
75    mutation sendQuote(
76      $id: String
77      $travelType: String
78      $quoteType: String
79      $details: String
80      $offerDetails: offerDetailsInput
81      $departure: departureInput
82      $passenger: passengerInput
83      $rooms: roomsInput
84      $longhaul: LongHaulQuoteInput
85      $marketing: marketingDetailsInput
86      $received: Int
87      $completed: Boolean
88      $agent: AgentDetailsInput
89    ) {
90      sendQuote(
91        id: $id
92        travelType: $travelType
93        quoteType: $quoteType
94        details: $details
95        offerDetails: $offerDetails
96        departure: $departure
97        passenger: $passenger
98        rooms: $rooms
99        longhaul: $longhaul
100        marketing: $marketing
101        received: $received
102        completed: $completed
103        agent: $agent
104      ) {
105        code
106        message
107        success
108      }
109    }
110  `,t={id:a.passengerDetails.value.surname.toUpperCase()+Q().unix(),travelType:"LONG_HAUL",quoteType:"GENERAL",details:a.tmDetails.value.details,departure:{departureDate:M(a.introData.value.departure),departurePoint:a.flightDetails.value.firstChoiceAirport,departurePoint2:a.flightDetails.value.secondChoiceAirport,flexible:a.introData.value.flexible},passenger:{title:a.passengerDetails.value.title,firstName:a.passengerDetails.value.firstName,surname:a.passengerDetails.value.surname,postcode:a.passengerDetails.value.postcode,address1:a.passengerDetails.value.address1,townCity:a.passengerDetails.value.townCity,email:a.passengerDetails.value.email,telephone:a.passengerDetails.value.telephone,quoteByEmail:a.contactDetails.value.quoteByEmail,timeToCall:a.contactDetails.value.timeToCall},longhaul:{quoteType:"TAILOR-MADE",excursions:a.tmDetails.value.excursions,flightsRequired:a.flightDetails.value.requireFlights,cheapestAirfare:a.flightDetails.value.cheapestFlights,preferredAirline:a.flightDetails.value.preferredAirline,class:a.flightDetails.value.class,budget:a.tmDetails.value.budget},rooms:{adults:parseInt(a.introData.value.passengers.adults),children:parseInt(a.introData.value.passengers.children),infants:parseInt(a.introData.value.passengers.infants),teens:parseInt(a.introData.value.passengers.teens),olderTeens:parseInt(a.introData.value.passengers.olderTeens)},marketing:{bookedBefore:a.passengerDetails.value.bookedBefore,source:a.passengerDetails.value.source,website:"PH"},received:Math.floor(Date.now()/1e3),completed:!1,agent:{abta:a.agentDetails.value.abta,name:a.agentDetails.value.name,contact:a.agentDetails.value.contact}},s=j(),d=s?.public||{},D=d.graphqlEndpoint||d.payloadBaseUrl||s.payloadBaseUrl||te.PAYLOAD_BASE_URL||"";
110typeof D=="string"&&D.replace(/\/$/,"");const o=te.GRAPHQL_ENDPOINT||"https://premier-passport-api-production.up.railway.app";try{const n=await fetch(o,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","x-api-key":"nKe4xGFgHOA3EMPzq0D1JRBL6Yk1CHvz"},body:JSON.stringify({query:e,variables:t})}),i=await n.json();if(!n.ok){const g=i?.errors?.[0]?.message||i?.message||`GraphQL request failed with status ${n.status}`;throw new Error(g)}const r=i?.data?.sendQuote;if(a.contactDetails.value.marketingOptIn)try{await R({firstName:a.passengerDetails.value.firstName,surname:a.passengerDetails.value.surname,email:a.passengerDetails.value.email,abta:a.agentDetails.value.abta||null})}catch(g){console.warn("Mailchimp signup failed (non-blocking)",g)}return r}catch(n){throw console.error("Failed to submit tailor-made quote",n),n}}var se={};async function ie(a){let e=null,t=null,s=null;a.flightDetails.value.requireFerry&&(e="Ferry - "+a.flightDetails.value.ferryPort),a.flightDetails.value.requireFlights&&(e="Accommodation & Flight",t=a.flightDetails.value.firstChoiceAirport,s=a.flightDetails.value.secondChoiceAirport);const d=`
111    mutation sendQuote(
112      $id: String
113      $travelType: String
114      $quoteType: String
115      $details: String
116      $offerDetails: offerDetailsInput
117      $departure: departureInput
118      $passenger: passengerInput
119      $rooms: roomsInput
120      $shorthaul: ShortHaulQuoteInput
121      $marketing: marketingDetailsInput
122      $received: Int
123      $completed: Boolean
124      $agent: AgentDetailsInput
125    ) {
126      sendQuote(
127        id: $id
128        travelType: $travelType
129        quoteType: $quoteType
130        details: $details
131        offerDetails: $offerDetails
132        departure: $departure
133        passenger: $passenger
134        rooms: $rooms
135        shorthaul: $shorthaul
136        marketing: $marketing
137        received: $received
138        completed: $completed
139        agent: $agent
140      ) {
141        code
142        message
143        success
144      }
145    }
146  `,D={id:a.passengerDetails.value.surname.toUpperCase()+Q().unix(),travelType:"SHORT_HAUL",quoteType:"GENERAL",details:a.shortHaulDetails.value.additionalDetails,departure:{departureDate:M(a.introData.value.departure),departurePoint:t,departurePoint2:s,flexible:a.introData.value.flexible},passenger:{title:a.passengerDetails.value.title,firstName:a.passengerDetails.value.firstName,surname:a.passengerDetails.value.surname,postcode:a.passengerDetails.value.postcode,address1:a.passengerDetails.value.address1,townCity:a.passengerDetails.value.townCity,email:a.passengerDetails.value.email,telephone:a.passengerDetails.value.telephone,quoteByEmail:a.contactDetails.value.quoteByEmail,timeToCall:a.contactDetails.value.timeToCall},shorthaul:{destinations:{hotel:a.shortHaulDetails.value.hotel,country:a.shortHaulDetails.value.country,board:a.shortHaulDetails.value.board},travelMethod:e,takeCar:a.flightDetails.value.takeYourOwnCar,carHire:a.shortHaulDetails.value.carHire,budget:a.shortHaulDetails.value.budget},rooms:{adults:parseInt(a.introData.value.passengers.adults),children:parseInt(a.introData.value.passengers.children),infants:parseInt(a.introData.value.passengers.infants),teens:parseInt(a.introData.value.passengers.teens),olderTeens:parseInt(a.introData.value.passengers.olderTeens)},marketing:{bookedBefore:a.passengerDetails.value.bookedBefore,source:a.passengerDetails.value.source,website:"PH"},agent:{abta:a.agentDetails.value.abta,name:a.agentDetails.value.name,contact:a.agentDetails.value.contact},received:Math.floor(Date.now()/1e3),completed:!1},o=j(),n=o?.public||{},i=n.graphqlEndpoint||n.payloadBaseUrl||o.payloadBaseUrl||se.PAYLOAD_BASE_URL||"";typeof i=="string"&&i.replace(/\/$/,"");const r=se.GRAPHQL_ENDPOINT||"https://premier-passport-api-production.up.railway.app";try{const g=await fetch(r,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","x-api-key":"nKe4xGFgHOA3EMPzq0D1JRBL6Yk1CHvz"},body:JSON.stringify({query:d,variables:D})}),u=await g.json();if(!g.ok){const h=u?.errors?.[0]?.message||u?.message||`GraphQL request failed with status ${g.status}`;throw new Error(h)}const y=u?.data?.sendQuote;if(a.contactDetails.value.marketingOptIn)try{await R({firstName:a.passengerDetails.value.firstName,surname:a.passengerDetails.value.surname,email:a.passengerDetails.value.email,abta:a.agentDetails.value.abta||null})}catch(h){console.warn("Mailchimp signup failed (non-blocking)",h)}return y}catch(g){throw console.error("Failed to submit short haul quote",g),g}}const N="ph-plan-a-trip-form",Ka={__name:"index",setup(a,{expose:e}){e();const t=I(()=>B(()=>import("./C_FyPnh7.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),s=I(()=>B(()=>import("./bmA7BkAI.js"),__vite__mapDeps([18,19,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),d=I(()=>B(()=>import("./BzFwKO0c.js"),__vite__mapDeps([20,19,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),D=I(()=>B(()=>import("./CjZlUkB4.js"),__vite__mapDeps([21,19,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]),import.meta.url)),o=[{label:"Dates"},{label:"Travel"},{label:"Holiday"},{label:"Passenger"},{label:"Contact"},{label:"Review"}],n={page:1,introData:{departure:null,duration:7,flexible:null,quoteType:null,passengers:{adults:2,infants:0,children:0,teens:0,olderTeens:0}},flightDetails:{requireFlights:!0,cheapestFlights:!1,preferredAirline:null,firstChoiceAirport:"London - Any",secondChoiceAirport:"London - Any",class:null,requireFerry:null,ferryPort:null,takeYourOwnCar:!1},tmDetails:{details:null,budget:null},americaDetails:{destinations:[{country:"",region:"",hotel:"",resort:"",duration:5}],ifOtherHotel:null,excursions:null,additionalDetails:null,budget:null}
146,farawayDetails:{destinations:[{country:"",hotel:"",resort:"",duration:5}],ifOtherHotel:null,excursions:null,additionalDetails:null,budget:null},shortHaulDetails:{hotel:null,board:null,country:null,additionalDetails:null,budget:null,carHire:"No car hire required"},passengerDetails:{title:null,firstName:null,surname:null},contactDetails:{timeToCall:null,marketingOptIn:!1,quoteByEmail:!1},agentDetails:{abta:null,name:null,contact:null}},i=(()=>{try{const T=window.localStorage.getItem(N);return T?JSON.parse(T):null}catch{return null}})()||null,r=b(!!(i&&i.page>1)),g=b(i?.page??n.page),u=b({...n.introData,...i?.introData||{}}),y=b({...n.flightDetails,...i?.flightDetails||{}}),h=b({...n.tmDetails,...i?.tmDetails||{}}),c=b({...n.americaDetails,...i?.americaDetails||{}}),x=b({...n.farawayDetails,...i?.farawayDetails||{}}),V=b({...n.shortHaulDetails,...i?.shortHaulDetails||{}}),_=b({...n.passengerDetails,...i?.passengerDetails||{}}),k=b({...n.contactDetails,...i?.contactDetails||{}}),S=b({...n.agentDetails,...i?.agentDetails||{}}),ne=()=>{g.value=n.page,u.value={...n.introData,passengers:{...n.introData.passengers}},y.value={...n.flightDetails},h.value={...n.tmDetails},c.value={...n.americaDetails,destinations:n.americaDetails.destinations.map(T=>({...T}))},x.value={...n.farawayDetails,destinations:n.farawayDetails.destinations.map(T=>({...T}))},V.value={...n.shortHaulDetails},_.value={...n.passengerDetails},k.value={...n.contactDetails},S.value={...n.agentDetails},r.value=!1;try{window.localStorage.removeItem(N)}catch{}};X([g,u,y,h,c,x,V,_,k,S],()=>{try{window.localStorage.setItem(N,JSON.stringify({page:g.value,introData:u.value,flightDetails:y.value,tmDetails:h.value,americaDetails:c.value,farawayDetails:x.value,shortHaulDetails:V.value,passengerDetails:_.value,contactDetails:k.value,agentDetails:S.value}))}catch{}},{deep:!0});const re=async()=>{const T={introData:u,flightDetails:y,tmDetails:h,americaDetails:c,farawayDetails:x,shortHaulDetails:V,passengerDetails:_,contactDetails:k,agentDetails:S};u.value.quoteType=="Faraway"?q(T):u.value.quoteType=="North America"?ae(T):u.value.quoteType=="Tailor-made quote"?le(T):u.value.quoteType=="UK & Channel Islands"&&ie(T);try{window.localStorage.removeItem(N)}catch{}await de("/plan-a-trip/thanks")};De({title:"Request a quote",description:"Request a tailor-made holiday quote with Premier Holidays. Booking holidays since 1936, ATOL Protected.",url:"https://www.premierholidays.co.uk/plan-a-trip/"});const K={TailorMade:t,Faraway:s,NorthAmerica:d,ShortHaul:D,STORAGE_KEY:N,steps:o,defaults:n,restored:i,showResumeBanner:r,page:g,introData:u,flightDetails:y,tmDetails:h,americaDetails:c,farawayDetails:x,shortHaulDetails:V,passengerDetails:_,contactDetails:k,agentDetails:S,startOver:ne,submit:re,ref:b,watch:X,defineAsyncComponent:I,get mutateFarawayQuote(){return q},get mutateNorthAmericaQuote(){return ae},get mutateTailorMadeQuote(){return le},get mutateShortHaulQuote(){return ie}};return Object.defineProperty(K,"__isScriptSetup",{enumerable:!1,value:!0}),K}},Wa={key:0,class:"flex items-center justify-between gap-4 bg-ph-light-blue border border-ph-blue/20 rounded-lg p-4 mb-4"},za={class:"flex gap-2"},Ja={class:"bg-gray-50 p-6 xl:p-8 rounded-xl"};function $a(a,e,t,s,d,D){const o=me,n=pe,i=xe,r=Ue,g=Ye,u=qe,y=Ga,h=ue;return f(),A(h,{name:"quote"},{default:F(()=>[m(o,{level:1,title:"Plan your trip",text:"At Premier Holidays, we pride ourselves on crafting tailor-made travel experiences with a keen eye for detail. We invite you to share your journey's specifics using the form below. Your input will be meticulously reviewed by our knowledgeable travel experts, who specialise in creating personalised itineraries that reflect your unique desires. O
146nce received, our team will assemble an itinerary tailored just for you and reach out via your preferred communication method."}),s.showResumeBanner?(f(),w("div",Wa,[e[13]||(e[13]=l("p",{class:"text-sm text-ph-blue"}," We've restored your unfinished quote so you can pick up where you left off. ",-1)),l("div",za,[l("button",{type:"button",class:"text-xs px-3 py-1 rounded-full bg-ph-blue text-white cursor-pointer",onClick:e[0]||(e[0]=c=>s.showResumeBanner=!1)}," Continue "),l("button",{type:"button",class:"text-xs px-3 py-1 rounded-full border border-ph-blue text-ph-blue cursor-pointer",onClick:s.startOver}," Start over ")])])):v("",!0),m(n,{page:s.page,steps:s.steps,onNavigate:e[1]||(e[1]=c=>s.page=c)},null,8,["page"]),l("div",Ja,[s.page==1?(f(),A(i,{key:0,introData:s.introData,onPageData:e[2]||(e[2]=c=>s.page=c)},null,8,["introData"])):v("",!0),s.page==2?(f(),A(r,{key:1,flightDetails:s.flightDetails,type:s.introData.quoteType,onPageData:e[3]||(e[3]=c=>s.page=c)},null,8,["flightDetails","type"])):v("",!0),s.introData.quoteType=="Tailor-made quote"&&s.page==3?(f(),A(s.TailorMade,{key:2,tmDetails:s.tmDetails,onPageData:e[4]||(e[4]=c=>s.page=c)},null,8,["tmDetails"])):v("",!0),s.introData.quoteType=="Faraway"&&s.page==3?(f(),A(s.Faraway,{key:3,farawayDetails:s.farawayDetails,onPageData:e[5]||(e[5]=c=>s.page=c)},null,8,["farawayDetails"])):v("",!0),s.introData.quoteType=="North America"&&s.page==3?(f(),A(s.NorthAmerica,{key:4,americaDetails:s.americaDetails,onPageData:e[6]||(e[6]=c=>s.page=c)},null,8,["americaDetails"])):v("",!0),s.introData.quoteType=="UK & Channel Islands"&&s.page==3?(f(),A(s.ShortHaul,{key:5,shortHaulDetails:s.shortHaulDetails,onPageData:e[7]||(e[7]=c=>s.page=c)},null,8,["shortHaulDetails"])):v("",!0),s.page==4?(f(),A(g,{key:6,passengerDetails:s.passengerDetails,onPageData:e[8]||(e[8]=c=>s.page=c)},null,8,["passengerDetails"])):v("",!0),s.page==5?(f(),A(u,{key:7,contactDetails:s.contactDetails,agentDetails:s.agentDetails,onPageData:e[10]||(e[10]=c=>s.page=c)},{default:F(()=>[l("button",{class:"next",onClick:e[9]||(e[9]=c=>s.page=6)},"Review")]),_:1},8,["contactDetails","agentDetails"])):v("",!0),s.page==6?(f(),A(y,{key:8,data:{introData:s.introData,flightDetails:s.flightDetails,tmDetails:s.tmDetails,americaDetails:s.americaDetails,farawayDetails:s.farawayDetails,shortHaulDetails:s.shortHaulDetails,passengerDetails:s.passengerDetails,contactDetails:s.contactDetails,agentDetails:s.agentDetails},onPageData:e[12]||(e[12]=c=>s.page=c)},{default:F(()=>[l("button",{class:"next",onClick:e[11]||(e[11]=c=>s.submit())},"Send my quote request")]),_:1},8,["data"])):v("",!0)])]),_:1})}const Xa=P(Ka,[["render",$a],["__file","index.vue"]]),ot=Object.freeze(Object.defineProperty({__proto__:null,default:Xa},Symbol.toStringTag,{value:"Module"}));export{Te as _,ot as i};

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.