1import{j as e}from"./vendor-mui-qQixB_MT.js";import{u as Ut,c as Kt,r as y,R as He}from"./vendor-react-BDr7qW8Z.js";import{d as Vt,u as Xt,ct as Yt,e as qt,g as Ge,cA as Jt,cD as Qt,cS as Zt,i as ei,l as ti,C as ii,N as ri,s as pt,M as ft,a4 as yt,aC as Le,t as xt,B as bt,r as si,w as ai,x as ni,F as li,bb as oi,cT as ci,cU as di,j as gi}from"./index-BhLdtL_O.js";import{I as mi}from"./InvoiceModal-BurX81sX.js";import{C as hi}from"./clipboard-list-B-D9Jg3h.js";import"./vendor-pdf-_DvWF4Hx.js";import"./circle-check-big-CKBiPOAQ.js";const Ue={padding:"24px 20px",borderRight:"1px solid #e2e8f0",minWidth:0},ui={padding:"24px 20px",minWidth:0},g={fontSize:11,fontWeight:600,color:"#64748b",textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:6},x={fontSize:15,fontWeight:700,color:"#0f172a"},m={fontSize:13,color:"#64748b"},vi=()=>{const X=Ut(),kt=Kt(),jt=gi(),Ke=oi(),t=kt.state||{},{setShowLoginModal:Ve}=Vt()??{},{settings:ue}=Xt()??{},{settings:Y}=Yt()??{},M=ue?.company_name||"Wander Nova",{formatPrice:q,convertPrice:J,selectedCurrency:T}=qt(),vt=Ge.find(i=>i.label===T)??Ge[0],d=t.type==="hotel",s=t.flight||null,r=t.hotel||null,p=!!s&&!d,Xe=r?.currency||"INR",pe=p?s?.currency||"INR":d?Xe:t.package?.price_currency||"INR",fe=i=>q(J(i??0,pe,T),T),Q=t.confirmationNumber||"",E=t.bookingReferenceId||"",Nt=t.akbarTransactionId||"",P=t.bookingId||Nt||Q||E||`WN${p?"FL":"HT"}${Date.now().toString(36).toUpperCase().slice(-8)}`,ye=t.fromCity||"",xe=t.toCity||"",be=t.fromCode||"",ke=t.toCode||"",je=t.departureDate||"",Ye=t.departureDay||"",Z=t.travellers??1,ee=t.travelClass||"Economy",te=t.totalInr??0,$=t.baseFareInr??0,H=t.taxInr??0,qe=t.akbarPriceBreakdown||null,Je=t.promoDiscountInr??0,Qe=t.refundableSelected?t.refundableInr??0:0,Ze=t.insuranceSelected?t.travelInsuranceInr??0:0,et=t.baggageProtectionSelected?t.baggageInr??0:0,G=t.travelerName||(()=>{if(!d)return"";const i=t.roomGuests,o=t.adultDetails;if(i&&Array.isArray(i)&&i.length>0&&i[0].adults?.length>0){const f=i[0].adults[0];return`${f.title||""} ${(f.firstName||"").trim()} ${(f.lastName||"").trim()}`.trim()}if(o&&Array.isArray(o)&&o.length>0){const f=o[0];return`${f.title||""} ${(f.firstName||"").trim()} ${(f.lastName||"").trim()}`.trim()}return""})(),b=t.travelerEmail||"",k=t.travelerPhone||"",tt=t.tboBookingId||t.akbarTransactionId||null,ve=t.pnr||"",Ct=t.ticketStatus??null,R=!!t.akbarFlow,Ne=t.akbarSessionId||null,O=t.searchParams||{},C=t.rate||{},Ce=O.checkIn||"",Se=O.checkOut||"",Te=O.checkInDay||"",De=O.checkOutDay||"",Be=O.rooms??1,L=O.guests??1,ie=O.nights??1,[St,Tt]=y.useState(Ct),[U,it]=y.useState(!1),[rt,st]=y.useState(null),W=p&&St===ci,[z,Dt]=y.useState(t.bookingDetails||null),[Bt,at]=y.useState(!1),[nt,lt]=y.useState(null),It=async()=>{if(!(!p||!P||U)){st(null),it(!0);try{const i=await di({PNR:ve||P,BookingId:tt}),o=i?.Response?.TicketStatus??i?.TicketStatus??null;Tt(o)}catch(i){st(i?.message||"Failed to fetch status")}finally{it(!1)}}},ot=y.useCallback(async()=>{const i=E||Q;if(!(!i||z)){at(!0),lt(null);try{const o=await Jt(i);Dt(o)}catch(o){lt(o?.message||"Failed to fetch booking details")}finally{at(!1)}}},[E,Q,z]);y.useEffect(()=>{d&&!z&&ot()},[d,ot,z]);const[B,At]=y.useState(null),[re,ct]=y.useState(!1),[wt,Ie]=y.useState(null),Ae=y.useCallback(async()=>{if(!(!Ne||B)){ct(!0),Ie(null);try{const i=await Qt(Ne),o=Zt(i);o.success?At(o):Ie(o.error)}catch(i){Ie(i?.response?.data?.error||i?.message||"Failed to fetch booking details")}finally{ct(!1)}}},[Ne,B]);y.useEffect(()=>{R&&!B&&Ae()},[R,Ae,B]);const se=t.package?.package_name||t.packageName||"Package",ae=t.checkIn||"",ne=t.nights??0,we=t.guests??0,le=t.grandTotal??0,[Pt,Rt]=He.useState(p?"flights":"hotels"),[zt,Ft]=He.useState(!1),[Ot,dt]=He.useState(!1),Et=()=>{},Pe=z?.HotelResult?.[0]||z?.HotelResults?.[0]||{},oe=Pe?.ConfirmationNumber||z?.ConfirmationNumber||Q,Re=Pe?.BookingStatus||z?.Status?.Description||"Confirmed",ze=d&&($||H||Je),Fe=ze?Number($)||0:Number(C?.price)||0,Oe=ze?Number(H)||0:Number(C?.tax)||0,ce=ze&&Number(Je)||0,de=d?Xe:pe,Ee=d?te||Number(Pe?.TotalFare)||0:p?te||qe?.total_paid||0:le,ge=y.useMemo(()=>{const i={id:P,bookingId:P,pnr:ve||"",tboBookingId:tt||null,status:"Confirmed",bookingDate:t.bookingCreatedAt||new Date().toISOString(),travelerEmail:b||"",travelerPhone:k||""};if(p){const h=(G||"Guest").trim().split(/\s+/),F=h[0]||"Guest",A=h.slice(1).join(" ")||"â",u=t.tbo_segments||[],w=u.length>=2?u[u.length-1]:null,gt=!!t.returnDate||u.length>=2&&(()=>{const l=(u[0]?.fromCode||"").toUpperCase(),j=(u[u.length-1]?.toCode||"").toUpperCase();return l&&j&&l===j}
1)(),V=(R?B?.extraBaggage||[]:[]).map(l=>{const j=String(l.description||"").match(/(\d+)\s*kg/i);return{code:l.code||"",description:l.description||"",weight:j?Number(j[1]):"",price:Number(l.charge)||0,paxId:l.paxId||"",fuid:l.fuid||""}}),$t=(()=>{const l=t.ssrSelections||{};return V.length>0?{baggage:V,meal:l.meal||[],seat:l.seat||[]}:t.ssrSelections||null})(),me=R?B?.segments||[]:[],D=me[0]||null,I=me.length>=2?me[me.length-1]:null,he=l=>l?String(l).split("T")[1]?.slice(0,5):"",mt=l=>l.map(j=>j.weight?`+${j.weight} Kg`:j.description||"Extra").join(", "),ht=D?.fuid!=null?String(D.fuid):null,ut=I?.fuid!=null?String(I.fuid):null,Wt=ht?V.filter(l=>String(l.fuid)===ht):V,_t=ut?V.filter(l=>String(l.fuid)===ut):[],Mt=mt(Wt),Ht=mt(_t);return{...i,type:"flight",flight:s?{...s,extraBaggage:Mt,airline:D?.airline||s.airline||"â",flightNumber:D?.flightNumber||s.flightNumber||"",departureTime:he(D?.departureTime)||s.departureTime||s.departure||s.depTime||"",arrivalTime:he(D?.arrivalTime)||s.arrivalTime||s.arrival||s.arrTime||"",duration:D?.duration||s.duration||s.flightDuration||"",terminal:D?.terminal||s.terminal||"",cabinBaggage:D?.cabinBaggage||s.cabinBaggage||"",baggage:D?.baggage||s.baggage||"",pnr:D?.pnr||null,class:s.class||s.cabinClass||ee,tripType:s.tripType||(gt?"round-trip":"one-way"),returnFlightNumber:I?.flightNumber||w?.flightNumber||s.returnFlightNumber||"",returnDepartureTime:he(I?.departureTime)||(w?.departureTime?w.departureTime.split("T")[1]?.slice(0,5):"")||s.returnDepartureTime||"",returnArrivalTime:he(I?.arrivalTime)||(w?.arrivalTime?w.arrivalTime.split("T")[1]?.slice(0,5):"")||s.returnArrivalTime||"",returnDuration:I?.duration||w?.duration||s.returnDuration||"",returnTerminal:I?.terminal||w?.terminal||s.returnTerminal||"",returnHandBaggage:I?.cabinBaggage||w?.cabinBaggage||s.returnHandBaggage||"",returnCheckedBaggage:I?.baggage||w?.baggage||s.returnCheckedBaggage||"",returnExtraBaggage:Ht,returnPnr:I?.pnr||null}:{airline:"â",flightNumber:"",departureTime:"â",arrivalTime:"â",duration:"â",class:ee,tripType:gt?"round-trip":"one-way"},route:{from:ye,to:xe,fromCode:be,toCode:ke,departureDate:je,returnDate:t.returnDate||null},passengers:(()=>{const l=R?B?.passengers||[]:[];if(R){const c={};l.forEach(n=>{const a=`${(n.firstName||"").trim()} ${(n.lastName||"").trim()}`.toLowerCase().trim(),S=((n.tickets||[]).find(Lt=>Lt.ticketNumber)?.ticketNumber||"").trim();a&&S&&(c[a]=S)});const N=(n,a)=>c[`${(n||"").trim()} ${(a||"").trim()}`.toLowerCase().trim()]||"",$e=Array.isArray(t.adultDetails)?t.adultDetails:[],We=Array.isArray(t.childDetails)?t.childDetails:[],_e=Array.isArray(t.infantDetails)?t.infantDetails:[],Me=(n,a,S)=>({title:n?.title||(S===3||S===2?"Mstr":"Mr"),firstName:(n?.firstName||"").trim()||(a===0&&S===1?F:""),lastName:(n?.lastName||"").trim()||(a===0&&S===1?A:""),email:n?.email||(a===0&&S===1?b:"")||"",phone:n?.phone||(a===0&&S===1?k:"")||"",dateOfBirth:n?.dateOfBirth||n?.dob||"",passportNo:(n?.passportNo||n?.passportNumber||"").trim(),nationality:(n?.nationality||"").trim(),ticketNumber:(n?.ticketNumber||"").trim()||N(n?.firstName,n?.lastName),paxType:S});if($e.length+We.length+_e.length>0)return{adults:$e.map((n,a)=>Me(n,a,1)),children:We.map((n,a)=>Me(n,a,2)),infants:_e.map((n,a)=>Me(n,a,3)),total:$e.length+We.length+_e.length};if(l.length>0){const n=a=>({title:a.title||"Mr",firstName:(a.firstName||"").trim(),lastName:(a.lastName||"").trim(),email:"",phone:"",dateOfBirth:a.dob||"",passportNo:(a.passportNumber||"").trim(),nationality:(a.nationality||"").trim(),ticketNumber:((a.tickets||[]).find(S=>S.ticketNumber)?.ticketNumber||"").trim(),paxType:a.passengerType==="Child"?2:a.passengerType==="Infant"?3:1});return{adults:l.filter(a=>a.passengerType==="Adult").map(n),children:l.filter(a=>a.passengerType==="Child").map(n),infants:l.filter(a=>a.passengerType==="Infant").map(n),total:l.length}}}const j=t.passengers_data||t.adultDetails,Gt=(c,N)=>({title:c?.title||"Mr",firstName:(c?.firstName||"").trim()||(N===0?F:`Passenger ${N+1}`),lastName:(c?.lastName||"").trim()||(N===0?A:""),email:c?.email||(N===0?b:"")||"",phone:c?.phone||(N===0?k:"")||"",dateOfBirth:c?.dateOfBirth||"",passportNo:(c?.passportNo||c?.passportNumber||"").trim(),nationality:(c?.nationality||"").trim(),ticketNumber:(c?.ticketNumber||"").trim(),tboMeal:(c?.tboMeal||"").trim(),tboSeat:(c?.tboSeat||"").trim(),paxType:c?.paxType||1});if(j&&Array.isArray(j)&&j.length>0){const c=j.map(Gt);return{adults:c.filter(N=>(N.paxType||1)===1),children:c.filter(N=>N.paxType===2),infants:c.filter(N=>N.paxType===3),total:c.length||Z}}return{adults:[{title:"Mr",firstName:F,lastName:A,email:b||"",phone:k||"",dateOfBirth:"",passportNo:"",nationality:"",ticketNumber:"",paxType:1}],children:[],infants:[],total:Z}})(),pricing:{baseFare:$||0,tax:H||0,total:te||0,currency:pe,priceBreakdown:qe||null},ssr_selections:$t}}if(d)return{...i,type:"hotel",hotel:{name:r?.name||"Hotel",address:r?.address||"",pinCode:r?.tboPinCode||"",cityName:r?.tboCityName||"",countryName:r?.tboCountryName||"",stars:r?.stars||0,checkInTime:r?.tboCheckInTime||"",checkOutTime:r?.tboCheckOutTime||"",phone:r?.tboPhoneNumber||"",email:r?.tboEmail||"",fax:r?.tboFaxNumber||"",image:r?.img||""},hotelBooking:{confirmationNumber:oe||"",bookingReferenceId:E||"",checkIn:Ce,checkOut:Se,checkInDay:Te,checkOutDay:De,rooms:Be,guests:L,nights:ie,roomType:C?.roomType||C?.name||"",inclusions:C?.inclusions||"",isRefundable:C?.isRefundable??null,cancellationPolicy:C?.cancellationPolicy||""},passengers:(()=>{const h=t.roomGuests,F=t.adultDetails;let A=null;if(h&&Array.isArray(h)&&h.length>0&&h[0].adults?.length>0){const u=h[0].adults[0];A={title:u.title||"Mr",firstName:(u.firstName||"").trim()||"Guest",lastName:(u.lastName||"").trim()||"",email:b||"",phone:k||"",dateOfBirth:u.dateOfBirth||""}}else if(F&&Array.isArray(F)&&F.length>0){const u=F[0];A={title:u.title||"Mr",firstName:(u.firstName||"").trim()||"Guest",lastName:(u.lastName||"").trim()||"",email:b||"",phone:k||"",dateOfBirth:u.dateOfBirth||""}}return A||(A={title:"Mr",firstName:"Guest",lastName:"",email:b||"",phone:k||"",dateOfBirth:""}),{adults:[A],children:[],infants:[],total:L||1}})(),pricing:{baseFare:Fe,tax:Oe,discount:ce,total:Ee,currency:de},travelerEmail:b||"",travelerPhone:k||""};const o=t.holidayCheckoutDraft||{},f=Array.isArray(t.adultDetails)&&t.adultDetails.length>0?t.adultDetails:Array.isArray(o.adultDetails)&&o.adultDetails.length>0?o.adultDetails:[],_=Array.isArray(t.childDetails)&&t.childDetails.length>0?t.childDetails:Array.isArray(o.childDetails)&&o.childDetails.length>0?o.childDetails:[],v=f.length+_.length||we||1,K=f[0]||{title:"Mr",firstName:"Guest",lastName:"1"};return{...i,type:"holiday",holiday:{packageName:se,destination:t.package?.destination||t.destination||"",checkIn:ae,checkOut:t.checkOut||"",nights:ne,guests:v,adults:f.length,children:_.length,priceCategory:t.priceCategory||"",city:t.package?.city||""},flight:{airline:"Holiday Package",flightNumber:"N/A",departureTime:"â",arrivalTime:"â",duration:`${ne}N/${(ne||0)+1}D`,class:"Standard"},route:{from:t.package?.city||"",to:se,departureDate:ae,returnDate:t.checkOut||null},passengers:{adults:f.length>0?f.map(h=>({title:h.title||"Mr",firstName:(h.firstName||"").trim()||"Guest",lastName:(h.lastName||"").trim()||"",email:b,phone:k,dateOfBirth:h.dateOfBirth||""})):[{title:K.title,firstName:K.firstName,lastName:K.lastName,email:b,phone:k,dateOfBirth:""}],children:_.map(h=>({title:h.title||"",firstName:(h.firstName||"").trim()||"",lastName:(h.lastName||"").trim()||"",dob:h.dob||""})),infants:[],total:v},pricing:{baseFare:t.baseFareInr||le||0,tax:t.taxInr||0,total:le||0,currency:t.package?.price_currency||"INR",holidayTaxOnly:t.holidayTaxOnly||0,holidayServiceFee:t.holidayServiceFee||0,holidayGstPercent:t.holidayGstPercent||0}}},[P,p,d,s,r,ye,xe,be,ke,je,ee,Z,G,b,k,te,$,T,se,ae,we,le,Ce,Se,L,C,Ee,t.bookingCreatedAt,t.roomGuests,t.adultDetails,t.childDetails,t.infantDetails,R,B]);return y.useEffect(()=>{window.scrollTo(0,0)},[]),y.useEffect(()=>(document.title=`Booking Confirmed | ${M}`,()=>{document.title=M}),[M]),e.jsxs("div",{style:{minHeight:"100vh",background:"linear-gradient(180deg, #f0f9ff 0%, #e0f2fe 24%, #f1f5f9 60%, #f8fafc 100%)",paddingTop:"var(--main-header-height, 72px)",overflowX:"hidden"},children:[e.jsx("style",{children:"@keyframes bookingConfirmationSpin { to { transform: rotate(360deg); } }"}),e.jsx(ei,{activeMainTab:Pt,setActiveMainTab:i=>{Rt(i),X(Ke,{state:{tab:i}})},currencyDropdown:zt,setCurrencyDropdown:Ft,selectedCurrency:vt,setSelectedCurrency:Et,currencyOptions:Ge,onLoginClick:()=>Ve?Ve(!0):X("/login")}),e.jsxs("main",{style:{maxWidth:1100,margin:"0 auto",padding:"40px 16px 56px"},children:[e.jsxs("div",{style:{background:"#fff",borderRadius:20,boxSh
1adow:"0 4px 24px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.04)",border:"1px solid rgba(0,0,0,0.04)",overflow:"hidden",marginBottom:24,display:"flex",flexWrap:"wrap"},children:[e.jsxs("div",{style:{...Ue,background:W?"linear-gradient(145deg, #d97706 0%, #b45309 50%, #92400e 100%)":"linear-gradient(145deg, #0d9488 0%, #0f766e 50%, #115e59 100%)",borderRight:"1px solid rgba(255,255,255,0.15)",flex:"0 0 220px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",textAlign:"center"},children:[e.jsx("div",{style:{width:64,height:64,borderRadius:"50%",background:"rgba(255,255,255,0.2)",border:"2px solid rgba(255,255,255,0.4)",display:"flex",alignItems:"center",justifyContent:"center",marginBottom:14},children:W?e.jsx(ti,{size:32,color:"#fff",strokeWidth:2}):e.jsx(ii,{size:32,color:"#fff",strokeWidth:2.5})}),e.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:4,marginBottom:6},children:[e.jsx(ri,{size:14,color:"rgba(255,255,255,0.9)"}),e.jsx("span",{style:{fontSize:11,fontWeight:600,color:"rgba(255,255,255,0.95)",letterSpacing:"0.06em",textTransform:"uppercase"},children:W?"Pending":"Success"})]}),e.jsx("h1",{style:{fontSize:22,fontWeight:800,color:"#fff",margin:"0 0 8px",letterSpacing:"-0.02em"},children:W?"Pending confirmation":"Booking Confirmed"}),e.jsx("p",{style:{fontSize:13,color:"rgba(255,255,255,0.92)",margin:0,lineHeight:1.4},children:W?"Status usually updates in 10â15 minutes.":"Details sent to your email."})]}),e.jsxs("div",{style:{...Ue,flex:"1 1 180px"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:16},children:[e.jsx("div",{style:{width:40,height:40,borderRadius:10,background:"#f0fdfa",display:"flex",alignItems:"center",justifyContent:"center"},children:e.jsx(pt,{size:20,style:{color:"#0d9488"}})}),e.jsxs("div",{children:[e.jsx("div",{style:g,children:d?"Confirmation Number":p?"PNR":"Booking reference"}),e.jsx("div",{style:{fontSize:18,fontWeight:800,color:"#134e4a",letterSpacing:"0.06em",fontFamily:"ui-monospace, monospace"},children:d?oe||P:p&&ve||P})]})]}),(G||b||k)&&e.jsxs("div",{style:{marginTop:12,paddingTop:12,borderTop:"1px solid #e2e8f0"},children:[e.jsx("div",{style:g,children:"Contact"}),G&&e.jsx("div",{style:x,children:G}),b&&e.jsxs("div",{style:{...m,display:"flex",alignItems:"center",gap:4},children:[e.jsx(ft,{size:12}),b]}),k&&e.jsxs("div",{style:{...m,display:"flex",alignItems:"center",gap:4},children:[e.jsx(yt,{size:12}),k]})]}),R&&e.jsxs("div",{style:{marginTop:12,paddingTop:12,borderTop:"1px solid #e2e8f0"},children:[e.jsx("div",{style:g,children:"Ticket details"}),re&&e.jsxs("div",{style:{...m,display:"flex",alignItems:"center",gap:6},children:[e.jsx(Le,{size:13,style:{animation:"spin 1s linear infinite"}})," Fetching ticket statusâ¦"]}),!re&&wt&&e.jsxs("div",{style:{...m,color:"#dc2626"},children:["Could not load ticket numbers yet. ",e.jsx("button",{type:"button",onClick:Ae,style:{color:"#0d9488",background:"none",border:"none",cursor:"pointer",textDecoration:"underline",fontSize:12,padding:0},children:"Retry"})]}),!re&&[...ge?.passengers?.adults||[],...ge?.passengers?.children||[],...ge?.passengers?.infants||[]].map((i,o)=>e.jsxs("div",{style:{...m,marginBottom:2},children:[i.title," ",i.firstName," ",i.lastName,i.ticketNumber?` â Ticket ${i.ticketNumber}`:" â Ticket being issued"]},`${i.firstName}-${i.lastName}-${o}`)),!re&&B?.segments?.[0]?.webCheckinUrl&&e.jsx("a",{href:B.segments[0].webCheckinUrl,target:"_blank",rel:"noreferrer",style:{...m,color:"#0d9488",display:"inline-block",marginTop:4},children:"Web Check-in â"})]})]}),e.jsx("div",{style:{...Ue,flex:"1 1 260px"},children:p?e.jsxs(e.Fragment,{children:[e.jsx("div",{style:g,children:"Flight details"}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:14},children:[e.jsxs("div",{children:[e.jsx("div",{style:x,children:ye}),e.jsx("div",{style:m,children:be})]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4,flexShrink:0},children:[e.jsx("div",{style:{width:20,height:2,background:"#cbd5e1",borderRadius:1}}),e.jsx(xt,{size:18,style:{color:"#0d9488",transform:"rotate(90deg)"}}),e.jsx("div",{style:{width:20,height:2,background:"#cbd5e1",borderRadius:1}})]}),e.jsxs("div",{children:[e.jsx("div",{style:x,children:xe}),e.jsx("div",{style:m,children:ke})]})]}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:12},children:[e.jsxs("div",{children:[e.jsx("div",{style:g,children:"Departure"}),e.jsx("div",{style:x,children:je}),Ye&&e.jsx("div",{style:m,children:Ye})]}),e.jsxs("div",{children:[e.jsx("div",{style:g,children:"Travellers"}),e.jsxs("div",{style:x,children:[Z," ⢠",ee]})]}),s?.airline&&e.jsxs("div",{children:[e.jsx("div",{style:g,children:"Flight"}),e.jsxs("div",{style:x,children:[s.airline," ",s.flightNumber||""]})]})]})]}):d?e.jsxs(e.Fragment,{children:[e.jsx("div",{style:g,children:"Hotel details"}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10},children:[e.jsx(bt,{size:18,style:{color:"#0d9488",flexShrink:0}}),e.jsx("div",{style:x,children:r?.name||"Hotel"})]}),r?.address&&e.jsxs("div",{style:{...m,display:"flex",alignItems:"flex-start",ga
1p:4,marginBottom:10},children:[e.jsx(si,{size:14,style:{flexShrink:0,marginTop:1}}),e.jsxs("span",{children:[r.address,r.tboPinCode?`, ${r.tboPinCode}`:"",r.tboCityName?`, ${r.tboCityName}`:"",r.tboCountryName?`, ${r.tboCountryName}`:""]})]}),r?.stars>0&&e.jsxs("div",{style:{display:"inline-flex",alignItems:"center",gap:4,background:"#dcfce7",padding:"2px 8px",borderRadius:6,marginBottom:10},children:[e.jsx(ai,{size:12,fill:"#15803d",color:"#15803d"}),e.jsx("span",{style:{fontSize:12,fontWeight:700,color:"#15803d"},children:r.stars})]}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:16,marginTop:4},children:[e.jsxs("div",{children:[e.jsx("div",{style:g,children:"Check-in"}),e.jsx("div",{style:x,children:Ce}),Te&&e.jsx("div",{style:m,children:Te})]}),e.jsxs("div",{children:[e.jsx("div",{style:g,children:"Check-out"}),e.jsx("div",{style:x,children:Se}),De&&e.jsx("div",{style:m,children:De})]}),e.jsxs("div",{children:[e.jsx("div",{style:g,children:"Rooms & Guests"}),e.jsxs("div",{style:x,children:[Be," Room",Be>1?"s":"",", ",L," Guest",L>1?"s":""]}),ie>0&&e.jsxs("div",{style:m,children:[ie," Night",ie>1?"s":""]})]})]}),(C?.roomType||C?.name)&&e.jsxs("div",{style:{marginTop:10},children:[e.jsx("div",{style:g,children:"Room type"}),e.jsx("div",{style:x,children:C.roomType||C.name})]})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{style:g,children:"Package details"}),e.jsx("div",{style:x,children:se}),e.jsxs("div",{style:{...m,marginTop:6},children:[ae," ⢠",ne," Night(s) ⢠",we," Guest(s)"]}),t.priceCategory&&e.jsxs("div",{style:{...m,marginTop:4},children:["Category: ",t.priceCategory]}),(()=>{const i=t.holidayCheckoutDraft||{},o=Array.isArray(t.adultDetails)&&t.adultDetails.length>0?t.adultDetails:Array.isArray(i.adultDetails)&&i.adultDetails.length>0?i.adultDetails:[],f=Array.isArray(t.childDetails)&&t.childDetails.length>0?t.childDetails:Array.isArray(i.childDetails)&&i.childDetails.length>0?i.childDetails:[];if(o.length===0&&f.length===0)return null;const _=[...o.map(v=>({name:`${v.title} ${v.firstName} ${v.lastName}`.trim(),type:"Adult"})),...f.map(v=>({name:`${v.title} ${v.firstName} ${v.lastName}`.trim(),type:"Child"}))];return e.jsxs("div",{style:{marginTop:10},children:[e.jsxs("div",{style:g,children:["Travellers (",_.length,")"]}),_.map((v,K)=>e.jsxs("div",{style:{...m,marginTop:3,color:"#111"},children:[v.name," ",e.jsx("span",{style:{color:"#94a3b8",fontSize:11},children:v.type})]},K))]})})()]})}),e.jsxs("div",{style:{...ui,flex:"0 0 200px",display:"flex",flexDirection:"column",justifyContent:"center"},children:[e.jsxs("div",{style:{padding:"16px 18px",background:"linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%)",borderRadius:12,border:"1px solid rgba(13, 148, 136, 0.2)"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:8},children:[e.jsx(ni,{size:22,style:{color:"#0d9488"}}),e.jsx("span",{style:{fontSize:12,fontWeight:600,color:"#065f46"},children:"Amount paid"})]}),e.jsx("div",{style:{fontSize:22,fontWeight:800,color:"#064e3b"},children:fe(Ee)})]}),p&&($>0||H>0)&&e.jsxs("div",{style:{marginTop:12,fontSize:12,color:"#64748b"},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[e.jsx("span",{children:"Base + Tax"}),e.jsx("span",{children:fe($+H)})]}),Qe+Ze+et>0&&e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginTop:2},children:[e.jsx("span",{children:"Add-ons"}),e.jsx("span",{children:fe(Qe+Ze+et)})]})]}),d&&(Fe>0||Oe>0||ce>0)&&e.jsxs("div",{style:{marginTop:12,fontSize:12,color:"#64748b"},children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between"},children:[e.jsx("span",{children:"Base Fare"}),e.jsx("span",{children:q(J(Fe,de,T),T)})]}),e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginTop:2},children:[e.jsx("span",{children:"Tax & Fees"}),e.jsx("span",{children:q(J(Oe,de,T),T)})]}),ce>0&&e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginTop:2},children:[e.jsx("span",{children:"Promo Discount"}),e.jsxs("span",{children:["- ",q(J(ce,de,T),T)]})]})]})]})]}),p&&W&&e.jsxs("div",{style:{background:"#fffbeb",border:"1px solid #fcd34d",borderRadius:12,padding:"16px 20px",marginBottom:24,display:"flex",flexWrap:"wrap",alignItems:"center",gap:12,justifyContent:"space-between"},children:[e.jsxs("div",{style:{flex:"1 1 200px"},children:[e.jsx("p",{style:{margin:0,fontSize:14,fontWeight:600,color:"#92400e"},children:"Booking is with the airline. Ticket status may take 10â15 minutes to confirm."}),e.jsx("p",{style:{margin:"4px 0 0",fontSize:13,color:"#b45309"}
1,children:'Use "Check status" below to refresh. Do not create another booking for this PNR.'}),rt&&e.jsx("p",{style:{margin:"8px 0 0",fontSize:13,color:"#dc2626"},children:rt})]}),e.jsxs("button",{type:"button",onClick:It,disabled:U,style:{display:"inline-flex",alignItems:"center",gap:8,padding:"10px 18px",background:"#d97706",color:"#fff",border:"none",borderRadius:10,fontSize:14,fontWeight:600,cursor:U?"wait":"pointer"},children:[U?e.jsx(Le,{size:18,style:{animation:"bookingConfirmationSpin 0.8s linear infinite"}}):null,U?"Checkingâ¦":"Check status"]})]}),d&&e.jsxs("div",{style:{background:"#fff",borderRadius:16,boxShadow:"0 2px 12px rgba(0,0,0,0.05)",border:"1px solid rgba(0,0,0,0.04)",padding:"24px 28px",marginBottom:24},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:16},children:[e.jsx("h2",{style:{margin:0,fontSize:18,fontWeight:700,color:"#0f172a"},children:"Booking Details"}),e.jsx("span",{style:{padding:"4px 12px",borderRadius:20,fontSize:12,fontWeight:600,background:Re.toLowerCase()==="confirmed"?"#dcfce7":"#fef3c7",color:Re.toLowerCase()==="confirmed"?"#166534":"#92400e"},children:Re})]}),Bt&&e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:16,color:"#64748b"},children:[e.jsx(Le,{size:18,style:{animation:"bookingConfirmationSpin 0.8s linear infinite"}}),e.jsx("span",{children:"Loading booking details..."})]}),nt&&e.jsx("div",{style:{padding:"12px 16px",background:"#fef2f2",borderRadius:8,color:"#dc2626",fontSize:13,marginBottom:12},children:nt}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:16},children:[oe&&e.jsxs("div",{children:[e.jsx("div",{style:g,children:"Hotel Confirmation Number"}),e.jsx("div",{style:{...x,fontFamily:"ui-monospace, monospace",color:"#0d9488"},children:oe})]}),E&&e.jsxs("div",{children:[e.jsx("div",{style:g,children:"Booking Reference"}),e.jsx("div",{style:{...x,fontFamily:"ui-monospace, monospace"},children:E})]}),t.bookingCreatedAt&&e.jsxs("div",{children:[e.jsx("div",{style:g,children:"Booking Date"}),e.jsx("div",{style:x,children:new Date(t.bookingCreatedAt).toLocaleDateString("en-US",{day:"numeric",month:"short",year:"numeric"})})]}),(r?.tboCheckInTime||r?.tboCheckOutTime)&&e.jsxs("div",{children:[e.jsx("div",{style:g,children:"Check-in / Check-out Time"}),e.jsxs("div",{style:x,children:[r.tboCheckInTime||"â"," / ",r.tboCheckOutTime||"â"]})]})]}),(r?.tboEmail||r?.tboPhoneNumber||r?.tboFaxNumber)&&e.jsxs("div",{style:{marginTop:16,paddingTop:16,borderTop:"1px solid #f1f5f9"},children:[e.jsx("div",{style:g,children:"Hotel Contact"}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:16,marginTop:4},children:[r.tboPhoneNumber&&e.jsxs("div",{style:{...m,display:"flex",alignItems:"center",gap:4},children:[e.jsx(yt,{size:13})," ",r.tboPhoneNumber]}),r.tboEmail&&e.jsxs("div",{style:{...m,display:"flex",alignItems:"center",gap:4},children:[e.jsx(ft,{size:13})," ",r.tboEmail]}),r.tboFaxNumber&&e.jsxs("div",{style:m,children:["Fax: ",r.tboFaxNumber]})]})]})]}),e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:12,justifyContent:"center",marginBottom:24},children:[e.jsxs("button",{type:"button",onClick:()=>dt(!0),style:{display:"inline-flex",alignItems:"center",gap:8,padding:"12px 22px",background:"linear-gradient(135deg, #0d9488 0%, #0f766e 100%)",color:"#fff",border:"none",borderRadius:12,fontSize:15,fontWeight:700,cursor:"pointer",boxShadow:"0 4px 14px rgba(13, 148, 136, 0.35)"},children:[e.jsx(pt,{size:18})," View Invoice / Ticket"]}),e.jsxs("button",{type:"button",onClick:()=>X(`${jt}/my-bookings`,{state:{myBookingsCategory:p?"flight":d?"hotel":"holidays"}}),style:{display:"inline-flex",alignItems:"center",gap:8,padding:"12px 22px",background:"#f0fdfa",color:"#0f766e",border:"2px solid #14b8a6",borderRadius:12,fontSize:15,fontWeight:700,cursor:"pointer"},children:[e.jsx(hi,{size:18})," View My Bookings"]}),e.jsxs("button",{type:"button",onClick:()=>X(Ke,{state:p?{tab:"flights"}:d?{tab:"hotel"}:void 0}),style:{display:"inline-flex",alignItems:"center",gap:8,padding:"12px 22px",background:"#fff",color:"#0d9488",border:"2px s
1olid #0d9488",borderRadius:12,fontSize:15,fontWeight:700,cursor:"pointer"},children:[d?e.jsx(bt,{size:18}):e.jsx(xt,{size:18}),p?"Book Another Flight":d?"Book Another Hotel":"Back to Home"]})]}),e.jsxs("p",{style:{fontSize:13,color:"#94a3b8",textAlign:"center",marginTop:24},children:["Thank you for choosing ",M,". Have a great trip!"]})]}),Ot&&e.jsx(mi,{booking:ge,selectedCurrency:T,onClose:()=>dt(!1),resellerSettings:{company_name:M,company_logo:ue?.company_logo||"",tagline:ue?.tagline||"Travel Services",contact_email:Y?.email_address||"",contact_phone:Y?.phone_number_1||"",contact_phone_2:Y?.phone_number_2||"",address:Y?.office_address||""}}),e.jsx(li,{})]})};export{vi 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.