Skip to main content

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. A window is always exactly 14 or 21 days long — the two period lengths the TES defines overtime thresholds for (80 h and 120 h). Any other length is rejected.

  1. Navigate to Roster from the main menu. The Window list tab opens.
  2. Pick a location with the location selector in the page header. If you only have access to one location, it is selected for you automatically and the selector stays hidden.
  3. A banner offers the next period, e.g. Create next: Wk 23–25 (01.06 – 21.06). The start date follows on from the latest existing window (or the next Monday if the location has no windows yet), and the length comes from the company's default roster period (2 or 3 weeks).
  4. Click Create to accept the suggestion, or Custom dates to pick a different start and end date, then Save.

The window is created in Draft status.

The Window List​

The Window list shows every window for the selected location, newest first. Each row shows the ISO week numbers, the date range, the status badge, and a summary such as "42 shifts assigned · 3 open".

Roster window list showing draft, published and locked windows per location

  • Filter by status with the All / Draft / Published / Locked tabs, or narrow by date range.
  • On a draft window, the pencil icon edits the dates (still 14 or 21 days) and the bin icon deletes the window together with all its shifts.
  • Managers and Company Admins see the Publish button on draft windows and the Lock button on published windows. See Publishing Rosters.

Click a row to open the window.

Adding Shifts​

  1. Open the roster window.
  2. Click an empty cell in the grid — the employee's row and the day column are pre-filled. Click a cell in the Open Shifts row to create an unassigned shift. (On a phone, use Add shift under each day.)
  3. Fill in the shift details in the New Shift drawer:
