ConnectedCargo
AIR CARGO MOBILITY PLATFORM
⇄ Customer TMS synced just now v—
TIME —

Configure & Run

Three steps. Configure your actors, configure the stand-ins for any system without a live connector, then go live.

—

1 · Configure your actors

Each card is one actor type. Open it to edit profiles. The chip on the right shows whether that actor's profile data is actually feeding the live platform, or whether a stand-in is still supplying legacy seed data for that surface.

How profile data feeds the live platform (technical note)

Up through v1.0.c.6, ConnectedCargo ran two parallel stand-in engines: a profile-driven layer on top of a legacy seed layer (6 hardcoded carriers, random truck plans, hardcoded GHA markers). That's why earlier builds sometimes showed flights from airlines you hadn't picked, and trucks that didn't belong to any LSP.

v1.0.c.7 retired the legacy seed engine. state.carriers is now derived from CC.airlines.list(), state.ghas from CC.gha.list() joined to airport coordinates, and the truck network from the union of every LSP's truck-mode lanes. All three reconcile live when you edit a profile in another view.

If you edit profiles and want to see the changes propagate without a full reload, no action is needed — the reconcile hooks fire on every onChange event from the affected registry.

2 · Configure the stand-in systems

Parameters for the synthetic stand-ins that run only where an actor system has no credentialed connector. In a fully integrated deployment none of these apply. The full editors live where each control was implemented; this panel shows the current value and a link to edit. v1.0.c.5 pulls these into native controls on this page.

3 · Go live

Pre-flight checklist. Items marked ✓ are ready; ⚠ means the platform will still start but with a known stand-in in place (e.g. seed carriers if no airline is active).

✈
ConnectedCargo · Control Tower
Air Cargo Logistics — connected mobility platform
—
AWBs today
—
across — airports
On-time %
—
vs — last week
Open exceptions
—
7 types tracked
Avg GHA dwell
—
minutes · cut-off pressure
RFS km today
—
road feeder · GHA ↔ GHA
Saved today
—
vs without CMP
Load factor
—
ULDs / capacity · in-flight
Empty legs
—
% in-flight with 0 ULDs
View mode
Network map Leaflet · OpenStreetMap
EU Network · Live Fleet
0 on-time · 0 at-risk · 0 late · 0 loading · 0 dark
Airport FF-Hub 3P-Hub On-time At-risk Late Loading
📋 AWB Feed live lifecycle transitions
Initialising AWB feed…
⚠ Exceptions 0 open · 0 resolved by Optimization Flow
No open exceptions.
🧠 Background Optimisations €0 saved · this session
Awaiting first background optimisation…
🚚 Delivery ETAs
🚚
ConnectedCargo · Land Transport View
Freight Forwarder dispatcher · SAP S/4HANA TM · pre-pickup & in-transit
—
Connecting to the live platform…
Pre-pickup bookings · today
Trucks dispatched to a GHA · awaiting cargo handover
Bookings
—
Confirmed slots
—
Pending
—
AWB cut-offs known
—
⚠
The dispatcher's blind spot
The TMS knows the planned pickup time and slot booking but has no visibility into the AWB cut-off that the airline cargo division operates against. Without the CMP backbone, the only way to learn the cut-off is by phoning the GHA — typically when the driver arrives. By then it's often too late. The CMP closes this gap by streaming AWB lifecycle events directly into the dispatcher's view.
Booking Truck · Driver AWBs Pickup at Drop at GHA Planned pickup GHA slot AWB cut-off Status
Loading bookings…
Trucks at GHA · live status
Dwell timer ticks up · cut-off countdown ticks down · severity from SLA · rates · cost settings
At GHA now
—
Within SLA
—
Cut-off pressure
—
Exceptions
—
⏱
Real-time dwell & cut-off pressure
Every truck checked in at a GHA dock has two clocks running: dwell (how long it has been sitting there) and cut-off countdown (how long until the AWB cut-off). When either crosses its SLA threshold, the row flips to EXCEPTION — the trigger point for the back-office workflow that Card ac_s2_c visualises.
Truck · Driver AWBs GHA Slot Arrived Dwell Cut-off in Status
Loading at-GHA trucks…
Exception escalation flow · the headline value story
When an exception fires, two paths diverge. Click ▶ Play walkthrough to compare them step by step.
Without CMP · agent-handled
~55 min
8 manual touchpoints · context lost on shift change
With CMP · auto-routed
~5 s
6 automated steps · full audit trail
Delta
660× faster
enables next-flight rebooking before cut-off expires
👥 Without CMP — agent path
  1. T+0:00 Exception triggered — truck flagged as dwell-breach at GHA-MNZ-AMS
  2. T+2 min Alert email sent to back-office agent queue
  3. T+12 min Agent picks up the alert (after working through prior queue)
  4. T+18 min Agent phones airline cargo desk · waits on hold · explains the situation
  5. T+35 min Airline desk decides on alternative — next-flight rebook (often missed cut-off by now)
  6. T+42 min Agent re-keys the new booking into the TMS
  7. T+47 min Agent updates the CMS / iCargo with the new AWB status
  8. T+50 min Notifies the consignee by email
  9. T+55 min Updates SAP for billing · done · context unrecoverable on next shift
