Skip to main content
POST

Authorizations

Authorization
string
header
default:your_token_here
required

Restaurant-scoped partner API token passed as Authorization: Bearer <token>.

Body

application/json

Reservation creation payload for standard bookings, force inserts, or operational walk-ins.

customer
object | null
required

Customer payload for the reservation. Use null to create an anonymous reservation with no linked customer, such as a walk-in.

party_size
integer
required
Required range: x >= 1
start_at
string<date-time>
required

Reservation start datetime in the restaurant timezone, including offset.

shift_id
string

Optional shift identifier. When omitted, the system resolves the shift from start_at.

Minimum string length: 1
room_id
string

Optional room identifier to target during booking.

Minimum string length: 1
table_ids
string[]

Optional table identifiers to assign at creation.

Minimum string length: 1
waiter_id
string
Minimum string length: 1
external_id
string

Optional partner reference. When provided, it must be unique per restaurant.

Minimum string length: 1
source
enum<string>

Optional reservation source. Defaults to WEBSITE.

Available options:
WALK_IN,
WEBSITE,
PHONE,
EMAIL,
RESERVE_WITH_GOOGLE,
TRAVEL_AGENCIES,
OTHER,
INSTAGRAM,
FACEBOOK,
TIKTOK,
SNAPCHAT,
WHATSAPP,
TRIPADVISOR,
PRIVATIZATION,
MISSED_CALL
prescriber_id
string
Minimum string length: 1
discount_id
string
Minimum string length: 1
tags
string[]
attached_files
string[]
metadata
object | null
allergies
string | null

Guest-facing note, such as allergies or special requests.

custom_message
string | null

Internal staff note stored on the reservation.

total_amount_paid
integer | null

Optional total amount already paid for the reservation, expressed in the smallest currency unit used by the restaurant, for example cents.

Required range: x >= 0
bypass_payments
boolean
default:false

When true, no payment rows are created, even if the selected shift normally requires a deposit or mandatory prepayment.

bypass_availability
boolean
default:false

When true, skips availability and capacity validation. This requires the RESERVATIONS_FORCE_INSERT scope and marks the reservation as force inserted.

bypass_approval
boolean
default:false

When true, bypasses manual staff approval for shifts that normally create pending reservations. This requires the RESERVATIONS_FORCE_CONFIRM scope.

initial_status
enum<string>

Optional privileged create-time status override. When provided, this requires the RESERVATIONS_FORCE_INSERT scope and is validated against payment and manual-approval rules.

Available options:
PENDING,
CONFIRMED,
CONFIRMED_PENDING_PAYMENT,
SHOWED_UP,
SEATED,
PARTIALLY_SEATED,
SEATED_FOR_DRINKS
send_client_notifications
boolean
default:true

When false, customer email and WhatsApp notifications are suppressed. Restaurant-side notifications still run.

Controls delayed payment-link delivery for created deposits. Ignored when payments are bypassed or no deposit is created.

Response

Reservation created

data
object
required