The console shows everything, so it shows nothing
An unfiltered Gantt across every territory and technician is unusable on a real shift. Dispatchers need their own slice, pre-filtered, opening on the exceptions that need a decision.
The dispatcher console is where the schedule meets the people who are accountable for it. If the board does not match how dispatchers actually work, they route around it — and the platform becomes an expensive record of decisions made somewhere else. Twopir configures the console and the capacity model around the real job. Adoption is a design outcome, not a training problem.
When a dispatcher keeps a private spreadsheet beside the console, that spreadsheet is telling you exactly what the configuration is missing. It is feedback, not non-compliance.
An unfiltered Gantt across every territory and technician is unusable on a real shift. Dispatchers need their own slice, pre-filtered, opening on the exceptions that need a decision.
A job at SLA risk, a technician running ninety minutes late and a no-access visit all look identical until someone notices. Exception handling has to be surfaced, not hunted.
Decisions about overtime, hiring and whether to accept a job next Tuesday get made on instinct because nobody can see committed versus available hours by skill and territory.
If the roster is maintained in HR or on paper, the schedule will keep assigning work to people who are on leave — and dispatchers will stop trusting availability entirely.
Subcontracted work booked by phone and email never appears in capacity, utilization or SLA reporting — so a growing share of the operation becomes invisible to management.
What one dispatcher knows about a difficult site or a promised callback lives in their head. Without it on the record, every shift change loses context and repeats work.
The dispatcher console is configurable, and most orgs never configure it. This is what each part is actually for, and the decision it should make faster.
| Console element | The decision it supports | How we configure it |
|---|---|---|
| Gantt | Who is doing what, when — and what can absorb a change without breaking the rest of the day. | Scoped to the dispatcher's own territories and horizon, with the statuses that matter colour-coded rather than every status available. |
| Map | Whether an assignment makes geographic sense, and who is genuinely nearest right now. | Live technician location where it is enabled, job pins by priority, and travel drawn on roads rather than straight lines. |
| Appointment List | What still needs a decision today — the working queue of the shift. | Saved list views per dispatcher role, defaulting to unscheduled and at-risk work rather than everything. |
| Policy Switcher | Whether this job should be scheduled for speed, for travel efficiency, or against an SLA. | A short list of named policies a dispatcher can reason about, not twenty variants with similar names. |
| Capacity & Utilization | Whether to accept more work, authorise overtime, or escalate to a contractor. | Committed versus available hours by skill and territory, visible before the commitment is made rather than in a monthly report. |
| Exception Surfacing | What is going wrong right now that a customer has not yet phoned about. | SLA jeopardy, overruns, no-access and unscheduled work raised into the dispatcher's view automatically. |
| Service Crews | Whether a multi-person job has the right people, including the required lead. | Crew definitions with roles and required skills, plus a maintenance process so membership stays current as people move. |
| Contractor View | What has been subcontracted, to whom, and whether it is actually progressing. | Contractors modelled as service resources so their work appears in the same capacity and SLA reporting as employees. |
Our test for a well-configured console: a dispatcher can work an entire shift without opening a second tab, a spreadsheet, or a phone.
Most field service organizations run a mix of all three, which is exactly why the capacity model has to account for each one explicitly.
Your own workforce, on shifts, with known skills and territories. The base case — and the one where capacity data is most reliable.
Jobs needing more than one person, often with a required lead or a specific skill combination. Scheduled as a unit rather than as individuals.
Subcontracted capacity that must still appear in the same board, the same SLA reporting and the same capacity model as your own people.
You cannot design a dispatch board from a requirements workshop. The useful information is in what dispatchers do when something goes wrong at half past three.
We watch a full dispatch shift, including a bad one. Every workaround, side spreadsheet and phone call is a requirement the current configuration is not meeting.
Filters, list views, Gantt scope, colour coding and policy choices designed per dispatcher role — so the board opens on the decisions that need making.
Shifts, absences, crews and contractors modelled properly, so committed versus available capacity is a number rather than an opinion.
SLA jeopardy, overruns, no-access and unscheduled work surfaced automatically, with a defined response for each rather than ad-hoc escalation.
Training on their own board with their own jobs, shift handover built into the record, and a review after a few weeks of live use to tune what the shadowing missed.
The figures below come from one documented engagement with an HVAC services company running more than 100 field technicians across multiple regions. They describe that client's results — not an industry benchmark and not a Twopir average.
Giving dispatchers and management real-time visibility of work in progress.
Before the engagement, the management team had no visibility of the status of jobs in progress, which made it impossible to address problems proactively. Dispatchers were assigning work without real-time sight of technician schedules or locations. Putting dispatch on a live board gave management full visibility into field operations, enabling proactive issue resolution and better resource allocation.
Published examples of coordination failures Field Service is brought in to fix.
The engine that produces the schedule the board works. If dispatchers override every assignment, the fix is in the scheduling policy rather than the console.
The other half of the loop. A board is only as accurate as the status updates coming back from the field, which makes mobile adoption a dispatch problem too.
Auto-dispatch, customer notifications and exception alerts remove the routine decisions from the board so dispatchers spend their attention on the difficult ones.
Not live yet? The console and workforce model are designed during implementation, alongside the territory structure they depend on.
Usually it means the same dispatchers cover more work and spend their time differently. The routine assignment decisions get made by the engine, and the dispatcher's day shifts toward exceptions — the jobs at SLA risk, the technician who has broken down, the customer who needs rescheduling. That is a genuinely different job, and it is worth being honest with the team about that rather than presenting the platform as a way to remove headcount. Organizations that frame it as a reduction exercise get the adoption problems they would expect.
Yes, and they should. Contractors can be modelled as service resources with access limited to their own work, which means their jobs appear in the same capacity, utilization and SLA reporting as employed technicians. The alternative — booking subcontracted work by phone and tracking it in a spreadsheet — makes a growing share of your operation invisible to management, and it is usually the reason capacity reporting stops being believable. Licensing for contractor access differs from standard technician access, so confirm that mix with Salesforce during scoping.
Capacity planning needs committed hours and available hours expressed by skill and by territory, not as a single headcount number. Available hours come from shift patterns, operating hours and absences being maintained accurately in the system rather than in HR or on paper. Committed hours come from scheduled appointments including contractor work. Once both exist you can answer the questions that actually matter — whether to accept a job next Tuesday, whether to authorise overtime, and where the next hire should be based — from data rather than instinct.
Because the console is not showing them something they need, and the spreadsheet is the cheapest way to get it. That spreadsheet is the most valuable artefact in a dispatch assessment — it is a precise, unfiltered list of the gaps in your configuration. Common causes are unfiltered Gantt views that are unusable on a live shift, exceptions that have to be found by scrolling, missing capacity visibility, and shift handover context that has nowhere to live on the record. We treat it as feedback rather than as non-compliance, and most of what it contains is configurable.
With a deliberate priority model and in-day optimization, rather than a dispatcher manually moving six appointments. The design questions are which work may be disturbed, what the cost of disturbing it is, and whether some capacity should be held back for emergencies in the first place. Many organizations find that reserving a small amount of daily capacity in each territory is cheaper than the disruption caused by absorbing every urgent job into a fully committed schedule. Either way, the decision should be a configured rule rather than a judgement call made under pressure.
It means the context that currently lives in a dispatcher's head has a place on the record. Promised callbacks, difficult sites, access arrangements, a customer who has already been rescheduled twice — all of it should sit against the appointment or the account rather than being verbally passed on at shift change. This is mostly a configuration and process design question rather than a technical one, and it is consistently under-designed. The test is whether an incoming dispatcher can pick up a disrupted day without phoning the person who just left.
An hour beside a dispatcher tells us more than a week of requirements workshops. Every workaround we see is something the configuration should have been doing.
Speak with a team that has sat through the shift, not just read the requirements