prebookExperienceTour
Create a temporary hold on a selected tour slot and a Stripe PaymentIntent, returning transactionId and secretKey so checkout can confirm payment before booking.
Instructions
Overview
Create a temporary hold on the selected tour slot and a Stripe PaymentIntent for checkout.
When to Use
Checkout start — After the user picks option, slot, and participants from booking-options
Payment setup — Obtain
transactionIdandsecretKeyfor Stripe SDK confirmationHold window — Reserve inventory for ~10 minutes before book
What You Get
Checkout context —
tourId,optionId,dateTime,language,participants, and pricing echoed backProvider refs —
cartId,experienceBookingId,providerBookingId,status,reservationExpiresAtStripe fields —
transactionId,secretKey,paymentTypes: ["TRANSACTION_ID"]
Quick Start
POST the same selection used for display pricing from booking-options with usePaymentSdk: true. Confirm payment with Stripe, then call POST /experiences/bookings.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| payment | No | Optional Stripe metadata (e.g. statement descriptor suffix). | |
| currency | Yes | ISO 4217 currency code used for validate and downstream book cart. | |
| language | Yes | ISO language code used for validate and downstream book cart. | |
| selection | Yes | ||
| usePaymentSdk | Yes | Phase 1 requires `true` to create a Stripe PaymentIntent. | |
| clientReferenceId | No | Partner reference echoed in prebook response and stored on the checkout session. |