One dispatch board. Every truck. Every subcontractor. No phone tag.
How haulage dispatch actually runs today — and where it breaks
If you are managing 15 or more trucks — some owned, some subcontracted — your dispatch process almost certainly runs across at least four separate systems: a WhatsApp group for drivers, a phone for subcontractors, a whiteboard or spreadsheet for the day board, and a separate file for client rates.
The job exists in four places and none of them are connected. When a client calls to ask where their load is, you call the driver. The driver does not always pick up. You call the subcontractor. The subcontractor says they will check with their driver. You call the client back twenty minutes later with information that is already stale.
That is not a people problem. It is a system problem. The job record does not exist in a single authoritative place, so every status query requires a phone call to reconstruct what is happening. Every day is a retrieval exercise rather than an operational one.
HaulageOps creates a single job record from the moment of creation through to invoice. The dispatch board shows every active job. The driver updates status from the app. The subcontractor updates from their portal. You — and your client, in their own separate portal — see all of it without picking up the phone.
- No job gets lost in a WhatsApp thread
- No subcontractor job falls off the board because it was sent by phone
- No status chase required — the board tells you exactly where everything is
- No rate reconstruction at invoice time — it was locked to the job at creation
WhatsApp group
Owned drivers
Mobile phone
Subcontractors
Whiteboard / spreadsheet
Day board
Separate Excel file
Client rates
Client query
Triggers a chain of phone calls with no definitive answer at the end. The job exists in four places — none connected.
Fragmented dispatch: four separate channels, status reconstructed by phone call every time.
From job creation to invoice — in one connected record
Every job follows the same lifecycle. The rate is applied when the job is created. The driver or subcontractor is assigned from the dispatch board. Status flows back automatically. The POD is captured in the driver app at the delivery site. The invoice is generated directly from the completed job record.
Create the job
Job details entered in the admin panel: pickup location, delivery point, material type, scheduled date and time. Google Maps address autocomplete handles addressing. Recurring jobs use templates — create once, schedule forward as far as needed.
Apply the rate
The client's rate card is already in the system — per-tonne, per-load, hourly, or fixed-fee with effective dating. Select it at job creation. The charge is locked to the job record. No guessing at invoice time, no rate disputes between job and billing.
Assign or delegate
Owned driver: pushed to the driver app with a Firebase FCM notification. Driver accepts and status appears on the board as Assigned. Subcontractor: delegated from your dispatch board to their dedicated portal. They accept or decline. Status flows back automatically to your board.
Track live status
Real-time dispatch board via Socket.io. Each job shows current status: Assigned, En Route, On Site, Loaded, Delivered. Mobile GPS from the driver app shows location. No phone call required to know where your trucks are or what your subcontractors are doing right now.
Capture POD
Driver completes delivery and captures proof of delivery: a delivery photograph, customer signature on screen, and any supporting document if required. All uploaded via the driver app and stored in Azure Blob Storage. Automatically attached to the job record — no docket to chase.
Generate invoice
Job is complete. POD is attached. Rate was set at creation. Invoice is generated from the job record — no re-entry, no missing dockets, no rebuilding from notes. Syncs to Xero automatically. Client sees the invoice in their portal without waiting for an email.
Owned driver workflow vs subcontractor delegation — from the same board
Owned Driver Dispatch
Jobs assigned to your own drivers directly from the dispatch board. The driver receives a Firebase push notification on their iOS or Android device. They open the HaulageOps driver app, review job details including pickup location via Google Maps, accept the job, and their status flows back to your board in real time via Socket.io.
- Driver availability scheduling — only available drivers appear for assignment
- Push notification on assignment — no call or text needed to alert driver
- Mobile GPS position visible on dispatch board during the job
- Offline-capable — status updates queue if signal drops, sync automatically on return
- Break and rest records captured in app for fatigue compliance purposes
- POD captured at delivery — photo, signature, document upload all attached to job
Subcontractor Delegation
Jobs delegated to external subcontractors directly from your dispatch board — the same board used for owned drivers. The subcontractor logs into their dedicated HaulageOps portal. They do not need a separate licence or their own subscription. They see only the jobs you delegate to them, accept or decline, and their status flows back to your board automatically.
- Dedicated portal login for each subcontractor — separate from your admin panel
- Sub sees only their assigned jobs — not your other clients, rates, or operations
- Accept or decline with Mapbox map view showing job locations
- Status updates flow back to your dispatch board without manual intervention
- Separate subcontractor pay rate vs client charge rate — margin stays in the system
- Sub's driver captures POD — visible in your admin and your client's portal immediately
Every active job visible. Nothing disappears into someone's phone.
The HaulageOps dispatch board shows all active work in a single view: owned driver jobs and subcontractor-delegated jobs together. Each job card displays the current status, the assigned driver or subcontractor, the scheduled time, and the pickup and delivery locations.
Status updates happen via Socket.io in real time. When a driver marks a job as Delivered in the app, the dispatch board updates without a page refresh. Dispatchers do not need to call, text, or refresh a spreadsheet to know what is happening across the fleet.
If a job is sitting in Assigned status and the scheduled time has passed, it is visible on the board. Nothing is hidden. Nothing falls through the gap because a driver did not reply to a WhatsApp message. The system shows you the exception so you can act on it immediately.
The board is the single source of truth for dispatchers, traffic planners, and operations managers. Everyone is looking at the same picture of the day's work.
- Job statuses: Assigned, En Route, On Site, Loaded, Delivered, Complete
- Owned and subcontracted jobs consolidated in one view
- Filter by date, client, driver, subcontractor, or status
- Mobile GPS position for owned driver jobs
- Full audit trail — every status change timestamped and attributed to a user
Owned driver and subcontracted jobs side by side — status updates via Socket.io, no page refresh.
What changes when dispatch runs in one system
| Dispatch Task | Manual / Fragmented Process | HaulageOps |
|---|---|---|
| Alerting a driver to a new job | Phone call or WhatsApp. Wait for confirmation. Call again if no response. | Firebase push notification on assignment. Driver accepts in app. Confirmation visible on dispatch board immediately. |
| Sending a job to a subcontractor | Phone call or typed WhatsApp message with job details. No confirmation workflow or audit trail. | Delegated from dispatch board. Sub accepts or declines in their portal. Status flows back automatically — no call needed. |
| Answering a client status query | Call driver. Wait. Call sub. Wait. Call client back 20 minutes later with stale information. | Check dispatch board — current status visible immediately. Client can also check their own jobs in the client portal. |
| Knowing which rate applies | Cross-reference job against rate spreadsheet. Apply manually to the invoice. Risk of using wrong rate version. | Rate applied from client rate card at job creation. Locked to job record. Appears on invoice automatically — no lookup required. |
| Collecting POD after delivery | Chase driver for paper docket. Wait for it to arrive at the office. Hope it isn't lost or illegible. | Driver captures photo and signature at the delivery site. Attached to the job record immediately. No chase required. |
| Generating the invoice | Reconstruct job from notes, cross-check rate from spreadsheet, re-enter into accounting software. | Invoice generated directly from completed job record. Syncs to Xero automatically. No re-entry at any step. |
Built for the people running the operation day to day
Dispatchers and Traffic Coordinators
The primary users of the dispatch board. Create jobs, assign drivers, delegate to subcontractors, and monitor live status across the full fleet without making a phone call to find out what is happening. The board replaces the whiteboard, the spreadsheet, and the WhatsApp group as the authoritative day view.
Traffic Planners
Forward-schedule jobs using the scheduling calendar and job templates. Recurring jobs are set up once and generate automatically. Planners see driver availability across the fleet before assigning — no double-booking, no conflicting schedules, no phone calls to check who is available on a given date.
Operations Managers
Full visibility across active and historical jobs. Every action carries an audit trail — who created the job, when it was assigned, what status changes occurred and when. Management reporting shows fleet utilisation, job completion rates, and client volumes without rebuilding data from spreadsheets after the fact.
Haulage Dispatch — common questions.
Do my subcontractors need their own HaulageOps account?
No. Subcontractors get a dedicated portal login that is included with your subscription. They do not pay separately and do not need their own licence. They see only the jobs you delegate to them — not your other operations, your other subcontractors, your rates, or your client details beyond what is necessary for them to complete the job.
Can I use HaulageOps dispatch for owned trucks only if I don't currently use subcontractors?
Yes. The subcontractor portal is available to you but not required. If your operation is entirely owned fleet, you use the dispatch board to assign owned drivers, track live status via the driver app, and manage POD and invoicing through the full job lifecycle. The subcontractor functionality is there if your network grows or if you take on overflow capacity.
Does the dispatch board require hardware GPS trackers fitted to the trucks?
No. Live tracking uses the GPS on the driver's mobile device via the driver app. This covers the majority of tracking use cases — you see the driver's position and status updates in real time. If you already have hardware telematics installed, keep them — HaulageOps is the operations layer above the hardware. Hardware GPS integration is on the product roadmap but is not a built feature at present.
What happens if a driver loses mobile signal during a job?
The driver app is offline-capable. If the driver loses connectivity — in a quarry, on a remote site, or underground — the app continues to function. Status updates and POD captures are queued locally on the device and synchronise automatically when connectivity returns. No data is lost and dispatchers see the update as soon as the driver is back in range.
Can I track both owned drivers and subcontractors on the same board?
Yes. The dispatch board shows all active work regardless of whether it is assigned to an owned driver or delegated to a subcontractor. Status flows back from both channels — the driver app for owned drivers and the subcontractor portal for external subs. The result is a single consolidated view of everything running that day.
Is there a limit to how many subcontractors I can manage from one account?
There is no fixed published limit on subcontractor portal logins. If you regularly use 20 or 30 subcontractors, all of them can have active portal logins. If you are managing a very large subcontractor network, contact us to discuss enterprise setup appropriate to your scale and volume.
Is there an audit trail of dispatch decisions and job changes?
Yes. Every action in HaulageOps — job creation, assignment, reassignment, status changes, POD capture, invoice generation — is logged with a timestamp and the identity of the user who performed it. If there is a dispute about when a job was assigned, who accepted it, or when delivery was recorded, the audit trail provides the definitive record without relying on anyone's memory or a WhatsApp scroll.
More on the dispatch and tracking workflow
Dispatch Management Platform
The full feature breakdown of the HaulageOps dispatch board — board views, assignment workflows, scheduling and real-time tracking in detail.
View platform detailSubcontractor Portal
How the dedicated subcontractor portal works — job queue, accept and decline, Mapbox maps, status updates, and the data separation between your admin panel and their view.
Subcontractor PortalLive Job Tracking
Real-time status via Socket.io, mobile GPS tracking, push notifications and the mechanics of how live updates reach your dispatch board without hardware telematics.
Live Tracking