The most expensive research a service company does is driving out to look. A tech rolls forty minutes to Slaton, walks around back, and learns in ninety seconds what three good questions would have surfaced on Tuesday: the part isn't on the truck, the roof isn't worth an estimate, or the address was never in your service area at all.
What a static form collects
The standard website form asks for a name, a number, and a box labeled "describe your issue." What comes back is "AC not working" — which is not information, in the sense that a dispatcher can act on it. Not working how? Blowing warm, or not blowing at all? Indoor unit or outdoor? How old? The form asks everyone the same three questions because it cannot read the answers. So the office calls back to ask the real ones, phone tag begins, and two days later the customer has hired whoever asked first.
A form that reads the answer
The version we build behaves like a dispatcher instead of a clipboard. Each answer determines the next question. "AC not working" branches: blowing warm, or nothing? Outdoor unit humming, or silent? Thermostat screen lit, or dark? This is not a chatbot performing conversation. It is a decision tree carrying the follow-ups your best office person would ask — encoded once, asked the same way at midnight as at noon, and never forgotten on a busy day.
The service-area screen goes first
Before the form asks anything else, it asks where the property is. A Lubbock shop that runs Wolfforth, Shallowater, and Slaton but not Plainview should tell the Plainview homeowner so in ten seconds — politely, ideally with the name of somebody who does cover them — rather than collect their whole story, let the lead sit two days in a queue, and earn a reputation for never calling back. Screening the area first has a second benefit that's easy to miss: you never collect contact details from someone you can't serve, which is both cleaner data and better manners.
The photo that replaces the first visit
Two examples, because this is where the mechanism earns its keep.
Roofing: the form asks when the roof was last replaced. "More than fifteen years ago" or "not sure" triggers the follow-up — two photos from the ground, front slope and back, before an inspection goes on the calendar. An estimator reads a surprising amount off those photos: shingle curl, granule loss along the shadow lines, how many layers show at the eave, whether there's a low-slope section over the porch that changes the whole job. Some of those photos book an inspection the same day. Others save one — the courtesy visit to a roof with five good years left in it, which everyone involved would rather skip.
HVAC: the data plate. When the branch reaches "outdoor unit," the form asks for one photo of the metal plate on the side of the condenser. That plate carries the model, serial, and tonnage. From it, the tech knows the unit's approximate age before rolling, knows whether it runs R-22 — a refrigerant no longer produced, which reframes the repair-versus-replace conversation before anyone drives anywhere — and knows which capacitor to have on the truck. One photograph, taken by the homeowner in fifteen seconds, routinely decides what parts get loaded. Sometimes it decides that the right first visit is a sales visit, not a service call.
A record you dispatch from, not an email you read
What the form produces matters as much as what it asks. The standard form emails the office a blob of text that a human must read, interpret, and re-type into whatever the shop actually schedules from. Re-typing is where detail dies: the model number loses a digit, the photo stays behind in the inbox, the address gets abbreviated into ambiguity.
Our forms output a structured record instead — each answer in its own field, photos attached and labeled, address validated, job type categorized. It lands in the same customer record everything else on this site writes to, so dispatch can filter it, assign it, and count it at month's end. And when the tech opens the job on his phone in the driveway, the data-plate photo is already there, not forwarded in a text thread he has to scroll for.
Sometimes the right output is no appointment
A qualifying form is also a filter, and a filter that never says no isn't one. Out of the service area. A trade you don't do. A question that is really a homeowner wanting to know which breaker to check. Each of those deserves a decent answer and no appointment. Declining gracefully at midnight costs nothing, keeps a slot open for a real job, and reads as honesty to the customer — who tends to remember it the year the compressor actually dies.
What this does not solve
Some customers will not photograph anything, and the form has to degrade gracefully — "no problem, we'll take a look when we're out" — rather than hold the booking hostage to a photo that isn't coming. It supplements the phone; it does not replace it, and plenty of your best customers will always call. Question count is a real cost, too: every added question loses some fraction of completions, so the cheap questions come first, and any question whose answer nobody downstream will use gets cut in review, not defended.
And a form does not diagnose. It collects the facts a diagnosis needs. The judgment is still the tech's — made in the same driveway as before, but with the unit's age, the symptom pattern, and the right parts already on the truck.
Where to start
Ask your lead tech for the three things he most often wishes he'd known before rolling. Every tech has this list and can recite it without pausing — roof age, panel photo, gate code, whether anyone will be home. Those three answers become the first branch of the form, and they are a better specification than anything a vendor could draft for you.