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¶
Each time entry records how it was closed:
| Method | Description |
|---|---|
| user | Technician changed their status manually |
| admin | Owner or admin changed the technician's status |
| scheduled | End-of-day auto-reset closed the entry |
| system | System closed the entry (e.g., session timeout) |
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¶
A scheduled process runs at the end of each day to:
- 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
- Flag for review — Entries closed automatically are flagged so dispatchers can identify forgotten clock-outs
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. These entries are flagged as automatically closed so dispatchers can identify and review them.
Can I edit time entries manually?
Time entries are system-generated and cannot be edited directly. If a correction is needed, an admin can change a technician's status, which creates a new corrective entry flagged as an admin edit.
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