⚡ With CMP — auto-routed
  1. T+0.0 s Exception triggered — Flink stream-processing flags dwell breach
  2. T+0.2 s Kafka event dwell.breach.detected published to all subscribers
  3. T+1.0 s Optimization Flow re-evaluates · considers 14 alternative routings
  4. T+2.0 s Decision: reroute to GHA-WFS-AMS · next available slot 14:30
  5. T+3.0 s Decision propagated · TMS + CMS + WMS write-back complete
  6. T+5.0 s Driver app + GHA operator notified · audit trail captured · done
✈️
ConnectedCargo · Airline / CMS View
Airline Cargo Division · iCargo (IBS) · AWB lifecycle & slot capacity
—
Shipments in CMS ⓘAll Air Waybills (AWBs) booked into our airline's cargo management system right now. One AWB = one shipment contract.
—
total AWBs in flight cycle
Safe to load ⓘMore than 30 minutes until the flight's cut-off (the deadline by which cargo must reach the ground handler). No urgent action needed.
—
> 30 min until cut-off
Needs attention ⓘLess than 30 minutes until cut-off and not yet checked in. Operator should escalate to driver / GHA / freight forwarder.
—
< 30 min until cut-off
Missed cut-off ⓘCargo did not reach the GHA in time — it will roll to the next available flight. Generates rebooking + customer credit costs.
—
rebooking to next flight
Open issues ⓘOpen exceptions only the airline can fix: aircraft-on-ground, capacity squeeze, slot reallocation, wrong-airport diversion, AWB misconnect.
—
airline-actionable
Connecting to the live platform…
Shipment journey · live tracking
Every row is one shipment moving through the 8-stage airline cargo lifecycle. Hover any chip for plain-language explanation.
—
Shipment journey · how to read this section
📦
AWB = Air Waybill — the shipment's tracking + contract number (e.g. 074-12345678). One row per AWB.
🛫
Lifecycle strip — the 8 IATA milestones the shipment passes through, left → right. Current stage is highlighted in blue. Hover any tile for its plain-language meaning.
🟢
ULD chip (e.g. AKE12345KL) = the airline container holding the cargo. Number is the load (% of cube/weight used). ❄ = refrigerated container.
⏰
Cut-off pill — the latest moment cargo can reach the GHA to make its flight. Green = safe · amber = within 30 min · red = missed.
⚠
Demurrage warning — the container is sitting at the consignee past its free-time (default 72h). €25/day is accruing. Click ⚠ Demurrage filter to see only these.
👆
Click any AWB number — opens the full detail drawer with leg-by-leg journey, status timeline, and active exceptions.
Loading AWB pool…
Container fleet · pool health
Every airline container · where it is · what it's doing · what's accruing demurrage. Hover any chip for the full story.
—
Total fleet ⓘAll Unit Load Devices (containers + pallets) the airline owns or has on lease. Each one is a €5K–€15K asset.
—
containers + pallets
Earning ⓘCurrently carrying revenue cargo: built (cargo loaded inside), loaded (manifested on flight), in-flight, or landed at destination.
—
built · loaded · in-flight · landed
Idle ⓘNot generating revenue: empty + waiting at a station, or in empty-repositioning back to a hub. Pool rebalancing target.
—
available · empty-returning
At consignee ⓘDelivered to the recipient and not yet returned. 72-hour free-time then €25/day demurrage starts accruing.
—
awaiting return
Leaking € ⓘContainers past free-time — demurrage is accumulating right now. Click ⚠ Demurrage filter to see them all.
—
accruing €/day
Container fleet · how to read this section
📦
Container ID (e.g. AKE12345KL) — IATA-format: 3-char type + serial + owner code. Click for full detail later.
📐
Types — AKE/AAY are LD-3/LD-2 belly containers (lower deck). PMC/PAG are main-deck pallets. RKN/RAP are refrigerated (cold-chain).
🔵
Status badge — current state in the container's life: available · built (cargo inside) · loaded (on flight manifest) · in-flight · landed · at customer · empty-returning · damaged.
📊
Load % — how full the container is, by cube and by weight. Red > 95% (over-full) · amber 85–95% (high) · green < 85% (room).
⚠
Demurrage clock — when a container sits at the consignee past 72h free-time, €25/day accrues. The "Leaking €" stat above is the running total.
🔄
Pool rebalancing — too many idle in one hub + shortage in another = leases at premium. The CMP detects imbalance and triggers cheap repositions.
Loading container fleet…
GHA slot board · airline-side capacity
Time-slot grid per dock · drag-to-reschedule · capacity heatmap
08:00
FULL
08:30
78%
09:00
42%
09:30
—
10:00
61%
10:30
FULL
11:00
33%
11:30
18%
When the GHA slot board lands, the "wrong slot" and "manpower shortage" scenarios become visual: you'll see slots fill up, watch a truck arrive late to a closed slot, and observe the airline operator reshuffling assignments in real time.
CMS exception queue · airline-actionable
Assigned agent · minutes since raised · resolution path — agent-handled latency beside the CMP seconds (same data, two timelines)
Connecting to the exception store…
Bidirectional TMS ↔ CMS sync · live Kafka stream
Same event bus, two operators — truck-side TMS records (left) and airline-side CMS records (right) syncing in real time. Centre spine shows events crossing the boundary both ways.
Connecting to the Kafka stream…
🔥
ConnectedCargo · ULD Recovery Cockpit
Airline Cargo Division · 6 use-case-driven KPIs · live value-leakage recovery
—
Loading KPIs…
Connecting to the live decision ledger…
ULD Pool Map · live network
Every container by station · bubble = count · colour = health · live flights (ADS-B) with ULDs on board reconciled to the aircraft · click any hub or flight to drill in
…
⚡
Live decisions · act now
One ranked worklist across every decision type · resolved through the active optimisation engine · captured € flows to the panel above
💰
ULD Cost Recovery
Running €-saved totals · demurrage · repositioning · damage · capacity
🚪
GHA Slot Allocation Board
Dock-door bookings · trucker · AWB · double-book + wrong-slot conflicts
ULD recovery priorities · adjust live
4 levers · which ULD leaks the CMP prioritises right now. Changes take effect immediately and persist.
These levers apply when the optimisation engine has authority to act. If the airline's actor-side engine is selected, or optimisation is off, levers only inform manual recommendations — they don't auto-execute.
⚠
Demurrage avoidance
Use case · Demurrage — ULDs held past free-time at consignee · €25/day per ULD
Σ daysPast × €25/day
The leak: Industry-typical mid-size carrier loses €4M-€12M/year here. A ULD sits at the consignee unnoticed; €25/day accrues silently for weeks before AR catches it.
What CMP does: Streams a per-ULD demurrage clock. The instant a free-time threshold is approached, Optimization Flow picks the cheapest recovery strategy and orchestrates 5-7 actor systems automatically (see ULD Demurrage Heat below for the live picture and recommendations per row).
📊
Load-factor uplift
Use case · ULD under-utilisation — flights leaving with capacity unsold
ΔpctVsBaseline × €52K
The leak: Industry avg load factor ≈ 72%. Every point below 87% (CMP target) leaves ≈ €520/flight on the table. €18M-€40M/year for a mid-size carrier.
What CMP does: ULD-aware booking + consolidation across AWBs. Optimises type mix (LD-3 vs PMC) for the booking pattern. Embedded widget below shows live current load factor against industry baseline and CMP target.
🔄
Pool balance
Use case · Pool imbalance — surplus at one hub + shortage at another → lease at premium
Σ shortagePremium + surplusDeadhead
The leak: Surplus at one hub forces empty deadhead repositioning (€0.50-€2/km). Shortage at another forces emergency leases at €30-€60/day premium. €3M-€8M/year for a mid-size carrier.
What CMP does: Continuous re-balancing recommendations based on forward booking demand. Pool balance network map will land in v0.9.50. Current snapshot from the Container Fleet section below.
🗺
Pool balance network map · v0.9.50
Geographic visualization with each hub colored by surplus / balanced / shortage. Drill into any station to see its pool composition and active rebalancing moves.
→ For now, see the Container Fleet section on the Airline / CMS view
🔧
Damage prevention
Use case · Damage cycle — ULDs damaged at handover · repair downtime + replacement
damaged × €1500 + downtime
The leak: ~25% of ULDs damaged per year (industry average). Avg repair €500-€5K. Each damaged ULD is out of service for 5-15 days. €2M-€6M/year.
What CMP does: Cross-actor inspection orchestration · ML pre-detect from handover photos · auto-routing to nearest repair station · demand-aware replacement booking.
📷
Damage inspection cockpit · roadmap
Photo-based damage flagging from GHA handover · ML severity score · auto-routing. Currently visualised via the damaged status filter in the Container Fleet section.
📡
Asset integrity (loss tracking)
Use case · Loss / misrouted — ULDs gone missing in the network · replacement cost + tracking effort
lost × €10K replacement
The leak: 1-3% annual loss rate × €10K replacement cost = €1M-€3M/year for a mid-size carrier.
What CMP does: Continuous location reconciliation across TMS + GHA WMS + CMS. Anomaly alerts when state changes lag expected milestones. Roadmap.
🔍
Asset trace · roadmap (v0.9.51+)
Cross-system reconciliation · last-seen station · last-known AWB · trace orchestration to recover the asset.
❄
Cold-chain integrity
Use case · Reefer breach — RKN/RAP temperature excursion · cargo spoilage + insurance leakage
breaches × shipment × probability
The leak: Reefer ULDs (RKN/RAP) carry pharma, vaccines, perishables. A single 2-hour breach can spoil a €20K-€500K shipment. Industry breach rate ~5-12% of reefer moves.
What CMP does: Telematics streamed continuously into Flink · pre-breach prediction · auto-reroute to nearest power-equipped repair · customer + insurer notified in one orchestration. Roadmap.
🌡
Reefer monitoring · roadmap (v0.9.51+)
Per-ULD temperature timeline · breach detection · cargo-value-aware reroute. Today the Container Fleet section flags RKN/RAP with ❄ badges so you can see the active reefers.
⚖️
ConnectedCargo · Compliance
Air-cargo compliance twin · DGR 9.3.A · ULDR · Cargo iQ · ONE Record · standards conformance
● checking…
The ULD
Already loaded
Scan a piece into the ULD
Scan a piece to run the DGR 9.3.A / ULDR / ΔW gate.
IATA ONE Record projection TransportMovement → ULD → Piece → Waybill (JSON-LD)
Standards conformance self-test
ULD journey touchpoint progress · compliance status at each stage · click a stage for detail
🏢
Airline Profiles
Configure the carrier the platform runs on behalf of · AWB volume · exception rate · fleet mix · schedule
Active —
Loading…
✈️
Select an airline to edit
Choose from the list or click "+ New airline" to create one.
🛬
GHA Profiles
Ground handler network · stations · SLA · capacity · drives dwell time and exception probability at every ground touchpoint
—
Loading…
🛬
Select a GHA to edit
Choose from the list or click "+ New GHA" to create one.
🚚
LSP Profiles
Logistics Service Providers · road / rail / intermodal lane network · connectivity tier · resolution tier · drives RFS routing in the digital twin
—
Loading…
🚚
Select an LSP to edit
Choose from the list or click "+ New LSP" to create one.
📋
Freight Forwarder Profiles
Demand-side actor · airline allotments · LSP rate cards · drives AWB demand split (direct vs FF-mediated)
—
Loading…
📋
Select an FF to edit
Choose from the list or click "+ New FF" to create one.
🤝
Contract Matrix
Airline × Airport × GHA · SLA tier · pricing · penalties · drives every ground touchpoint on the platform
—
Gold Silver Bronze
Loading…
⚖
ConnectedCargo · Optimization Flow · Priorities
Configure what the CMP optimises for · 6 weights · 4 ULD levers · engine choice · live preview
—
When do these priorities apply? These weights and levers govern the CMP-embedded optimisation engine. If the actor (airline / FF / GHA) uses their own optimisation system, only manual paths consult CMP — priorities here inform CMP's recommendations but do not auto-execute. If optimisation is off, the platform falls back to manual workflows. Roadmap: per-actor optimisation source (CMP / Own / None) lands in v0.9.52.
📘 How optimisation works — setup & process guide (click to open)

