PageSourceSearch

https://realdelmargolfresort.com/_next/static/immutable/chunks/1eorl851l96lw.js

js realdelmargolfresort.com collected 2026-10-04 10:15:57 UTC 32,872 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,354478,e=>{"use strict";var t=e.i(843476),r=e.i(256894),a=e.i(10345),s=e.i(584932),n=e.i(271645),i=e.i(618566),o=e.i(596150),l=e.i(734161);e.i(592338);var c=e.i(498595),u=e.i(827217);async function d(e){try{let t=await fetch("/api/bookings/pay-due-complete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reservationId:e.reservationId,paymentReference:e.paymentReference,orderReference:e.orderReference}),cache:"no-store"});return await t.json()}catch(e){return{success:!1,errors:[{message:e?.message||"Pay due completion request failed"}]}}}var m=e.i(84516),p=e.i(962567);async function y(e,t,r,a,s,n){let i=r?.converted||r?.requested,o=i?.due||i?.total,l=Number(i?.total||0),c=Number(i?.paid||0),u=Number(i?.due||0),d=i?.paid!==null&&i?.paid!==void 0&&i?.due!==null&&i?.due!==void 0&&u>0,m=Math.max(Number((l-c-u).toFixed(2)),0),y=d?{reservationTotal:(0,p.default)(l,i.currency),previouslyPaid:c>0?(0,p.default)(c,i.currency):void 0,paidNow:(0,p.default)(u,i.currency),remaining:m>0?(0,p.default)(m,i.currency):void 0}:null,f=String(n?.itineraryId||"").trim()||void 0,_=String(n?.reservationGuestName||"").trim()||void 0,x=String(n?.checkin||"").trim()||void 0,g=String(n?.checkout||"").trim()||void 0;return fetch("/api/emails/cart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({paymentReference:s,email:e?.email,total:(0,p.default)(Number(o||0),i.currency),currency:r?.converted?.currency||r?.requested?.currency||"USD",requestCurrency:r?.requested?.currency||"USD",billing:{billingName:e?.first_name+" "+e?.last_name,phone:e?.phone,address:e?.address,country:e?.country,state:e?.state,city:e?.city,zip:e?.zip_code},itemsToBuy:t?.map(e=>({id:e.id,name:e.name,image:e.image,description:e.description})),summary:y,itineraryId:f,reservationGuestName:_,checkin:x,checkout:g,locale:a})})}var f=e.i(191437),_=e.i(610742),x=e.i(688299),g=e.i(178488),h=e.i(972054);function b({website:e,itemsToBuyTotals:r,orderReference:a}){let{setPaymentIntent:s,setErrorMessage:o,setCurrentStep:l,handleCreatePayment:c,setClient:d,currentReservation:m}=(0,u.useCartPayment)(),{toast:p}=(0,x.useToast)(),y=(0,g.useScopedI18nWebsiteSet)("checkout.cart.billingForm"),v=e.providerConstants,N=v?.cookies?.countryCode||"MX",[j,w]=(0,n.useState)(!1),[S,P]=(0,n.useState)(),[T,R]=(0,n.useState)({first_name:"",last_name:"",email:"",phone:"",address:"",address_2:"",zip_code:"",country:"",state:"",city:"",phone_code:""}),[I,C]=(0,n.useState)(!1),E=(0,i.useSearchParams)().get("reservationId")||m?.id,{data:q}=(0,f.useQuery)({queryKey:["reservation-guest",E],queryFn:async()=>{let e=await fetch(`/api/bookings/guests?reservationId=${E}`);return e.ok?await e.json():{guest:null}},enabled:!!E});async function k(t){t.preventDefault(),w(!0),d({...T,phone_code:S});let n=!r?.requested?.due,i=5;if(n){let e=await fetch("/api/engine/settings/products-fee",{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok||"number"!=typeof t?.products_fee){p({title:y("settingsError"),variant:"destructive"}),w(!1);return}i=t.products_fee}let u=i/100,f=Number(r?.requested.total)*u,x=Number((f+.16*f).toFixed(2)),g=r?.requested?.due||r?.requested.total,h=Math.round(100*Number(g)),b=a||_.default.generate(),v=!!r?.requested?.due&&!!m?.id,N=m?{payment_kind:v?"pay_due_remaining":"cart",pay_due:v,reservation_id:m?.id,order_reference:m?.order_reference,itinerary_id:m?.itinerary_id,property_id:e?.property?.id,property_name:e?.name,reservation_type:m?.type,arrival:m?.checkin,departure:m?.checkout,reservation_total:m?.total,amount:Number(g),currency:r?.requested?.currency}:void 0;l("billing_form_processing");let j=await c({orderReference:b,currency:r?.requested?.currency,amount:h,monthlyInstallments:!1,paymentMethod:"CARD",paymentProvider:"STRIPE",gurufee:n?Math.round(100*(x||0)):0,futureUsage:!0,metadata:N,client:{client_reference:`Client-${b}`,name:`${T.first_name} ${T.last_name}`,email:T.email,phone:`+${S}${T.phone}`},business:{business_reference:"expedia"===e.property.type?String(e?.property?.shortcode):"zavia"===e.property.type?String(`gzav-${e?.property?.zavia_id}`):String(e.property.id),name:e.name},origin:"expedia"===e.property.type?"EXPEDIA":"HOTELS"});j?.result?.success?(s(j?.payment),l("billing_form_success"),o(null)):(p({title:String(j?.result?.message),variant:"destructive"}),o(j?.result?.message),l("billing_form_error"),console.error("createPaymentCartResponseError",j?.result?.message),w(!1))}return(0,n.useEffect)(()=>{let e=q?.guest;e&&!I&&(C(!0),R(t=>({...t,first_name:t.first_name||e.first_name||"",last_name:t.last_name||e.last_name||"",email:t.email||e.email||"",phone:t.phone||e.phone||"",address:t.address||e.billing_address||e.address||"",address_2:t.address_2||e.billing_address_line_2||"",zip_code:t.zip_code||e.zip_code||"",country:t.country||e.country||"",state:t.state||e.state||"",city:t.city||e.city||""})),e.phoneCode&&P(t=>t||String(e.phoneCode)))},[q,I]),(0,t.jsx)("div",{className:"border border-border p-4 rounded-md overflow-hidden relative flex flex-col gap-8",children:(0,t.jsx)(h.default,{form:T,setForm:R,handleSubmit:k,phoneCode:S,setPhoneCode:P,countryCode:N,loading:j})})}var v=e.i(797239);let N=(0,e.i(475254).default)("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);var j=e.i(761780);function w({itemsToBuy:e,itemsToBuyTotals:r}){let a=(0,g.useScopedI18nWebsiteSet)("checkout.cart.itemsTobuy"),s=r?.converted||r.requested,n=!!r?.converted;return e&&r?(0,t.jsx)("div",{className:"flex flex-col w-full gap-3",children:(0,t.jsxs)("div",{className:"border rounded-md p-4 w-full flex flex-col gap-4",children:[(0,t.jsx)("h3",{className:"text-lg font-semibold",children:a("title")}),(0,t.jsxs)("div",{className:"w-full flex flex-col gap-4",children:[e.map((e,r)=>(0,t.jsxs)("div",{className:"w-full flex gap-4 items-center border-b pb-4",children:[(0,t.jsx)("div",{className:"bg-primary text-primary-foreground relative overflow-hidden rounded-md h-20 w-20 flex items-center justify-center",children:e.image?(0,t.jsx)("img",{src:e.image,alt:e.name,className:"w-full h-full object-cover absolute left-0 top-0"}):"room"===e.category?(0,t.jsx)(j.DoorOpenIcon,{size:24}):(0,t.jsx)(N,{size:24})}),(0,t.jsxs)("div",{className:"w-full flex flex-col",children:[(0,t.jsx)("h3",{className:"font-semibold",children:e.name}),(0,t.jsx)("p",{className:"text-sm opacity-60",children:e.description}),(0,t.jsx)("p",{className:"text-sm opacity-60",children:a(`categories.${e.category}`)})]})]},r)),(0,t.jsxs)("div",{className:"w-full flex flex-col gap-1",children:[s?.taxes&&s?.taxes!==0&&(0,t.jsxs)("div",{className:"w-full flex justify-between items-center",children:[(0,t.jsx)("p",{className:"text-sm opacity-60",children:a("totals.taxes")}),(0,t.jsx)("p",{className:"text-sm",children:(0,p.default)(Number(s?.taxes||0),s?.currency)})]}),s?.subtotal&&s?.subtotal!==0&&(0,t.jsxs)("div",{className:"w-full flex justify-between items-center",children:[(0,t.jsx)("p",{className:"text-sm opacity-60",children:a("totals.subtotal")}),(0,t.jsx)("p",{className:"text-sm",children:(0,p.default)(Number(s?.subtotal||0),s?.currency)})]}),s?.total!==0&&(0,t.jsxs)("div",{className:"w-full flex justify-between items-center",children:[(0,t.jsx)("p",{className:"text-md font-semibold",children:a("totals.total")}),(0,t.jsx)("p",{className:"text-md font-semibold",children:(0,p.default)(Number(s?.total||0),s?.currency)})]}),s?.paid&&s?.paid!==0&&(0,t.jsxs)("div",{className:"w-full flex justify-between items-center",children:[(0,t.jsx)("p",{className:"text-sm opacity-60",children:a("totals.paid")}),(0,t.jsx)("p",{className:"text-sm",children:(0,p.default)(Number(s?.paid||0),s?.currency)})]}),s?.due&&s?.due!==0&&(0,t.jsxs)("div",{className:"w-full flex justify-between items-center",children:[(0,t.jsx)("p",{className:"text-md font-semibold",children:a("totals.due")}),(0,t.jsx)("p",{className:"text-md font-semibold",children:(0,p.default)(Number(s?.due||0),s?.currency)})]}),n&&(0,t.jsxs)("div",{className:"w-full flex gap-2",children:[(0,t.jsx)(v.AlertTriangleIcon,{size:14,strokeWidth:1.2,className:"text-yellow-600"}),(0,t.jsx)("p",{className:"text-xs opacity-60",children:a("conversionDisclaimer",{currency:(0,t.jsx)("b",{children:s?.currency}),total:(0,t.jsxs)("b",{children:[r?.requested?.total," ",r?.requested?.currency]})})})]})]})]})]})}):null}var S=e.i(612448),P=e.i(397882),T=e.i(159570),R=e.i(250603),I=e.i(499007);e.i(540259);var C=e.i(911860);let E=["es","en","fr","de","pt"];async function q(e,t,r,a){try{let s,n,{key:i,name:o}=(s="pk_live_KGXmbziXnZ67rTTGylr0Ro2P00LjpVt6mW",n="pk_live_51TP9COANK02h9W1pM3CQTAJSzpUgLRid48nwwsATjhwTKYmvbPRM7bwLe09JfqeihhXCCB5mM5MibUGcFZYpHvFj00DVdU8pM8","US"===a?{key:s,name:"NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY_US"}:"MX"===a?{key:n,name:"NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY_MX"}:"MX_LEGACY"===a?{key:"pk_live_iCrWGqRumuqvHqdpyEtVeddM00ZBETolW3",name:"NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY_MX_LEGACY"}:"MXN"===e?{key:n,name:"NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY_MX"}:{key:s,name:"NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY_US"});if(!i)return console.error(`Stripe publishable key is missing: ${o}`),null;let l=E.includes(t)?t:"auto";return await (0,C.loadStripe)(i,r?{locale:l,stripeAccount:r}:{locale:l})}catch(e){return console.error("Error loading Stripe:",e),null}}var k=e.i(541186),B=e.i(701057),U=e.i(300632),z=e.i(888096);function D({clientSecret:e,locale:r,currency:a,account:s,stripeAccountContext:i,website:o,currentReservation:l,onRetry:c}){let d,m,p=(0,g.useScopedI18nWebsiteSet)("checkout.payment"),{setCurrentStep:y,setErrorMessage:f}=(0,u.useCartPayment)(),_=(0,S.useStripe)(),x=(0,S.useElements)(),h=(0,k.usePaymentElementTelemetry)({currency:a,locale:r,account:s,stripeAccountContext:i,website:o,currentReservation:l,paymentIntentId:(0,k.paymentIntentIdFromSecret)(e),mount:"cart"}),b=(0,B.useChargeTelemetry)({currency:a,locale:r,account:s,stripeAccountContext:i,website:o,currentReservation:l,paymentMethodTypeRef:h.selectedMethodRef}
1),[v,N]=(0,n.useState)(!1),[j,w]=(0,n.useState)(!1);(0,U.useAuthenticationReturn)({stripe:_,enabled:!0,onSettled:e=>{b.endCharge("payment_confirm_succeeded",{intentStatus:e.status,resumed:"authentication_return"}),f(null),y("stripe_payment_success")},onUnsettled:(e,t)=>{b.endCharge("payment_authentication_failed",{intentStatus:t?.status,errorMessage:e,resumed:"authentication_return"}),y("stripe_payment_error"),f(e)}});let R=async t=>{t.preventDefault();let r=Date.now();if(!_||!x)return void f("Payment processing is not ready yet. Please try again in a moment.");N(!0),y("stripe_payment_processing");try{let t=await _.retrievePaymentIntent(e);if(t.error){N(!1),y("stripe_payment_error"),f(t.error.message||"Failed to retrieve payment intent"),console.error("retrievePaymentIntentError",t.error);return}if(t.paymentIntent?.status==="succeeded"||t.paymentIntent?.status==="canceled"){N(!1),y("stripe_payment_error"),f(`This payment session has already been ${t.paymentIntent.status}. Please refresh the page to start a new payment.`),console.error("paymentIntentAlreadyProcessed",t.paymentIntent.status);return}b.beginCharge(t.paymentIntent?.id,t.paymentIntent?.status,r);let a=await _.confirmPayment({elements:x,redirect:"if_required",confirmParams:{return_url:(0,U.buildAuthenticationReturnUrl)()}});if(a.error){N(!1),y("stripe_payment_error");let e=a.error.message||"Payment failed. Please try again.";f(e),b.endCharge((0,B.classifyChargeError)(a.error),{errorType:a.error.type,errorCode:a.error.code,errorMessage:a.error.message}),console.error("stripePaymentError",a.error)}else{b.endCharge(a.paymentIntent?.status==="requires_action"?"payment_authentication_pending":"payment_confirm_succeeded",{intentStatus:a.paymentIntent?.status});try{f(null),y("stripe_payment_success")}catch(e){console.error("Failed to update payment status",e),y("stripe_payment_success")}N(!1)}}catch(e){N(!1),y("stripe_payment_error"),f(e instanceof Error?e.message:"An unexpected error occurred"),console.error("stripeUnexpectedError",e)}},C=(d="es"===r?z.mensajesBoton.es:z.mensajesBoton.en,m=h.status,v||"failed"===m||"timed_out"===m?null:_&&x&&"loading"!==m?j?null:d.terminos:d.preparando);return(0,t.jsxs)("form",{onSubmit:R,className:"w-full",children:[(0,t.jsx)(z.PaymentElementFrame,{status:h.status,locale:r,onRetry:c,children:(0,t.jsx)(S.PaymentElement,{options:{layout:"accordion"},onReady:h.handleReady,onLoadError:h.handleLoadError,onChange:h.handleChange})}),(0,t.jsx)(I.default,{locale:r,state:j,setState:w}),C?(0,t.jsx)("p",{className:"mt-2 text-sm text-neutral-600 text-center","aria-live":"polite",children:C}):null,(0,t.jsx)(T.Button,{type:"submit",disabled:!_||!x||v||!j,className:"w-full mt-4 bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground text-md font-semibold",size:"lg",children:v?(0,t.jsx)(P.LoaderIcon,{size:16,className:"animate-spin"}):p("payAndReserve")})]})}function L({locale:e,currency:r,website:a,currentReservation:s}){let{paymentIntent:i}=(0,u.useCartPayment)(),o=i?.metadata?JSON.parse(i?.metadata||"{}")?.client_secret:null,l=i?.account,c=i?.stripe_account_context,[d,m]=(0,n.use
1State)(0),p=(0,n.useMemo)(()=>q(r,e,l,c),[r,e,l,c,d]);return o?i?.payment_reference&&i?.order_reference?(0,t.jsxs)("div",{className:"w-full bg-neutral-100 text-neutral-950 p-2 rounded-md border border-neutral-200",children:[(0,t.jsx)(R.default,{}),o&&(0,t.jsx)(S.Elements,{stripe:p,options:{clientSecret:o,appearance:{theme:"flat",variables:{colorPrimary:"#444444",colorText:"#444444",colorDanger:"#df1b41",fontFamily:"DM Sans, sans-serif",spacingUnit:"4px"}},fonts:[{cssSrc:"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Inter:wght@400;500;700"}]},children:(0,t.jsx)(D,{clientSecret:o,locale:e,currency:r,account:l,stripeAccountContext:c,website:a,currentReservation:s,onRetry:()=>m(e=>e+1)})},d)]}):(console.error("Invalid payment intent: missing payment_reference or order_reference"),(0,t.jsxs)("div",{className:"w-full bg-neutral-100 text-neutral-950 p-4 rounded-md border border-neutral-200",children:[(0,t.jsx)("p",{className:"text-red-500",children:"Payment configuration error. Please try again later."}),(0,t.jsx)("p",{className:"text-sm mt-2",children:"Error details: Invalid payment reference. Please contact support if this issue persists."})]})):(console.error("Missing client secret in payment intent metadata"),(0,t.jsxs)("div",{className:"w-full bg-neutral-100 text-neutral-950 p-4 rounded-md border border-neutral-200",children:[(0,t.jsx)("p",{className:"text-red-500",children:"Payment configuration error. Please try again later."}),(0,t.jsx)("p",{className:"text-sm mt-2",children:"Error details: Missing payment configuration. Please contact support if this issue persists."})]}))}var A=e.i(678784),M=e.i(323196),F=e.i(995926),X=e.i(690923);function O({className:e}){let r=(0,g.useScopedI18nWebsiteSet)("global.asyncStepper"),{currentStep:a,setCurrentStep:s,errorMessage:i,setErrorMessage:o}=(0,u.useCartPayment)(),[l,c]=(0,n.useState)(!1);async function d(){c(!0),s("billing_form_success"),c(!1),o(null)}return(0,t.jsx)("div",{className:(0,X.cn)("w-full py-12 bg-secondary text-secondary-foreground flex items-center justify-center z-20 rounded-md border",e),children:(0,t.jsxs)("div",{className:"w-full flex flex-col justify-center items-center p-4 gap-4",children:[(0,t.jsx)("div",{className:"w-full flex gap-2 items-center justify-center",children:(0,t.jsx)("div",{className:(0,X.cn)("h-8 w-8 bg-foreground text-secondary flex items-center justify-center rounded-full",{"bg-green-600 text-white opacity-100":a.includes("items_to_buy_success"),"bg-red-600 text-white opacity-100":a.includes("payment_refunded")||a.includes("payment_error")}),children:a.includes("items_to_buy_success")?(0,t.jsx)(A.CheckIcon,{size:18}):a.includes("payment_refunded")||a.includes("payment_error")?(0,t.jsx)(F.XIcon,{size:18}):(0,t.jsx)(P.LoaderIcon,{size:18,className:"animate-spin"})})}),(0,t.jsxs)("div",{className:"w-full flex items-center flex-col",children:[(0,t.jsxs)("p",{className:"font-semibold max-w-[300px] mx-auto text-center",children:[a.includes("payment_processing")&&r("payment.processing"),a.includes("payment_success")&&r("payment.success"),a.includes("payment_error")&&r("payment.error"),a.includes("items_to_buy_processing")&&r("itemsToBuy.processing"),a.includes("items_to_buy_success")&&r("itemsToBuy.success"),a.includes("items_to_buy_error")&&r("itemsToBuy.error")]}),!a.includes("items_to_buy_success")&&(0,t.jsx)("p",{className:"text-xs opacity-60",children:r("disclaimer")})]}),a.includes("payment_error")&&(0,t.jsx)("div",{className:"w-full flex justify-center items-center",children:i&&(0,t.jsx)("div",{className:"w-fit flex items-center justify-center border border-red-500 bg-red-100 text-red-900 rounded-lg py-2 px-4",children:(0,t.jsx)("p",{className:"text-sm font-semibold",children:i})})}),a.includes("payment_refunded")&&(0,t.jsx)("div",{className:"w-full flex justify-center items-center",children:(0,t.jsx)("div",{className:"w-fit flex items-center justify-center border border-red-500 bg-red-100 text-red-900 rounded-lg py-2 px-4",children:(0,t.jsx)("p",{className:"text-sm font-semibold",children:r("itemsToBuy.refunded")})})}),a.includes("payment_error")&&(0,t.jsxs)(T.Button,{size:"sm",className:"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground gap-2",onClick:()=>d(),disabled:l,children:[r("paymentErrorButton")," ",l?(0,t.jsx)(P.LoaderIcon,{size:14,className:"animate-spin"}):(0,t.jsx)(M.Undo2Icon,{size:14})]})]})})}var $=e.i(728174),K=e.i(451338),W=e.i(804005);function G({currency:e,locale:t,paymentsCurrencyRate:r,productId:a}){let{data:s}=(0,f.useQuery)({queryKey:["engine_products",a],queryFn:async()=>(await fetch(`/api/engine/products?id=${encodeURIComponent(a)}`,{cache:"no-store"})).json(),enabled:!!a}),n=s?.product,i=(0,K.default)(n?.images)?.map(e=>
1(0,$.modifyImagesToWebP)(e,"800")),o=n?.currency,l=(0,W.resolveCurrencyConversionRate)({requestCurrency:o,currency:e,paymentsCurrencyRate:r}),c=o!==e&&null!==l,u=l??1;return{itemsToBuy:[{id:n?.id,name:n?.name[t],description:n?.description[t],image:i?.[0],category:"product"}],itemsToBuyTotals:{requested:{taxes:null,subtotal:Number(n?.rate),total:Number(n?.rate),paid:null,due:null,currency:o},converted:c?{taxes:null,subtotal:Number((Number(n?.rate)*u).toFixed(2)),total:Number((Number(n?.rate)*u).toFixed(2)),paid:null,due:null,currency:e}:null},engineProduct:n}}var H=e.i(775786);function Y({currency:e,paymentsCurrencyRate:t,reservationId:r}){let{data:a}=(0,f.useQuery)({queryKey:["reservation",r],queryFn:async()=>{let e=await (0,H.getCheckoutReservation)(r);return{currentReservation:e.reservation,errors:e.errors}},enabled:!!r}),s=a?.currentReservation,n=s?.currency,i=(0,W.resolveCurrencyConversionRate)({requestCurrency:n,currency:e,paymentsCurrencyRate:t}),o=n!==e&&null!==i,l=i??1;if(!s)return{itemsToBuy:[],itemsToBuyTotals:{}};let c=s?.metadata?.extras&&s?.metadata?.extras?.length>0;return{itemsToBuy:[...s?.occupancy?.map(e=>({id:e?.room?.id,name:e?.room?.name,image:e?.room?.image,category:"room"})),...s?.metadata?.extras?.map(e=>{let t=Number(e?.total||0),r=Number(e?.quantity||0),a=[r>1?`x${r}`:null,t>0?(0,p.default)(t,String(e?.currency||n)):null].filter(Boolean);return{id:e?.extra_id,name:e?.name,image:e?.image?e?.image:null,description:a.length>0?a.join(" · "):void 0,category:"extra"}})||[]],itemsToBuyTotals:{requested:{taxes:c?Number(s?.totals?.requested?.taxes_with_extras):Number(s?.totals?.requested?.taxes_inclusive),subtotal:c?Number(s?.totals?.requested?.subtotal_with_extras):Number(s?.totals?.requested?.subtotal),total:c?Number(s?.totals?.requested?.total_with_extras):Number(s?.totals?.requested?.total),paid:c?Number(s?.totals?.requested?.policyPayment?.pay_now_with_extras):Number(s?.totals?.requested?.policyPayment?.pay_now),due:c?Number(s?.totals?.requested?.policyPayment?.pay_later_with_extras):Number(s?.totals?.requested?.policyPayment?.pay_later),currency:String(s?.totals?.requested?.currency)},converted:o?{taxes:Number((Number(c?Number(s?.totals?.requested?.taxes_with_extras):Number(s?.totals?.requested?.taxes_inclusive))*l).toFixed(2)),subtotal:Number((Number(c?Number(s?.totals?.requested?.subtotal_with_extras):Number(s?.totals?.requested?.subtotal))*l).toFixed(2)),total:Number((Number(c?Number(s?.totals?.requested?.total_with_extras):Number(s?.totals?.requested?.total))*l).toFixed(2)),paid:Number((Number(c?Number(s?.totals?.requested?.policyPayment?.pay_now_with_extras):Number(s?.totals?.requested?.policyPayment?.pay_now))*l).toFixed(2)),due:Number((Number(c?Number(s?.totals?.requested?.policyPayment?.pay_later_with_extras):Number(s?.totals?.requested?.policyPayment?.pay_later))*l).toFixed(2)),currency:e}:null},currentReservation:s}}let V=[],J={};function Z({website:e}){let r=(0,i.useParams)(),a=(0,i.useSearchParams)();(0,i.useRouter)();let{paymentIntent:s,currentStep:p,setCurrentStep:f,handleCancelPayment:_,handleUpdatePayment:x,setErrorMessage:g,client:h}=(0,u.useCartPayment)(),v=(0,m.useTracking)(),N=r?.locale,j=a.get("currency")||"USD",S=a.get("reservationId"),P=a.get("productId"),T=e?.providerOptions?.paymentsCurrencyRate,R=G({currency:j,locale:N,paymentsCurrencyRate:T,productId:P}),I=Y({currency:j,paymentsCurrencyRate:T,reservationId:S}),C=S?I.itemsToBuy:P?R.itemsToBuy:V,E=S?I.itemsToBuyTotals:P?R.itemsToBuyTotals:J,q=S?I.currentReservation:void 0,k=P?R.engineProduct:void 0,B=o.default.find(e=>e.name.toUpperCase()===h?.country.toUpperCase())?.iso2,U=(0,n.useCallback)(async()=>{if(f("items_to_buy_processing"),S&&q){let t={token:q?.metadata?.itineraryEngine?.token,guest:{first_name:h?.first_name,last_name:h?.last_name,email:h?.email,phone:h?.phone,phone_code:h?.phone_code,address:h?.address,country:B,state:h?.state,city:h?.city,zip_code:h?.zip_code},payment:{amount:String(E?.requested?.due),currency:E?.requested?.currency,method:"credit_card",payment_reference:s?.payment_reference,order_reference:s?.order_reference}};if((await (0,l.default)("itineraries/book/payments",{},t)).success){let t=q?.metadata?.paymentType==="pay_at_property",r=await d({reservationId:S,paymentReference:s?.payment_reference,orderReference:s?.order_reference||q?.order_reference});r?.success||console.error("Error persisting pay-due payment on reservation",r?.errors?.[0]?.message),v({eventName:"payDueCompleted",trackingContext:{website:e,reservation:q},eventData:{booking_step:"pay_due",provider:"engine",order_reference:q?.order_reference,reservation_id:S,itinerary_id:q?.itinerary_id,payment_reference:s?.payment_reference,amount_paid:Number(E?.requested?.due),currency:E?.requested?.currency,is_pay_at_property:t}});
1let a=[q?.guest?.first_name,q?.guest?.last_name].filter(Boolean).join(" ").trim();if(!a&&S)try{let e=await fetch(`/api/bookings/guests?reservationId=${encodeURIComponent(S)}`);if(e.ok){let t=await e.json();a=[t?.guest?.first_name,t?.guest?.last_name].filter(Boolean).join(" ").trim()}}catch{}await y(h,C,E,N,s?.payment_reference,{itineraryId:q?.itinerary_id,reservationGuestName:a||void 0,checkin:q?.checkin,checkout:q?.checkout}),await new Promise(e=>setTimeout(e,2e3)),f("items_to_buy_success")}else f("items_to_buy_error"),g("Error updating reservation payment"),await _({orderReference:s?.order_reference,paymentReference:s?.payment_reference,amount:s?.amount_paid}),await x({orderReference:s?.order_reference,paymentReference:s?.payment_reference,params:{status:"REFUNDED"}}),f("payment_refunded"),console.error("Error updating reservation payment in cart")}if(P){f("items_to_buy_success");let e={};try{let t=await fetch("/api/engine/products/sale",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({product_id:P,payment_reference:s?.payment_reference,order_reference:s?.order_reference,locale:N,request_currency:j,request_total:String(E?.converted?.total||E?.requested?.total),client:h,metadata:{itemsToBuy:C,itemsToBuyTotals:E}})});e=await t.json()}catch(t){e={success:!1,errors:[{message:t?.message}]}}e?.success?(await y(h,C,E,N,s?.payment_reference),await new Promise(e=>setTimeout(e,2e3)),f("items_to_buy_success")):(f("items_to_buy_error"),g(e?.errors?.[0]?.message),await _({orderReference:s?.order_reference,paymentReference:s?.payment_reference,amount:s?.amount_paid}),await x({orderReference:s?.order_reference,paymentReference:s?.payment_reference,params:{status:"REFUNDED"}}),f("payment_refunded"),console.error("Error updating product payment in cart"))}},[S,q,s,P,C,E,h,B,j,_,x,N,f,g,v,e]),z=(0,n.useRef)(U);z.current=U,(0,n.useEffect)(()=>{p.includes("payment_success")&&z.current()},[p]);let D="guest_information"!==p&&"payment_retry"!==p&&!p.includes("billing");if(0===C.length&&!E)return(0,t.jsxs)("div",{className:"border bg-secondary text-secondary-foreground rounded-md p-4 w-full flex flex-col gap-4",children:[(0,t.jsx)(c.Skeleton,{className:"w-4/12 h-8 bg-border/20"}),Array.from({length:3}).map((e,r)=>(0,t.jsxs)("div",{className:"w-full flex gap-4",children:[(0,t.jsx)(c.Skeleton,{className:"w-20 h-20 bg-border/20"}),(0,t.jsx)(c.Skeleton,{className:"w-full h-20 bg-border/20"})]},r))]});let A=k?.inventory!==null&&0!==Number(k?.inventory||0)&&k?.inventory===k?.sold,M=S&&E?.requested?.due>0||P&&k?.rate!=="0"&&!A;return(0,t.jsxs)("div",{className:"w-full flex flex-col gap-4",children:[(0,t.jsx)(w,{itemsToBuy:C,itemsToBuyTotals:E}),M&&(0,t.jsxs)("div",{className:"w-full flex flex-col gap-4 relative",children:[D&&(0,t.jsx)(O,{className:"w-full h-full absolute left-0 top-0 z-20"}),s?(0,t.jsx)(L,{locale:N,currency:s?.account_currency||s?.currency||E?.requested?.currency,website:e,currentReservation:q}):(0,t.jsx)(b,{website:e,itemsToBuyTotals:E,orderReference:q?.order_reference||null})]})]})}var Q=e.i(11869);let ee=[],et={};function er({website:e}){let r=(0,i.useParams)(),a=(0,i.useSearchParams)();(0,i.useRouter)();let{paymentIntent:s,currentStep:o,setCurrentStep:l,handleCancelPayment:p,handleUpdatePayment:f,setErrorMessage:_,client:x}=(0,u.useCartPayment)(),g=(0,m.useTracking)(),h=r?.locale,v=a.get("currency")||"USD",N=a.get("reservationId"),j=a.get("productId"),S=e?.providerOptions?.paymentsCurrencyRate,P=G({currency:v,locale:h,paymentsCurrencyRate:S,productId:j}),T=Y({currency:v,paymentsCurrencyRate:S,reservationId:N}),R=N?T.itemsToBuy:j?P.itemsToBuy:ee,I=N?T.itemsToBuyTotals:j?P.itemsToBuyTotals:et,C=N?T.currentReservation:void 0,E=j?P.engineProduct:void 0,q=(0,n.useCallback)(async()=>{if(l("items_to_buy_processing"),N&&C){let t={token:C?.metadata?.itineraryZavia?.token,payment:{amount:I?.requested?.due,currency:I?.requested?.currency,refId:s?.payment_reference}};if((await (0,Q.default)("payments/external-payment",{hotel_id:`gzav-${e.property.zavia_id}`},t)).success){let t=C?.metadata?.paymentType==="pay_at_property",r=await d({reservationId:N,paymentReference:s?.payment_reference,orderReference:s?.order_reference||C?.order_reference});r?.success||console.error("Error persisting pay-due payment on reservation",r?.errors?.[0]?.message),g({eventName:"payDueCompleted",trackingContext:{website:e,reservation:C},eventData:{booking_step:"pay_due",provider:"zavia",order_reference:C?.order_reference,reservation_id:N,itinerary_id:C?.itinerary_id,payment_reference:s?.payment_reference,amount_paid:Number(I?.requested?.due),currency:I?.requested?.currency,is_pay_at_property:t}});
1let a=[C?.guest?.first_name,C?.guest?.last_name].filter(Boolean).join(" ").trim();if(!a&&N)try{let e=await fetch(`/api/bookings/guests?reservationId=${encodeURIComponent(N)}`);if(e.ok){let t=await e.json();a=[t?.guest?.first_name,t?.guest?.last_name].filter(Boolean).join(" ").trim()}}catch{}await y(x,R,I,h,s?.payment_reference,{itineraryId:C?.itinerary_id,reservationGuestName:a||void 0,checkin:C?.checkin,checkout:C?.checkout}),await new Promise(e=>setTimeout(e,2e3)),l("items_to_buy_success")}else l("items_to_buy_error"),_("Error updating reservation payment"),await p({orderReference:s?.order_reference,paymentReference:s?.payment_reference,amount:s?.amount_paid}),await f({orderReference:s?.order_reference,paymentReference:s?.payment_reference,params:{status:"REFUNDED"}}),l("payment_refunded"),console.error("Error updating reservation payment in cart")}if(j){l("items_to_buy_success");let e={};try{let t=await fetch("/api/engine/products/sale",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({product_id:j,payment_reference:s?.payment_reference,order_reference:s?.order_reference,locale:h,request_currency:v,request_total:String(I?.converted?.total||I?.requested?.total),client:x,metadata:{itemsToBuy:R,itemsToBuyTotals:I}})});e=await t.json()}catch(t){e={success:!1,errors:[{message:t?.message}]}}e?.success?(await y(x,R,I,h,s?.payment_reference),await new Promise(e=>setTimeout(e,2e3)),l("items_to_buy_success")):(l("items_to_buy_error"),_(e?.errors?.[0]?.message),await p({orderReference:s?.order_reference,paymentReference:s?.payment_reference,amount:s?.amount_paid}),await f({orderReference:s?.order_reference,paymentReference:s?.payment_reference,params:{status:"REFUNDED"}}),l("payment_refunded"),console.error("Error updating product payment in cart"))}},[N,C,s,j,R,I,x,v,p,f,h,l,_,g,e]),k=(0,n.useRef)(q);k.current=q,(0,n.useEffect)(()=>{o.includes("payment_success")&&k.current()},[o]);let B="guest_information"!==o&&"payment_retry"!==o&&!o.includes("billing");if(0===R.length&&!I)return(0,t.jsxs)("div",{className:"border bg-secondary text-secondary-foreground rounded-md p-4 w-full flex flex-col gap-4",children:[(0,t.jsx)(c.Skeleton,{className:"w-4/12 h-8 bg-border/20"}),Array.from({length:3}).map((e,r)=>(0,t.jsxs)("div",{className:"w-full flex gap-4",children:[(0,t.jsx)(c.Skeleton,{className:"w-20 h-20 bg-border/20"}),(0,t.jsx)(c.Skeleton,{className:"w-full h-20 bg-border/20"})]},r))]});let U=E?.inventory!==null&&0!==Number(E?.inventory||0)&&E?.inventory===E?.sold,z=N&&I?.requested?.due>0||j&&E?.rate!=="0"&&!U;return(0,t.jsxs)("div",{className:"w-full flex flex-col gap-4",children:[(0,t.jsx)(w,{itemsToBuy:R,itemsToBuyTotals:I}),z&&(0,t.jsxs)("div",{className:"w-full flex flex-col gap-4 relative",children:[B&&(0,t.jsx)(O,{className:"w-full h-full absolute left-0 top-0 z-20"}),s?(0,t.jsx)(L,{locale:h,currency:s?.account_currency||s?.currency||I?.requested?.currency,website:e,currentReservation:C}):(0,t.jsx)(b,{website:e,itemsToBuyTotals:I,orderReference:C?.order_reference||null})]})]})}var ea=e.i(26277),ea=ea,es=e.i(441571),en=e.i(627179),ei=e.i(104766),eo=e.i(70363),el=e.i(696885);function ec(){let e=(0,i.useParams)(),r=(0,i.usePathname)(),a=(0,i.useSearchParams)(),s="es"===e.locale;return(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-[1fr_320px]",children:[(0,t.jsxs)(es.Card,{className:"space-y-4 p-5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(ea.default,{className:"h-5 w-5"}),(0,t.jsx)("h2",{className:"font-semibold",children:s?"Datos de facturación":"Billing details"})]}),(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-2",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(ei.Label,{children:s?"Nombre":"First name"}),(0,t.jsx)(en.Input,{defaultValue:s?"Huésped":"Preview"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(ei.Label,{children:s?"Apellido":"Last name"}),(0,t.jsx)(en.Input,{defaultValue:s?"de prueba":"Guest"})]}),(0,t.jsxs)("div",{className:"space-y-2 md:col-span-2",children:[(0,t.jsx)(ei.Label,{children:"Email"}),(0,t.jsx)(en.Input,{type:"email",defaultValue:"[email protected]"})]})]})]}),(0,t.jsxs)(es.Card,{className:"space-y-4 p-5",children:[(0,t.jsx)("h2",{className:"font-semibold",children:s?"Resumen de prueba":"Preview summary"}),(0,t.jsxs)("div",{className:"flex justify-between text-sm",children:[(0,t.jsx)("span",{children:"Total"}),(0,t.jsx)("strong",{children:"USD 280.00"})]}),(0,t.jsx)(T.Button,{asChild:!0,className:"w-full",children:(0,t.jsx)(el.default,{href:(0,eo.getBuilderPreviewHref)({href:`/guest/reservation?itineraryId=${eo.BUILDER_PREVIEW_ITINERARY_ID}`,pathname:r,locale:e.locale,searchParams:a}),children:s?"Completar prueba":"Complete preview"})})]})]})}e.s(["default",0,function({component:e,website:n}){let i=(0,r.default)(e,n);return(0,t.jsx)("section",{...(0,a.blockCustomStyleProps)(e,"root"),className:"w-full py-4 bg-background text-foreground",style:i,children:(0,t.jsx)(s.default,{...(0,a.blockCustomStyleProps)(e,"container"),className:"flex flex-col gap-4 max-w-4xl md:px-0",children:n.builderPreview?(0,t.jsx)(ec,{}):"zavia"===n.property.type?(0,t.jsx)(er,{website:n}):(0,t.jsx)(Z,{website:n})})})}],354478)}]);

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.