Please read the introduction to using the API. Apart from the values specified below, you should also store the App-Token for authentication.
Integrating the Timekit API into your product is easy, but there are a few gotchas you should know up front in regards to how you structure the data flow between your platform and ours. This guide focuses on API integration only and leaves out use cases that include our admin and project widget UIs.
If you just want to setup you booking experiences through our admin interface, please go to the how to setup you first project article
In general, most integrations consist of the following 3 steps:
- Create & setup resources (detailed guide)
- Search for availability (detailed guide)
- Create & update bookings (detailed guide)
When creating and configuring resource settings (step 1), you'll need to save some of the data we return so you can use it for fetching availability (step 2) and creating bookings later on (step 3). Let's jump right in!
Save resource id on your end
Whether you automate resource creation into your own onboarding flow or you create resources manually within our admin, you'll need their ID to communicate with our API.
Almost all endpoints require that you define which resource or resources you're working with, like when creating a booking, you must specify which resource is being booked. You define this by means of the resource's ID.
Please note that for some advanced use-case, where your resources have more than just the default calendar, you need to store these calendar ids as well. Also if your resources are synced to a google account and you don't want to use the primary google-calendar, you need to supply the relevant calendar id when fetching availability and create bookings.
When fetching availability for a user, you can input filters and the FindTime algorithm will take them into account when calculating available time-slots.
Please refer to our introduction to filters for reference.
Minimal effort by using our UIs
This article assumes that you want to make a 100% pure API integration. There are however also some hybrid approaches where you can leverage our admin and project widget UI to get up and running faster.
If you use our admin to create and configure resources + setup project widgets, you can actually skip all the above. The gotcha here is that the project widget you setup actually contains all the above in it's JSON config, which we persist in our DB.
Of course, you'll be limited to our standard embed functionality and won't be able to make additional API calls, but it might help you get off the ground fast.