Reservations for Platforms

Create or Update Platform Profile

Changed on

Create or update details for external reservation platform.

post/reservation/api/1/platform/{platform-code}/profile

Request

  • Base URL
    https://api.trial.lsk.lightspeed.app
  • URL
    https://api.trial.lsk.lightspeed.app/reservation/api/1/platform/{platform-code}/profile
  • Auth
    OAuth 2
    Authorization code: https://auth.lsk-prod.app/realms/k-series/protocol/openid-connect/auth
    Token URL: https://auth.lsk-prod.app/realms/k-series/protocol/openid-connect/token scopes: reservation-platform-code

Path parameters

platform-codestring required

The unique code assigned to the reservation platform.

Example:MyPlatform

Request body

baseUrlstring uri

The base URL of the external platform (optional).

depositSupportedboolean

Whether or not the platform supports deposits.

displayNamestring required

The official platform name that will be displayed.

errorsWebhookUrlstring uri

The URL where notifications for any issues will be sent. <br> Required for error notificationTypes.<br> See Get Sample Error notification.

integrationWebhookUrlstring uri

The URL where notifications for activation or deactivation of the customer's integration will be sent. <br> Required for integration notificationTypes.<br> See Integration notification.

notificationTypesstring[]

The events that trigger a notification.

onboardingWebhookUrlstring uri

The URL where notifications for the customer's integration onboarding will be sent. <br> Required for onboarding notificationTypes.<br> See Onboarding notification.

orderWebhookUrlstring uri

The URL where order notifications will be sent. <br> Required for order notificationTypes.<br> See Order Notification.

posReservationUpdateWebhookUrlstring uri

The URL where notifications about reservation changes on POS will be sent.

ownNotificationsOnlyboolean

When true, notifications will only be sent for orders linked to the reservation platform.

webhookAuthType'BASIC_AUTH' | 'BEARER_TOKEN' | 'API_KEYS' | 'OAUTH2' | 'NONE' required

The type of authentication used by the webhook.

allowCourseNumberUpdatesboolean

If true, table statuses can be customized using a number format.

allowedPosStatusesReservationServiceExtendedReservationStatus[]

Example request

{
  "baseUrl": "https://my.platform/api/lsk",
  "depositSupported": true,
  "displayName": "My Platform",
  "errorsWebhookUrl": "https://my.platform/api/lsk/webhook/errors",
  "integrationWebhookUrl": "https://my.platform/api/lsk/webhook/integrations",
  "notificationTypes": [
    "ORDER_CLOSED"
  ],
  "onboardingWebhookUrl": "https://my.platform/api/lsk/webhook/onboarding",
  "orderWebhookUrl": "https://my.platform/api/lsk/webhook/orders",
  "posReservationUpdateWebhookUrl": "https://my.platform/api/lsk/webhook/reservation",
  "ownNotificationsOnly": true,
  "webhookAuthDetails": {
    "apiKeys": {
      "headers": {
        "X-API-ID": "Example-x-api-id",
        "X-API-SECRET": "Example-x-api-secret"
      },
      "parameters": {}
    },
    "basic": {
      "password": "Example-Password",
      "username": "LightspeedKSeries"
    },
    "bearer": {
      "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
    },
    "oauth2": {
      "authorizationGrantType": "CLIENT_CREDENTIALS",
      "clientAuthorizationMethod": "CLIENT_SECRET_BASIC",
      "clientId": "LightspeedKSeries",
      "clientName": "LightspeedKSeries",
      "clientSecret": "Example-Client-Secret",
      "providerJwkSetUri": "https://my.platform/public-keys",
      "providerTokenUri": "https://my.platform/emitter/token",
      "scopes": [
        "webhooks-api"
      ]
    }
  },
  "webhookAuthType": "OAUTH2",
  "allowCourseNumberUpdates": true,
  "inServiceTableStatuses": [
    {
      "statusLabel": "Appetizer",
      "statusValue": "appetizer",
      "sequence": 1
    }
  ],
  "allowedPosStatuses": [
    "SCHEDULED"
  ]
}

Response

Platform profile details

baseUrlstring uri

The base URL of the external platform (optional).

depositSupportedboolean

Whether or not the platform supports deposits.

displayNamestring required

The official platform name that will be displayed.

errorsWebhookUrlstring uri

The URL where notifications for any issues will be sent. <br> Required for error notificationTypes.<br> See Get Sample Error notification.

integrationWebhookUrlstring uri

The URL where notifications for activation or deactivation of the customer's integration will be sent. <br> Required for integration notificationTypes.<br> See Integration notification.

notificationTypesstring[]

The events that trigger a notification.

onboardingWebhookUrlstring uri

The URL where notifications for the customer's integration onboarding will be sent. <br> Required for onboarding notificationTypes.<br> See Onboarding notification.

orderWebhookUrlstring uri

The URL where order notifications will be sent. <br> Required for order notificationTypes.<br> See Order Notification.

posReservationUpdateWebhookUrlstring uri

The URL where notifications about reservation changes on POS will be sent.

ownNotificationsOnlyboolean

When true, notifications will only be sent for orders linked to the reservation platform.

webhookAuthType'BASIC_AUTH' | 'BEARER_TOKEN' | 'API_KEYS' | 'OAUTH2' | 'NONE' required

The type of authentication used by the webhook.

allowCourseNumberUpdatesboolean

If true, table statuses can be customized using a number format.

allowedPosStatusesReservationServiceExtendedReservationStatus[]

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.

Example response

{
  "baseUrl": "https://my.platform/api/lsk",
  "depositSupported": true,
  "displayName": "My Platform",
  "errorsWebhookUrl": "https://my.platform/api/lsk/webhook/errors",
  "integrationWebhookUrl": "https://my.platform/api/lsk/webhook/integrations",
  "notificationTypes": [
    "ORDER_CLOSED"
  ],
  "onboardingWebhookUrl": "https://my.platform/api/lsk/webhook/onboarding",
  "orderWebhookUrl": "https://my.platform/api/lsk/webhook/orders",
  "posReservationUpdateWebhookUrl": "https://my.platform/api/lsk/webhook/reservation",
  "ownNotificationsOnly": true,
  "webhookAuthType": "OAUTH2",
  "allowCourseNumberUpdates": true,
  "inServiceTableStatuses": [
    {
      "statusLabel": "Appetizer",
      "statusValue": "appetizer",
      "sequence": 1
    }
  ],
  "allowedPosStatuses": [
    "SCHEDULED"
  ]
}

Changes

    • warning

      added the new CANCELLED_LATE enum value to the / response property for the response status

    • info

      added the new CANCELLED_LATE enum value to the request property /

    • breaking

      added to the // request property allOf list

    • breaking

      the // request property type changed from string to no type, and format from date-time to no format