SpotOn · Schema

ReservationRequest

A request to create a reservation.

RestaurantPoint of SalePaymentsOnline OrderingReservationsReporting

Properties

Name Type Description
customerInformation object Guest contact and identity details for a reservation or waitlist entry.
notes string Optional notes for the reservation, such as a seating request.
time string The requested reservation date and time, in RFC 3339 format.
partySize integer The number of guests in the party.
partyFlags integer Optional bit flags describing party attributes.
View JSON Schema on GitHub

JSON Schema

reserve-reservation-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "ReservationRequest",
  "description": "A request to create a reservation.",
  "$id": "https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-reservation-request-schema.json",
  "type": "object",
  "properties": {
    "customerInformation": {
      "type": "object",
      "description": "Guest contact and identity details for a reservation or waitlist entry.",
      "properties": {
        "customerId": {
          "type": "string",
          "description": "Optional existing customer identifier."
        },
        "firstName": {
          "type": "string",
          "description": "Guest first name."
        },
        "lastName": {
          "type": "string",
          "description": "Guest last name."
        },
        "phoneNumber": {
          "type": "string",
          "description": "Guest phone number."
        },
        "email": {
          "type": "string",
          "format": "email",
          "description": "Guest email address."
        },
        "imageUrl": {
          "type": "string",
          "format": "uri",
          "description": "Optional URL of a guest image."
        },
        "memberNumber": {
          "type": "string",
          "description": "Optional loyalty member number."
        },
        "memberTier": {
          "type": "string",
          "description": "Optional loyalty member tier."
        }
      },
      "required": [
        "firstName",
        "phoneNumber"
      ]
    },
    "notes": {
      "type": "string",
      "description": "Optional notes for the reservation, such as a seating request."
    },
    "time": {
      "type": "string",
      "format": "date-time",
      "description": "The requested reservation date and time, in RFC 3339 format."
    },
    "partySize": {
      "type": "integer",
      "format": "int32",
      "minimum": 1,
      "maximum": 99,
      "description": "The number of guests in the party."
    },
    "partyFlags": {
      "type": "integer",
      "format": "int64",
      "description": "Optional bit flags describing party attributes."
    }
  },
  "required": [
    "customerInformation",
    "time",
    "partySize"
  ]
}