Inquiries routed by ZIP code to the crew that covers it, with coverage rules, surcharge zones, honest out-of-area handling and referral-out.
Bring your stack to a call and we will scope it against how your business actually runs.
Book a callA one-van business has no routing problem. A three-van business has nothing but routing problems, and nobody notices the transition happening. Inquiries land in one inbox, a dispatcher reads them in the order they arrived, and assignment happens by whoever is mentally closest to hand rather than geographically closest to the job. The result is a van crossing the city at eleven in the morning while another crew sits forty minutes away with a gap in the calendar, and neither of those facts appears in any report.
Out-of-area work is the expensive version of the same failure. Someone two hours away fills in the inquiry form, nobody checks where they are until the quote is being written, and by then the business has either spent an hour on a job it should have declined or, worse, won it. A job won at a normal rate with two hours of unpaid travel attached is a job that loses money, and it is almost always the job that produces the angry review when the crew cancels on the day because something nearer came up. Businesses in this position typically do not know their out-of-area rate, because the system never asked.
Underneath both is an attribution blindness that quietly misdirects the marketing budget. Local advertising, service-area pages and vehicle livery all work at the level of ZIP code districts, but if inquiries are not tagged with a district then nobody can say which districts produce work that converts, which produce tire-kickers, and which produce jobs the business should stop advertising for entirely. The business ends up spending evenly across a map where the returns are wildly uneven. This build makes geography a first-class field: every inquiry is pinned to a territory before anything else happens, routed to the crew that owns it, priced and scheduled according to that territory's rules, declined honestly or referred out when it falls outside, and reported on by district afterwards.
Everything here hangs off one decision made before any building: what the territories actually are. They are defined by ZIP code or ZIP prefix (whichever applies in the market) and never by drive-time guesses or by which crew shouted loudest. A working model for a three-crew business:
Each territory record holds the district list, the owning crew, a secondary crew for overflow, the coverage status, the travel band, which calendars it maps to, and which referral partner applies when it is not covered. Maintaining this as one lookup rather than as conditions scattered across a dozen workflows is the difference between a build that can be changed in ten minutes and one nobody dares touch.
A dedicated Inquiry Routing pipeline sits in front of the normal sales pipeline. Every inquiry passes through it and is only promoted once it has a territory and a crew.
Trigger: Inquiry form submitted, Coverage Check submitted, inbound call answered by BO, missed call on any tracking number, or inbound SMS or chat on any channel.
Conditions and branches: branch on whether a usable ZIP code is present. Branch on Address Verification Status. Branch on whether the contact already has a Service ZIP code on file from a previous job, in which case use it and skip the asking.
Actions in order:
Stop and exit conditions: exits as soon as a district is present. Two automated messages then a human task. Never re-enters for the same inquiry.
Trigger: ZIP code District written by workflow 1.
Conditions and branches: match the district against the territory lookup. Four outcomes: Core, Extended, Surcharge, Not Covered. A fifth implicit outcome (no match at all) hands to workflow 3. Branch again on whether the district carries territory-boundary-case.
Actions in order:
Stop and exit conditions: every inquiry leaves this workflow with either a territory and a crew, or a handoff to workflow 3, 4, 5 or 7. Nothing exits unrouted. Stops if the customer withdraws.
Trigger: ZIP code District present but matching no entry in the territory lookup.
Conditions and branches: branch on whether coordinates were returned by verification. Branch on the resulting Distance Band From Depot.
Actions in order:
Stop and exit conditions: stays open until a human routes it. One customer message, then silence until a person has something real to say. Never auto-assigns a crew on a low-confidence geocode.
Trigger: Coverage Status set to Not Covered.
Conditions and branches: branch on whether a Referral Partner is defined for that district. Branch on Out of Area Reason: Wrong Trade gets different wording from Outside Service Area.
Actions in order:
Stop and exit conditions: exactly one customer message, plus one referral exchange on consent. No follow-up, no nurture, no re-entry. The only way back in is the customer supplying a covered ZIP code themselves.
Trigger: Surcharge Flag set.
Conditions and branches: branch on job value band where known. A large job may absorb the travel where a small one cannot. Branch on whether other work is already booked in that direction that week.
Actions in order:
Stop and exit conditions: two automated messages maximum, and the commercial conversation always happens with a person. Stops on acceptance, decline or no contact after two attempts.
Trigger: stage set to Routed to Crew.
Conditions and branches: branch on whether the Crew Response form has been submitted. Branch on decline reason: Capacity routes differently from Wrong Trade or Already Known To Me.
Actions in order:
Stop and exit conditions: three offers across forty-five minutes, then a human owns it. The customer is never told which crew has it until a crew has accepted, so a reassignment is invisible to them. Stops on acceptance or on the office taking ownership.
Trigger: a crew's daily or weekly job limit reached, or a Crew Response declined on Capacity.
Conditions and branches: branch on the inquiry's urgency. Branch on the Secondary Crew's own capacity. Branch on Travel Band: a Band 1 job is worth overflowing, a Band 4 job usually is not.
Actions in order:
Stop and exit conditions: stops on a booking or on the office taking ownership. Never silently pushes a job to a crew whose travel band makes it unprofitable; the travel implication is always on the offer.
Trigger: weekly schedule, plus a monthly summary.
Conditions and branches: none; this is a reporting workflow and it should run whether anyone is asking for it or not.
Actions in order:
Stop and exit conditions: internal only. No customer-facing message is ever sent by this workflow.
Geography stops being a thing people remember and becomes a field the system acts on. Every inquiry carries a territory, a crew, a coverage status and a travel band from the moment it exists, which means routing happens in seconds rather than whenever a dispatcher gets to it, and it happens the same way every time regardless of who is on the desk.
Out-of-area leads get an honest answer immediately. This is worth more than it sounds. The business stops burning quoting time on jobs it was never going to take profitably, the customer stops waiting for a call that was always going to disappoint them, and where a referral partner exists the lead turns into goodwill and sometimes into reciprocal work instead of into nothing.
Crews stop crossing each other. A booking link scoped to one crew's calendar cannot produce a job the wrong crew has to drive to, which removes an entire category of daily argument. Extended-area work gets clustered onto directional survey days rather than scattered through the week, and that single scheduling change is usually where the travel saving actually comes from.
And the marketing spend gets a map. Because every inquiry carries a district and a tracking number, the business can finally see which districts produce work that converts and which produce inquiries that waste a morning. Advertising stops being spread evenly across a market with uneven returns.
Metrics to watch:
Every build on this page is something we configure, test and hand over with the SOPs your team needs to run it.
Book a call