User booking limits require an organization with the feature enabled. Contact your organization admin if you don’t see this option.
How it works
When a user has booking limits configured, Cal.com checks the total number of accepted bookings for that user before allowing a new one. If the user has already reached their limit for the current period, the time slots are marked as unavailable and new bookings are rejected. Limits can be set for any combination of these intervals:| Interval | Description |
|---|---|
perDay | Maximum bookings per calendar day |
perWeek | Maximum bookings per calendar week |
perMonth | Maximum bookings per calendar month |
perYear | Maximum bookings per calendar year |
When multiple intervals are set, the stricter limit at any given moment takes precedence. A daily limit of 3 and a weekly limit of 10 means a user can never exceed 3 bookings on a single day, even if they haven’t reached 10 for the week.
Setting limits in the UI
You can configure user booking limits in Settings > My Account > General. Toggle the booking limits option, set your desired limits for each interval, and click Update to save.Setting limits via the API
Read current limits
User booking limits are returned as part of theGET /v2/me response:
null value means no limit is set for that interval.
Update limits
Use thePATCH /v2/me endpoint to update booking limits:
bookingLimits to null:
User limits vs event-type limits
Cal.com supports two levels of booking limits:| Level | Scope | Where to configure |
|---|---|---|
| User booking limits | All bookings for a user across every event type | Settings > My Account > General |
| Event-type booking limits | Bookings for a single event type only | Event type settings > Limits tab |
Effect on availability
When a user reaches a booking limit for a given period, all time slots within that period are marked as busy. This means:- Slots no longer appear as available on booking pages.
- Attempts to book during that period return an error.
- The limit resets at the start of the next period (next day, week, month, or year) based on the user’s timezone.