In one line: this page decides how the platform fixes value leaks — you set the priorities, pick the “brain” (engine), then watch and compare. Full reference: OPTIMISATION-GUIDE.md.

1
Set priorities
Drag the Objectives (6 weights) and ULD levers, or pick a Preset (Balanced, Cost-first, SLA-first…). This is what to optimise for.
2
Pick an engine
The “brain” that turns priorities into recommendations — from simple heuristics to industrial (OR-Tools), quantum (QAOA), the self-learning Adaptive engine, and the offline-trained Deep-RL policy.
3
Watch & compare
The Live preview re-ranks instantly; Run benchmark pits every engine against the same scenario; the Training & engine status dashboard (below) shows how the learning engines improve.
The engines, in plain terms
  • Greedy / Bin-Pack / Pareto — fast, explainable heuristics. Good default.
  • MILP / Network-Flow — exact optimisation; provably-optimal selection / routing.
  • 🛠 OR-Tools CP-SAT — industrial constraint solver (needs the backend service).
  • ⚛ Quantum QAOA — QUBO on IBM Quantum (runs on the Aer stand-in; needs backend + qiskit).
  • 🧬 Adaptive — our own engine; learns live from real outcomes. No setup.
  • 🤖 Deep-RL — offline-trained policy; improves via a nightly auto-retrain loop (needs backend + training).
