SpotOn · Schema
Reservation
A created reservation.
RestaurantPoint of SalePaymentsOnline OrderingReservationsReporting
Properties
| Name | Type | Description |
|---|---|---|
| reservationId | string | The unique identifier for the reservation. |
| restaurantId | integer | The restaurant the reservation belongs to. |
| customerInformation | object | Guest contact and identity details for a reservation or waitlist entry. |
| time | string | The reserved date and time, in RFC 3339 format. |
| partySize | integer | The number of guests in the party. |
| status | string | The current status of the reservation. |
| notes | string | Notes attached to the reservation. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Reservation",
"description": "A created reservation.",
"$id": "https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-reservation-schema.json",
"type": "object",
"properties": {
"reservationId": {
"type": "string",
"description": "The unique identifier for the reservation."
},
"restaurantId": {
"type": "integer",
"format": "int32",
"description": "The restaurant the reservation belongs to."
},
"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"
]
},
"time": {
"type": "string",
"format": "date-time",
"description": "The reserved date and time, in RFC 3339 format."
},
"partySize": {
"type": "integer",
"format": "int32",
"description": "The number of guests in the party."
},
"status": {
"type": "string",
"description": "The current status of the reservation.",
"enum": [
"booked",
"confirmed",
"checked_in",
"cancelled"
]
},
"notes": {
"type": "string",
"description": "Notes attached to the reservation."
}
}
}