Creating Rosters
Rosters organize shifts into time windows for a specific location. Supervisors and above can create and manage roster windows and the shifts within them.
:::info See also If you are looking for the Calendar view from the app nav, see Staff Calendar — a read-friendly timeline of published shifts across your team. :::
Creating a Roster Window
A roster window defines the date range you are scheduling for.
- Navigate to the Roster page from the main menu.
- Click New Window.
- Fill in the required fields:
| Field | Description |
|---|---|
| Location | The location this roster covers |
| Start date | First day of the roster period |
| End date | Last day of the roster period |
- Click Create. The window is created in Draft status.
Adding Shifts
Once you have a roster window, you can start adding shifts.
- Open the roster window.
- Click New Shift.
- Fill in the shift details:
| Field | Required | Description |
|---|---|---|
| Employee | No | The assigned employee. Leave blank to create an open shift. |
| Date | Yes | The date of the shift |
| Start time | Yes | When the shift begins |
| End time | Yes | When the shift ends |
| Break (minutes) | Yes | Length of the unpaid break |
| Day Type | Yes | The type of day (see table below) |
| Department | No | Department for the shift (used for color-coding in the calendar) |
| Training | No | Toggle on if this is a training shift. Training hours are excluded from overtime calculation per TES section 16. |
| Notes | No | Free-text notes visible to the employee and other supervisors |
- Click Save to add the shift.
Day Types
Each shift has a day type that determines how the day is treated for payroll and compliance purposes.
| Code | Name | Description |
|---|---|---|
| NORMAL | Normal | A regular work shift |
| V | Weekly rest day | Viikkolepo -- the mandatory weekly rest day |
| X | Additional free day | An extra day off beyond the weekly rest day |
| AP | Holiday compensation day | Arkipyha -- compensation for a public holiday |
| TS | Balancing leave | Tasoittumisvapaa -- leave used to balance hours within the equalization period |
View Modes
The toolbar toggle switches between three views:
- Week Grid (default) — one ISO week at a time, with prev/next navigation. Best for editing.
- Calendar — month view of the whole window. Best for visual overview.
- Whole Period — all days of the window (14 or 21) in a single grid. Best for review and printing.
The selected view lives in the URL (?view=calendar or ?view=period) so it's shareable but not persisted across visits.
Whole Period View
Whole Period renders every day of the window side by side. A heavier vertical line marks the boundary between weeks so the eye can find them at a glance.
- The Wk h (weekly hours) column is hidden in this view — it has no meaning when every week is visible. The Period h column stays.
- The prev/next-week navigator is hidden. Use the view toggle to return to Week Grid.
- All editing behaviors (drag-and-drop, click-to-open, clipboard paste, templates) work the same way as in Week Grid.
Printing a Whole Period
Toggle to Whole Period, then click Print (or Cmd/Ctrl-P). Print output is tuned for A4 landscape with a compact 9pt font, narrow day columns, and the week-boundary marker preserved.
- 2-week windows fit A4 landscape cleanly on a single page.
- 3-week windows may exceed A4 landscape width. In that case the browser's scale-to-fit option in the print dialog handles it, or use a larger paper size like A3.
Editing Shifts
- Click any shift to open it for editing.
- Drag and drop a shift to reassign it to a different employee or move it to a different date.
- If the roster window is already published, you must provide a reason for any changes. This reason is recorded in the audit log and visible to the affected employee.
Planned allowances
Once a shift is saved, the shift drawer surfaces a Planned allowances section near the bottom (right under Tasks). Use it to pre-attach allowances that should apply when the employee clocks in — for example, a recurring "Forest yoga" bonus on the weekly Saturday shift.
- Pick an allowance, optionally type a note (e.g.
"Group A"), Save. - Multiple rows with distinct notes are allowed and stay as separate payslip lines.
- On clock-in, each planned row materialises onto the resulting worklog with the current allowance rate (rate changes between planning and execution are picked up — the plan-time snapshot remains as audit history).
- Cancelling the shift cascade-deletes the planned rows.
The section appears only on saved shifts (create-and-save first, then re-open to add planned allowances). Add/delete require the parent payroll period to be open; see Allowances & Premiums for the full payroll behaviour.
Hour Totals
The grid shows two sticky columns to the left of the day columns, so you can track scheduled hours while you plan:
- Wk h — net hours the employee is scheduled for in the visible ISO week.
- Period h — net hours for the whole roster window, displayed against the employee's contract: e.g.
54.5 / 80 h. Employees without a contracted period (seasonal, zero-hour) show only the scheduled hours (e.g.20 h).
Net hours are planned end − planned start − break minutes. Cancelled shifts, open shifts, and cross-location ghost shifts do not contribute to these totals — they reflect only the hours you've committed for this location.
If the period total exceeds the contract, the cell tints amber. This is a planning aid, not a block: you can still save, publish, and assign. TES-compliance violations still run server-side and appear in the warning bar at the top of the grid.
Cross-Location Shifts
When employees work at multiple locations, the roster grid shows ghost shifts from other locations as faded, dashed-border chips in each cell. This helps you see at a glance where an employee is already scheduled when planning across locations.
- Ghost shifts display the time range and location name.
- They are read-only — you cannot click, edit, or drag them.
- Both draft and published shifts from other locations are shown.
- Ghost shifts appear for every employee assigned to this location, even before they have a shift in the current window — so cross-location conflicts are visible from the moment you open a fresh draft.
This is especially useful when a manager oversees multiple parks and needs to coordinate shared employees.
Compliance Checks
The system automatically validates shifts as you add or edit them. If a shift would cause a violation (such as exceeding overtime limits or insufficient rest between shifts), you will see a warning. See Compliance Warnings for the full list of checks.