Time Tracking
Time Tracking gives owners and dispatchers full visibility into technician working hours, break time, overtime, and punctuality — all from the Performance Dashboard's Time & Attendance tab. Technicians clock in and out with a single tap in the mobile app; the system handles everything else.
Pro feature
Time Tracking is available on Pro and Enterprise plans. Compare plans to upgrade.
Overview
Time Tracking captures every status transition a technician makes throughout the day — Available, On Break, Off Duty, Lunch, and Vacation. These transitions are logged with precise timestamps, forming the basis for timesheets, attendance analytics, and workforce reporting.
Capabilities by role
| Capability | Owner | Dispatcher | Technician |
|---|---|---|---|
| Clock in/out via mobile app | |||
| View team timesheets | |||
| View KPI Time & Attendance tab | |||
| Review individual technician profiles | |||
| Configure technician schedules |
How Technicians Clock In
Technicians manage their availability status from the FSM Navigator® mobile app:
- Open the mobile app and tap the availability toggle
- Select a status:
- Available — On shift and ready for work (clock in)
- On Break / Lunch — Temporarily unavailable
- Off Duty — Shift ended (clock out)
- Vacation — Extended leave
- Device authentication ensures each status change is tied to the logged-in technician's mobile session
- Offline support — If the device has no connectivity, status changes are cached locally and synced when the connection is restored
One-tap workflow
The most common flow is: Off Duty → Available → Lunch → Available → Off Duty. Each tap takes less than a second.
Status Transitions
The system tracks five availability statuses. Each transition is logged as a separate record with start time, end time, duration, and closing method.
Valid transitions
| From | To | Trigger |
|---|---|---|
| Off Duty | Available | Technician taps "Available" (clock in) |
| Available | Lunch | Technician taps "Lunch" |
| Available | On Break | Technician taps "On Break" |
| Available | Off Duty | Technician taps "Off Duty" (clock out) |
| Lunch | Available | Technician taps "Available" |
| On Break | Available | Technician taps "Available" |
| Any status | Off Duty | EOD auto-reset (system closes open entries) |
| Off Duty | Vacation | Owner sets vacation status |
| Vacation | Off Duty | Owner ends vacation |
Closing methods
A time entry ends in one of four ways: the technician changes their own status, an Owner changes it for them, the end-of-day auto-reset closes it, or FSM Navigator closes it for them (for example, when their session times out).
State diagram
stateDiagram-v2
direction LR
[*] --> OffDuty
OffDuty --> Available : Clock In
Available --> Lunch : Start Lunch
Available --> OnBreak : Start Break
Available --> OffDuty : Clock Out
Lunch --> Available : End Lunch
OnBreak --> Available : End Break
OffDuty --> Vacation : Set Vacation
Vacation --> OffDuty : End Vacation
Available --> OffDuty : EOD reset (from Available)
Lunch --> OffDuty : EOD reset (from Lunch)
OnBreak --> OffDuty : EOD reset (from OnBreak) Time & Attendance Dashboard
Time tracking data is surfaced on the Performance Dashboard → Time & Attendance tab. This tab provides team-wide and individual analytics.
Accessing the dashboard
Navigate to Dashboard → Performance Dashboard and select the Time & Attendance tab. The tab appears for the Owner role on Pro and Enterprise plans.
Summary metric cards
| Card | What it shows | How it's calculated |
|---|---|---|
| Hours Worked | Total working hours tracked | Sum of all active working status durations |
| Avg Hours/Day | Average daily hours per technician | Total working hours ÷ (number of techs × working days) |
| Punctuality | Average on-time rate | Compare first clock-in vs. scheduled shift start (15-min grace) |
| Overtime | Total overtime hours | Hours worked beyond scheduled shift length |
| Tech Count | Active technicians tracked | Distinct technicians with time entries in the period |
Charts
| Chart | Type | Description |
|---|---|---|
| Daily Trend | Line chart | Hours worked + break hours plotted per day over the selected period |
| Time Distribution by Status | Doughnut chart | Proportion of scheduled hours spent in each status (Available, Lunch, Off Duty, Vacation, Unaccounted) using technician schedule as denominator |
Schedule-aware distribution
The Time Distribution chart uses each technician's configured schedule (or company operating hours as fallback) to calculate the denominator. This means weekends, holidays, and after-hours time are automatically excluded — giving you an accurate picture of how scheduled hours are spent.
Leaderboard
The Top Performers leaderboard ranks technicians by total hours worked in the selected period. Use this to identify your highest-output team members and spot potential overwork.
Individual Technician Timesheets
Click on any technician in the leaderboard to view their individual timesheet profile:
Profile details
| Section | Content |
|---|---|
| Summary cards | Total hours, average hours/day, punctuality score, overtime hours for the selected period |
| Daily breakdown | Table showing each day: date, first clock-in, last clock-out, total hours worked, break time, net hours |
| Status timeline | Visual timeline of status transitions throughout each day |
Date range
The individual timesheet respects the global date range selector. Change the date range at the top of the Performance Dashboard to adjust the period shown.
Configuration
Technician schedules
Time tracking calculations (punctuality, overtime, schedule-aware distribution) rely on technician schedules:
- Navigate to the technician's profile
- Set their shift schedule for each day of the week:
- Shift start and shift end times
- Working day flag (on/off for each day)
- Lunch duration (in minutes)
- Max overtime (in minutes, 0 = no overtime allowed)
Schedule fallback chain
If a technician doesn't have a personal schedule configured, the system falls back to:
- Company operation hours (Settings → Company Info → Operating Hours)
- Default schedule — Monday through Friday, 8:00 AM to 5:00 PM
End-of-day auto-reset
At the end of each day, FSM Navigator automatically does the following:
- Close open time entries — Any technician still clocked in has their entry automatically closed
- Calculate duration — The system computes the total duration for the closed entry
- Start fresh the next day — The next status change opens a new entry, so a forgotten clock-out never carries into the following day
Integration with auto-assignment
The Auto-Assignment Engine respects technician availability status:
- Available technicians are eligible for new job assignments
- Off Duty, On Break, Lunch, Vacation technicians are excluded from the assignment pool
- This ensures jobs are only dispatched to technicians who are actively working
FAQ
What if a technician forgets to clock out?
The End-of-Day auto-reset automatically closes open entries. The entry ends at the end-of-day reset and appears in the timesheet like any other entry; it carries no separate marker, so an unusually long final entry is the sign of a forgotten clock-out.
Can I edit time entries manually?
Time entries are system-generated and cannot be edited directly. If a correction is needed, an Owner can change the technician's status, which closes the current entry and starts a new one from that moment.
Does time tracking work offline?
Yes. The mobile app caches status changes locally and syncs them when connectivity is restored. No hours are lost due to poor signal.
How does break time get calculated?
Break time is the sum of all Lunch and On Break status durations within the selected period. The system tracks each break individually with start and end timestamps.
How does overtime get calculated?
Overtime is calculated by comparing actual hours worked against the technician's scheduled shift length. Any hours beyond the scheduled shift contribute to overtime. The schedule fallback chain (personal schedule → company hours → default 8-5) determines the baseline.
How far back can I see time data?
Time tracking data is retained for 13 months, supporting the full 1-year date range available in the Performance Dashboard plus a safety buffer.
How does the Time Distribution chart work?
The chart shows what proportion of scheduled hours were spent in each status. It uses each technician's configured schedule as the denominator, so weekends and non-working days are automatically excluded. "Unaccounted" time represents scheduled hours where no status was logged.
Related guides
- Performance Dashboard — Overview of all Performance Dashboard tabs and metrics
- Auto-Assignment — How availability status affects job dispatch
- Mobile App — Getting started with the mobile app
- Technician Availability — Managing technician availability and schedules
- Roles & Permissions — Understanding role-based access to time tracking features