The two “learning” engines
  • 🧬 Adaptive = learns live, every outcome, in the browser. Just select it. See its learning panel under the engine picker.
  • 🤖 Deep-RL = trained offline; a gated nightly loop retrains it on real data and promotes a new policy only if it’s better. Tracked in the dashboard below.
What “good” looks like (executives)
  • € recovered rising in the benchmark.
  • Deep-RL “improved N×” over time; Adaptive maturity % climbing.

⚙ Engines marked “needs backend” use the local solver service (auto-starts at login). The rest run in the browser. If a backend engine shows a “fallback” note, the service or model isn’t available yet — the platform keeps working on the in-browser fallback.

Presets
Optimisation objectives
What the CMP weighs when choosing between solutions — cost, ETA at every milestone (pickup · drop-off · loading/cut-off · unloading), aircraft & ULD load factor, CO₂, SLA, customs. These weights drive every decision across the platform. Sliders auto-normalise to sum 100.
Σ —
ULD KPI levers · which leaks to prioritise
Where the CMP focuses recovery effort. Higher value = higher priority. Independent sliders 0-100.
Optimisation engine
Which solver runs under the hood. Auto-suggest picks the best fit for the most-leaking KPI right now.
Live preview · top recommendations re-ranked
5 active CMP recommendations · drag any slider to watch the ranking move
Computing live preview…
Engine benchmark · all engines, same scenario
Runs the current snapshot through every registered engine and compares €-recovered, objective value, and solve behaviour side by side. Server-side engines (OR-Tools, Quantum) use their last result or classical fallback if the service is offline.
Click Run benchmark to compare all engines on the live scenario.
Training & engine status
How the learning engines are doing — a plain-language summary up top, the full champion/challenger retrain history below.
Loading training status…
🚨
Exception Catalog
The canonical rule-set that DRIVES EIE detection — author detection rules over live signals, SLA & compliance, per-tier resolution playbooks; tenant-scoped, standards-aligned
—
Loading…
🚨
Select an exception type to edit
Configure triggers, affected actors/KPIs, and per-tier resolution paths.
🧾
Decisions · resolution ledger
Every decision, mapped to the actor accountable for it · filter · drill into recovered cost, impacted actors, SLA & communication flow
—
Initialising decision ledger…
⚡
ConnectedCargo · Decisions Feed
Live CMP topic stream + Flink decision records · subscribed to CC.kafka
—
Live stream 0 events shown
Awaiting first event…
🔑
Role Manager
Define personas/roles · assign widgets + allowed pages · prelude to role-based login
—
Loading roles…
👥
User Manager
Assign users to roles · preview with “View as” · prelude to role-based login
—
Loading users…
🔌
Systems Registry
TMS · CMS · WMS · CCS · Customs · Gateway systems · API endpoints + IATA Cargo-IMP EDI catalog + Kafka topics
—
Loading…
🔌
Select a system to inspect
Choose from the list to view API endpoints, EDI catalog, and Kafka topics.
🧪
ConnectedCargo · Sandbox Studio
Edit the mock authorities · build a scenario · run any touchpoint against the twin — offline, no CMP
● checking…
Pick a scenario then watch it flow through every layer of the twin
Loading scenarios…
The twin, end-to-end Event Intelligence → compliance → case → decision → governance → Cargo iQ → value recovery
Pick a scenario and press ▶ — each stage lights up as the twin works it.
🔌 Systems & connectivity every registered system · what it feeds the twin · connected vs not piloted
Checking connectivity…
Stand-in systems 🧪 synthetic mocks — none are live
How to use: each card is a stand-in for a real system. Change what it returns (e.g. set ICS2 → RFS, or Customs → HOLD), then on the right pick the matching touchpoint and press ▶ Run — the twin evaluates against your setting and shows the verdict. Nothing here touches a live integration.
Scenario
Saved scenarios
Scenario pack portable JSON — systems · shipment · scenarios
Twin decision verdict · validator ladder · divergence
Edit a system, pick a touchpoint, and Run.
💰
ConnectedCargo · Value Recovery
The margin engine · detect → predict → attribute → recover → prove · a live leakage→recovery P&L
Leaking now · by use-case predictive · one-click Recover runs the decision engine
Recovered · by use-case proven · from the decision ledger
Accountable actors
Impending leaks · ranked by urgency € × probability ÷ lead-time · recover before it crystallizes
Learned recovery strategies champion per use-case · improves with every recovery
📦
ConnectedCargo · ULD Management
One workspace for every ULD capability · UNIE™ predicts shortages & surpluses & optimizes repositioning — widget-based, and it learns from every outcome
● checking…
View mode ULD-only widgets · add / drag / resize / remove · your layout is saved
💧
ConnectedCargo · Value Leakage
Air-cargo annual leakage · MCP × Optimization Flow recovery model
—
Connecting to the live platform…
📈 Annual projection model — scenario planner: tune tier · MCP · Optimization Flow placement
Viewpoint
Volume tier
MCP Human Signal Normalisation
Optimization Flow placement
Annual leakage
—
Sum of 6 air-cargo use cases at the selected tier
Recovered with CMP
—
At the active MCP × Optimization Flow combination
Residual leakage
—
What still slips through · backlog for next-gen optimisation
Net CMP value
—
Recovered vs the agent-only baseline (no MCP · actor-side OF)
Use case breakdown
€/year shown is recovered with CMP at the active MCP × Optimization Flow × tier combo. Bar = % of the largest recovered use case in this viewpoint.
⚙
ConnectedCargo · Architecture
Connected Mobility Platform · digital + human signals into one event stream
3.8M events/day — 99.94% uptime
MCP layer:
Optimization Flow placement:
Human-signal latency: ~5 seconds 45–90 minutes
— ↳ hover for per-use-case breakdown
Total addressable / yr
€—
Recovered (with CMP)
€—
Residual leakage
€—
vs without CMP
—
CONNECTED ASSETS & SIGNALS CONNECTED MOBILITY PLATFORM ENTERPRISE SYSTEMS 🚚 Truck Telematics GPS · ePOD · 120 trucks CONFIGURE 📦 AWB Scanners @ GHA Barcode · RFID · cut-off events CONFIGURE 🚪 Dock Door Sensors Slot occupancy · dwell timer CONFIGURE 🛬 Flight Schedule Feed SSIM · OAG · live OTP CONFIGURE 🛃 Customs + X-Ray Clearance status · screening BUILD 📞 Phone calls · radio Driver ↔ dispatcher ↔ GHA BUILD 💬 Chat · WhatsApp Operational coordination BUILD ✉ Email · agent notes Exception reports · status updates BUILD Apache Kafka Event streaming · 8 topics EXISTING Apache Flink Stateful stream processing EXISTING 🧠 MCP — Human Signal Normalisation Voice · Chat · Email → typed, auditable Kafka events BUILD Data Collection & Normalisation Schema registry · Avro · ProtoBuf EXISTING Computations & Automated Workflows AI · ML · IoT · stateful analytics EXISTING AWB Lifecycle Tracking Slot & Dwell GHA orchestration Exception Triage Auto-route Control Tower ⚡ OptiFlow · 14 engines Constraint-aware multi-objective · feeds the Decision Intelligence layer ↓ BUILD ⚪ No central optimisation engine CMP routes events; actors decide locally (see right column) GHA Operator App Tablet · slot board Truck Driver App Phone · ePOD FF Dispatcher Web Browser · live ETA Open API · Microservices · Webhooks REST · GraphQL · event subscriptions EXISTING 🚚 Freight Forwarder TMS SAP S/4HANA TM CONFIGURE ✈ Airline Cargo Division CMS iCargo (IBS) CONFIGURE 🏭 Ground Handling Agent WMS Hermes CONFIGURE 📊 Customer ERP SAP · Oracle · MS Dynamics CONFIGURE 🛃 Customs Broker Clearance · duty calculation BUILD 💰 Finance / Billing Invoicing · settlement CONFIGURE ⚡ Optimization Flow ⚡ Optimization Flow 👥 Agents Local opt → MCP normalises 👥 Back Office Agents manual triage · re-key into TMS/CMS/WMS · phone airlines 45–90 min per exception · no audit trail · context lost on shift change manual re-key
🧠 Decision Intelligence Layer — how every exception is resolved
DECISION INTELLIGENCE LAYER constraint-aware · explainable · governed · rules-as-data (synthetic → real) ↩ outcomes train the adaptive + deep-RL engines · safe-RL guard ⚠ Exception cut-off · delay · diversion customs · imbalance Candidate options re-book · re-route expedite · hold · interline Feasibility filter CC.policy · hard rules drop illegal options Multi-objective score KPI ⊕ net-€ confidence-weighted Validate systems of record defer · reconcile Explain & audit resolution dossier cited · provenance Human-in-the-loop accept · reject override + reason Factor domains A–H · rules-as-data (synthetic → real) A · Contracts B · Regulatory C · Operational D · Weather/NOTAM E · Network F · Cargo (DG/PER) G · ULD airworthy H · Modal (CMR/ADR) Validate vs systems of record ✓ IATA DG AutoCheck · iCargo ✓ Customs / community · Cargospot ✓ Airline CMS (dry-run) · GHA WMS Governance & safe learning Safe-RL guard Policy versioning Audit ledger Drift monitor
EXISTING — in production · no change needed 7
CONFIGURE — template/connector exists · customer-specific tuning 11
BUILD — net-new for this customer 7

