Choose your search criteria carefully. Availability is an expensive call.
If you search availability for all resources, you should only do so for a single date.
If you search availability for multiple dates, you should only do so
for a specific resource by specifying the optional resourceId parameter.
A serviceId is required. The startDate and endDate are required and are formatted as:
Use the ISO 8601 format for DateTime Timezone, e.g., 2016-10-30T09:00:00-5:00
A resourceId is optional, it is recommended if known at the time of availability call.
roundRobin:
RANDOM -> When Resource doesn't matter
BALANCED -> When you want the Resource with least amount of appointments
NONE -> When you have multiple Resources involved with 1 appointment and they must ALL be available
Only use syncExternal if you want to include events from Resource external calendars i.e (google, outlook)
Capitalization
The LocationId, ServiceId, and ResourceIds have been capitalized. This is to signify the importance of each of these fields as they will determine the outcome of your available times. If you are migrating a from version 1.0.0 please ensure you are capitalizing the above properties.
Sequelize Arrays
ResourceIds are now taken as sequelize arrays instead of comma separated strings. This results in the following change to your ResourceIds query parameter:
{
"object": "Resource",
"name": "Ted",
"id": "123"
},
{
"object": "Resource",
"name": "Marshall",
"id": "456"
}
1.0.0: ?resourceIds=123,456
3.0.0: ?ResourceIds=123,ResourceIds=456