Rota
Rota setup
Prerequisites, permissions, first board, templates, and policy before you publish a live week.
Settings routes
From Launchpad → Rota, or the administrator section of the Rota menu.
/admin/rota-settings/admin/rota-rotas/admin/rota-templates/admin/rota-patterns/admin/rota-compliance/admin/rota-approvals/help— interactive from-scratch guide for planners and staff
Prerequisites
- Enable the Rota app on the tenant Launchpad (
rota.Rota). - Create HCM employees with user accounts for anyone who must open My Schedule.
- Place those employees in
system.Grouprecords that match how you plan (ward, store, crew). - Confirm departments, units, locations, job roles, and holidays if templates or compliance will use them.
- If Attendance will honour the roster, decide which templates map to an
attendance.Shiftpolicy window. The default office window is 09:00–18:00 when no rota assignment applies. - Decide the planning week start, whether swaps and claims need approval, and whether publish should email staff.
Without groups on a board, the scheduler has no rows. Without templates, planners have nothing to drag. Without a published range, staff see an empty My Schedule.
Permissions to plan
| Audience | Typical rules | Notes |
|---|---|---|
| Staff | rota.Rota:retrieve plus self-service menus (*:* on My Schedule, Open Shifts, Swaps, Availability, Help) | They should not need template or settings write access. |
| Planner | rota.Rota:*, rota.RotaShift and rota.RotaAssignment write via controller intents | Enough to open the Scheduler, assign, and publish. |
| Administrator | rota.ShiftTemplate:*, rota.RotaPattern:*, rota.RotaComplianceRule:*, rota.RotaSettings:update, rota.ShiftSwapRequest:* | Owns catalogue, policy, and approval queues. |
| Reporting | rota.Rota:retrieve | Reports and dashboard only. |
Protect publish, approve, and settings behind trusted roles. Review JQL and API keys against /reference/rota before an integration can write assignments.
Recommended first-time checklist
- Open Launchpad → Rota and confirm the shell loads for an administrator.
- Open Help and follow the planner track once — it is the same sequence as this page.
- Create or confirm groups and HCM employees for a single pilot team.
- Create one board on
/admin/rota-rotasand attach those groups. Status will be draft. - Create two or three shift templates on
/admin/rota-templateswith real times, colours, and headcount. Link an attendance shift only if the window should drive expected clock-in. - Open
/admin/rota-settings. Set week start, swap/claim approval,notifyOnPublish, andsyncAttendanceExpectations. - Open
/scheduler?rotaId=<id>. Drag a template onto a person and a day. Assign until headcount is filled, or leave a slot in the open row on purpose. - Review conflicts (double-booking, rest, weekly hours). Resolve or accept them consciously.
- Publish a short range (a few days, not a quarter). Confirm My Schedule, publish mail, and Attendance expected names.
- As a restricted employee, claim an open shift and request a swap. Approve from
/admin/rota-approvals. - Confirm Attendance On shift and the dashboard “expected but not clocked in” list match the published roster.
- Document who owns the board, who approves claims, and who reconciles presence.
Validation before go-live
- A planner can create shifts and assign only on boards they should see.
- A staff user sees only their own My Schedule and cannot edit templates.
- An approver can accept or reject a claim without gaining settings access.
- Publishing a draft week makes those shifts visible to staff and, when enabled, to Attendance expectations.
- Login never marks someone live. A biometric punch or an administrator
manualCheckIndoes. - Overnight templates that cross midnight display as a single shift spanning two calendar mornings, not as 00:00–00:00.
- Open-row drag fills one remaining slot, then closes the pool when the shift is full.
- The Help menu is visible to every authenticated Rota user.
Implementation notes
- Backend records:
src/rota/models.py. Board payload and publish:src/rota/controllers.pyandsrc/rota/services.py. - Frontend:
packages/antly-app-rota. The in-app guide is/help. Rota.groupsis the staff source. The form copy is explicit: boards take their staff from the groups you attach.ShiftTemplate.attendance_shiftis a policy window, not a scheduled instance.RotaSettings.sync_attendance_expectationsdefaults to true.- Presence payload on
getBoard/getMyScheduleis computed from attendance records overlapping the duty window.
Ongoing administration
- Review group membership whenever someone joins, leaves, or moves team — the board updates from groups, not from a frozen snapshot.
- Review templates when operating hours change; prefer editing the template to rewriting every historic week.
- Review compliance limits after the first live month.
- Review unfilled published slots daily; they remain visible on Open Shifts and on Attendance as expected names.
- Review API keys and workflow listeners whenever you add a new publish or approval automation.