Overview
Prevent overlapping appointments makes the platform refuse to create or reschedule an appointment when it overlaps another one on the same calendar.
Until this setting existed, the module's only conflict check lived in the public booking page β which has always offered free slots only. The direct path (the dashboard, the API and the bot's calendar tools) had no check at all: nothing stopped two appointments at 08:00 and 08:30 on the same calendar.
It is optional and ships off. For a good reason: in many operations several attendants share one calendar and book at the same time on purpose. Turning it on by default would break those accounts. Turn it on only where overlapping really is a mistake.
Prerequisites
- The Calendar module enabled on the account.
- Administrator permission to change the Calendar settings and the calendars themselves.
- At least one calendar created.
Step by step
Set the account default
- Open Calendar and go to Settings.
- Under Scheduling defaults, turn on Prevent overlapping appointments.
- Save.
From then on, every calendar that has no decision of its own follows that default.
Set a per-calendar exception
- Open the Calendar's calendar list and edit the calendar you want.
- In the Overlapping appointments field, pick one of three options:
- Use the Agenda default β inherits the account setting (this is how every calendar starts);
- Block overlaps β always prevents them, even with the account default off;
- Allow overlaps β always permits them, even with the account default on.
- Save.
Settings & options
How the decision is resolved
The rule is read top-down, and the first explicit decision wins:
calendar setting β Calendar default (account) β off
A calendar on Use the Agenda default simply follows the account β and goes back to following it if you change the default later.
Exactly what gets blocked
| Path | Behavior with the setting on |
|---|---|
| Creating an appointment from the dashboard, the API or a bot tool | fails if there is an overlap on the same calendar |
| Rescheduling (changing the date/time) | fails if the new time overlaps another appointment |
| Editing an appointment without touching the time | not checked β the check only runs when the date/time changes |
| Booking from the public page | unchanged: that page has always had its own conflict check and only offers free slots |
The comparison is always within the same calendar. Two different calendars never conflict with each other, even if they belong to the same attendant.
What counts as busy
Not every appointment blocks a slot. These are left out of the check:
- cancelled appointments β a cancellation gives the slot back;
- appointments marked Free (transparent, in Google Calendar's vocabulary) β they show up in the grid but do not occupy the host.
It is the same definition of "busy" the public booking page already used, on purpose: both sides of the module agree on what a taken slot is.
An appointment marked Free is also not blocked when rescheduled β it never occupied anything.
What the user sees
When the setting is on and there is a clash, the operation fails with a message that names the conflicting appointment:
This time overlaps the appointment "Client meeting" on the same calendar. Choose another time.
Nothing is half-saved: the appointment is simply not created (or not rescheduled).
Use cases
- A single-person calendar (a clinic, a lawyer, a consultant): turning it on in the account default prevents the classic double booking.
- A team with one calendar per attendant: turning it on in the account default protects everyone, since each calendar belongs to one person.
- A deliberately shared calendar (a room, a class, an on-call shift with several attendants): leave that calendar on Allow overlaps, even with the account default on.
- A calendar operated by the bot: with the setting on, the bot cannot book over a taken slot β the tool fails and it has to offer another time.
- Migrating a calendar: leave it off while importing old appointments; turn it on once the data is tidy.
Tips, limits & best practices
- Turning it on does not fix what already exists. The setting applies to what is created or rescheduled from now on. Overlaps already saved stay there β review them by hand.
- It is per calendar, not per attendant. If the same person works out of two calendars, one appointment on each is not treated as a conflict.
- Appointments coming from Google arrive through the sync and start counting as busy (if they are active and not marked Free) β but the sync itself is not refused; the setting acts on the direct path.
- The public page never depended on this setting. It avoided conflicts before and still does after β including with the setting off.
- Mark as Free whatever genuinely does not occupy the host (a personal reminder, an informational block). That keeps the check useful instead of noisy.
- If the team complains that they "can't save", the first place to look is the calendar's setting, not the account's: an exception on Block overlaps beats an account default that is off.
Troubleshooting
- "I can't save an appointment": there is an overlap on the same calendar. The message names the conflicting appointment β open it, confirm whether it is still valid and choose another time, or cancel the old one.
- "I turned it off in Calendar settings and it still blocks": that calendar has its own exception on Block overlaps. Switch it to Use the Agenda default or Allow overlaps.
- "I turned it on and it still lets me double-book": either that calendar is on Allow overlaps, or the existing appointment is cancelled or marked Free β neither occupies a slot. Also check that both appointments really are on the same calendar.
- "I edited the title and got an overlap error": the check only runs when the date/time changes. If you got the error, the time was changed too β check the start and end fields.
- "The bot said it couldn't book": with the setting on, that is the expected behavior on a taken slot. Ask the contact for another time, or free the slot on the calendar.
- "Two attendants need the same slot": use one calendar per attendant, or leave that calendar on Allow overlaps.