To integrate a booking service with KleverKey over the Zapier app, the booking service needs to provide a couple of events with the right properties.
A booking service usually lets a user book a resource (e.g. meeting/hotel room, apartment, etc.) and usually allows the change or cancelation of the booking. The booking service needs to either provide a Zapier app with triggers or it needs to support the manual set up of Webhooks. And it would need to provide the following events (or similar):
- New booking/reservation/etc.
- Updated booking/reservation/etc.
- Canceled booking/reservation/etc.
The following table shows the required properties for each event:
|Property type||New booking||Updated booking||Canceled booking|
|User email||string||Required 1)||Required 1)||Required 1)|
|User first name||string||Required 1)||Required 1)||Required 1)|
|User last name||string||Required 1)||Required 1)||Required 1)|
|User reference ID 2)||string||Required||Required||Required|
|Booking reference ID 2)||string||Required||Required||Required|
|Resource reference ID 2)||string||Required||Required||Required|
|Booking start date||ISO 8601 string||Required||Required||Optional|
|Booking end date||ISO 8601 string||Required||Required||Optional|
1) If the user email and first/last name is missing it has be retrieved with an additional action
2) Go to the Zapier app documentation for more information on IDs
If the properties are not provided like that (e.g. first- and last name in one property or the date strings are formatted differently) they need to be put in the right form with an additional action.
This example receives a booking event, looks up data in a Google spreadsheet and sends the booking to KleverKey.
Below you see how the Webhook trigger, the spreadsheet lookup and the KleverKey action have been configured. Especially you see how the resource ID from the event gets mapped to two KleverKey lock IDs with the lookup spreadsheet (example spreadsheet). To get the integer ID of a lock go to the lock details page and copy the ID from the URL (e.g. https://portal.kleverkey.com/organization/locks/1102305441). The other properties get handed directly from the Webhook trigger to the KleverKey action. The Zap would look similar if the trigger would be a specific Zapier app. The properties would most likely be named differently but the two actions would be set up the same.