Bookings
Seat a walk-in
Seats a party that just arrived at the earliest table that fits it now, as the venue, and returns the `booking` (`status: seated`, `channel: walk_in`).
此内容尚不支持你的语言。
https://api.maple.inc/v1/locations/{locationId}/walk_insAPI keySeats a party that just arrived at the earliest table that fits it now, as the venue, and returns the booking (status: seated, channel: walk_in). Maple picks the table; there is no force-book. No table free now answers 409 slot_unavailable (its message names the next opening). Retry-safe under idempotency_key: a retry returns the same booking. Maple-native locations only (422 capability_unsupported otherwise). Requires bookings:manage.
Authorization
Send your API key as Authorization: Bearer <key>: mpk_test_… against the sandbox (https://api.staging.maple.inc/v1), mpk_live_… against production. See Authentication. The samples read the key from MAPLE_KEY and the base URL from MAPLE_BASE, as set up in the Quickstart.
Parameters
locationIdstring required
Request body
application/json, required.
-
party_sizeinteger requiredAt least 1.
-
guestobject required -
guest.first_namestring required -
guest.last_namestring or null -
guest.phonestring required -
guest.emailstring or null -
notesstring or nullThe guest’s note to the venue.
-
idempotency_keystring requiredYour unique key for this walk-in, scoped to your app across all its locations. Retrying with the same key and the same request returns the same booking, even though its table is now taken; the same key with a different request, including another location, answers 409
idempotency_key_reused. Up to 255 characters.
Responses
200 OK
-
objectstring requiredAlways
booking. -
idstring requiredOpaque, prefixed
bkg_…. -
livemodeboolean required -
creatednumber required -
versionnumber required -
location_idstring required -
statusstring requiredOne of
requested,confirmed,seated,completed,declined_by_venue,cancelled_by_guest,cancelled_by_venue,cancelled_unattributed,no_show. -
service_statestring or null required -
confirmation_codestring required -
starts_atstring requiredISO-8601 UTC instant.
-
starts_at_localstring requiredVenue wall-clock,
YYYY-MM-DDTHH:MM. -
service_datestring requiredThe venue service day the booking belongs to,
YYYY-MM-DD. -
duration_minutesnumber or null requiredTurn duration; null on provider-managed bookings, where Maple never invents one.
-
party_sizenumber required -
guestobject required -
guest.first_namestring or null required -
guest.last_namestring or null required -
guest.phonestring or null requiredE.164, when the guest left one.
-
guest.phone_last_fourstring or null required -
guest.emailstring or null required -
notesstring or null requiredThe guest-facing note; venue-internal notes are never exposed.
-
channelstring requiredThe channel the booking originated on, e.g.
api_partner,voice_ai,internal. -
providerstring requiredOne of
maple,opentable,resy,sevenrooms. -
cancellation_policyobject or null required -
cancellation_policy.typestring required -
cancellation_policy.currencystring or null requiredISO-4217.
-
cancellation_policy.policy_textstring or null required -
cancellation_policy.tiersobject[] required -
cancellation_policy.tiers[].within_hours_before_startnumber required -
cancellation_policy.tiers[].basisstring requiredper_partyorper_person. -
cancellation_policy.tiers[].amount_centsnumber or null required -
cancellation_policy.tiers[].percent_bpsnumber or null requiredBasis points of the party value, when the fee is a percentage.
-
cancellation_policy.depositobject or null required -
cancellation_policy.deposit.amount_centsnumber required -
cancellation_policy.deposit.currencystring required -
cancellation_policy.deposit.basisstring required -
experienceobject or null requiredThe experience booked (prix fixe, ticketed seating), or null for a standard reservation.
-
experience.idstring required -
experience.namestring or null requiredNull when Maple has not seen the name.
-
updated_atstring requiredISO-8601 UTC instant.
Errors
-
400Bad request -
401Unauthorized -
403Forbidden -
404Not found -
409Conflict -
422Unprocessable -
429Too many requests
Every error body names the error in _tag, explains it in message, and says where to report it in feedback. See Errors.
A 429 also sends Retry-After: Seconds to wait before retrying; also returned as retry_after in the body.