With MCP — human signals become events

  • Single event stream — voice (phone, radio), chat (WhatsApp, Teams), email and agent notes all flow through MCP and end up as typed Kafka events alongside the digital telemetry. One source of truth.
  • Audit-grade — every human signal is captured, timestamped and attached to the affected AWB / shipment / slot. No more "Bob mentioned it on the phone but I forget when".
  • Optimization Flow can act on humans — when a driver radios "I'm stuck at customs for 40 min", MCP turns it into a `dwell.exception.predicted` event. Optimization Flow reroutes the next slot before the truck even leaves the dock.
  • Embedded, not parallel — MCP lives inside the CMP trust boundary. Same security, residency and tenancy as the rest of the platform. Not a separate AI bolt-on.

Without MCP — human signals go to back-office agents

  • Two separate worlds — digital telemetry flows through the CMP cleanly. Human signals (phone, email, chat) still queue at the back office for manual triage. The two never join in real time.
  • Lost context on shift change — what the day-shift agent learned on a phone call rarely makes it into a system. Night shift starts cold.
  • Manual re-keying — agents read the email, decide what to do, type it into TMS / CMS / WMS individually. Each system update is a separate human action. Most errors creep in here.
  • Optimization Flow flying blind on the human stream — the optimisation engine only sees what's already in Kafka. The 30% of operational reality that lives in phone calls and emails never reaches it. Decisions are sub-optimal because the input is incomplete.
