1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},s=Error().stack;s&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[s]="ef2e16ef-5dc3-4c91-a8db-b03604bfb7fc",e._sentryDebugIdIdentifier="sentry-dbid-ef2e16ef-5dc3-4c91-a8db-b03604bfb7fc")}catch(e){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[33049],{8744:function(e,s,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/booking/[id]",function(){return t(78359)}])},9383:function(e,s,t){"use strict";t.d(s,{Ol:function(){return n},Zb:function(){return l},aY:function(){return o},ll:function(){return d}});var a=t(85893),i=t(67294),r=t(26806);let l=i.forwardRef((e,s)=>{let{className:t,...i}=e;return(0,a.jsx)("div",{ref:s,className:(0,r.cn)("rounded-xl border bg-card text-card-foreground shadow",t),...i})});l.displayName="Card";let n=i.forwardRef((e,s)=>{let{className:t,...i}=e;return(0,a.jsx)("div",{ref:s,className:(0,r.cn)("flex flex-col space-y-1.5 p-6",t),...i})});n.displayName="CardHeader";let d=i.forwardRef((e,s)=>{let{className:t,...i}=e;return(0,a.jsx)("div",{ref:s,className:(0,r.cn)("font-semibold leading-none tracking-tight",t),...i})});d.displayName="CardTitle";let c=i.forwardRef((e,s)=>{let{className:t,...i}=e;return(0,a.jsx)("div",{ref:s,className:(0,r.cn)("text-sm text-muted-foreground",t),...i})});c.displayName="CardDescription";let o=i.forwardRef((e,s)=>{let{className:t,...i}=e;return(0,a.jsx)("div",{ref:s,className:(0,r.cn)("p-6 pt-0",t),...i})});o.displayName="CardContent";let u=i.forwardRef((e,s)=>{let{className:t,...i}=e;return(0,a.jsx)("div",{ref:s,className:(0,r.cn)("flex items-center p-6 pt-0",t),...i})});u.displayName="CardFooter"},98141:function(e,s,t){"use strict";t.d(s,{X:function(){return d}});var a=t(85893),i=t(67294),r=t(46069),l=t(13742),n=t(26806);let d=i.forwardRef((e,s)=>{let{className:t,...i}=e;return(0,a.jsx)(r.fC,{ref:s,className:(0,n.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",t),...i,children:(0,a.jsx)(r.z$,{className:(0,n.cn)("flex items-center justify-center text-current"),children:(0,a.jsx)(l.default,{className:"h-4 w-4"})})})});d.displayName=r.fC.displayName},32383:function(e,s,t){"use strict";t.d(s,{l0:function(){return x},NI:function(){return p},Wi:function(){return f},xJ:function(){return y},lX:function(){return j},zG:function(){return g}});var a=t(85893),i=t(67294),r=t(88426),l=t(87536),n=t(26806),d=t(49102),c=t(12003);let o=(0,c.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),u=i.forwardRef((e,s)=>{let{className:t,...i}=e;return(0,a.jsx)(d.f,{ref:s,className:(0,n.cn)(o(),t),...i})});u.displayName=d.f.displayName;let x=l.RV,m=i.createContext({}),f=e=>{let{...s}=e;return(0,a.jsx)(m.Provider,{value:{name:s.name},children:(0,a.jsx)(l.Qr,{...s})})},v=()=>{let e=i.useContext(m),s=i.useContext(h),{getFieldState:t,formState:a}=(0,l.Gc)(),r=t(e.name,a);if(!e)throw Error("useFormField should be used within <FormField>");let{id:n}=s;return{id:n,name:e.name,formItemId:"".concat(n,"-form-item"),formDescriptionId:"".concat(n,"-form-item-description"),formMessageId:"".concat(n,"-form-item-message"),...r}},h=i.createContext({}),y=i.forwardRef((e,s)=>{let{className:t,...r}=e,l=i.useId();return(0,a.jsx)(h.Provider,{value:{id:l},children:(0,a.jsx)("div",{ref:s,className:(0,n.cn)("space-y-2",t),...r})})});y.displayName="FormItem";let j=i.forwardRef((e,s)=>{let{className:t,...i}=e,{error:r,formItemId:l}=v();return(0,a.jsx)(u,{ref:s,className:(0,n.cn)(r&&"text-destructive",t),htmlFor:l,...i})});j.displayName="FormLabel";let p=i.forwardRef((e,s)=>{let{...t}=e,{error:i,formItemId:l,formDescriptionId:n,formMessageId:d}=v();return(0,a.jsx)(r.g7,{ref:s,id:l,"aria-describedby":i?"".concat(n," ").concat(d):"".concat(n),"aria-invalid":!!i,...t})});p.displayName="FormControl";let N=i.forwardRef((e,s)=>{let{className:t,...i}=e,{formDescriptionId:r}=v();return(0,a.jsx)("p",{ref:s,id:r,className:(0,n.cn)("text-[0.8rem] text-muted-foreground",t),...i})});N.displayName="FormDescription";let g=i.forwardRef((e,s)=>{let{className:t,children:i,...r}=e,{error:l,formMessageId:d}=v(),c=l?String(null==l?void 0:l.message):i;return c?(0,a.jsx)("p",{ref:s,id:d,className:(0,n.cn)("text-[0.8rem] font-medium text-destructive",t),...r,children:c}):null});g.displayName="FormMessage"},78359:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return D}});var a=t(85893),i=t(14685),r=t(9383),l=t(98141),n=t(32383),d=t(61667),c=t(56967),o=t(56312),u=t(54465),x=t(10146),m=t(50462),f=t(12642),v=t(36316),h=t(28463),y=t(34622),j=t(58621),p=t(31012),N=t(11163),g=t(6
17294),b=t(87536),w=t(1604);let k=w.Ry({extras:w.IX(w.Z_())});function D(){var e,s,t,w,D,C,F;let[_,I]=(0,g.useState)(1),[R,P]=(0,g.useState)([]),E=(0,N.useRouter)(),{id:T}=E.query,{toast:M}=(0,c.pm)(),S=(0,b.cI)({resolver:(0,o.F)(k),defaultValues:{extras:[]}}),q=(0,u.J)("pk_live_51NJcLfALsrLeYDySAUJTuiokUCiq2YKvyKjKyojF1JK6Px7c8uRCkVTR4RKnG8N61UdIjiIOLegsUsQMXrjMHqvj00hq8g3fLc"),[X,{loading:Y,error:H,data:L}]=(0,d.p1)({variables:{reference:T}}),z=null==L?void 0:L.findOneByReference,B=e=>{var s,t,a,i;return e.pricingType===d._H.Daily?0===e.subsequentDailyPrice?"\xa3".concat(null===(s=e.initialDailyPrice)||void 0===s?void 0:s.toFixed(2),"/day"):"\xa3".concat(null===(t=e.initialDailyPrice)||void 0===t?void 0:t.toFixed(2),"/day (first 3 days), then \xa3").concat(null===(a=e.subsequentDailyPrice)||void 0===a?void 0:a.toFixed(2),"/day"):e.pricingType===d._H.Fixed?"\xa3".concat(null===(i=e.fixedPrice)||void 0===i?void 0:i.toFixed(2)," fixed"):"\xa30.00"},J=(e,s)=>{var t,a,i;return e.pricingType===d._H.Daily?(null!==(t=null==e?void 0:e.initialDailyPrice)&&void 0!==t?t:0)*Math.min(s,3)+(null!==(a=null==e?void 0:e.subsequentDailyPrice)&&void 0!==a?a:0)*Math.max(s-3,0):e.pricingType===d._H.Fixed&&null!==(i=e.fixedPrice)&&void 0!==i?i:0},U=R.reduce((e,s)=>e+J(s,(0,x.w)((0,m.D)(null==z?void 0:z.toDate),(0,m.D)(null==z?void 0:z.fromDate))),0),[K]=(0,d.cN)({variables:{input:{lineItems:R.map(e=>({productId:e.stripeProductId,quantity:1,price:J(e,(0,x.w)((0,m.D)(null==z?void 0:z.toDate),(0,m.D)(null==z?void 0:z.fromDate)))}))},data:{bookingId:(null==z?void 0:z.id)||0,extraIds:R.map(e=>e.id),bookingReference:(null==z?void 0:z.reference)||""}}}),[O,{loading:V}]=(0,d.k5)(),W=async e=>{let{data:s}=await K(),t=null==s?void 0:s.createExtrasCheckoutSession,a=await q;if(t&&a){let{error:e}=await a.redirectToCheckout({sessionId:t});e&&M({title:"Something went wrong, please try again.",variant:"destructive"})}},Z=null==z?void 0:null===(e=z.extras)||void 0===e?void 0:e.map(e=>null==e?void 0:e.id),A=null==z?void 0:null===(s=z.vanVariation)||void 0===s?void 0:null===(t=s.extras)||void 0===t?void 0:t.filter(e=>!(null==Z?void 0:Z.includes(null==e?void 0:e.id)));if((0,g.useEffect)(()=>{T&&X()},[T,X]),!z&&!Y)return(0,a.jsx)("div",{className:"min-h-screen flex justify-center items-center",children:(0,a.jsxs)("div",{className:"text-center space-y-4",children:[(0,a.jsx)("p",{className:"text-lg text-gray-600",children:"No booking found"}),(0,a.jsx)(i.z,{onClick:()=>E.push("/"),variant:"outline",children:"Return Home"})]})});let G=(0,x.w)((0,m.D)(null!==(C=null==z?void 0:z.toDate)&&void 0!==C?C:""),(0,m.D)(null!==(F=null==z?void 0:z.fromDate)&&void 0!==F?F:""));return Y?(0,a.jsx)("div",{className:"min-h-screen flex justify-center items-center",children:(0,a.jsxs)("div",{className:"text-center space-y-4",children:[(0,a.jsx)(v.default,{className:"h-8 w-8 animate-spin text-blue-600 mx-auto"}),(0,a.jsx)("p",{className:"text-gray-600",children:"Loading your booking..."})]})}):(0,a.jsx)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:(0,a.jsx)("div",{className:"max-w-2xl w-full mx-auto px-4 py-8",children:1===_?(0,a.jsxs)("div",{className:"space-y-8",children:[(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsxs)("h1",{className:"text-3xl font-bold text-gray-900 mb-2",children:["Welcome back, ",null==z?void 0:null===(w=z.user)||void 0===w?void 0:w.name,"!"]}),(0,a.jsx)("p",{className:"text-gray-600",children:"Your booking is confirmed and ready to go"})]}),(0,a.jsx)(r.Zb,{className:"shadow-sm",children:(0,a.jsxs)(r.aY,{className:"p-6",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3 mb-6 pb-6 border-b",children:[(0,a.jsx)("div",{className:"w-10 h-10 bg-blue-100 rounded-lg flex items-center justify-center",children:(0,a.jsx)(h.default,{className:"w-5 h-5 text-blue-600"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-xl font-semibold text-gray-900",children:null==z?void 0:null===(D=z.vanVariation)||void 0===D?void 0:D.name}),(0,a.jsxs)("p",{className:"text-sm text-gray-600",children:["Booking #",null==z?void 0:z.reference]})]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-6 mb-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,a.jsx)(y.default,{className:"w-4 h-4 text-gray-500"}),(0,a.jsx)("span",{className:"font-medium text-gray-900",children:"Trip Dates"})]}),(0,a.jsxs)("div",{className:"space-y-1 text-sm text-gray-600",children:[(0,a.jsxs)("div",{children:["From:"," ",(0,f.WU)((0,m.D)(null==z?void 0:z.fromDate),"MMM do, yyyy")]}),(0,a.jsxs)("div",{children:["To: ",(0,f.WU)((0,m.D)(null==z?void 0:z.toDate),"MMM do, yyyy")]}),(0,a.jsxs)("div",{className:"text-blue-600 font-medium",children:[G," days"]})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,a.jsx)(j.default,{className:"w-4 h-4 text-gray-500"}),(0,a.jsx)("span",{className:"font-medium text-gray-900",children:"Booking & Payment"})]}),(0,a.jsxs)("div",{className:"space-y-1 text-sm text-gray-600",children:[(0,a.jsxs)("div",{children:["Booking Status:"," ",(0,a.jsx)("span",{className:"text-green-600 font-medium",children:null==z?void 0:z.status})]}),(0,a.jsxs)("div",{className:"text-lg font-bold text-gray-900",children:["\xa3",null==z?void 0:z.cost]})]})]})]}),(null==z?void 0:z.extras)&&(null==z?void 0:z.extras.length)>0&&(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsx)("h3",{className:"font-medium text-gray-900",children:"Your Extras"}),(0,a.jsx)("div",{className:"space-y-2",children:null==z?void 0:z.extras.map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between p-3 bg-gray-50 rounded-lg",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-medium text-gray-900",children:null==e?void 0:e.name}),(0,a.jsx)("div",{className:"text-sm text-gray-600",children:B(e)})]}),(0,a.jsxs)("span",{className:"font-medium text-gray-900",children:["\xa3",J(e,G).toFixed(2)]})]},null==e?void 0:e.id))})]}),A&&A.length>0&&(0,a.jsx)("div",{className:"pt-6 border-t",children:(0,a.jsxs)(i.z,{onClick:()=>
1I(2),className:"w-full",children:[(0,a.jsx)(p.default,{className:"w-4 h-4 mr-2"}),"Add Extras (",A.length," available)"]})})]})})]}):(0,a.jsxs)("div",{className:"space-y-8",children:[(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("h1",{className:"text-3xl font-bold text-gray-900 mb-2",children:"Add Extras"}),(0,a.jsx)("p",{className:"text-gray-600",children:"Enhance your trip with these additional options"})]}),(0,a.jsx)(n.l0,{...S,children:(0,a.jsxs)("form",{onSubmit:S.handleSubmit(W),className:"space-y-6",children:[(0,a.jsx)(r.Zb,{className:"shadow-sm",children:(0,a.jsx)(r.aY,{className:"p-6",children:(0,a.jsx)("div",{className:"space-y-4",children:null==A?void 0:A.map(e=>(0,a.jsx)(n.Wi,{control:S.control,name:"extras",render:s=>{let{field:t}=s;return(0,a.jsx)(n.xJ,{children:(0,a.jsxs)("div",{className:"\n flex items-center justify-between p-4 rounded-lg border transition-colors\n ".concat(R.some(s=>s.id===(null==e?void 0:e.id))?"border-blue-500 bg-blue-50":"border-gray-200 hover:border-gray-300","\n "),children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)(n.NI,{children:(0,a.jsx)(l.X,{checked:R.some(s=>s.id===(null==e?void 0:e.id)),onCheckedChange:s=>{P(t=>s?[...t,e]:t.filter(s=>s.id!==(null==e?void 0:e.id)))}})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(n.lX,{className:"font-medium text-gray-900 cursor-pointer",children:null==e?void 0:e.name}),(0,a.jsx)("div",{className:"text-sm text-gray-600",children:B(e)})]})]}),(0,a.jsxs)("span",{className:"font-medium text-gray-900",children:["\xa3",J(e,G).toFixed(2)]})]})})}},null==e?void 0:e.id))})})}),(0,a.jsx)(r.Zb,{className:"shadow-sm",children:(0,a.jsxs)(r.aY,{className:"p-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-medium text-gray-900",children:"Total for extras"}),(0,a.jsxs)("p",{className:"text-sm text-gray-600",children:[R.length," ",1===R.length?"extra":"extras"," ","selected"]})]}),(0,a.jsx)("div",{className:"text-right",children:(0,a.jsxs)("div",{className:"text-2xl font-bold text-gray-900",children:["\xa3",U.toFixed(2)]})})]}),(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsx)(i.z,{type:"button",variant:"outline",onClick:()=>I(1),className:"flex-1",children:"Back to Booking"}),(0,a.jsx)(i.z,{type:"submit",className:"flex-1",disabled:0===R.length||V,children:V?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(v.default,{className:"mr-2 h-4 w-4 animate-spin"}),"Processing..."]}):"Proceed to Checkout"})]})]})})]})})]})})})}}},function(e){e.O(0,[45738,87536,77763,49341,46255,8846,61667,49774,92888,40179],function(){return e(e.s=8744)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.