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 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 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.

