Bookingkit apps are web services that extend the bookingkit platform. They function within the bookingkit platform but may also be accessed as a stand alone service. Every app must be hosted by the app provider.

Before you begin

Read the API documentation as the apps will use the API to exchange data with the bookingkit system.
Also, familiarize yourself with JWT tokens as you will need them when building the app

A bookingkit app must provide:

1. App details:

  • app name
  • app short description (max. 110 characters)
  • app image URL:
    • size: 222 x 142 px
  • app icon URL:
    • size: 42 x 40 px
    • must be monochrome white on transparent background

2. App detail page URL:

This will be a page describing the app functionality. It needs to be a single page (no navigation). This URL will be displayed in an Iframe.

Activation endpoint URL:

It will receive a POST request with a JSON body in this format:

{
    "client_id":"",
    "client_secret":"",
    "vendor_id":"",
    "user_id":"",
    "JWT_secret":""
}

These should be stored locally and used to get data from the bookingkit API V3. This endpoint will receive the request as soon as a user activates an app for a vendor.

3. App main page URL:

This is the URL under which the app will be working. The URL will be embedded into the bookingkit backend in an Iframe. The bookingkit system will append JWT as GET parameter to the Iframe so that the app may identify the customer. The app must first validate the JWT using the JWT secret and then decode it using the HS256 alg. Within the JWT the app will find the following information:

{
    "vendor_id":"",
    "user_id":"",
    "lang":""
}

See https://jwt.io/ for more information

4. Required scopes:

a list of scopes required by your application, for a complete list of scopes available see the API documentation.

Optional:

Order Web-hook endpoint URL:

This Url will receive order an order web hook patch for updates on orders the application has access to. For more information on the patch web-hook see the API documentation.