🚧
Driver App
Coming Soon
Deferred — a dedicated driver-facing mobile UI (slot confirmations, dock arrival, exception capture) is a later mobile task, not part of the current backend-wiring programme.
🛠
ConnectedCargo · MRO App
Repair-shop technician · complete dispatched repairs → return ULDs to service
View mode MRO / repair widgets · add / drag / resize / remove · your layout is saved
❓
ConnectedCargo · Help & Playbook
What each page does · the EIE service backends · the compliance & real-time toggles

What this is

A cargo control-tower Digital Twin. The browser is a thin client; the intelligence — event detection, the case spine, the decision/policy/governance engines, and the air-cargo compliance vertical — runs on the EIE service. Off (default) everything runs in the in-browser sandbox; point it at the service to delegate, byte-identically, with graceful fallback.

The menu, by group

  • Configure & Run — set up the network + actors, configure the stand-ins for anything without a live connector, and go live.
  • Live Operations — Control Tower (the cockpit), Land Transport, Airline/CMS (iCargo-style AWB lifecycle + the IATA message adapter), ULD Recovery, and Compliance (the new air-cargo compliance surface — see below).
  • Actor Network — Airline / GHA / LSP / FF profiles + the contract matrix.
  • Decision Engine — Optimisation weights, the Exception Catalog, the resolved-Decisions ledger, and the Decisions Feed (the live event stream — real when the event bus is on).
  • Integration — the Systems registry (TMS/CMS/WMS/…): API endpoints + EDI catalog, and the live connector + validator ladder when the compliance backend is on.
  • Value Story — the per-use-case value-leakage breakdown.
  • Access & Roles — personas/roles + user management (prelude to role-based login).
  • Setup — Architecture and this Help page.

