跳转到内容
Maple

Bookings

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

此内容尚不支持你的语言。

POSThttps://api.maple.inc/v1/locations/{locationId}/walk_insAPI key

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

  • locationId string path required

Request body

application/json, required.

  • party_size integer required

    At least 1.

  • guest object required

  • guest.first_name string required

  • guest.last_name string or null

  • guest.phone string required

  • guest.email string or null

  • notes string or null

    The guest’s note to the venue.

  • idempotency_key string required

    Your 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

  • object string required

    Always booking.

  • id string required

    Opaque, prefixed bkg_….

  • livemode boolean required

  • created number required

  • version number required

  • location_id string required

  • status string required

    One of requested, confirmed, seated, completed, declined_by_venue, cancelled_by_guest, cancelled_by_venue, cancelled_unattributed, no_show.

  • service_state string or null required

  • confirmation_code string required

  • starts_at string required

    ISO-8601 UTC instant.

  • starts_at_local string required

    Venue wall-clock, YYYY-MM-DDTHH:MM.

  • service_date string required

    The venue service day the booking belongs to, YYYY-MM-DD.

  • duration_minutes number or null required

    Turn duration; null on provider-managed bookings, where Maple never invents one.

  • party_size number required

  • guest object required

  • guest.first_name string or null required

  • guest.last_name string or null required

  • guest.phone string or null required

    E.164, when the guest left one.

  • guest.phone_last_four string or null required

  • guest.email string or null required

  • notes string or null required

    The guest-facing note; venue-internal notes are never exposed.

  • channel string required

    The channel the booking originated on, e.g. api_partner, voice_ai, internal.

  • provider string required

    One of maple, opentable, resy, sevenrooms.

  • cancellation_policy object or null required

  • cancellation_policy.type string required

  • cancellation_policy.currency string or null required

    ISO-4217.

  • cancellation_policy.policy_text string or null required

  • cancellation_policy.tiers object[] required

  • cancellation_policy.tiers[].within_hours_before_start number required

  • cancellation_policy.tiers[].basis string required

    per_party or per_person.

  • cancellation_policy.tiers[].amount_cents number or null required

  • cancellation_policy.tiers[].percent_bps number or null required

    Basis points of the party value, when the fee is a percentage.

  • cancellation_policy.deposit object or null required

  • cancellation_policy.deposit.amount_cents number required

  • cancellation_policy.deposit.currency string required

  • cancellation_policy.deposit.basis string required

  • experience object or null required

    The experience booked (prix fixe, ticketed seating), or null for a standard reservation.

  • experience.id string required

  • experience.name string or null required

    Null when Maple has not seen the name.

  • updated_at string required

    ISO-8601 UTC instant.

Errors

  • 400 Bad request DeveloperApiBadRequest

  • 401 Unauthorized DeveloperApiUnauthorized

  • 403 Forbidden DeveloperApiForbidden

  • 404 Not found DeveloperApiNotFound

  • 409 Conflict DeveloperApiConflict

  • 422 Unprocessable DeveloperApiUnprocessable

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