Stop losing jobs to scheduling chaos.
RoutrIQ gives HVAC, plumbing, and electrical crews an AI dispatcher that assigns the right tech, flags SLA risk early, and reroutes the board when an emergency comes in.
Built for field service from day one.
HVAC, plumbing, and electrical crews have specific scheduling problems. RoutrIQ is built around them, not bolted onto a generic platform.
Seven engines. One API. One learning loop.
Each engine is a pure TypeScript module, unit-tested and independently replaceable. No engine imports another. Composition happens at the API layer.
Assignment
Scores every technician against every job on five factors. Explainable. Weights are versioned and pinned to every decision.
Routing
Greedy insertion with time windows. A cached distance matrix keeps map API spend down.
Emergency Rerouting
A priority one job arrives and the board rebuilds. Displaced jobs get new owners and customers get notified.
Prediction
Rolling mean and variance per technician per skill. Falls back to skill-level prior, then job estimate. Welford's algorithm online.
SLA Risk
Flags jobs that will probably miss the window before they do. Logistic model over driving slack, day load, and technician variance.
Simulation
ProAdd a truck, shift windows, close a territory. Get the projected throughput, on-time rate, and revenue delta in seconds.
Learning
ProWeekly retrain on ninety days of outcomes. Grid perturbation around current weights, bounded step size, versioned history.
Audit trail
Every assignment persists scoring inputs, predicted duration, delay risk, and weights_version. Replayable forever.
Integrations
Normalized internal job model. ServiceTitan REST, Jobber GraphQL, Housecall Pro REST. Adapters, not dependencies.
Explainable by design
Every assignment carries a reason.
Not a black box. Not a prompt. A deterministic score built from five weighted factors, with the weights version pinned to the decision. Any assignment can be replayed against the exact inputs that produced it.
See the decision trail{
"technicianId": "tech_taylor",
"score": 94.2,
"rank": 1,
"reason": {
"skill_match": 1.0,
"distance_score": 0.95,
"priority_weight": 1.0,
"performance": 0.96,
"availability": 1.0,
"predicted_duration_minutes": 88,
"delay_risk": 0.08
},
"weightsVersion": 14
}Watch it assign a full board.
Five jobs. Five technicians. Every assignment scored on skill, distance, priority, performance, and availability, with the reasons shown.
| Customer | Priority | Skills | Status | Assigned tech | Score |
|---|---|---|---|---|---|
| Cedar Park School | Emergency | HVAC | unassigned | — | — |
| Westlake Residence | High | Plumbing | unassigned | — | — |
| Northside Clinic | High | Electrical | unassigned | — | — |
| South Austin Retail | Normal | HVAC | unassigned | — | — |
| Round Rock Office | Normal | Plumbing | unassigned | — | — |
Your metrics dashboard from day one
Know exactly what changed and why.
RoutrIQ tracks four operator KPIs against a rolling baseline. Every number comes from real assignment data, not estimates.
Simple, transparent pricing.
One monthly price per plan, with technicians included. Office users are free.
- 3 technicians included
- Extra technicians $39 a month each
- Office users free
- 10 technicians included
- Extra technicians $35 a month each
- Office users free
- 25 technicians included
- Extra technicians $29 a month each
- Office users free
Ready to look under the hood?
OpenAPI spec, security posture, and the full decision model are linked below. API keys by request.