# Three ways to build a schedule

**For:** Manager | Admin
**You'll need:** Nothing.

You almost never build a schedule one shift at a time. {{ app_name }} gives you three ways to scale up: **schedule templates**, **recurring shifts**, and **calendar copy** (Alt+drag). Each one fits a different shape of work. This article walks all three so you know which to reach for.

## The one-off shift

Before the three patterns, there's the basic primitive: open the calendar, click an empty slot, fill in a position and time, save. See {doc}`/plan-schedules/shifts/add-a-shift` and {doc}`/plan-schedules/shift-calendar/add-a-shift-from-the-calendar`.

This is fine for an extra shift you tacked on. It does not scale beyond a handful per week.

## 1. Schedule templates — a reusable week (or month)

A **schedule template** is a complete plan — a **day**, a **week**, or a **month** of shifts at the right positions, areas, and times — saved as a reusable artefact. Apply it from the calendar at whatever range your current view covers, and {{ app_name }} stamps out the shifts. A day template can be applied to a day, week, or month view; a week template to week or month; a month template only to a month.

Templates fit when:

- Your week looks the same most weeks. *Two cashiers 09–17 Mon–Fri, one closer 16–24 Tue–Sat* never moves.
- You run several **versions** — summer / winter, busy / quiet — and want to swap between them.
- You need to clone last quarter's schedule for the new quarter and tweak from there.

Templates carry both the **shape** of the work (positions, areas, times) and any **assignments** you've put on the template shifts. Applying a template stamps out the shifts with those assignments already in place — staffing comes along for the ride. You can still adjust or re-assign on the real calendar afterwards.

See {doc}`/plan-schedules/schedule-templates/index` and {doc}`/plan-schedules/shift-calendar/apply-a-schedule-template`. If you don't like what got stamped out, {doc}`/plan-schedules/shift-calendar/undo-the-last-template-apply` reverses the apply.

## 2. Recurring shifts — one rule, many occurrences

A **recurring shift** is a single shift with a pattern attached: *every Monday at 09:00*, *every other Friday*, *the second Tuesday of each month*. {{ app_name }} expands the pattern into individual child shifts you can edit independently.

Recurring shifts fit when:

- **One** shift repeats. You don't want to copy it 52 times for the year.
- The pattern is irregular but rule-based.

Assignments on the parent are carried down to every generated child, so a recurring shift staffed once is staffed for the whole series — you don't re-assign each Monday. Individual occurrences can still be re-assigned or left blank on the calendar.

When you edit or delete a recurring shift you'll be asked the scope: **This** occurrence, **Following** ones, or **All**. That's the trade-off — flexibility per occurrence, with bulk control when you need it.

See {doc}`/plan-schedules/shifts/recurring/index`.

## 3. Shift duplicating

The shift calendar has direct-manipulation shortcuts that let you build by example. The fastest is **Alt+drag** (**Option+drag** on macOS): hold the modifier key, drag any shift, drop it at the new time or day, and {{ app_name }} creates a copy — same position, area, duration, and assignments — at the drop location. The original stays put.

This fits when:

- You're cloning a single shift with its assignments without committing to a template — Alt+drag is the lightweight option.
- You're filling in irregular spots. *Tuesday 14:00 looks like Monday 14:00 but later in the week.*
- You're building a one-off week and don't want to invest in a template you'll throw away.

See {doc}`/plan-schedules/shift-calendar/duplicate-a-shift` for the duplicate flow, and {doc}`/plan-schedules/shift-calendar/index` for the full set of calendar shortcuts (multi-select, split, resize, open-in-new-tab).

## Which one when

| Situation | Best fit |
| --- | --- |
| Week shape is stable and you'll re-use it for months. | Schedule template |
| The shape changes seasonally and you want to swap versions. | Schedule template (multiple) |
| One shift repeats on a pattern. | Recurring shift |
| Same person, same time, every Monday. | Recurring shift (staff once on the parent, applies to every occurrence) |
| Cloning a shift with its assignments. | Alt+drag |
| Building a one-off week. | Alt+drag from a similar week |
| Adding extras on top of a template. | One-off shift |

You'll mix all three on a real schedule. A common pattern: apply a template for the baseline week, recurring shifts for the standing positions, Alt+drag for the irregular extras.

## Related

- {doc}`how-the-data-fits-together`
- {doc}`from-shift-draft-to-payroll`
- {doc}`/plan-schedules/schedule-templates/index`
- {doc}`/plan-schedules/shifts/recurring/index`
- {doc}`/plan-schedules/shift-calendar/index`
