AI-generated Key Takeaways
-
Merchants can set a minimum advance booking time for services or specific time slots.
-
Service-level settings use
rules.min_advance_booking
to define the minimum booking time in seconds before the start time. -
Slot-level settings use
scheduling_rule_overrides.last_bookable_sec
to define the last bookable time for a specific slot using an EPOCH timestamp. -
It's crucial to implement booking window validation on the booking server to handle edge cases and prevent bookings outside the allowed timeframe, responding with
SLOT_UNAVAILABLE
if necessary.
Setting a minimum advanced booking time
There are many cases in which a merchant would like specific services or slots to be booked a minimum time in advance. These can be set at either the service level and/or at the availability level. If it is set at both, the setting at the availability level will be used.
Service level definition
At the
service level the field is called rules.min_advance_booking
. This field
should be set to the number of seconds in advance of the reservation start
time that the booking needs to be made. For example if the booking always
needs to be made 1 hour before the start time this field would be set to
3600 (so a booking for 3pm can be booked up until 2pm). This would apply to
all slots for that service (unless overridden by slot level definition).
JSON
"service": [ { "rules": { "min_advance_booking": 3600 } } ]
Slot level definition
At the
availability slot level the field is called
scheduling_rule_overrides.last_bookable_sec
. This
field is the last time (EPOCH timestamp) that the specific slot can be booked.
This would apply to each individual slot where this was specified.
JSON
"service_availability": [ { "availability": { "scheduling_rule_overrides": { "last_bookable_sec": 1468081800 } } } ]