DHDispatchHQ
Demo mode
Active role: Admin

TRADES DISPATCH

How DispatchHQ works

Trades dispatch where customer calls become jobs, jobs go to technicians, parts are tracked on the truck, and invoice drafts come from the work itself — for HVAC, plumbing, and electrical contractors.

What it solves

A trades business runs on customer calls, technician schedules, parts on the truck, and invoices owed — all changing hour by hour, none of them connected. Schedules live in someone's head, blocked jobs slip, and a third of the truck stock can't be found when the tech is on site.

DispatchHQ centralizes call intake, dispatch decisions, technician work, parts reservation, estimates, and invoice drafts into one operational workflow — every job carries its own diagnosis, labor, and parts forward to the invoice automatically.

Why this is hard: Schedules change constantly, parts run out mid-job, every estimate over a threshold needs the owner's sign-off, and the office has to keep callbacks and first-time-fix rate honest — without losing track of what's billable.

Who uses it

Owner
Watches daily revenue, callback rate, and first-time-fix; approves estimates over the $5k threshold.
First action: Open Estimates → Owner approval queue
Dispatcher
Runs the dispatch board, assigns techs, resolves schedule conflicts and aging blocked jobs.
First action: Open Dispatch board
Technician
Runs the day's queue on-site: diagnose, log labor + parts, mark complete or waiting-on-parts.
First action: Open Jobs → My queue
CSR
Takes inbound calls; creates customers, service calls, and callback flags.
First action: Open Customers
Parts manager
Reconciles truck inventory; fills part reservations for blocked jobs.
First action: Open Truck inventory
Estimator
Builds estimates from technician findings and routes over-$5k estimates to the owner.
First action: Open Estimates
Finance
Reviews and finalizes invoice drafts; exports the ledger for QuickBooks.
First action: Open Invoices
Admin
Full administrative access — used for demo recording and screenshots.
First action: Open Dashboard

Workflow at a glance

happyHappy path

CSR creates a customer and service call. Dispatcher assigns the right tech and time window on the board. Tech runs the job on site: diagnosis, labor lines, parts used. Job closes; an invoice draft is generated from the work itself; customer history updates.

exceptionException path

Tech needs a part not on the truck. Job moves to "Waiting on parts" with a blockedSince timestamp. Parts manager reserves the part on the next truck stock; dispatcher sees the blocked job in the aging queue; follow-up appointment is auto-suggested.

approvalApproval path

When an estimator writes an estimate above the owner's threshold, the estimate auto-routes to "Owner approval required". Owner reviews scope and price; approves, rejects, or requests changes. Customer-visible status updates only after the decision.

reportingReporting

Booked dollars today, completed jobs, tech utilization, first-time-fix percent (rolling 30 day), aging-blocked jobs over 7 days, parts usage by truck, and callbacks per technician roll up on the owner's daily dashboard.

What it produces

  • Estimate PDF
  • Invoice draft PDF
  • Technician job sheet
  • Customer job history
  • Parts usage + reservation report
  • Daily dispatch report

Industry terms

Dispatch board
The live grid of today's jobs vs. technician availability. Dispatchers drag-assign and resolve schedule conflicts here.
Service call
The intake record from a customer call — captures problem, location, urgency, and turns into one or more jobs.
Work order / job
A scheduled visit to a customer location to perform diagnosis and a fix. Carries labor, parts, and diagnosis records.
Waiting on parts
Status assigned when a tech can't complete the job because a needed part isn't on the truck. Triggers parts reservation + follow-up.
Blocked job
A job stuck in "waiting on parts" or "scheduling conflict" beyond an SLA threshold (default 7 days). Surfaces on the daily dispatch alert.
First-time-fix rate
Percent of jobs completed without a callback within 30 days. The headline quality metric for a service business.
Truck inventory
Per-vehicle on-hand parts stock. Tracked separately from warehouse so the tech sees what's actually on their truck.
Part reservation
A claim on a specific part for a specific job — prevents another tech from grabbing the same SKU off the same truck.
Callback
A return visit to fix something that should have been resolved the first time. Counted against first-time-fix.
Invoice draft
An auto-generated invoice from completed labor + parts + estimate-derived rates, awaiting finance review before sending.
Data model (for technical evaluators)

The app is built on a relational schema (Neon Postgres + Prisma). Entities:

Organization · User · Role · Customer · Location · ServiceCall · Job · Appointment · Technician · Skill · JobAssignment · Diagnosis · LaborEntry · Part · TruckInventory · PartReservation · Estimate · InvoiceDraft · ApprovalDecision · JobStatusEvent · AuditEvent