Search the documentation

Find a page by title or section.

Drivers and shifts

Shifts and templates

How the roster works: scheduled and ad-hoc shifts, reusable templates, and scheduling a whole team in one pass.

Updated

A shift is one block of working time belonging to one driver. It is the record the clock, the hours-of-service rules and the no-show detector all hang off, so everything on this page eventually shows up somewhere else in the product. The roster lives on the Shifts screen in the admin dashboard.

Who can do this

Role
Administrators
Permission
shifts:readshifts:writeshift-templates:read

The whole roster surface is admin and super-admin only. Drivers never reach it — they see their own shifts through the driver app or the driver web portal, on endpoints scoped to their own account.

Two kinds of shift

Every shift is either scheduled or ad-hoc, and the difference is not cosmetic: it decides whether the shift can be planned in advance, whether it can be missed, and whether it counts in the no-show figures.

ScheduledAd-hoc
CreatedIn advance, by youAt the moment someone clocks in
Starts life asScheduledActive — it is already running
Needs start and end timesYes, both, and end must be laterNo — it has no planned window
Can be missedYes, once the grace period passesNo — nobody can fail to attend it
Counts in the no-show rateYesNo, in neither half of the ratio
The two shift types, chosen when the shift is created and fixed thereafter.

The roster screen

The Shifts screen is a grid of drivers down the side and time across the top. A period control switches it between daily, weekly, monthly and a custom range; the range you pick is what gets queried, so a wide range is slower and warns you when it passes 31 days. Blocks are coloured by status, and a legend under the filters says which colour is which.

Above the grid:

  • A status strip — the count of scheduled, active, completed, missed and cancelled shifts. Each cell is also a filter: click one to narrow the roster to that status, click the total to clear it.
  • Four measures — late start rate, no-show rate, average lateness and overtime hours. They are computed against your tenant’s own grace and overtime settings, not a fixed number.
  • Filters — driver and status, plus any custom fields you have defined on shifts, plus quick views for On duty, Scheduled and Missed.

Clicking a block opens it for editing. Clicking an empty slot opens the create form with that driver and time already filled in. A second tab, Compliance Log, shows the hours-of-service events behind the numbers — see Licences and compliance. Export CSV and Export PDF both act on the shifts currently loaded, so the export follows the period and filters you are looking at.

Creating a single shift

Use this for one driver on one day. For a whole team over a date range, use bulk scheduling below.

  1. 1

    Open the create form

    Shifts → Create shift

    Or click an empty slot in the grid, which pre-fills the start from where you clicked.

  2. 2

    Pick the driver

    Type to search. The driver cannot be changed later — editing a shift only exposes its times, notes and custom fields.

  3. 3

    Choose scheduled or ad-hoc

    Scheduled asks for a start and an end. Ad-hoc does not: it is created already running, as though the driver had just clocked in.

  4. 4

    Optionally apply a template

    Only active templates are offered. Picking one fills the start and end from the template’s hours; you can still edit them before saving.

  5. 5

    Add notes and custom fields, then save

    Notes are capped at 500 characters. Any custom fields you have defined for shifts appear beneath, and are validated on save.

Shift templates

A template is a named pair of times — an early shift of 06:00 to 14:00, say — with an optional description and an active flag. It carries no driver and no date. Its only job is to stop you retyping the same hours, and to give the roster something to group by: the shift stats can break down by template, so naming your shift patterns is what makes "which pattern runs late" answerable.

Both times must be HH:MM, and the start must be earlier than the end, which means a template cannot currently describe a shift that runs past midnight. Deactivating a template hides it from the pickers without touching the shifts already created from it.

There is no dedicated screen for managing templates. They appear as a picker in the create form and in the bulk scheduling wizard; creating, renaming and deactivating them is done through the API or by asking the assistant.

Bulk scheduling

A three-step wizard that creates one scheduled shift per selected driver per matching day.

  1. 1

    Select the drivers

    Shifts → Bulk Schedule

    Tick them individually or select all. Every selected driver gets the same pattern.

  2. 2

    Set the pattern

    Pick a template, or enter start and end times directly. Then choose the date range and which days of the week apply — weekdays are the default. The range cannot exceed 31 days.

  3. 3

    Check the preview and confirm

    The preview multiplies drivers by matching days so you can see the total before committing. On confirmation you get back a created count and a skipped count.

Editing and removing shifts

Only a shift still in scheduled status can be edited, and only its times, notes and custom fields. Once a driver clocks in, the shift is a record of what happened rather than a plan, and the product stops letting you rewrite it. Deletion is narrower still: a shift can be deleted only while it is scheduled or cancelled. A shift that ran, or one the no-show detector marked as missed, stays on the roster permanently.

Terminology

Your organisation can rename these. If your screens say something else, this is what they mean here.

Shift
One block of working time for one driver. Some tenants call these duties, tours or blocks.Rename it in Customize → Terminology
Driver
The person the shift belongs to. Some tenants call these operators, couriers or crew.Rename it in Customize → Terminology