GPS & Time Tracking
Status: Concept — Last Updated: 2026-05-15
One GPS signal, three outcomes: time is tracked, the customer is notified, and the CRM is updated. No action required from the technician.
How It Works
The mobile app continuously monitors the technician's GPS position against the list of active project addresses. When the tech enters or exits a geofence radius around a job site, the system automatically:
- Creates a time entry on the project
- Sends a customer arrival notification (if configured)
- Updates the project timeline with the site visit
Live Map View
The CRM shows a live map with pins for each active technician:
| Technician | Status | Location |
|---|---|---|
| Mike Torres | On Site | 445 Maple Street |
| Dave Kim | En Route | 12 min ETA to 221 Oak Ave |
| Sam Lee | Available | Last known: Shop |
Technician Status Types
| Status | Color | Trigger |
|---|---|---|
| On Site | Green | GPS inside geofence radius of an active project |
| En Route | Yellow | Moving toward a job site at >5mph, within 5 miles |
| Available | Blue | Clocked in, not at a job site |
| Off Clock | Grey | Outside configured work hours or manually clocked out |
| Unknown | Red | GPS signal lost for >15 minutes during work hours |
Geofencing
Each project address has a configurable geofence:
- Default radius: 150 feet (approx. 50 meters)
- Configurable: 50–500 feet per project
- Entry event triggers: clock-in, customer notification, timeline event
- Exit event triggers: clock-out, time entry saved
- Multiple visits per day tracked — each entry/exit creates a separate time segment
The system handles re-entry (e.g., tech leaves for lunch and returns) by creating separate time segments and summing the total.
Customer Arrival Notifications
When a technician enters the job site geofence, the system sends the customer a notification:
"Mike from Ace Roofing is now at your property. If you have any questions, reply to this message."
The message uses the tech's first name and the company name. Notification is sent via SMS by default; email is configurable as a fallback or second channel.
"On the Way" Notification
When a technician is within 5 miles of a job site and moving toward it at more than 5 mph, the system sends the customer an ETA notification:
"Your technician Mike is on the way. Estimated arrival: 12 minutes."
The ETA is calculated from current location + real-time traffic data. A second notification is sent when the tech arrives.
Job History per Technician
The GPS system creates a complete visit log for each technician. Sample entries:
| Date | Project | Arrived | Departed | Duration |
|---|---|---|---|---|
| May 14 | 445 Maple St | 7:48am | 4:22pm | 8h 34m |
| May 15 | 221 Oak Ave | 8:02am | 12:14pm | 4h 12m |
| May 15 | 221 Oak Ave | 1:03pm | 3:47pm | 2h 44m |
| May 16 | 308 Birch Rd | 7:55am | 5:10pm | 9h 15m |
Note the May 15 entries — two separate visits (morning and afternoon) to the same job site, captured automatically.
Privacy & Off-Hours
- Active hours configuration: Each team member has a configured work schedule. GPS tracking is only active during those hours.
- Off-hours pause: Location tracking stops automatically outside work hours — no data is captured when techs are off the clock.
- Tech indicator: The mobile app displays a visible GPS icon when tracking is active so technicians always know when they're being tracked.
- Clock-out override: Technicians can manually clock out at any time, which stops tracking for that session until the next geofence entry.
- Data retention: Raw GPS tracks are retained for 90 days, then automatically deleted. Geofence entry/exit events are stored permanently on the project timeline.
- Geofence events only: The system records geofence events (arrival/departure), not continuous location polling. Between events, only the last known position is cached locally.