FieldRequiredDescription
EmployeeNoThe assigned employee. Choose Open Shift to leave it unassigned — see Open Shifts.
DepartmentNoDepartment for the shift (used for color-coding in the calendar, and shown as a tag when it differs from the employee's own department)
DateYesThe date of the shift
Start / EndYesWhen the shift begins and ends. Not needed for V and X days — see below.
Break (min)YesLength of the unpaid break
Eat during workNoTick when the employee eats during work instead of taking a separate break (the TES §4 alternative). The break field is disabled.
Day TypeYesThe type of day (see table below)
TrainingNoTick if this is a training shift. Training hours are excluded from overtime calculation per TES section 16.
NotesNoFree-text note. The assigned employee sees it on their own schedule; colleagues do not. Notes on open shifts are visible to anyone who can claim them.
  1. Click Save to add the shift.

If the shift triggers compliance warnings, a Compliance warnings dialog lists them and asks whether to Save anyway. See Compliance Warnings.

Day Types​

Each shift has a day type that determines how the day is treated for payroll and compliance purposes.

CodeNameDescription
NORMALNormalA regular work shift
VWeekly rest dayViikkolepo -- the mandatory weekly rest day
XAdditional free dayAn extra day off beyond the weekly rest day
APHoliday compensation dayArkipyhä -- compensation for a public holiday
TSBalancing leaveTasoittumisvapaa -- leave used to balance hours within the equalization period

V and X days are full days off: the drawer hides the start and end times and shows "Full day off — no start/end times needed".

Toolbar​

The roster window toolbar carries:

ButtonWhat it does
Week Grid / Calendar / Whole periodSwitches the view (see View Modes).
Today at <location>Opens the Day Timeline for today. Supervisors and above.
PrintPrints the current view.
Export CSVDownloads the window's shifts as a CSV file (Finnish format: ; separators, , decimals).
Swap two employeesPublished windows only, Supervisors and above. See Supervisor-Brokered Swaps.
Draft from forecast / Assign draftDraft windows only. Generates open shifts from the demand forecast and proposes assignments. See AI Roster Drafting.
Apply Template / Save as TemplateSee Roster Templates. Apply is available on draft windows only.
Week navigatorMoves between ISO weeks. At the first or last week it continues into the previous or next window for the same location.

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. Click a day to jump to that week in the grid.
  • 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, copy and 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.

Reading the Grid​

Employees are grouped by their primary department (alphabetically, with Unassigned last). The Open Shifts row sits at the top.

Roster week grid for a draft window, with employees grouped by department and approved or pending leave marked on the affected days

Legend​

Click Legend above the grid to expand an on-screen key. It explains:

Expanded roster legend explaining availability colours, leave markers, day types and icons

  • Leave — an indigo cell with a chip such as Annual leave or Unpaid leave means the employee has approved leave that day. A lighter cell with a dashed chip (e.g. Annual leave (pending)) means a leave request is still waiting for a decision. Leave is shown ahead of availability on the same day; rejected and cancelled requests are not shown.
  • Availability — green cell = the employee marked themselves available, red cell = unavailable; a note icon means they left an availability note. Hover or focus the cell to read it.

Red only ever means "marked unavailable". An employee on approved leave shows the indigo leave marker instead, whether or not they also entered availability for those days.

  • Day types — the V, X, AP and TS badges.
  • Icons — forecast-generated draft shifts, engine-suggested assignments, and training shifts.

Shifts with compliance warnings carry a yellow (warning) or red (error) triangle badge. Shifts with a department other than the employee's own show that department as a small tag.

"Showing N of M" Notice​

The grid loads up to 500 employees and 500 shifts per window. If a window ever exceeds that, an amber notice reads Showing N of M — narrow the date range or filter to see all. The notice cannot be dismissed. Treat the roster as incomplete until you have split the location or window, rather than assuming everyone is shown.

If the shifts or staff list fail to load entirely, the grid shows Couldn't load the roster with a Retry button instead of an empty grid.

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. Drag-and-drop works on draft windows only. On a published window, open the shift and change it in the drawer, or use Swap two employees.
  • 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.
  • Copy to Employee (in the drawer) creates the same shift for another employee — handy for adding a replacement.
  • The drawer also carries absence actions: Mark as Sick Leave for a whole shift, and Left early due to sickness when an employee started the shift and went home ill partway through (this splits the shift into worked + sick-leave pay). See Sick Leave.

Edit Shift drawer with employee, department, date, times, break and day type

Copy and Paste​

On a draft window you can copy a shift into another cell:

  • Right-click a shift and choose Copy shift, or focus it and press Ctrl+C (Cmd+C on Mac).
  • Right-click the target cell and choose Paste shift, or focus it and press Ctrl+V. The copy keeps the same times and details, with the target cell's employee and date.
  • Esc clears the clipboard.

Keyboard Navigation​

The grid can be used without a mouse. Tab into the grid, then use the arrow keys to move between cells, and Home / End to jump to the first or last day of the row. Combined with Ctrl+C / Ctrl+V, you can copy shifts entirely from the keyboard. Screen readers announce copy, paste, and clear actions.

Deleting vs. Cancelling a Shift​

  • On a draft shift, the drawer shows Delete Shift. The shift is removed entirely.
  • On a published shift, the drawer shows Cancel Shift instead. You must pick a Cancellation category and type a Cancellation reason before you can confirm.

Shift drawer on a published roster with the Cancellation category selector

The category decides whether the employee receives TES shift-cancellation compensation (2 hours' pay):

CategoryCompensated?
Employee had travelled / arrived (compensated)Yes
Notified before travellingNo
SicknessNo
Customer cancellationNo
Reschedule / reassignmentNo
Compensated separatelyNo
OtherNo

Choose Employee had travelled / arrived only when the employee actually set off for or arrived at work. The time you record the cancellation doesn't matter, only the category you pick. Cancelled shifts stay on the grid marked Cancelled.

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.

  • Click Add planned allowance, 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.

When the location has a weekly hour budget, a budget bar above the grid compares the visible week's scheduled hours to the budget, and — if a demand forecast is available — the staff cost as a percentage of forecast sales. See Weekly Hour Budgets and Labour-Cost Ratio.

Project Gigs on the Grid​

Project gigs (fixed-fee work, urakka) appear on the assigned employee's row as amber chips marked €, showing the time and description. They count toward rest-period compliance checks but are not shifts: they can't be dragged or edited on the grid, and they are added from the payroll period page. Hover a chip to reveal its delete button. See Project Gigs.

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.

Who Sees What​

  • Employees never see draft windows or draft shifts — only published and locked ones. Shift cards in planner views show a Draft badge so a draft shift is never mistaken for a committed one.
  • Supervisors and Managers see roster windows only for the locations they are assigned to. Company Admins see every location. See User Roles & Access.

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.