Skip to main content
Create booking

Authorizations

Authorization
string
header
required

API key — mpk_test_… for the sandbox, mpk_live_… for production. Issued by Maple during partner onboarding.

Body

application/json
hold_id
string
required

The hold to book from (POST /booking_holds).

guest
object
required
idempotency_key
string
required

Your unique key for this write (body-level, scoped to your app). Retrying with the same key and the same request replays the same booking; the same key with a different request answers 409 idempotency_key_reused.

Required string length: 1 - 255
slot_token
string | null

Optional for existing integrations. The persisted hold supplies the authoritative quote for native and provider-managed locations.

notes
string | null

The guest’s note to the venue.

intake_answers
object[] | null

Structured intake for native bookings. OpenTable does not support these answers and returns 422 capability_unsupported instead of dropping them.

Response

Success

object
enum<string>
required
Available options:
booking
id
string
required

Opaque, prefixed bkg_….

livemode
boolean
required
created
required
version
required
location_id
string
required
status
enum<string>
required
Available options:
requested,
confirmed,
seated,
completed,
declined_by_venue,
cancelled_by_guest,
cancelled_by_venue,
cancelled_unattributed,
no_show
service_state
enum<string> | null
required
Available options:
expected,
arrived,
partially_seated,
fully_seated,
left
confirmation_code
string
required
starts_at
string
required

ISO-8601 UTC instant.

starts_at_local
string
required

Venue wall-clock, YYYY-MM-DDTHH:MM.

service_date
string
required

The venue service day the booking belongs to, YYYY-MM-DD.

duration_minutes
required

Turn duration; null on provider-managed bookings, where Maple never invents one.

party_size
required
guest
object
required
notes
string | null
required

The guest-facing note; venue-internal notes are never exposed.

channel
string
required

The channel the booking originated on, e.g. api_partner, voice_ai, internal.

provider
enum<string>
required
Available options:
maple,
opentable,
resy,
sevenrooms
cancellation_policy
object | null
required
updated_at
string
required

ISO-8601 UTC instant.