> For the complete documentation index, see [llms.txt](https://compassly.gitbook.io/compassly-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://compassly.gitbook.io/compassly-docs/core-modules/shifts/shift-management/understand-shift-overlap-validation.md).

# Understand Shift Overlap Validation

**Page type:** Reference\
**Status:** Draft\
**Owner:** Compassly Documentation Team\
**Last verified:** 2026-07-08\
**Audience:** Super Admin, Admin, Supervisor, Clinician, Basic

## What This Section Covers

This material covers what counts as a shift overlap, when Compassly checks for one, and what to do when you see a **Shift overlap detected** message.

## What Counts As An Overlap

A shift is considered overlapping with another existing shift only when **all** of the following are true:

* The Service assigned to the shift has ***Prohibit shift overlap*** turned on (this is a setting on the Service itself — see [Add New Service](/compassly-docs/administration/system-settings/services/add-new-service.md)).
* The two shifts share the **same Team Member, or the same Client** — including a case where one shift has an individual client and the other has a client group that client belongs to.
* The two shifts fall on the **same calendar date**.
* The two shifts' time ranges actually overlap, accounting for each shift's location time zone. Two shifts that run the same clock time but in different time zones are not considered overlapping.

Location does **not** factor into the comparison — two shifts at different locations can still be flagged as overlapping if everything else matches. Only shifts that have a Service assigned participate in overlap checks — a **Template**-status shift, which has no Service, is never checked and never causes a conflict.

## When Compassly Checks For Overlaps

Overlap validation runs whenever you:

* Add a new shift
* Add a recurring shift (every occurrence is checked)
* Edit an existing shift's date, time, team member, client, or service
* Bulk edit shifts

## What Happens When An Overlap Is Found

You'll see a **Shift overlap detected** message listing the shift(s) it conflicts with, by location and time range. This is a hard stop — you can't save until you adjust the conflicting shift. Clicking ***Got it*** closes the message and returns you to the form with everything you entered still in place, so you don't lose your work.

When bulk editing, if only some of your selected shifts have a conflict, you'll see a version of the message that lets you toggle between the shifts that **can** be updated and the ones that **can't**, so you can decide whether to proceed with just the eligible ones.

## What To Do

* Change the start or end time so it no longer overlaps.
* If the overlap is with a shift that shouldn't count — for example, two genuinely simultaneous appointments are expected for this service — check whether the assigned Service actually needs ***Prohibit shift overlap*** turned on, and ask whoever manages Services to review it if not.

## Summary Of Section

**Upon reviewing this material, you should be able to:**

* Explain exactly what makes two shifts count as overlapping
* Know which actions trigger an overlap check
* Resolve a Shift overlap detected message

## Related Guides

* [Add a New Shift](/compassly-docs/core-modules/shifts/shift-management/add-new-shift.md)
* [Edit Shift Details](/compassly-docs/core-modules/shifts/shift-management/edit-shift.md)
* [Manage Shifts in Bulk](/compassly-docs/core-modules/shifts/shift-management/manage-shifts-in-batch.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://compassly.gitbook.io/compassly-docs/core-modules/shifts/shift-management/understand-shift-overlap-validation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
