CLIENT: Kaaiveld Forwarding NV🇧🇪Belgium

Dunnage - Shipment Tracking Portal and Ops Console for a Freight Forwarder

Shipment Tracking for an Antwerp Freight Forwarder

Designed a shipment tracking portal and operations console for an Antwerp freight forwarder moving ocean and air freight between Asia and Europe, and built the ops console as a clickable demo: shipment files with predicted and carrier ETAs, milestone timelines that show their sources, an exception queue against response targets and carrier data feed health.

Scope of Work
Product design, UI build and clickable demo
Industry
Logistics / Shipment Tracking
Enterprise
Compliance & Certifications
GDPRBelgian Data Protection Act 2018Union Customs CodeICS2ISO 6346UN/LOCODEDCSA Track and TraceCargo iQISO 14083GLEC FrameworkPeppol e-invoicing (Belgium)

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Ops dashboard, shipment files, a shipment file workspace with 10 tabs, the exceptions queue with its exception panel and data feeds health. Every file in the list opens its own workspace.

3 ETAs
Side by side on every file

Predicted ETA with a confidence band, the carrier's ETA and the ETA promised at booking, each labelled with its source and when it was received.

7 Rules
Behind every automatic exception

ETA slip beyond 24 h for ocean or 6 h for air, no event for 48 h in transit, rollover, missed transshipment, customs hold, documents missing 3 days before arrival and free time ending. All thresholds are client policy.

26 Files
Realistic demo data

Ocean FCL, LCL and air shipments in every status for 10 customers, with 7 carriers, 10 vessels, 14 exceptions, 9 data feeds and ISO 6346 container numbers with valid check digits.

The Problem

Kaaiveld's customer service team spent most of the day answering "where is my container?" by email and phone, checking the carrier's website, a vessel tracking site and the forwarding system for each reply. Documents lived in email threads, delays were found when the customer complained rather than when the vessel slipped, nobody could say which lanes and carriers were on time, and large customers were asking for an API.

Our Solution

Dunnage gives Kaaiveld's roughly 600 shipper customers one portal for every shipment from booking to delivery, and gives its operations team a console on the same data: shipment files with every ETA and its source, milestone timelines that flag conflicting events, an exception queue that links one root cause to every affected file, and health checks on each carrier and data feed.

The Challenge: Tracking Data You Cannot Fully Trust

A forwarder does not move the freight itself. Its view of a shipment is pieced together from carriers, AIS positions, airlines, customs and its own forwarding system, and each source can be late, missing or wrong.

Sources That Disagree

A carrier can report a vessel departing at one time while AIS shows it clearing the pilot station seven hours later. Carrier ETAs, predicted ETAs and the ETA promised at booking all differ, and a customer needs to know which one they are looking at.

One Delay, Many Shipments

A vessel that waits to berth or omits a port can hit dozens of files across several customers at once. Without a shared root cause, each coordinator finds the same problem separately, and the customer often hears first from their own buyer.

Identifiers and Event Models

Containers use ISO 6346 numbers with a check digit, vessels IMO and MMSI numbers, air waybills an airline prefix, and locations UN/LOCODE. Ocean milestones follow the DCSA Track and Trace model and air milestones Cargo iQ codes, and events that match no file still have to land somewhere.

Customs, Documents and Title

EU imports fall under the Union Customs Code, with ICS2 safety and security filings at house and master level. Bills of lading can be original, telex release, sea waybill or eBL, and the portal must show their status without ever acting as the title record.

Our Approach: From Forwarding Rules to a Clickable Console

01

Spec and Rules Research

Mapped 12 roles across shipper customers and Kaaiveld staff, 34 screens (17 ops console, 15 customer portal and 2 public) plus 4 slide-over panels, and the data model for shipments, legs, containers, vessel positions, milestone events, documents, customs status, exceptions, alert rules, tracking links, quotes, invoices, emission estimates and webhooks. Wrote down the rules the design follows: the GDPR and the Belgian Act of 30 July 2018, the Union Customs Code and ICS2, bill of lading types and eBL, ISO 6346, UN/LOCODE, DCSA and Cargo iQ events, ISO 14083 and the GLEC Framework, and Belgian Peppol e-invoicing from 1 January 2026.

02

Clickable Demo on a Production UI Kit

Built the ops console's 5 key screens on a production dashboard kit: the dashboard with KPIs, exceptions by type and age, My work by role and an arrivals board for Antwerp, Rotterdam, Zeebrugge, Brussels and Liège; shipment files with filters, bulk assign and a bulk Customs released milestone; the file workspace with route strip, timeline by leg, containers, vessel and voyage, documents, customs mirror, charges and messages; the exceptions queue; and data feeds health. Staff can sign in as 4 roles, and actions run on local mock data.

03

What a Production Build Adds

Integration with the forwarding system (such as CargoWise eAdaptor), container tracking (project44, Vizion or DCSA carrier APIs), AIS positions (Spire Maritime or MarineTraffic), ETA prediction (Portcast), airline status messages, eBL platforms (WAVE BL, essDOCS or Bolero), Mapbox, Postmark, Twilio, Svix webhooks and SSO through Entra ID or Okta. Plus the customer portal and shared tracking links, the milestone inbox, bookings and quotes desk, reports, settings, an audit log and automated tests for cross-tenant data leaks.

Why It Works: Every Fact Shows Its Source

Every ETA Says Where It Came From

The predicted ETA appears as a range with its confidence next to the carrier ETA and the ETA promised at booking, each with its source and received time. When ops overrides an ETA it needs a reason, and the customer sees it as confirmed by Kaaiveld.

Conflicts Are Shown, Not Hidden

The timeline groups events by leg with planned against actual, marks events reported more than 24 hours late and flags sources that disagree, so the coordinator chooses which event the customer sees. Internal events never reach the customer.

One Root Cause, Every Affected File

An exception links all shipments hit by the same vessel or flight, such as one vessel delay across 4 files at 3 customers. Its age runs in Belgian working hours against the acknowledge target, amber at 3 and red after 4, with a suggested customer message ready to send.

Feeds Watched Before Customers Notice

Each feed shows events in the last 24 hours against its 7-day average, error rate and latency, with carrier coverage and failed subscriptions to retry. Every shipment file carries a tracking health dot that turns amber after 48 hours without an event and red after 96.

Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab