POST
Confirm booking (internal)

Authorizations

Authorization
string
header
default:dev-internal-api-key
required

Use Authorization: Bearer <access_token> from POST /v1/oauth/token, or Authorization: Bearer <api_key>. Dev-only example key (do not use in production): see repository README.

Query Parameters

brand
string

Distribution channel brand: matches channel name or domainUrl (e.g. Weebora, weebora.com, booking.hofj.com, terrarossa.com). The resolved domain is BOTH the upstream host AND the tenant routing value. If omitted, CONTENT_DEFAULT_CHANNEL_DOMAIN must be set server-side.

locale
enum<string>

Locale for the brand site (it, en, es, fr). Injected as /{locale}/api/... on the upstream call. Defaults to CONTENT_DEFAULT_LOCALE.

Available options:
it,
en,
es,
fr

Body

application/json
itineraryId
string
required

Itinerary to confirm.

paymentType
enum<string>
default:full

Must match the PaymentIntent. Defaults to full when omitted so { "itineraryId" } still confirms a full payment.

Available options:
full,
plan
planIndex
integer

Same installment index used when creating the PaymentIntent (0 = deposit).

Required range: x >= 0
paymentIntentId
string

Stripe PaymentIntent id (pi_...) from the confirmed payment. Optional; forwarded to the brand site when present.

paymentStatus
string

Stripe PaymentIntent status after confirmation (e.g. succeeded). Optional; forwarded to the brand site when present.

Response

Reservation upserted

data
string
required

Reservation code (e.g. R-12345).

meta
object