A freight forwarder, 50–70 staff, several dozen carriers in regular use. A booking arrived by email, by messenger or over the phone, a dispatcher typed it into a spreadsheet, carried it from there into document templates, took the carrier’s details from a folder on a drive and the addresses and cargo figures from the customer’s email. One shipment took around forty minutes, and roughly every eighth document set came back to be redone: the wrong delivery address, a mismatch in the number of packages, out-of-date carrier details, a weight that differed between the waybill and the booking. The error surfaced after printing, sometimes only once the driver had it. Customers learned where their cargo was by calling the dispatcher, and the dispatcher by calling the driver — and there were more of those calls in a day than there were shipments.
The same stack as on our other projects: Python and Django at the core, PostgreSQL as the source of truth for the booking, the shipment and the document. A booking comes in from any channel and is entered once, the document set is assembled from a carrier directory rather than from a folder on a drive, and mismatches are checked before printing. Statuses arrive from the carriers and are visible to the customer, so there is no longer a reason to call a dispatcher to ask where the cargo is.
The order was set by the money: first the thing that removes the retyping and the redos, then everything else.
Some customers call and will keep calling, and we were not going to push them into a web form for the sake of a tidy diagram. The dispatcher takes the call and enters the booking on one screen, and the document set is assembled from there. The seven minutes cover the whole path from booking to finished documents — they are not a robot replacing a person: the person stayed, they just no longer retype anything. The three months went largely on something other than code: the carrier directory and the document templates had to be put in order first, because there is nothing to assemble a set from when a carrier’s details exist in three versions across three folders. That part was done by the client’s own people.
The service pages explain the method behind this project; the solution pages take the same building blocks on their own, each with its own scope and price.
We use cookies for analytics — to see which pages bring enquiries. Nothing else, and nothing before you agree. Cookie Policy