Turning on the server backends

Open Configuration (the ⚙ control on the Control Tower) and set the EIE service URL (e.g. http://127.0.0.1:8091). Then flip the toggles you want:

  • 🧠 Event Intelligence — derive typed, priced exceptions from live signals + learning.
  • 🛰️ Server-authoritative case spine — one shared case store, live across tabs/stations.
  • 🧠 Server-side decision layer + 🛡️ policy gate — the thin-client decision engine + safe-RL feasibility gate.
  • ⚖️ Air-cargo compliance vertical — the 30-rule compliance profile (DGR 9.3.A · ULDR · ΔW · T1–T6), the ONE Record semantic layer, the Cargo-IMP/XFFM message adapter, Cargo iQ milestones, the connector seam, and the conformance self-test. Powers the Compliance page.
  • 📡 Real-time event bus — telemetry drives the compliance chain; the derived compliance.* events stream live on the Decisions Feed. At deploy the in-process bus becomes Kafka + Flink — same shapes, same topics.

The Compliance page (Live Operations · ⚖️)

  • Build-up (as-you-scan) — scan a piece into a ULD; the twin runs DGR 9.3.A segregation + ULDR + ΔW and returns ACCEPT/REJECT with the cited dossier, the Cargo iQ RCS milestone, and the case it opens. A non-compliant build-up prevents the CMS FUC/XFFM.
  • ONE Record — the IATA ONE Record JSON-LD projection of the build-up graph.
  • Conformance — the standards self-test (ONE Record / Cargo-IMP / DGR / Cargo iQ / PLACI / event envelope). Certification against the real authorities is a deploy-time step.

Quick-start

  1. Set the EIE service URL + turn on the compliance vertical and the real-time event bus.
  2. Open Compliance → Build-up and scan the class-5.1 oxidizer into the class-3 ULD → watch it REJECT (9.3.A), block RCS, and open a case.
  3. Open Decisions Feed, click Run telemetry build-up → the real signal.telemetry → compliance.* events stream in.
  4. Open Systems to see the live connector + validator ladder; Airline/CMS to paste a FWB/XFFM through the message adapter.