Create booking
Books the party a hold claims, synchronously, and returns the full booking. The location is the hold’s. status follows the venue’s acceptance mode (confirmed, or requested where the venue confirms by hand) and version starts at 0. A guest contact is required on this channel. Writes carry a body-level idempotency_key. Native and provider writes replay the same booking without reapplying the mutation. An uncertain provider result answers 409 operation_in_progress; retry the same key and body. If details.reason is replay_window_expired, contact support with the operation id rather than issuing a new key. Typed refusals: 409 hold_expired / hold_consumed / overlapping_booking / idempotency_key_reused; 422 guest_contact_required, payment_instrument_required, provider_rejected; 400 invalid_phone. Requires bookings:write.
Authorizations
API key — mpk_test_… for the sandbox, mpk_live_… for production. Issued by Maple during partner onboarding.
Body
The hold to book from (POST /booking_holds).
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.
1 - 255Optional for existing integrations. The persisted hold supplies the authoritative quote for native and provider-managed locations.
The guest’s note to the venue.
Structured intake for native bookings. OpenTable does not support these answers and returns 422 capability_unsupported instead of dropping them.
Response
Success
booking Opaque, prefixed bkg_….
requested, confirmed, seated, completed, declined_by_venue, cancelled_by_guest, cancelled_by_venue, cancelled_unattributed, no_show expected, arrived, partially_seated, fully_seated, left ISO-8601 UTC instant.
Venue wall-clock, YYYY-MM-DDTHH:MM.
The venue service day the booking belongs to, YYYY-MM-DD.
Turn duration; null on provider-managed bookings, where Maple never invents one.
The guest-facing note; venue-internal notes are never exposed.
The channel the booking originated on, e.g. api_partner, voice_ai, internal.
maple, opentable, resy, sevenrooms ISO-8601 UTC instant.