Group Booking API
The Group Booking API automates meeting scheduling for groups by gathering availability from multiple calendars and finding suitable time slots.
Last updated
The Group Booking API automates meeting scheduling for groups by gathering availability from multiple calendars and finding suitable time slots.
Last updated
The Group Booking API is a powerful tool designed to facilitate the automated scheduling of meetings within a group. It enables developers to gather availability information from multiple user calendars and find time slots when at least one user is available.
The API is built on top of the Aurinko User concept. Please see section to understand how to add a user and one or more accounts/calendars.
At the heart of the lies a booking/availability profile for a group of users. This profile consists of a set of properties that describe calendar availability and the types of meetings that can be booked. It includes the following information:
Work hours
Meeting duration
Meeting subject
Meeting description
Meeting teleconference link
Meeting location
Profile scheduler link
Profile active period
And more...
To create a new booking profile POST json payload to the endpoint:
You can insert variables like {{name}}
, {{comments}}
in the meeting description text. They will be passed to a scheduling widget to be filled by an end user booking a meeting (see additionalFields of the availability endpoint below).
Use PATCH request to update existing profiles:
The required
field in the request body determines how the booking should handle group availability:
"one"
– The meeting can be scheduled if at least one member of the group is available.
"all"
– The meeting can be scheduled only if all members of the group are available.
curl -X GET
https://api.aurinko.io/v1/book/group/profiles/{id}/meeting
groupXids
indicate which groups are available for a given time slot.
accountIds
indicate which accounts are available for a given time slot.
The additionalFields
array contains the {{variables}}
that you specified in the meeting description text. If you're building your own scheduling widget it needs to ask the end user for those inputs. Booking a meeting will require the fields that don't specify defaults.
Book a meeting by sending json payload to the book/group/profiles/{id}/meeting
endpoint and specify groupXids and/or accountIds that you received earlier for the specified time slot:
A new event will be created based on the profile:
If an account is specified, the event will be scheduled in its primary calendar.
If a group is specified, the event will be scheduled in the primary calendar of an available account within that group.
In both cases, the person specified in the email
and name
fields will be invited to the event.
To associate accounts with a booking profile, use the :
To associate groups with a booking profile, use the :
Once a booking profile is created, and its users are defined the can be used to query the users availability for the types of meetings defined in the profile and within the specified work hours.
This endpoint produces information that can be used to build a public calendar page like .