SpotOn · JSON Structure

Reserve Reservation Request Structure

A request to create a reservation.

Type: object Properties: 5 Required: 3
RestaurantPoint of SalePaymentsOnline OrderingReservationsReporting

ReservationRequest is a JSON Structure definition published by SpotOn, describing 5 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

customerInformation notes time partySize partyFlags

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/reserve-reservation-request-structure.json",
  "name": "ReservationRequest",
  "description": "A request to create a reservation.",
  "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",
          "description": "Guest email address."
        },
        "imageUrl": {
          "type": "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": "datetime",
      "description": "The requested reservation date and time, in RFC 3339 format."
    },
    "partySize": {
      "type": "int32",
      "minimum": 1,
      "maximum": 99,
      "description": "The number of guests in the party."
    },
    "partyFlags": {
      "type": "int64",
      "description": "Optional bit flags describing party attributes."
    }
  },
  "required": [
    "customerInformation",
    "time",
    "partySize"
  ]
}