Dispatch Board and GPS Technician Tracking: Assigning Jobs and Keeping Customers Informed

Dispatching is three decisions repeated all day: which job is most urgent, who should take it, and does the customer know when we’re coming. This guide walks through the Dispatch board in Exoserva, how GPS tracking works, and what the customer is told — including the limits worth knowing before you promise anything.

The Dispatch board

Open Jobs → Dispatch. It’s available to Dispatchers and above.

  • Left — Job Queue: the day’s scheduled jobs. Search by title, address or customer (press / to jump to search). Filter by priority: All, Emergency, High, Normal (keys 1–4). Emergency cards pulse red so they can’t hide in a long list. Each card shows the customer, address, time, duration and estimated revenue. Clicking a card opens the full job page.
  • Centre — Map: a pin for every job that has a geocoded address. Red is emergency, amber is high, green is normal, blue is completed. If some addresses couldn’t be placed on the map, a banner tells you how many — fix them on the customer profile, or those jobs won’t show.
  • Right — Technicians: each technician shown as Available or On job, with a job count, how many they finished today, and a workload bar. Read the job count carefully: it is every open job assigned to that person on any date, invoiced and paid work included — not today’s load — and the workload bar uses that same number against a fixed 8-job day. Click a technician to filter the queue to the jobs where they are the lead.

The header shows counts for emergencies, pending, active and completed jobs, plus Day/Week view and date navigation. Press Shift+? for all keyboard shortcuts.

What the technician statuses mean: “On job” means the technician is on the crew of a job that is En Route or In Progress. It comes from job status, not from GPS. (There’s an “Off Duty” badge in the code for inactive employees, but the board only loads active people, so you won’t see it.)

Assigning a technician

  • Manually: on any unassigned card, pick a technician from the dropdown. The technician is notified in the app and by push notification.
  • With suggestions: click a pending job’s pin and the right panel shows AI Dispatch Suggestions — a ranked candidate list with a 0–100 score broken into skill, proximity, availability, workload and performance, plus distance, ETA, any warnings, and a count of the technicians that were filtered out. Out of the box this panel, Auto-Assign and the Schedule map answer only for Owners and Administrators: on the stock Dispatcher role the panel loads an error.
  • Auto-Assign: once an admin turns on auto-dispatch (it’s off by default), an Auto-Assign button appears. It assigns every unassigned job on the board you’re looking at — that day or week — at once, immediately, without a review step. Use it when you trust the setup, not as a first pass.

How candidates are chosen: technicians who aren’t active, who the customer has blocked, or who are beyond your dispatch radius are excluded. Distance is measured from their last GPS position, falling back to their home base — someone with no recorded location at all is kept in the list. The rest are ranked by distance, then by skill level for the kind of work, then by who has fewer jobs that day.

Assigning a technician onto approved time off, an admin block or a company closure is refused when the assignment goes through the job record — the queue dropdown, the job page, or moving the job on the Schedule board. The AI panel’s own Assign button only warns you and lets you proceed anyway, and Auto-Assign doesn’t check time off at all. Before you trust a bulk assignment, check the calendar.

How GPS tracking works

GPS is set up by an admin in Settings → GPS Tracking Settings: tracking mode (business hours, active jobs, or 24/7), how often to record a position, and which technicians are tracked.

A position is only recorded when all of this is true:

  • an admin enabled tracking for that technician;
  • the technician agreed to location sharing in the app;
  • the technician is clocked in — the server enforces this in every mode, including Always On;
  • the Exoserva app is open on their phone — there’s no background tracking.

The three modes come down to the same thing in practice: no shift, no position. The 8am–6pm window in the “Business Hours Only” description isn’t enforced separately.

To see where people are, open Schedule → Map. It shows each technician’s last known position from the past 24 hours. Treat it as “where they were last seen”, not a live feed. The technician pins need the dispatch permission, which by default only Owners and Administrators hold — a Dispatcher sees the jobs but not the people.

What the customer is told

The technician’s job buttons drive the customer texts:

Technician taps Job status Customer receives
On My Way En Route Two texts — an arrival estimate of about 30 minutes, and “is now on the way” — plus an email
Arrived Unchanged (arrival time recorded) “Has arrived” text, unless work was already started
Start Job In Progress “Work has started” text
Complete Job Completed Completion text

The “about 30 minutes” is a standard estimate, not calculated from GPS or traffic. If a technician is further out, have them or the office tell the customer. An admin can switch each of these texts off in Settings → SMS notifications. Assigning a technician doesn’t text the customer.

A simple rhythm that works

  1. Morning: filter to Emergency, then clear the unassigned cards.
  2. Before 10 AM: check the missing-address banner and fix those customers.
  3. All day: watch the Technicians panel — someone Available with a light workload is your first call for a new emergency.
  4. When someone is running late: call the customer yourself rather than letting the standard estimate stand.

For planning the order of stops across a day, see the route planning guide in this category.


How does your office decide who gets an emergency call — closest tech, most experienced, or whoever is free?