{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/lightspeed/main/json-schema/lightspeed-reservation-service-platform-profile-response-schema.json", "title": "reservation-servicePlatformProfileResponse", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/lightspeed-k-series-openapi.yml#/components/schemas/reservation-servicePlatformProfileResponse", "properties": { "baseUrl": { "description": "The base URL of the external platform (optional).", "format": "uri", "type": "string" }, "depositSupported": { "$ref": "#/$defs/reservation-servicePlatformDepositSupported" }, "displayName": { "$ref": "#/$defs/reservation-servicePlatformDisplayName" }, "errorsWebhookUrl": { "description": "The URL where notifications for any issues will be sent.
Required for [`error` notificationTypes](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservation-servicesetbyplatformcode#operation-reservation-servicesetbyplatformcode-body-application-json-notificationtypes).
See [Get Sample Error notification](https://api-docs.lsk.lightspeed.app/operation/operation-reservationErrorNotification).\n", "type": "string", "format": "uri" }, "integrationWebhookUrl": { "description": "The URL where notifications for activation or deactivation of the customer's integration will be sent.
Required for [`integration` notificationTypes](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservation-servicesetbyplatformcode#operation-reservation-servicesetbyplatformcode-body-application-json-notificationtypes).
See [Integration notification](https://api-docs.lsk.lightspeed.app/operation/operation-reservationintegrationnotification).\n", "type": "string", "format": "uri" }, "notificationTypes": { "description": "The events that trigger a notification.", "items": { "type": "string", "enum": [ "ORDER_OPENED", "ORDER_UPDATED", "ORDER_CLOSED", "ONBOARDING_STARTED", "INTEGRATION_ACTIVATED", "INTEGRATION_DEACTIVATED", "POS_RESERVATION_UPDATED", "ERROR" ] }, "type": "array", "uniqueItems": true }, "onboardingWebhookUrl": { "description": "The URL where notifications for the customer's integration onboarding will be sent.
Required for [`onboarding` notificationTypes](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservation-servicesetbyplatformcode#operation-reservation-servicesetbyplatformcode-body-application-json-notificationtypes).
See [Onboarding notification](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservationonboardingnotification).\n", "type": "string", "format": "uri" }, "orderWebhookUrl": { "description": "The URL where order notifications will be sent.
Required for [`order` notificationTypes](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservation-servicesetbyplatformcode#operation-reservation-servicesetbyplatformcode-body-application-json-notificationtypes).
See [Order Notification](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservationordernotification).\n", "type": "string", "format": "uri" }, "posReservationUpdateWebhookUrl": { "description": "The URL where notifications about reservation changes on POS will be sent.", "type": "string", "format": "uri" }, "ownNotificationsOnly": { "description": "When `true`, notifications will only be sent for orders linked to the reservation platform.", "type": "boolean" }, "webhookAuthType": { "description": "The type of authentication used by the webhook.", "enum": [ "BASIC_AUTH", "BEARER_TOKEN", "API_KEYS", "OAUTH2", "NONE" ], "type": "string" }, "allowCourseNumberUpdates": { "type": "boolean", "default": false, "description": "If true, table statuses can be customized using a number format." }, "inServiceTableStatuses": { "items": { "$ref": "#/$defs/reservation-servicePlatformTableStatusDto" }, "type": "array", "description": "List of customizable table statuses that will be used to notify platforms about reservation progress with outbound API." }, "allowedPosStatuses": { "type": "array", "items": { "$ref": "#/$defs/reservation-servicePlatformReservationStatus" }, "description": "Reservation statuses allowed for setting on a POS. PARTIALLY_ARRIVED should be included only with ARRIVED, and PARTIALLY_SEATED only with SEATED. Requires posReservationUpdateWebhookUrl to be set." } }, "required": [ "displayName", "webhookAuthType" ], "type": "object", "$defs": { "reservation-servicePlatformDepositSupported": { "description": "Whether or not the platform supports deposits.", "type": "boolean" }, "reservation-servicePlatformDisplayName": { "description": "The official platform name that will be displayed.", "type": "string" }, "reservation-servicePlatformReservationStatus": { "description": "External reservation statuses for platforms.", "enum": [ "ON_HOLD", "SCHEDULED", "PARTIALLY_ARRIVED", "ARRIVED", "PARTIALLY_SEATED", "SEATED", "DEPARTED", "CANCELLED", "NO_SHOW", "ERROR" ], "type": "string" }, "reservation-servicePlatformTableStatusDto": { "properties": { "statusLabel": { "type": "string", "description": "The unique text which will be displayed in the back-office for users." }, "statusValue": { "type": "string", "description": "The unique code which will be used for outbound communication within table status mapping." }, "sequence": { "format": "int32", "type": "integer", "description": "This number is used to resolve collisions between statuses in order of highest priority." } }, "type": "object", "required": [ "statusLabel", "statusValue", "sequence" ] } } }