> For the complete documentation index, see [llms.txt](https://learn.withessential.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.withessential.com/customers-and-work/scheduling/drag-and-drop-to-schedule-move-reassign-and-handle-conflicts.md).

# Drag and drop to schedule, move, reassign, and handle conflicts

On the calendar you can drag a visit card from the backlog onto a technician's column to schedule it, drag a placed card to a new slot or technician to move or reassign it, or drag it back to the backlog to unschedule - and you can drag visits between the map and the calendar too. Beyond those basics, a few situations are worth knowing about.

Use the **Drag** control beside the **Scheduling** heading when you want to prevent accidental schedule changes. **Drag enabled** shows a grab hand and allows visit cards to move. Select it to disable dragging from the calendar, backlog, and map; **Drag disabled** shows the same hand with a slash. Select it again to re-enable dragging. Essential remembers this choice in that browser. You can still open and edit visits while drag and drop is disabled.

Press and hold an exact-time visit card to lift it, then drag it - it snaps live to the nearest 15-minute mark on the technician's column and shows a time-range preview as you move it, with a faint outline left at its original slot. Dropping it on the Shared Grid view keeps it assigned to its own technician rather than reassigning it. An estimated visit doesn't get this live free-time drag: it still snaps only to the open blocks Essential lays out for that day, with no time preview while you drag.

That same free 15-minute positioning is how you create a visit by hand: click and drag on an empty part of a technician's column to draw a new exact visit. The block you draw sets its start time and duration, and releasing opens the visit form prefilled with both plus that technician.

Property-based visits can overlap on a technician's schedule without a numeric limit. The calendar arranges conflicting cards in side-by-side lanes, reuses a lane after a visit ends, and widens later cards into any lanes that remain open for their whole visit. No-property availability blocks, such as Tech Unavailable, remain exclusive: neither a property visit nor another availability block can overlap them. Commute time also counts when checking unavailable time.

Overnight visits can run past midnight. The day-boundary error applies when a cascaded scheduling change would make a following visit start on the next day.

For work that spans whole days, step 2 has an All day checkbox. Turn it on and set a start and end date to create a visit across that range; it uses your business hours and skips weekends. A visit that runs past local midnight is drawn running off the bottom edge into the next day, and its time row shows a date range instead of a single day.

After you drop, drag, or delete a visit, an Undo button appears at the bottom of the screen for a few seconds - click it to reverse that change.

> **Where to find it:** On the calendar itself: drag a visit card from the backlog onto a technician's column, drag an already-placed card to a new slot, or click and drag an empty part of a column to draw a new visit. Multi-day and all-day options live on step 2 of the visit form.

## Related guides

* [Schedule, reschedule, or reassign a visit](/customers-and-work/scheduling/schedule-reschedule-or-reassign-a-visit.md)
* [See and manage your schedule](/customers-and-work/scheduling/see-and-manage-your-schedule.md)
* [Switch how the schedule is shown](/customers-and-work/scheduling/switch-how-the-schedule-is-shown-week-month-map.md)
* [Add work orders (visit types) and contacts with reminders to a visit](/customers-and-work/scheduling/add-work-orders-visit-types-and-contacts-with-reminders-to-a-visit.md)
* [Create a new visit](/customers-and-work/scheduling/create-a-new-visit.md)
* [Deleting a scheduled visit is permanent](/customers-and-work/scheduling/deleting-a-scheduled-visit-is-permanent.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://learn.withessential.com/customers-and-work/scheduling/drag-and-drop-to-schedule-move-reassign-and-handle-conflicts.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.
