Skip to main content
POST
Request a booking

Authorizations

X-Api-Key
string
header
required

Body

application/json
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"

external_channel_id
string

External channel ID

Example:

"AVTN2K"

referral_id
string

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

Example:

"5f8d0f8b9d2b3b0017b6d8a0"

observations_client
string

Observations of the client

Example:

"Please give me a good table."

If the customer has given marketing consent

Example:

true

discount_code
string

Discount code

Example:

"DISCOUNT20"

is_payment_needed
boolean

If true, the booking waits for an external-gateway payment (status filled-by-client) instead of manual review. Defaults to false.

Example:

true

send_resources
boolean

If false, the request notification is not sent to the customer. Defaults to true.

Example:

true

info
object

Info about the booking

Response

OK

data
object

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

This is the single source of truth: toBookingResponse is annotated to return 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.

Dates are ISO-8601 strings — the real wire form res.json produces from the underlying serialized values. Mongo ObjectIds are plain strings.

Keys produced conditionally by the serializer (spread guards) are optional.

success
boolean
Example:

true