My Shifts — the Worker View
How an allocated worker sees their shifts and files timesheets with real activities and breaks, pre-filled from the schedule.
My Shifts — the Worker View
My Shifts is the worker's side of the scheduling loop: a simple day-by-day view of their own allocations, with one-tap timesheet filing. It closes the loop the scheduler starts — dispatcher allocates, worker sees the shift, worker files what they actually worked, payroll prices it.
My Shifts is designed mobile-first — workers typically open it from a phone browser in the field.
Prerequisites
- The worker must have a login linked to their worker profile (this happens automatically when a worker accepts their invite).
- The account needs Activities set up (the Activities page): the labour activities workers pick from when filing, and break activities for their breaks. Each activity carries a cost code, a labour or break type, and whether it's paid.
- The account needs a default timesheet form. Filing goes through a form (seeded for you when Scheduling is enabled), so the questions workers answer can be tailored per account. If no default form is configured, the Create Timesheet button is disabled.
The shift list
Workers see one day at a time with a ‹ day pager › — tap the date to jump back to today.
- Shift cards show the order, site, planned times, and role (or the paired asset for operator work).
- A To Do banner counts unfiled shifts and submissions still pending across the window — tapping it jumps to the oldest unfiled day.
- My Submissions lists what they've already filed, with status.
Future shifts are view-only — filing is for today and past days, because timesheets record work that has happened.
Filing a timesheet
Tapping Create Timesheet on a shift opens a capture pre-filled from the allocation: the worker, role, client, and order are already set, and one activity row is pre-filled with the shift's planned times. The worker:
- Picks the activity they worked (from the account's labour activities) and adjusts the times if the day ran differently from plan — the timesheet records actuals, so real times always win over planned ones.
- Adds more activity rows if the day split across activities.
- Adds breaks — each break is a break-type activity with a start time and duration, and is unpaid time.
- Adds equipment, materials and allowances where the work involved them. These sit nested under the worker's time entry, so a plant hour or a travel allowance is captured against the same shift and the same cost code context as the labour.
- Adds comments if needed, and submits.
The timesheet's totals are computed from the rows — payable time is the sum of the activity entries, with breaks excluded. Overnight shifts are supported.
Unscheduled work
The + Add unscheduled timesheet option covers work that no shift accounts for — the worker picks the order themselves (client and project follow from the order automatically) and files the same way. Filing is not blocked just because dispatch didn't plan the work; the record matters more than the plan.
Editing
A submitted timesheet stays editable by the worker while it's pending — the window before payroll processing picks it up. After that it locks. Every submission and edit is recorded in the audit history: who, when, and what changed.
One timesheet per shift
Each shift accepts one timesheet — once filed, the card shows Submitted with the filed times, and offers Edit instead of a second filing. A second timesheet for the same shift is blocked.
What workers can't see
My Shifts is scoped to the worker's own allocations and own timesheets. It deliberately links nowhere else — the Timesheets module, the scheduler board, and other workers' data are dispatcher surfaces.

