The text a customer gets
When a technician starts a job, the customer gets a text saying who is coming and when. The arrival window is worked out with traffic from the technician’s live location at that moment, or from their last job of the day when the phone has not reported one.
Two problems shaped it. The first was a text sent twice: two saves close together both passed the "not sent yet" check. The fix claims the job first, checks the claim held, sends, and rolls the claim back if the send fails, so a failure never turns into silence. The second was the phone in the van: with no signal, the start can reach the ERP hours later, and once a customer got “on the way” minutes before the job finished. Now an update that arrives more than an hour late does not send, and the reason is logged. An hour, because the start is stamped when the van leaves and real drives here run to about fifty five minutes.
The working demo of this system opens on a desktop screen. Here is how it works:
How it works
- 01Technician sets offPressing one button on the field app starts it.
- 02Late sync guardIf the update reaches the ERP hours late, no text goes out.
- 03Customer gets a textWho is coming and roughly when.
- 04Reply matchedThe answer is tied back to the customer, the job and the order.
- 05Slack is toldDispatch sees it where they already are.
- 06AcknowledgedThe row clears from the dashboard without a reload.
The reply, matched and seen
Customers answer like they would any text: a gate code, a request to call first. The SMS provider posts each reply to a small Cloudflare Worker, which signs the call into a NetSuite RESTlet. The reply is matched to the customer, the job and the order, listed on a dispatch dashboard until someone acknowledges it, and posted to Slack. The original outgoing text is kept on the job, so dispatch sees exactly what the customer is answering.
Priority dispatch requests, and every comment on them, post to their own Slack channel as well, because the dispatcher’s phone was always ringing.
What it includes
- Text on job start with a live arrival window
- A guard so no text goes out after the technician arrives
- Replies matched to the order through an edge relay
- Dispatch dashboard with acknowledge in place
- Replies and priority dispatch alerts in Slack