Op codes: turning 'it is making a noise' into something bookable
In short
An op code is the smallest unit of work a service department can sell, schedule and invoice — an identifier carrying a labour time, a pricing method, the skill and bay required, and the parts consumed. A scheduler books op codes, never sentences, so a booking flow needs an explicit map from plain-English symptoms to codes, with 1 destination for whatever it cannot match.
Key takeaways
- An op code carries a duration, a skill, a bay, a pricing method. A sentence carries none of the 4.
- Diagnostic codes buy technician time and end in an estimate. Maintenance codes buy a defined job.
- The mapping layer is the product: customer phrasing on 1 side, 1 or more codes on the other.
- Every unmatched input needs 1 destination, 1 owner and a response window — not a free-text box.
An op code, short for operation code, is the smallest unit of work a service department can sell, schedule and invoice. Behind its description sit a labour time, a pricing method, the skill level and bay type the job needs, and the parts normally consumed. A shop's scheduler books op codes. It cannot book a sentence.
Which is why a free-text "tell us what is wrong" box breaks a booking flow. The scheduler needs a duration, a skill and a bay to hold time, and none of the 3 is derivable from "a noise when I brake". If the software will not translate, an advisor does — next morning, on the phone, which is how an online booking turns back into an inbound call.
What the code carries besides a name
| Field | What it decides |
|---|---|
| Customer-facing description | Wording on the booking screen, the estimate and every status text |
| Labour time in hours | How much of the day is held — 0.3 for a cabin filter, 1.0 for a diagnosis block |
| Pricing method | Fixed total, time-based, or an estimate pending inspection |
| Skill and bay requirement | Which technicians and which lift can take it |
| Parts normally attached | Whether the parts are on the shelf |
| Pay type | Customer, warranty or internal — who is billed and who authorises |
Labour time has the most disputed provenance. Warranty work is generally allowed the manufacturer's published time; customer-pay work is priced from a commercial labour-time guide or the shop's own measured average, and the 2 rarely agree. Those hours are what the capacity model behind the calendar consumes, so an optimistic code oversells the day.
Diagnosis buys time; maintenance buys a known job
- Maintenance and defined repair codes. Scope is fixed before the vehicle arrives, so the duration holds and the total can be published — the only lines that belong in a booking flow showing prices.
- Diagnostic codes. They buy a block of technician time, commonly 0.5 to 1.5 hours, ending in a finding and an estimate. They do not buy a repair.
- Campaign, recall and warranty codes. The manufacturer sets scope and time, and eligibility attaches to the individual vehicle, not the model, so each needs a VIN-level check.
Who owns the list, and why it drifts
The list is maintained locally, by whoever has write access, and that is where drift starts: 3 codes for 1 oil service because 3 managers each added 1, dead codes nobody has sold in 2 years, times last reviewed when the model was current. Which codes apply at all depends on the exact build, so the menu must be filtered against the option data behind the vehicle record — engine, gearbox, drivetrain, factory options.
The mapping layer: customer words on one side, codes on the other
| What the customer chooses | What the shop books | What has actually been bought |
|---|---|---|
| Squealing when braking | Brake inspection; repair codes added after the finding | An inspection and an estimate, not a brake job |
| A warning light is on | Diagnostic code with a fixed time block | Time to read fault codes and test |
| It is due for a service | Service code for that model, engine and mileage band | A defined job, known duration and total |
| Vibration at motorway speed | Diagnostic code plus a road-test code | An investigation including a road test |
| Anything unrecognised | 1 catch-all advisor-review code | A provisional slot and a callback |
- Rank last year's repair orders by op code frequency. The flow needs the head of that list, not the catalogue.
- Write the phrasing in counter language. "Knocking over bumps" is a real query; "front suspension component inspection" is not.
- Mark each mapping instant-confirm or needs-a-person. Anything whose duration depends on what is found is never instant-confirm.
- Give unmatched input 1 review code, 1 owner, 1 response window. Log the raw text beside the chosen code and review monthly.
What the mapping layer has to refuse to do
It must not guess. A map that books its nearest match on low confidence produces a confirmed appointment for the wrong work, found by a technician at 9am with the customer gone. Nor can it lose the customer's own words: an update naming a job nobody recognises causes the call it was sent to prevent — the mechanism behind status texts that send and still produce calls.
A flow that takes free text and holds an hour has booked a conversation, not a job.
Downstream, the pricing method decides whether an estimate goes out without an advisor, and its invoice line is what a pay-by-link service flow shows. Upstream, the code is 1 of the fields a booking must capture. The mapping layer is bounded — a table, a confidence rule, a queue, a log — so it scopes as an MVP build. Filed under service booking and customer communication, part of our automotive work.
Frequently asked questions
Short answers to the follow-ups this page tends to raise.
What is an op code in auto service?
It is the identifier for 1 unit of sellable work — what a shop schedules, dispatches and invoices against. The code carries a customer-facing description, a labour time in hours, a pricing method, the skill and bay required, the parts consumed, and the pay type: everything a scheduler needs to hold time.
What is the difference between a diagnostic op code and a maintenance op code?
A diagnostic code buys technician time; a maintenance code buys a defined job. Diagnosis holds a block, often 0.5 to 1.5 hours, ending in a finding and an estimate, so the repair is quoted afterwards. A maintenance code's scope is fixed before arrival, so its duration is reliable and its total publishable.
Why can a booking form not just take free text?
Because a symptom carries no duration, no skill requirement and no bay type, and the scheduler needs all 3 to hold a slot. Collect the free text and keep it on the record, but it has to become at least 1 op code — otherwise the booking is a callback request in the costume of an appointment.
- service booking
- op codes
- shop scheduling
- dealership service
The work behind this page
Builds from our portfolio that this page draws on.
FieldRoute
An AI field-service platform that auto-dispatches the best-matched technician, optimizes routes, and tracks first-time-fix against every SLA.
OperationsQuoteForge
An AI CPQ and proposal platform that builds enterprise quotes from your catalog, guards every discount against the margin floor, routes approvals, and generates the proposal.
Sales AIRead next
- They begin the online booking and then ring the shop anywayAn abandonment rate is a single number covering four unrelated failures. Step-level instrumentation and a ten-minute join against the call log tell you which one you have.diagnostic
- Text-to-pay in the service drive: what it is, and what it is notA payment link is a handoff to someone else's hosted page, attached to one repair order. It is not a payment product, and it is not the record that the customer approved the work.definition
- Promise time: the number the whole service day is measured againstPromise time is a commitment to a person. Estimated completion is a forecast about work. Most systems store one field for both, and lose the difference exactly when it matters.definition
- Data brokers in the dealership stack: who is actually sending you the fileBetween the dealership's system of record and your build sits a party with its own schema, its own cadence and an authorisation only the dealer can sign or revoke.definition
- Disposition codes: 'no answer', 'not now' and 'not a buyer' differA disposition is not a note about the call. It is the instruction for what happens next, and a value naming no single action and owner cannot be automated.definition
- Four times a repair-order number changes, and what to key on insteadAn RO number identifies a document at one store on one day. Four ordinary events renumber, duplicate or supersede it, and a fifth problem makes it repeat outright.definition
Working on something in this space?
Tell us where you are in a sentence or two. We'll tell you honestly whether we're the right team, and what a sensible first slice of the work looks like.
Start the conversation