Endpoint that uses cache when fetched frequently
This endpoint is improved version of v2/availability . If you are fetching availability for resource frequently without any change in the date range often then this might be a good endpoint for you.
How does it work?
When you request availability for your resource between some day range it would catch the response and next time you hit this endpoint you will get cached availability.
This way you can make more requests per seconds and get improved response time. Cache will be bursted in following scenarios:
- When resource is updated with new constraints
- When project is updated with new constraints
- When new booking is created for specific resource
This endpoint is cached for 1 minute of TTL. Cache will be bursted after a minute.
This endpoint will inherit your project settings if some params are not set as a payload.
Timekit currently operate with three modes to query availability, these only have significance if you're querying availability for more than one resource.
- Round-robin random.
- Round-robin prioritized.
Mutual Mode Strategy
The mutual mode will ensure that all resources are available in a given time-slot.
The round-robin modes will choose whichever resource is available at a given time-slot, according to the strategy. The round-robin random strategy chooses resource randomly as the name suggests. The inner workings of Timekit's availability-algorithm dictates that once a resource has been found for a given time-slot, this resource will have precedence for the remainder of the of time-slots.
This means that you will not see random resource-allocation between the produced time-slots, only if a time-slot is found where the first randomly chosen resource is not available, will there be a different resource allocated to that particular time-slot.
The prioritized round-robin strategy works in much the same manner, except that the resource with precedence is chosen based on the sequence given when defining resources.
The exclusive mode will ensure that if time slot has number of assigned resources for a given time slot, it will show all available resources for that specific time slot.
If time slot has two resources and one of them already booked it will only show single resource available for this time slot. Resources are chosen based on their availability for given slot.