Skip to main content
POST
Create a checkout session for a booking

Authorizations

X-Api-Key
string
header
required

Body

application/json
redirect_url
string

Redirect URL after the payment is successful

Example:

"https://app.yourwebpage.com/checkout/internal-id/success"

error_url
string

Redirect URL after the payment is failed

Example:

"https://app.yourwebpage.com/checkout/internal-id/error"

send_resources
boolean

Send resources to the customer after the payment is successful

metadata
object

Metadata to be stored in the ticket. Max 1kb.

Example:
event_id
string

Event ID

Example:

"5f8d0f8b9d2b3b0017b6d8a0"

zone_slug
string

Zone slug

Example:

"1736413718721"

normalized_zone_name
string

Normalized name of the zone

Example:

"superior-vip"

rate_slug
string

Rate slug

Example:

"rate-slug"

table_id
string

Table ID. Only allowed if the zone has enabled the table selection option for customers.

Example:

"17123134123"

normalized_table_name
string

Normalized name of the table. Alternative to table_id (mutually exclusive).

Example:

"table-12"

full_payment
boolean

If the booking should be paid in full. This option is only available if the rate has enabled the full payment option.

Example:

true

observations_client
string

Observations of the client

Example:

"Please give me a good table."

If the customer has given marketing consent

Example:

true

external_channel_id
string

External channel ID

Example:

"AVTN2K"

referral_id
string

Referral ID (internal). Ignored when external_channel_id is provided.

Example:

"5f8d0f8b9d2b3b0017b6d8a0"

discount_code
string

Discount code

Example:

"DISCOUNT20"

tip_rate_id
string

Tip rate ID

Example:

"ghjocq33enktigamxsybp0a9yr4jfymx"

info
object

Info about the booking

Response

OK

data
object

The wire contract for a booking checkout, AT THE LATEST VERSION.

This is the single source of truth for the inline payload returned by the checkoutBooking controller. The local payload variable is annotated to be assignable to it (so the code cannot drift from it without a compile error), and the OpenAPI spec + docs + breaking-change gate are all generated from it.

payment_id mirrors the payment's persisted id, which is set just before this payload is built; the key is always present on the wire.

success
boolean
Example:

true