Skip to content
Maple

Bookings

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.

GEThttps://api.maple.inc/v1/locations/{locationId}/booking_profileAPI key

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. 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

  • locationId string path required

Responses

200 OK

  • object string required

    Always booking_profile.

  • location_id string required

  • livemode boolean required

    True when read with a live credential; test credentials only ever see test-mode data.

  • enabled boolean required

    True 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.

  • provider string or null required

    The provider behind the location’s booking connection, or null when none is configured.

  • capabilities object required

  • capabilities.hold_release boolean required

    Whether DELETE /booking_holds/{holdId} releases capacity early (provider locks only expire).

  • capabilities.confirm_decline boolean required

    Whether the venue verbs confirm and decline are accepted for this location.

  • capabilities.seat boolean required

    Whether the venue verb seat is accepted for this location.

  • capabilities.no_show boolean required

    Whether the venue verb no_show is accepted for this location.

  • capabilities.window_lookup boolean required

    Whether bookings can be listed by time window (provider-managed stores only expose lookups by guest).

  • capabilities.floor_status boolean required

    Whether the live floor (GET /locations/{locationId}/booking_floor) is available — Maple-native stores only.

  • capabilities.experiences boolean required

    Whether availability lists experiences (prix fixe, ticketed seatings) and experience_id narrows a search to one. Offered where the provider lists them (OpenTable); Maple-native locations do not offer experiences yet.

  • blackout_dates object[] required

    Windows 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_unavailable at Maple-native locations, whose engine also withholds seatings that would run into a window, and 422 date_blocked at provider-managed ones.

  • blackout_dates[].start_date string required

    First blocked day, venue-local YYYY-MM-DD.

  • blackout_dates[].end_date string required

    Last blocked day, inclusive, venue-local YYYY-MM-DD.

  • blackout_dates[].start_time string or null required

    Venue-local HH:MM the block starts on start_date; null blocks from the start of that day.

  • blackout_dates[].end_time string or null required

    Venue-local HH:MM the block ends on end_date, inclusive; null blocks through the end of that day.

  • blackout_dates[].reason string or null required

    The venue’s note, e.g. “Private event”.

  • blackout_dates_revision string required

    The revision of blackout_dates. Send it as expected_revision to PUT /booking_blackouts so the write is refused (409 stale_blackout_dates) if the venue changed the list since you read it.

  • hold_ttl_seconds number or null required

    How long a hold taken through POST /booking_holds claims capacity before it expires, when Maple enforces the hold lifetime. Null when the location’s provider owns hold expiry (read expires_at on each hold) or no provider is configured.

Errors

  • 400 Bad request DeveloperApiBadRequest

  • 401 Unauthorized DeveloperApiUnauthorized

  • 403 Forbidden DeveloperApiForbidden

  • 404 Not found DeveloperApiNotFound

  • 429 Too many requests DeveloperApiRateLimited

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.