Set a minimum advanced booking time

  • Minimum advanced booking time can be set at either the service level or the availability level, with the availability level taking precedence if both are set.

  • At the service level, rules.min_advance_booking defines the minimum time in seconds before the reservation start time that a booking must be made.

  • At the availability slot level, scheduling_rule_overrides.last_bookable_sec specifies the last time (EPOCH timestamp) a specific slot can be booked.

  • Even when implementing advance booking limits in feeds, you must still check for bookings outside the allowed window and respond with SLOT_UNAVAILABLE.

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
        }
    }
  }
]