Position data is a stream, not a table
Every vehicle in a fleet is emitting a position every few seconds. Over a fleet, that is a firehose of low-value rows where the interesting events are rare and the ordering is not guaranteed. Modelling that as rows in a table is the first mistake: you spend your database on writes to answer a handful of questions that actually matter, like which vehicles have been stationary too long, and which are about to enter a restricted zone.
We ingest positions as an append-only stream, keep only the current state per device, and raise domain events for the things that warrant a human's attention. Stationary-too-long, geofence entry, route deviation, and driver phone-off all become events. The raw trail is retained for a defined period for dispute resolution, and not a moment longer. Turning that trail into the port, dwell and cost analytics for UAE corridors an operator can act on is the next step, and the field side is driver, proof-of-delivery and yard apps.
Dispatch is a scheduling problem with a human in it
Perfect automatic assignment looks good in a demo and falls apart in reality, because a driver who has been driving eleven hours, a customer who needs a tail lift, and a load that must be collected inside a port time window are all constraints the solver cannot see. The useful transport management system (TMS) design is a recommendation engine that ranks options with the reasons visible, and a dispatcher who can override in one action. We optimise for the override rate, because that is the number that tells you whether the constraints are right.
Documents are the actual product
For a large share of freight, the deliverable is a document: a clean bill of lading, a delivery note that satisfies the consignee, a customs declaration that clears without a query. That means the document has to be generated from real transaction data rather than typed into a form, has to be tamper-evident once signed, and has to be retrievable years later in a format that still opens.
We store documents as structured data with a rendered artefact beside them, sign the structured form, and keep the signature verifiable. A PDF is an output, not the record. The declaration workflow that produces those documents is freight management and customs declaration platform work, and for Mirsal 2 that means treating the 12-digit tariff code and declared value as first-class data.