Split Shifts¶
WFM supports split shifts β one employee working two (or more) separate windows on the same day, divided by a long unpaid gap. A typical example is 08:00β12:00 + 16:00β20:00 with a 4-hour midday gap. Smart Schedule treats the windows as one logical assignment and keeps them with the same agent.
How it works¶
A split shift is a regular shift template with two ingredients:
- A break flagged as Split-shift gap β this is the unpaid time between work windows, not an ordinary lunch break.
- A shift with Continuous disabled and the split-shift gap referenced inside it. The shift's start and end span the whole day (08:00β20:00 in the example above); the gap carves out the middle.
When Smart Schedule runs, the solver:
- Treats the work windows as one assignment. Both windows always go to the same employee β never split across two agents.
- Does not apply the contract's minimum rest period to the unpaid gap between windows of the same split shift.
- Counts only the paid windows towards daily/weekly/monthly hour limits. The unpaid gap is excluded from worked hours and payroll exports.
In the schedule view, a split assignment renders as two coloured blocks for the same employee on the same day, with a visible gap between them.
1. Create the split shift¶
Split shifts are configured entirely from Settings > Configuration > Shifts β you do not have to create the unpaid-gap break upfront in Breaks. The shift form creates and links the break automatically when you save.
How to set up¶
- Go to Settings > Configuration > Shifts and click + New Shift.
- Fill in the basic shift details:
- Shift Type Name β e.g. "Split AM+PM"
- Abbreviation β e.g. "SPL"
- Shifts Start β start of the first work window (e.g. 08:00)
- Length β total span from the first window's start to the last window's end (e.g. 12 h for 08:00β20:00)
- Days, Color / Background, etc. as for any other shift
- In the Split-shift gap section, turn the Split shift switch on. Two options appear:
- Use existing split-shift gap β pick a previously created split-gap break from the dropdown. The dropdown lists only breaks flagged as
is_split_gap = trueβ ordinary lunches/coffees are excluded. - Create new split-shift gap β enter the Gap start (when work pauses, e.g. 12:00) and Gap length (e.g. 4 h). On save, the form automatically creates a new break called "Split gap 4h" with
is_split_gap = trueandpaid = false, then links it to the shift.
- Use existing split-shift gap β pick a previously created split-gap break from the dropdown. The dropdown lists only breaks flagged as
- Optionally add ordinary breaks (lunch, coffee) inside the Breaks section. These breaks are not the split gap β split-gap breaks are filtered out of the ordinary breaks dropdown.
- Click Save.
The resulting template spans 08:00β20:00 with an unpaid 12:00β16:00 gap, producing two 4-hour work windows.
Note
Turning Split shift on automatically forces Continuous off when saving β a split shift cannot be continuous by definition.
Editing an existing split shift¶
When you open a shift that already references a split-gap break, the Split shift switch comes up enabled and the section is prefilled with the chosen break and gap start. You can change the gap or switch between Use existing and Create new as needed.
Three or more work windows¶
The inline UI in the shift form handles a single gap (two work windows). For shifts with three or more windows β e.g. 06:00β10:00 + 12:00β14:00 + 18:00β22:00 β use the alternative manual setup below.
2. Assign the shift to the workplace¶
- Go to Settings > Configuration > Workplaces and open the workplace.
- In the Shifts tab, add the split shift.
- Save.
Optionally restrict the split shift to specific employees in the shift's Employees tab β the Smart Schedule respects that allowlist the same way it does for any other shift.
3. Generate the schedule¶
- Open the schedule detail (created via Creating a Schedule).
- Click Smart Schedule.
- Review the result. Each split assignment renders as two coloured blocks for the same employee on the same day.
If the solver cannot keep both windows with one agent β for example because no employee is available for both β the whole assignment is rejected and shown in the Uncovered slots panel with one of these reasons:
| Reason | Meaning |
|---|---|
| Split shift split across employees | The solver was unable to find a single employee for all windows. Verify that at least one qualified employee is available for the full span (no vacation overlap, contract limits not exceeded). |
| Split shift partially covered | Only some windows could be filled; the rest were left unassigned, so the whole split shift was rejected. Add a qualified employee available for all windows, or shorten the unpaid gap so more agents qualify. |
Manual edits in the schedule¶
Once a split shift is on the schedule (either after Smart Schedule or assigned by hand), you can move it or delete it like any other shift β the split structure is preserved.
Drag and drop¶
Drag a split assignment to another day or another employee:
- The whole split shift moves as one unit. Both work windows shift by the same day offset, and the unpaid gap moves with them.
- On a same-day move (different employee), a single update is sent; on a cross-day move the old assignment is moved into Uncovered slots and a new one is created on the target day.
- The split-shift gap break is carried over with the move β the new assignment renders as two coloured blocks again, not as one long continuous shift.
Delete¶
Deleting a split assignment removes both work windows together (they share one underlying record). The assignment is sent to Uncovered slots so you can later reassign it with Fill Gaps or by dragging an agent onto it.
Worked hours and payroll¶
Split shifts are paid for the work windows only:
- Daily/weekly/monthly hour limits count only paid windows. A 08:00β20:00 split with a 4-hour gap counts as 8 paid hours, not 12.
- Payroll exports report only the worked time. The unpaid gap appears in the schedule for visibility but is not billed.
- Funds calculations (working time available to a workplace) skip the gap automatically.
Notes¶
- A split shift requires the Split shift switch on and at least one break flagged as Split-shift gap. The inline flow above handles both implicitly.
- Ordinary breaks (lunch, coffee) inside a work window are still paid or unpaid according to their own Paid flag β they are not the split-shift gap.
- The solver does not auto-generate split shifts from scratch. It only assigns split shift templates the planner has defined. If a workplace needs split coverage, the template must exist.
- When the schedule view shows two blocks for one assignment, both blocks share the same underlying record. Editing or deleting one window affects the whole split shift.
Alternative: manual setup for power users¶
If you need three or more work windows in a single shift, or you want to share one break entity across many shift templates, build the split shift the classic two-step way.
1. Create the split-gap break¶
- Go to Settings > Configuration > Breaks and click + Add Break.
- Fill in Name (e.g. "Split gap 4h"), Duration (e.g. 4:00), and turn Split-shift gap on β that forces Paid off.
- Save.
2. Reference it in the shift form¶
- In Settings > Configuration > Shifts, open or create a shift.
- Turn Split shift on, pick mode Use existing, and select the break.
- For additional gaps (three or more windows), use the regular Breaks section to add the same split-gap break a second time with a different start. Save.