Lightspeed · Schema

reservation-servicePlatformProfileResponse

reservation-servicePlatformProfileResponse schema from Lightspeed Restaurant K Series API

POSRetailRestaurantEcommerce

Properties

Name Type Description
baseUrl string The base URL of the external platform (optional).
depositSupported boolean Whether or not the platform supports deposits.
displayName string The official platform name that will be displayed.
errorsWebhookUrl string 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
integrationWebhookUrl string 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/oper
notificationTypes array The events that trigger a notification.
onboardingWebhookUrl string 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-rese
orderWebhookUrl string The URL where order notifications will be sent.
Required for [`order` notificationTypes](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservation-servicesetbyplatformcode#operatio
posReservationUpdateWebhookUrl string The URL where notifications about reservation changes on POS will be sent.
ownNotificationsOnly boolean When `true`, notifications will only be sent for orders linked to the reservation platform.
webhookAuthType string The type of authentication used by the webhook.
allowCourseNumberUpdates boolean If true, table statuses can be customized using a number format.
inServiceTableStatuses array List of customizable table statuses that will be used to notify platforms about reservation progress with outbound API.
allowedPosStatuses array 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.
View JSON Schema on GitHub

JSON Schema

restaurant-k-series-reservation-service-platform-profile-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "reservation-servicePlatformProfileResponse",
  "description": "reservation-servicePlatformProfileResponse 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-profile-response-schema.json",
  "type": "object",
  "properties": {
    "baseUrl": {
      "description": "The base URL of the external platform (optional).",
      "example": "https://my.platform/api/lsk",
      "format": "uri",
      "type": "string"
    },
    "depositSupported": {
      "description": "Whether or not the platform supports deposits.",
      "example": true,
      "type": "boolean"
    },
    "displayName": {
      "description": "The official platform name that will be displayed.",
      "example": "My Platform",
      "type": "string"
    },
    "errorsWebhookUrl": {
      "description": "The URL where notifications for any issues will be sent. <br> Required for [`error` notificationTypes](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservation-servicesetbyplatformcode#operation-reservation-servicesetbyplatformcode-body-application-json-notificationtypes).<br> See [Get Sample Error notification](https://api-docs.lsk.lightspeed.app/operation/operation-reservationErrorNotification).\n",
      "example": "https://my.platform/api/lsk/webhook/errors",
      "type": "string",
      "format": "uri"
    },
    "integrationWebhookUrl": {
      "description": "The URL where notifications for activation or deactivation of the customer's integration will be sent. <br> Required for [`integration` notificationTypes](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservation-servicesetbyplatformcode#operation-reservation-servicesetbyplatformcode-body-application-json-notificationtypes).<br> See [Integration notification](https://api-docs.lsk.lightspeed.app/operation/operation-reservationintegrationnotification).\n",
      "example": "https://my.platform/api/lsk/webhook/integrations",
      "type": "string",
      "format": "uri"
    },
    "notificationTypes": {
      "description": "The events that trigger a notification.",
      "example": [
        "ORDER_CLOSED"
      ],
      "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. <br> Required for [`onboarding` notificationTypes](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservation-servicesetbyplatformcode#operation-reservation-servicesetbyplatformcode-body-application-json-notificationtypes).<br> See [Onboarding notification](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservationonboardingnotification).\n",
      "example": "https://my.platform/api/lsk/webhook/onboarding",
      "type": "string",
      "format": "uri"
    },
    "orderWebhookUrl": {
      "description": "The URL where order notifications will be sent. <br> Required for [`order` notificationTypes](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservation-servicesetbyplatformcode#operation-reservation-servicesetbyplatformcode-body-application-json-notificationtypes).<br> See [Order Notification](https://api-docs.lsk.lightspeed.app/prod/operation/operation-reservationordernotification).\n",
      "example": "https://my.platform/api/lsk/webhook/orders",
      "type": "string",
      "format": "uri"
    },
    "posReservationUpdateWebhookUrl": {
      "description": "The URL where notifications about reservation changes on POS will be sent.",
      "example": "https://my.platform/api/lsk/webhook/reservation",
      "type": "string",
      "format": "uri"
    },
    "ownNotificationsOnly": {
      "description": "When `true`, notifications will only be sent for orders linked to the reservation platform.",
      "example": true,
      "type": "boolean"
    },
    "webhookAuthType": {
      "description": "The type of authentication used by the webhook.",
      "enum": [
        "BASIC_AUTH",
        "BEARER_TOKEN",
        "API_KEYS",
        "OAUTH2",
        "NONE"
      ],
      "example": "OAUTH2",
      "type": "string"
    },
    "allowCourseNumberUpdates": {
      "type": "boolean",
      "example": true,
      "default": false,
      "description": "If true, table statuses can be customized using a number format."
    },
    "inServiceTableStatuses": {
      "items": {
        "properties": {
          "statusLabel": {
            "type": "string",
            "example": "Appetizer",
            "description": "The unique text which will be displayed in the back-office for users."
          },
          "statusValue": {
            "type": "string",
            "example": "appetizer",
            "description": "The unique code which will be used for outbound communication within table status mapping."
          },
          "sequence": {
            "format": "int32",
            "type": "integer",
            "example": 1,
            "description": "This number is used to resolve collisions between statuses in order of highest priority."
          }
        },
        "type": "object",
        "required": [
          "statusLabel",
          "statusValue",
          "sequence"
        ]
      },
      "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": {
        "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"
      },
      "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"
  ]
}