Technician Tracker
Status: Concept · Last Updated: 2026-05-16 · Surface: Customer Portal
When a tech is on the way to a job, the customer gets a real-time GPS tracker — like an Uber driver map — right inside their portal. No app download, no login gymnastics. They see exactly where the crew is, how long until arrival, and who to expect at the door.
This is one of the highest-leverage customer experience features the system offers. Homeowners waiting for a contractor are anxious. This removes that anxiety completely.
Portal URL format: portal.mikescontracting.com/tracker/appt-8842
1. Status Progression
The tracker moves through four states. Each state is triggered automatically — neither the contractor nor the customer has to do anything manual to advance it (except the optional "On My Way" tap).
Scheduled → Dispatched → En Route ★ → Arrived
State Definitions
| State | Trigger | What the Customer Sees |
|---|---|---|
| 1 — Scheduled | Customer completes booking (self-service or contractor-created appointment) | Appointment date, time window, and technician name if assigned. Tracker link is inactive — shows a placeholder until dispatch. No live GPS yet. |
| 2 — Dispatched | Contractor explicitly assigns a crew member and that crew member confirms the job from the mobile app | Tracker link activates. Customer can see the tech's name, photo (if uploaded), vehicle description, and the company name. GPS tracking not started yet. |
| 3 — En Route | Tech clocks out of the previous job site geofence, OR tech taps "On My Way" in the mobile app | Live map activates. ETA calculated from current GPS position plus Google Maps traffic data. ETA refreshes every 2 minutes. SMS notification fires to the customer automatically. |
| 4 — Arrived | Tech's device enters a 300 ft geofence around the customer's address | Map pins to the job site. Status banner reads "Your technician has arrived." Push notification fires. Auto clock-in begins for job costing. Tracking link remains active until job is marked complete, then expires. |
2. What the Customer Sees
The tracker is designed for homeowners — not fleet managers. It shows exactly what the customer needs to know and nothing more.
| Element | Description |
|---|---|
| Technician Name & Photo | First name and a headshot (if the contractor has uploaded one). Helps the homeowner know who to expect at the door — reduces "who is this person" anxiety significantly. |
| Company Name | Always displayed beneath the technician name for brand reassurance. Customers can confirm they're looking at the right company before opening their door. |
| ETA — Recalculated Every 2 Min | Pulled from live Google Maps traffic. Not a static window like "between 9 and 11 AM" — a real, updating countdown that tightens as the tech approaches. Shows approximate arrival time (e.g., "arriving around 9:15 AM"). |
| Vehicle Description | Year, make, model, and color if provided (e.g., "White Ford F-150"). The customer can glance out the window and confirm it before answering the door. Optional field — shown only if the contractor has entered it. |
| Live Map | CSS-rendered street-level map with a moving car icon and a dotted route line to the job site. Updates as the tech moves. Not a full satellite map — a clean simplified view that loads instantly on any device. |
| Status Progression Bar | Four-step horizontal stepper at the top: Scheduled → Dispatched → En Route → Arrived. The active state is highlighted. Customers understand at a glance where in the process they are. |
3. Privacy Rules
The tracker is scoped exclusively to the customer's own appointment. There is no way for a customer to see information about any other job, customer, or crew member.
| What Customers Can See | Visible | Notes |
|---|---|---|
| Assigned tech's name & photo | YES | Only the tech assigned to their specific appointment |
| Company name | YES | Always visible |
| ETA & live map of their tech | YES | Scoped to their appointment only; no other jobs visible on map |
| Vehicle description | YES | Optional field — only shown if contractor entered it |
| Other customers' addresses | NEVER | Route line shows path to customer's home, not full day schedule |
| Other crew members' positions | NEVER | Only the assigned tech appears on the customer's map |
| Internal job notes or job costing | NEVER | Contractor-side data is never exposed through the portal |
| Tech's location after job complete | NEVER | Tracking link expires automatically when job is marked complete |
Tracking link expiration: The unique tracker URL becomes inactive the moment the job is marked complete in the system. Sharing the link afterward shows a "This appointment has been completed" page — no live data, no tech location.
4. Notifications
Two automated notifications fire around the tracker. Both are triggered by system state changes — no contractor manual action required.
Notification 1 — SMS on En Route
When the tech transitions to En Route, an SMS fires automatically:
"Your technician from Mike's Contracting is on the way — arriving around 9:15 AM. Track them here: [link]"
The ETA in the message is calculated at the moment the SMS is sent. The live link in the message opens the tracker without requiring a portal login.
Notification 2 — Push Notification on Arrival
When the 300 ft geofence triggers, a push notification fires (iOS/Android if the customer has the portal as a PWA, or SMS fallback):
"Marcus has arrived at your location."
This fires within seconds of geofence trigger — no delay, no polling lag.
Customers can manage their notification preferences (SMS on/off, push on/off) from the Customer Portal notification settings. Appointment notifications default to on and cannot be fully disabled while an active appointment exists — at minimum, the arrival ping is always sent.
5. No-Show Protection
If the tech has not triggered the Arrived state within 30 minutes past the appointment start time, the system acts.
Step 1 — Customer Notification: SMS and portal banner:
"Your appointment was scheduled for 9:00 AM. We're checking on your technician now. A team member will follow up shortly."
Step 2 — Call-Us Button: A prominent "Call Mike's Contracting" button appears in the portal and in the SMS. One tap dials the contractor's office number. The customer does not have to hunt for a phone number.
Step 3 — Internal Alert: Simultaneously, the contractor receives an alert on the dashboard and mobile app:
"LATE: Marcus has not arrived at [customer name] — 30 min overdue."
The contractor can respond immediately from the app, contact the tech, or reassign.
6. Access Methods
The tracker is accessible two ways so customers can use it regardless of whether they have a portal account.
Customer Portal (logged in)
Customers who are logged into their portal see the tracker automatically appear in their active appointment view when the tech transitions to En Route. No extra navigation — the tracker card replaces the appointment status widget inline.
One-Time SMS Link (no login required)
The SMS on dispatch includes a unique, time-limited URL (portal.domain.com/tracker/appt-XXXX) that opens the live tracker in any mobile browser. No account, no password. The link is appointment-scoped and expires at job completion. Ideal for customers who never created a portal login.
Progressive Web App (PWA): Customers who add the portal to their home screen get push notifications and a near-native experience. The tracker works in both full-browser and PWA modes with no degradation.
Related Pages
- Customer Portal Overview — Full feature set of the customer-facing self-service portal — invoices, estimates, contracts, scheduling, and communication history
- GPS & Time Tracking — The contractor-side GPS system that powers the technician tracker — geofences, auto clock-in, and live crew positions for the owner view
- Crew Map — The owner's internal crew map — all team members, all job sites, full operational view. Separate from the customer-facing tracker
- Notifications — Customer notification preferences for the portal — channel toggles, quiet hours, and appointment notification rules