extendHoldmethod | (holdId: string, input?: { readonly seconds?: number; }, o?: RequestOptions) => Promise<Hold> | Optional: moves the hold's expiry to at least seconds from now (the server may clamp it, for example to a maximum hold length) and returns the hold with its new expiresAt. A locked hold comes back unchanged. |
holdTokenmethod | (eventKey: string) => string | null | The event's current hold token, or null when none has been minted (or it was reset). |
preparemethod | (eventKey: string) => Promise<void> | Mint ahead of time (called on first selection change). Idempotent while a usable token exists. |
resetHoldTokenmethod | (eventKey: string) => void | Forget the event's token; the next hold mints a new one. |
holdSeatsmethod | (input: HoldInput, options?: RequestOptions) => Promise<Hold> | Holds all seats and area quantities, or none. Rejects with SEATS_UNAVAILABLE (listing the seats in unavailableSeatIds) when any seat is taken, AREA_SOLD_OUT (listing unavailableAreaIds) when an area has too few places left, and LIMIT_EXCEEDED when the request is over the per-buyer ticket limit. From BookingAdapter |
confirmHoldmethod | (input: { readonly holdId: string; readonly paymentReference: string; readonly idempotencyKey?: string; }, options?: RequestOptions) => Promise<Booking> | Converts a hold into a booking after the host's payment flow succeeds. paymentReference is whatever your payment provider returns; the server must verify it. The SDK never handles card data. From BookingAdapter |
releaseHoldmethod | (holdId: string, options?: RequestOptions) => Promise<void> | From BookingAdapter |
getHoldoptionalmethod | (holdId: string, options?: RequestOptions) => Promise<Hold> | Optional: current hold state, for recovering after a reload. From BookingAdapter |
getStatusesmethod | (input: { readonly eventId: string; readonly seatIds?: readonly string[]; }, options?: RequestOptions) => Promise<SeatStatusRecord[]> | From InventoryAdapter |
subscribeoptionalmethod | (eventId: string, listener: (changes: SeatStatusRecord[]) => void, onError?: (error: BookingError) => void, onSnapshot?: (records: SeatStatusRecord[]) => void) => () => void | Optional real-time updates. Return an unsubscribe function. Updates are hints that make the map fresher; they do not make it authoritative. onSnapshot, when the adapter calls it, delivers the whole picture (for example after a reconnect): seats it does not list are available, so the caller replaces its cache instead of merging. Adapters that never re-read everything simply ignore it.
From InventoryAdapter |
getAreaStatusesoptionalmethod | (input: { readonly eventId: string; readonly inventoryIds?: readonly string[]; }, options?: RequestOptions) => Promise<AreaStatusRecord[]> | Optional: availability of GA areas, booths and whole tables (remaining capacity and status). Adapters without it simply do not report areas. From InventoryAdapter |
subscribeAreasoptionalmethod | (eventId: string, listener: (changes: AreaStatusRecord[]) => void, onError?: (error: BookingError) => void) => () => void | Optional real-time area updates (remaining capacity), like subscribe for seats. From InventoryAdapter |