/** Booking-engine request and response V1 schemas. */ import { z } from "zod"; /** * Mirrors flights' `paymentIntent` discriminated union from * `catalog-flights-architecture.md` ยง3.1. Default `{ type: "hold" }` * when omitted. Kept in lockstep with `bookRequestV1.paymentIntent`. */ export declare const bookingReservationPaymentIntentV1: z.ZodUnion; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"card">; tokenizedCard: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"ticket_on_credit">; agencyAccount: z.ZodString; }, z.core.$strip>]>; export type BookingPaymentIntent = z.infer; export declare const bookRequestV1: z.ZodObject<{ quoteId: z.ZodOptional; draftId: z.ZodOptional; bookingId: z.ZodOptional; party: z.ZodOptional>; paymentIntent: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"card">; tokenizedCard: z.ZodString; }, z.core.$strip>, z.ZodObject<{ type: z.ZodLiteral<"ticket_on_credit">; agencyAccount: z.ZodString; }, z.core.$strip>]>>; parameters: z.ZodOptional>; idempotencyKey: z.ZodOptional; }, z.core.$strip>; export declare const bookResponseV1: z.ZodObject<{ bookingId: z.ZodString; orderRef: z.ZodString; status: z.ZodEnum<{ held: "held"; confirmed: "confirmed"; ticketed: "ticketed"; failed: "failed"; }>; snapshotId: z.ZodString; pricing: z.ZodOptional; label: z.ZodString; quantity: z.ZodOptional; unitAmount: z.ZodNumber; totalAmount: z.ZodNumber; taxIncluded: z.ZodOptional; pricingBasis: z.ZodOptional>; componentId: z.ZodOptional; optionId: z.ZodOptional; optionUnitId: z.ZodOptional; authority: z.ZodOptional>; }, z.core.$strip>>; taxes: z.ZodArray; scope: z.ZodOptional>; componentId: z.ZodOptional; }, z.core.$strip>>; subtotal: z.ZodNumber; taxTotal: z.ZodNumber; total: z.ZodNumber; appliedOffers: z.ZodOptional; discountPercent: z.ZodNullable; discountAmountCents: z.ZodNullable; appliedCode: z.ZodNullable; stackable: z.ZodBoolean; }, z.core.$strip>>>; promotionCodeStatus: z.ZodOptional; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"code_not_found">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"code_expired">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"code_not_yet_valid">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"code_not_applicable">; reason: z.ZodEnum<{ currency: "currency"; scope: "scope"; min_pax: "min_pax"; eligibility: "eligibility"; }>; }, z.core.$strip>], "kind">>; policyEvidence: z.ZodOptional; bookingTerms: z.ZodOptional; }, z.core.$strip>>; componentPolicies: z.ZodOptional; bookingTerms: z.ZodOptional; componentId: z.ZodString; }, z.core.$strip>>>; }, z.core.$strip>>; upstreamPayload: z.ZodOptional>; }, z.core.$strip>; export type BookRequestV1 = z.infer; export type BookResponseV1 = z.infer; export declare const holdExtendRequestV1: z.ZodObject<{ holdToken: z.ZodString; }, z.core.$strip>; export declare const holdReleaseRequestV1: z.ZodObject<{ holdToken: z.ZodString; }, z.core.$strip>; export type HoldExtendRequestV1 = z.infer; export type HoldReleaseRequestV1 = z.infer; /** * Capability flag a handler / adapter declares to opt into the V1 * contracts above. The engine refuses to dispatch to a handler whose * declared version doesn't match the request. */ export declare const ENGINE_CONTRACT_V1: "v1"; export type EngineContractVersion = typeof ENGINE_CONTRACT_V1;