Bookings
List bookings
Lists bookings across the locations the app is granted (or one `location_id`).
Esta página aún no está disponible en tu idioma.
https://api.maple.inc/v1/bookingsAPI keyLists bookings across the locations the app is granted (or one location_id). Two modes: a bounded slot window (start/end, at most 31 days, default the next 7 days) ordered by slot start, or updated_since, which drains bookings updated after an exclusive checkpoint oldest-first so a partner can catch up after downtime. Page with limit and the previous page’s next_cursor as starting_after; has_more says whether another page exists. Ties on the ordering timestamp never skip or repeat, and a booking that changes between pages simply re-enters the feed. Take the next updated_since checkpoint from the newest updated_at you have processed minus a few seconds of overlap and dedupe by id + version: a booking committed after your drain can carry an updated_at set when its transaction began. To find the booking a guest is calling about, pass location_id with phone and/or confirmation_code: without a window this matches bookings at any time, ordered by slot start; add start/end to narrow it. At a provider-managed location a lookup with phone first checks the provider, so a reservation made directly there is found; a code-only lookup covers the reservations Maple already knows about. A lookup without location_id answers 400 location_required, an unusable phone 400 invalid_phone. Locations the bookings surface is not switched on for are omitted (an explicit location_id answers 422 bookings_not_enabled). Requires bookings:read.
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
-
location_idstring or null -
startstring or null -
endstring or null -
updated_sincestring or null -
statusstring or null -
phonestring or null -
confirmation_codestring or null -
starting_afterstring or null -
limitstring or null
Responses
200 OK
-
objectstring requiredAlways
list. -
dataobject[] required -
data[].objectstring requiredAlways
booking. -
data[].idstring requiredOpaque, prefixed
bkg_…. -
data[].livemodeboolean required -
data[].creatednumber required -
data[].versionnumber required -
data[].location_idstring required -
data[].statusstring requiredOne of
requested,confirmed,seated,completed,declined_by_venue,cancelled_by_guest,cancelled_by_venue,cancelled_unattributed,no_show. -
data[].service_statestring or null required -
data[].confirmation_codestring required -
data[].starts_atstring requiredISO-8601 UTC instant.
-
data[].starts_at_localstring requiredVenue wall-clock,
YYYY-MM-DDTHH:MM. -
data[].service_datestring requiredThe venue service day the booking belongs to,
YYYY-MM-DD. -
data[].duration_minutesnumber or null requiredTurn duration; null on provider-managed bookings, where Maple never invents one.
-
data[].party_sizenumber required -
data[].guestobject required -
data[].guest.first_namestring or null required -
data[].guest.last_namestring or null required -
data[].guest.phonestring or null requiredE.164, when the guest left one.
-
data[].guest.phone_last_fourstring or null required -
data[].guest.emailstring or null required -
data[].notesstring or null requiredThe guest-facing note; venue-internal notes are never exposed.
-
data[].channelstring requiredThe channel the booking originated on, e.g.
api_partner,voice_ai,internal. -
data[].providerstring requiredOne of
maple,opentable,resy,sevenrooms. -
data[].cancellation_policyobject or null required -
data[].cancellation_policy.typestring required -
data[].cancellation_policy.currencystring or null requiredISO-4217.
-
data[].cancellation_policy.policy_textstring or null required -
data[].cancellation_policy.tiersobject[] required -
data[].cancellation_policy.tiers[].within_hours_before_startnumber required -
data[].cancellation_policy.tiers[].basisstring requiredper_partyorper_person. -
data[].cancellation_policy.tiers[].amount_centsnumber or null required -
data[].cancellation_policy.tiers[].percent_bpsnumber or null requiredBasis points of the party value, when the fee is a percentage.
-
data[].cancellation_policy.depositobject or null required -
data[].cancellation_policy.deposit.amount_centsnumber required -
data[].cancellation_policy.deposit.currencystring required -
data[].cancellation_policy.deposit.basisstring required -
data[].experienceobject or null requiredThe experience booked (prix fixe, ticketed seating), or null for a standard reservation.
-
data[].experience.idstring required -
data[].experience.namestring or null requiredNull when Maple has not seen the name.
-
data[].updated_atstring requiredISO-8601 UTC instant.
-
has_moreboolean required -
next_cursorstring or null requiredOpaque cursor for the next page — pass it back as
starting_after. Null on the last page. It encodes the position observed on this page, so it stays correct even if the last booking changes in between.
Errors
-
400Bad request -
401Unauthorized -
403Forbidden -
404Not found -
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.