How it works
- HR switches the roster on and sets the default shift, which covers any day with nothing rostered.
- Under Assign roster, HR picks an employee, a shift or OFF, and a From and To date up to 92 days apart, then clicks Assign.
- For teams on a cycle, HR applies a rotation to many people at once instead of assigning each person.
- The day roster shows everyone rostered on a chosen date with their shift, for planning cover.
- Each employee's roster shows their shifts across dates, including days changed by an approved swap.
- Employees see today's shift and timings on My Self-Service and their upcoming shifts in the app.
What you can set
- Assign: one employee, one shift or OFF, over a date range of up to 92 days.
- Bulk writes: up to 5,000 roster changes in one step, such as a rotation over a quarter.
- Clear: remove roster entries so the default shift and weekly off patterns apply again.
- Default shift: the shift ZeniaHR falls back to when a date has no roster entry.
- Views: the day roster by date, and the roster for one employee.
- Swapped days: marked as swapped on the roster after the final approval.
Why the roster matters for pay
Attendance can only judge a day correctly if it knows the shift. A person rostered on Evening who arrives at 2:05 pm is on time; the same punch judged against the General shift would read as five hours late. A wrong or missing roster therefore turns into wrong late marks, wrong half days and wrong overtime. Keeping the roster current, and letting the default shift and weekly off patterns cover ordinary days, is the cheapest way to keep attendance accurate.
Worked example: Durga Puja week at a Kolkata restaurant
A Kolkata restaurant with 22 staff runs General for the office, and Morning and Evening for the kitchen and floor. For the five busiest evenings of Durga Puja week, the owner wants six more people on the Evening shift. HR assigns Evening to each of the six for those five dates, which is 30 roster days, and leaves everyone else on their usual pattern.
On the first evening, steward Arijit Das punches in at 2:04 pm and is on time for the 2 pm Evening shift with 10 minutes of grace, even though his usual shift is Morning. When the week is over, his roster falls back to Morning without any change, because the assignment covered only those five dates. The day roster for each festival evening shows the owner exactly who is on the floor.
Keeping the roster current
A roster is only useful if it changes when the plan changes. Give one person in each team the habit of updating it on the day a change is agreed, not at month end, when attendance has already been graded against the old plan.
- Set a sensible default shift so new joiners are judged correctly before anyone rosters them.
- Use rotations for teams on cycles and single assignments for exceptions.
- Check the day roster the evening before for teams that need fixed cover.
- Ask staff to swap through Shift Swaps instead of informal exchanges the roster never sees.
See duty roster in a demo
We show it on a video call with your own shifts, leave types and rules. Free for your first 50 employees.
Book a free demoSee pricingFrequently asked questions
What is a duty roster?
A duty roster is the plan of which employee works which shift on each date, including their days off. In ZeniaHR it drives attendance, since every punch is judged against the shift rostered for that person and date, and through the graded days it feeds overtime and payroll.
Can I assign a shift to an employee for a whole month at once?
Yes. Pick the employee, the shift and a From and To date up to 92 days apart, and ZeniaHR writes the shift for every date in the range. For a whole team on a cycle, apply a rotation instead, which rosters many people over the same range in one step.
What happens on days with nothing on the roster?
The default shift applies, with its own weekly off pattern, unless the employee has a personal weekly off. So a new joiner is judged against the default shift from day one. Before the roster is switched on at all, Sunday is the weekly off for everyone.