Bookings
Get booking profile
Whether a granted location accepts partner bookings right now, which provider serves it, the capability set its provider declares (hold release, venue verbs, time-window listing, live floor), and the hold TTL.
Esta página aún no está disponible en tu idioma.
https://api.maple.inc/v1/locations/{locationId}/booking_profileAPI keyWhether a granted location accepts partner bookings right now, which provider serves it, the capability set its provider declares (hold release, venue verbs, time-window listing, live floor), and the hold TTL. Read this before calling any other bookings endpoint: enabled: false means the location is not bookable through the Developer API yet, and a false capability is what the matching verb answers with capability_unsupported. 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
locationIdstring required
Responses
200 OK
-
objectstring requiredAlways
booking_profile. -
location_idstring required -
livemodeboolean requiredTrue when read with a live credential; test credentials only ever see test-mode data.
-
enabledboolean requiredTrue when this location accepts partner bookings through the Developer API right now. When false, every other bookings endpoint for the location returns
bookings_not_enabled. -
providerstring or null requiredThe provider behind the location’s booking connection, or null when none is configured.
-
capabilitiesobject required -
capabilities.hold_releaseboolean requiredWhether
DELETE /booking_holds/{holdId}releases capacity early (provider locks only expire). -
capabilities.confirm_declineboolean requiredWhether the venue verbs
confirmanddeclineare accepted for this location. -
capabilities.seatboolean requiredWhether the venue verb
seatis accepted for this location. -
capabilities.no_showboolean requiredWhether the venue verb
no_showis accepted for this location. -
capabilities.window_lookupboolean requiredWhether bookings can be listed by time window (provider-managed stores only expose lookups by guest).
-
capabilities.floor_statusboolean requiredWhether the live floor (
GET /locations/{locationId}/booking_floor) is available — Maple-native stores only. -
capabilities.experiencesboolean requiredWhether availability lists experiences (prix fixe, ticketed seatings) and
experience_idnarrows a search to one. Offered where the provider lists them (OpenTable); Maple-native locations do not offer experiences yet. -
blackout_datesobject[] requiredWindows when the location takes no reservations, in start order (walk-ins and waitlist seating are unaffected). Availability omits slots inside them. A quote taken before a window was added is refused when held, booked, or used for a change: 409
slot_unavailableat Maple-native locations, whose engine also withholds seatings that would run into a window, and 422date_blockedat provider-managed ones. -
blackout_dates[].start_datestring requiredFirst blocked day, venue-local
YYYY-MM-DD. -
blackout_dates[].end_datestring requiredLast blocked day, inclusive, venue-local
YYYY-MM-DD. -
blackout_dates[].start_timestring or null requiredVenue-local
HH:MMthe block starts onstart_date; null blocks from the start of that day. -
blackout_dates[].end_timestring or null requiredVenue-local
HH:MMthe block ends onend_date, inclusive; null blocks through the end of that day. -
blackout_dates[].reasonstring or null requiredThe venue’s note, e.g. “Private event”.
-
blackout_dates_revisionstring requiredThe revision of
blackout_dates. Send it asexpected_revisiontoPUT /booking_blackoutsso the write is refused (409stale_blackout_dates) if the venue changed the list since you read it. -
hold_ttl_secondsnumber or null requiredHow long a hold taken through
POST /booking_holdsclaims capacity before it expires, when Maple enforces the hold lifetime. Null when the location’s provider owns hold expiry (readexpires_aton each hold) or no provider is configured.
Errors
-
400Bad request -
401Unauthorized -
403Forbidden -
404Not found -
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.