Lightspeed · Schema
reservation-servicePlatformReservation
reservation-servicePlatformReservation schema from Lightspeed Restaurant K Series API
Point-of-SaleRetailRestaurantE-Commerce
Properties
| Name | Type | Description |
|---|---|---|
| guest | object | Guest information associated with the reservation. |
| liability | object | The guest's obligation for the reservation. |
| notes | string | Venue-entered notes specific to the reservation. |
| specialOffer | string | Any special offer linked to the reservation. |
| tags | array | Tags linked to this reservation. See [Reservation Tags](https://api-portal.lsk.lightspeed.app/guides/reference/reference-tables/reservation-tags) table for a list of tags with available translations. |
| partySize | integer | The number of expected guests. |
| sequenceId | integer | An optional sequence number assigned by the external platform. If provided, it will be used to determine the order of updates of a reservation. It is the responsibility of the external platform to pro |
| status | string | External reservation statuses for platforms. |
| tableNumbers | array | The list of table numbers associated with this reservation. If no valid table is provided, POS order is not created. |
| utcScheduledAt | string | The scheduled reservation time. |
| utcUpdatedAt | string | The timestamp of the most recent change to the reservation. |
| guestRequest | string | Notes added to the reservation by the guest. |
| expectedDuration | string | Expected duration of the meal. ISO-8601 format. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "reservation-servicePlatformReservation",
"description": "reservation-servicePlatformReservation schema from Lightspeed Restaurant K Series API",
"$id": "https://raw.githubusercontent.com/api-evangelist/lightspeed-pos/refs/heads/main/json-schema/restaurant-k-series-reservation-service-platform-reservation-schema.json",
"type": "object",
"properties": {
"guest": {
"description": "Guest information associated with the reservation.",
"properties": {
"email": {
"description": "The guest's email address.",
"example": "john.smith@email.com",
"format": "email",
"type": "string"
},
"firstName": {
"description": "The guest's first name.",
"example": "John",
"type": "string"
},
"lastName": {
"description": "The guest's last name.",
"example": "Smith",
"type": "string"
},
"phone": {
"description": "The guest's phone number.",
"example": "+13453455555",
"format": "phone",
"type": "string"
},
"platformGuestId": {
"description": "The external platform's unique identifier for the guest.",
"example": "ABC-123",
"pattern": "[a-zA-Z0-9_-]+",
"type": "string"
},
"walkIn": {
"default": false,
"description": "When `true`, indicates this is a walk-in reservation.",
"example": true,
"type": "boolean"
},
"foodAndDrinkNotes": {
"example": "Only milk and cookies!",
"type": "string",
"description": "Any details about guest's food and drink preferences."
},
"notes": {
"example": "Put the ring in the champagne!",
"type": "string",
"description": "Other notes about the guest."
},
"language": {
"example": "en",
"type": "string",
"description": "Guest's language; use [two-symbol ISO-639](https://www.loc.gov/standards/iso639-2/php/code_list.php) for best results on POS."
},
"allergens": {
"example": [
"almonds",
"egg"
],
"items": {
"type": "string"
},
"type": "array",
"uniqueItems": true,
"description": "Any allergens linked to this guest. See [Allergens](https://api-portal.lsk.lightspeed.app/guides/reference/reference-tables/allergens) table for a list of allergen names with available translations. Any other text will be displayed as provided in the request body."
},
"dietaryRestrictions": {
"example": [
"no alcohol",
"vegan"
],
"items": {
"type": "string"
},
"type": "array",
"uniqueItems": true,
"description": "Any dietary restrictions linked to this guest. See [Dietary Restrictions](https://api-portal.lsk.lightspeed.app/guides/reference/reference-tables/dietary-restrictions) table for a list of restrictions with available translations. Any other text will be displayed as provided in the request body."
}
},
"required": [
"platformGuestId",
"firstName"
],
"type": "object"
},
"liability": {
"description": "The guest's obligation for the reservation.",
"properties": {
"currency": {
"description": "ISO-4217",
"example": "EUR",
"pattern": "[A-Z]{3}",
"type": "string"
},
"deposits": {
"description": "List of all prepaid deposits made through the external platform.",
"items": {
"properties": {
"amount": {
"description": "The amount of the deposit made through the external platform.",
"example": "100.00",
"pattern": "^[0-9]+.[0-9]{2}$",
"type": "string"
},
"platformDepositId": {
"description": "The external platform's unique identifier for the deposit.",
"example": "1",
"pattern": "[a-zA-Z0-9_-]+",
"type": "string"
},
"utcCreatedAt": {
"description": "Deposit creation time.",
"example": "2024-01-01T20:00:00",
"format": "date-time",
"type": "string",
"x-field-extra-annotation": "@com.fasterxml.jackson.annotation.JsonFormat(pattern = \"yyyy-MM-dd'T'HH:mm:ss\", shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, timezone = \"UTC\")"
},
"utcVoidedAt": {
"description": "Deposit void time, if applicable.",
"example": "2024-01-01T20:00:00",
"format": "date-time",
"type": "string",
"x-field-extra-annotation": "@com.fasterxml.jackson.annotation.JsonFormat(pattern = \"yyyy-MM-dd'T'HH:mm:ss\", shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, timezone = \"UTC\")"
},
"voided": {
"description": "Whether or not the deposit was voided.",
"example": false,
"type": "boolean"
}
},
"required": [
"amount",
"utcCreatedAt"
],
"type": "object"
},
"type": "array",
"uniqueItems": true
},
"refunds": {
"description": "List of all deposits refunded to the guest.",
"items": {
"properties": {
"amount": {
"description": "The amount which was refunded by the external platform.",
"example": "100.00",
"pattern": "^[0-9]+.[0-9]{2}$",
"type": "string"
},
"platformRefundId": {
"description": "The external platform's unique identifier for the refund.",
"example": "1",
"pattern": "[a-zA-Z0-9_-]+",
"type": "string"
},
"utcCreatedAt": {
"description": "Refund creation time.",
"example": "2024-01-01T20:00:00",
"format": "date-time",
"type": "string",
"x-field-extra-annotation": "@com.fasterxml.jackson.annotation.JsonFormat(pattern = \"yyyy-MM-dd'T'HH:mm:ss\", shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, timezone = \"UTC\")"
},
"utcVoidedAt": {
"description": "Refund void time, if applicable.",
"example": "2024-01-01T20:00:00",
"format": "date-time",
"type": "string",
"x-field-extra-annotation": "@com.fasterxml.jackson.annotation.JsonFormat(pattern = \"yyyy-MM-dd'T'HH:mm:ss\", shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, timezone = \"UTC\")"
},
"voided": {
"description": "Whether or not the refund was voided.",
"example": false,
"type": "boolean"
}
},
"required": [
"amount",
"utcCreatedAt"
],
"type": "object"
},
"type": "array",
"uniqueItems": true
}
},
"required": [
"currency",
"deposits"
],
"type": "object"
},
"notes": {
"example": "More balloons!",
"type": "string",
"description": "Venue-entered notes specific to the reservation."
},
"specialOffer": {
"example": "Free dessert",
"type": "string",
"description": "Any special offer linked to the reservation."
},
"tags": {
"example": [
"romantic meal",
"special occasion"
],
"items": {
"type": "string"
},
"type": "array",
"uniqueItems": true,
"description": "Tags linked to this reservation. See [Reservation Tags](https://api-portal.lsk.lightspeed.app/guides/reference/reference-tables/reservation-tags) table for a list of tags with available translations. All others will be displayed as provided in the request body."
},
"partySize": {
"description": "The number of expected guests.",
"example": 2,
"format": "int32",
"type": "integer"
},
"sequenceId": {
"description": "An optional sequence number assigned by the external platform. If provided, it will be used to determine the order of updates of a reservation. It is the responsibility of the external platform to provide a monotonically increasing sequence number.\nIf omitted, the utcUpdatedAt field will be used to determine the order of updates. That can be imprecise when dealing with events that happen in short timeframes in a distributed system.\nThe value SHOULD NOT be set to null or zero or any special value, but instead omitted from the JSON object entirely if it is not used.\n",
"example": 145789499819,
"type": "integer",
"format": "int64"
},
"status": {
"description": "External reservation statuses for platforms.",
"enum": [
"ON_HOLD",
"SCHEDULED",
"PARTIALLY_ARRIVED",
"ARRIVED",
"PARTIALLY_SEATED",
"SEATED",
"DEPARTED",
"CANCELLED",
"NO_SHOW",
"ERROR"
],
"example": "SCHEDULED",
"type": "string"
},
"tableNumbers": {
"description": "The list of table numbers associated with this reservation.\nIf no valid table is provided, POS order is not created.\n",
"example": [
"1"
],
"items": {
"type": "string"
},
"type": "array",
"uniqueItems": true
},
"utcScheduledAt": {
"description": "The scheduled reservation time.",
"example": "2024-01-01T20:00:00",
"format": "date-time",
"type": "string",
"x-field-extra-annotation": "@com.fasterxml.jackson.annotation.JsonFormat(pattern = \"yyyy-MM-dd'T'HH:mm:ss\", shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, timezone = \"UTC\")"
},
"utcUpdatedAt": {
"description": "The timestamp of the most recent change to the reservation.\n",
"example": "2024-01-01T20:10:00",
"format": "date-time",
"type": "string",
"x-field-extra-annotation": "@com.fasterxml.jackson.annotation.JsonFormat(pattern = \"yyyy-MM-dd'T'HH:mm:ss\", shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, timezone = \"UTC\")"
},
"guestRequest": {
"description": "Notes added to the reservation by the guest.",
"example": "I would need two baby chairs.",
"type": "string"
},
"expectedDuration": {
"description": "Expected duration of the meal. ISO-8601 format.",
"example": "PT30M",
"type": "string",
"format": "duration",
"x-field-extra-annotation": "@com.fasterxml.jackson.annotation.JsonFormat(pattern = \"yyyy-MM-dd'T'HH:mm:ss\", shape = com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING, timezone = \"UTC\")"
}
},
"required": [
"utcUpdatedAt",
"utcScheduledAt",
"partySize",
"guest",
"status"
]
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/restaurant-k-series-reservation-service-platform-reservation"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.