Access Control System

Guide to building Access Control Apps 🔐

Access control systems can build an App to act as a midway point between their system and Booking Experts. The app can provide access to different areas of a park. You can create a simple barrier access control app providing entry into the park, or you could create more complex access control apps that may also allow for more intricate access management of accommodations and rooms. Access can be granted to guests with reservations or accommodation owners. Using webhooks, access can automatically be granted at the appropriate time for reservations. Furthermore, commands can be used for manual creation of access cards or exemptions.


Setup

Nearly every access control app will have some form of authentication which the user will need to configure in order to align with the access control system. You can easily create a Settings page for your app by defining it as a command using the context model subscription:

When called, you can respond with a redirect to your Settings page. An example response can be seen below.

{ "iframe_url": "http://your-app.com/settings" }

Commands

The concept of an Abstract Access Object can be utilised when creating access control apps. These object entries can indicate, in the app, what kind of access has been granted (eg. reservation, owner, manual creation etc.), and the validity of this access. Examples of Abstract Access Objects are Cards, Exemptions, Keys, etc.
Using commands, a list of access objects can be displayed to the app user on different context levels. Typically, the following context models are used:

  • subscription: To list Abstract Access Objects of a subscription.
  • reservations: To list Abstract Access Objects of a reservation.
  • administration: To list Abstract Access Objects of an administration.
  • owner: To list Abstract Access Objects of an owner.

Automatically granting access for reservations with webhooks

Typically, the following webhooks are needed for automatically managing access for reservations:

  • reservation|confirmed :To create access when a reservation is confirmed.
  • reservation|checked_in :To grant access when a reservation is checked in.
  • reservation|moved :Will be triggered when the dates or accommodation of the reservation have been changed, so you can update its access.
  • reservation|checked_out :To revoke access when the reservation is checked out.
  • reservation|cancelled :To revoke access when the reservation is cancelled.

You can configure all these events with one webhook and manage the events using the @request_metadata['events'].


Barrier Access Control Apps

For barrier access control apps you will need this additional webhook:

  • reservation|license_plates_updated: To update access when a license plate is registered or updated for a reservation.

Creating access for owners

Using commands with the owner context model, you can manage the Abstract Access Objects that are created for owners of accommodations.


Manually granting access for reservations

Using commands, you can also add buttons to reservations to allow users of the system to manually manage access for a reservation.