Shifts & rostering
Build weekly rosters, publish to employees, and approve swap requests.
What's a roster?
A roster period is a calendar window (typically a week) where you assign one shift to each employee on each day. Each cell can be a defined shift code (Morning, Evening, Night, …) or marked off (weekly off, leave). Once you're happy with the grid, you publish — employees then see their shifts on
/me/shifts and can request swaps with colleagues.Setting up shift definitions
Before you can roster, define the shifts your business uses. Go to Admin → Attendance ops and create one Shift per unique pattern (e.g.
MORN 09:00–17:00, EVE 14:00–22:00, NIGHT 22:00–06:00). Optionally set a hex colour on each shift — the roster grid uses it to make patterns easier to spot.Creating a roster
- Go to Admin → Shift rosters.
- Click New roster. The default window is next Monday → Sunday. Adjust dates as needed (max 31 days).
- On the grid, each row is an employee, each column a day. Use the dropdown in each cell to pick a shift or "off".
- Hit Save after each batch of changes. The button shows how many cells will be persisted.
- When the whole grid looks right, hit Publish. Every rostered employee gets an inbox notification.
Statuses
- DRAFT — editable, invisible to employees. Default for new rosters.
- PUBLISHED — visible on
/me/shifts. Cells locked. Swap requests allowed. - ARCHIVED — read-only history. Use once the window is past.
Swap requests
On a published roster, an employee can request to swap their shift with a colleague's shift on a specific date. The flow is two-step approval:
- Initiator picks their cell, names the counterparty + their date, and submits.
- Counterparty sees the request on their
/me/shiftspage and accepts or declines. - If accepted, the request moves to the HR queue. HR can approve (atomically swaps the two cells in the roster) or decline.
HR sees the queue at Admin → Shift rosters → Swap queue.
What gets atomically swapped on approval
Only the
shiftId on the two RosterAssignment rows. Employees and dates stay put. This means downstream payroll/attendance computation against those dates uses the new shifts immediately.Tips
- For rotating-shift teams, build one DRAFT roster as a template, save it, then duplicate later by copying cells (a future feature; today re-create).
- Use shift hex colours liberally — patterns jump out when night-shift cells are all the same dark colour.
- If you publish too early and need to fix a mistake, un-publish takes you back to DRAFT.
- Archived rosters remain queryable for audit / payroll lookups.
Found a bug or missing feature? Ping us at hr@staffixhr.com.