Improved
OnSched API & dashboard 3.7.0 — booking limits, quotas, and allocation capacity
about 21 hours ago by ReadMe GitHub Action
Public docs: Booking limits, Weekly allocations.
Booking limits and service quotas
The platform now enforces configured limits consistently across GET /v3/availability, hold, reserve, book, and reschedule when a customer is known.
Per-customer caps
bookingLimit(service or resource) — caps active appointments (BK+IN; notRS) per customer.maxBookingLimit/maxResourceBookingLimit(service) — lifetime caps per customer; rescheduled-away (RE) rows do not count.- Expired
INholds are ignored when counting active caps (aligned with availability SQL). - Limits are checked on reschedule, including metadata-only updates.
Service-wide daily quotas
dailyBookingLimitCount— hides slots on days when the service has reached its booking count cap.dailyBookingLimitMinutes— hides slots when remaining same-day minute headroom is less than the candidate appointment duration.PUT /bookre-runs slot validation when confirming a reserved (RS) appointment so exhausted daily quotas cannot be bypassed.
Hold and book alignment
allowPaddingOverflowandignoreExternalEventschosen at hold or reserve are preserved when the appointment is booked.0or omitted = unlimited for numeric limit fields unless noted otherwise.
Weekly allocation same-slot capacity
Corrected weekly allocation capacity semantics for service+resource pair scope:
bookingsPerSloton weekly allocations applies only when bothServiceIdandResourceIdscope the allocation.- Availability, hold, and book treat pair-scoped
bookingsPerSlotas concurrent capacity at the same instant; other slots in the week are unaffected. - Weekly allocation routes do not support weekly booking quota fields.
- Same-slot capacity uses one unit of load per booking (a third consumer is rejected when capacity is
2).
Availability reliability
COMBINEDhold validation requires every requested resource to be free at the slot (aligned withGET /v3/availabilitycapacity checks).- Redis availability cache is cleared when appointments are cancelled and when service or resource settings that affect slot generation change (for example
dailyBookingLimitCount,duration,bookingsPerSlot).
Dashboard
- Service, Resource, and Allocation forms group booking limit fields into labeled sections with inline helper copy that distinguishes same-slot capacity, service daily quotas, and per-customer caps.
- Unlimited fields display No limit when the API value is
0. - Service info exposes customer limit dropdowns for
bookingLimit,maxBookingLimit, andmaxResourceBookingLimit. - Resource info exposes
bookingLimitfor the current service. - Weekly allocations scoped to a resource show the
bookingsPerSlotsame-slot capacity field when editing service allocation rows.
