Emergency
4 hours
Fuel spill, leak alarm, a site that cannot sell. Locations opt in to 24/7 emergency dispatch per location, so the clock only runs where the site has agreed to take the call at 2am.
A drag-and-drop technician board, a status kanban over the same jobs, and an SLA deadline written by a database trigger the moment the work is accepted. When the job stalls for a reason you do not control, the clock stops.
The schedule board — technician × time
Drag a job to a technician and a time. Overlaps are caught as you drop them. Anything unscheduled waits in the holding column.
Outside office window Suspended · clock paused
Unscheduled · 3
Drag into the grid to schedule. Jobs whose SLA has expired can be given back from here.
When a work order is accepted, a Postgres trigger stamps the deadline from the accepted timestamp plus the window for that urgency. Nobody types it in, and it cannot be quietly moved.
4 hours
Fuel spill, leak alarm, a site that cannot sell. Locations opt in to 24/7 emergency dispatch per location, so the clock only runs where the site has agreed to take the call at 2am.
8 hours
Revenue is degraded but the site is trading. One dispenser down, a card reader out, a canopy light on a busy corner.
72 hours
Planned and preventive work. Three full days, measured from acceptance.
No one sets an SLA status by hand. The platform derives it from the stamped deadline, the accrued time and the outcome — so a job cannot be marked on track while it is quietly running late.
Not at the deadline. With a quarter of the window left, the card turns amber on both boards while there is still time to move a truck.
Parts are on back order. The store manager never showed. There is a live safety hazard on the forecourt. None of that is the contractor’s fault, and none of it should burn an SLA — so it does not. Suspend the job and the clock stops accruing until someone resumes it.
Suspension is a parallel state, not a status. The work order keeps whatever step it had reached. A banner goes up on both the contractor and the location side, emails go out, and the reason lands in the audit trail with the job.
Priority job · 8h window
Seven reasons
Every suspension picks one. Other requires a written note.
Dispatchers think in time. Coordinators think in stages. Both views sit on one route over one set of work orders, so a card dragged in one is already moved in the other.
A technician × time grid you drag jobs onto. Your office working window is shaded so a 6am job cannot be booked by accident, and overlapping assignments are flagged at the moment of the drop rather than at 7am the next morning.
A kanban over the same jobs. Drag a card into the next column and the transition is applied, validated and written to the ledger.
Unass.
Assign.
En rte
On site
Drag to transition
A technician taps arrived on a phone in a forecourt and the card moves on the dispatcher’s screen. No refresh, no polling by hand, no calling the truck to ask.
Six states on the main line, two off it, and suspension running alongside. Every transition is validated by role and written to an append-only ledger.
A parallel state that can attach at Assigned, En Route or On Site. The status underneath does not change — the SLA clock simply stops until the job is resumed.
Raised by the location, not the contractor, and a note is mandatory — they have to say what is wrong. The job comes back to the crew with the complaint attached to the record.
Terminal, reasoned and kept. A canceled work order is never removed from the record.
Rescheduling after arrival is a different event from rescheduling before it, so it carries its own reason set. The original visit stays in the history rather than being overwritten.
Cancellations are categorized so you can count them later — how much work you lose to pricing, and how much to sites you could not get into.
Dispatch is the easy half. What follows — who acknowledged, what rate applied, which photos exist, what was said and when — is where jobs actually go wrong.
Assign as many technicians to a work order as the job needs, flag one as lead, and track acknowledgement per technician. You can see who has read the dispatch and who has not before the truck rolls.
Standard, priority and emergency labor rates are snapshotted onto the work order the moment it is created. Change your rate card next quarter and last quarter stays exactly as it was billed.
Four categories, each enforced at a specific point: initial assessment by the location before dispatch, additional damage, work in progress, and completion proof by the contractor before close.
Every work order carries a cross-side chat between the location and the contractor. Notes are separate and carry their own visibility — an internal scratchpad your crew can be blunt in, or a note shared with the site.
Start and stop against a work order or a project labor order. Edits inside the grace window are allowed and audited; after it, they are recorded as corrections.
Day, week and list views in the app, plus a revocable webcal:// subscription feed that drops your schedule into Google, Outlook or Apple Calendar.
En route, ETA updated and arrived notices, driven by technician GPS pings and Google Routes drive time — with hysteresis so a slow left turn does not send four emails.
MS Field Tech is a native iOS and Android app scoped to the technician role. It shows the jobs assigned to that person and the actions that move them — nothing else, nothing to get lost in on a wet forecourt.
Role-tailored landings elsewhere too. Technicians land on My Work, accounting lands on Invoicing, sales lands on the Pipeline. Route access is a server-enforced default-deny allowlist, not a hidden menu item.
My Work
3 assigned today
Dispenser 3 — no flow
Madison Rd #4118 · Cincinnati, OH
Disputes over field work are almost always disputes about a timeline. ManageSync keeps one that cannot be edited after the fact.
Every status event is inserted and never touched again. No updates, no deletes — the table only grows. If a job says it was on site at 10:06, that claim is still there next year exactly as it was written.
Insert only · no UPDATE · no DELETE
A dispatcher-only backward step for when a prior state did not really happen — someone tapped en route from the yard. It rewrites the affected timestamps and is fully audited, so the correction is itself part of the record.
Terminal cards age off the schedule and status boards after 14 days so dispatchers see this week, not last quarter. The work orders stay in search, reports and history — archived, never deleted.
Work order IDs are drawn from a single global sequence, not per-account counters. When a location and a contractor talk about WOID-4471 on the phone, they are talking about the same row.
The urgency tiers ship with 4 hours for Emergency, 8 hours for Priority and 72 hours for Standard, and 24/7 emergency dispatch is an opt-in per location. The deadline itself is not typed by hand — a database trigger computes it from the accepted timestamp plus the window for that urgency, so it is identical on every work order and cannot be quietly edited.
Suspend the job. Pick one of seven reasons — parts on order, customer unavailable, weather, awaiting approval, safety hazard, scheduling conflict, or other with a required note. A banner goes up on both the contractor and the location side, notification emails go out, the reason is written to the audit trail, and the SLA clock stops accruing until someone resumes it. Suspension is a parallel state, so the work order keeps whatever status it already had.
They see the status timeline, the photos, the shared notes and the chat thread. They do not see notes marked contractor-only, which is the point of having two visibilities. The location can also raise Revisions Requested on work they are not happy with, which requires a note explaining what is wrong.
MS Field Tech is a native iOS and Android app for the technician role: work order list and detail, status transitions, acknowledge, arrived, suspend and resume, notes, photo upload, time entries and push notifications. It needs a connection to sync a transition, so on a dead cell site the technician records the work and it posts when signal returns.
Assign a crew to the work order and flag one technician as lead. Acknowledgement is tracked per technician, so a dispatcher can see exactly who has picked up the dispatch. Time entries are recorded per technician against the same job.
A dispatcher can apply a Status Correction, which is a deliberate backward step for when a prior state did not actually happen. It rewrites the affected timestamps and is fully audited — the correction itself becomes an entry in the append-only status event ledger, so the original claim and the correction both survive.
No. Terminal cards age off the schedule and status boards after 14 days. Nothing is deleted — they stay in search, reports and the full work order history.
Come with a day of your own dispatch load. We run a work order from unassigned to closed, suspend it halfway, and you watch exactly what the SLA clock does with the paused time.