ACTS · Air Cargo Terminal System

An air cargo terminal system you can actually click through

End to end: from the forwarder truck at the gate to the consignee signature on import — RFC acceptance, ULD build-up, a 640-position ASRS, aircraft loading, and IATA Cargo-IMP EDI. Open it in a browser and start playing; nothing to install.

8
working screens
640
ASRS positions
4
ETVs running at once
154
automated tests passing
Why it matters

Losses in an air cargo terminal happen where the system never stopped anyone

None of these are fixed by more training, because they depend on memory and eyesight for a whole shift. They are fixed by a system that blocks at the point of failure.

Dangerous goods reaching the aircraft

A DGR declaration that does not match the cargo passes a visual check

Fines · seizure · flight safety risk

Misload

A piece is scanned into the wrong ULD and nobody knows until the load sheet disagrees

Six figures per event, plus offloaded cargo

ULDs sitting in the warehouse

Nobody can see which unit has been idle for how long

Runaway ULD rental · spoiled perishables and pharma

Missing EDI messages

FSU / FFM not sent, or sent late, because they are still typed one by one

Customers cannot track · airline SLA penalties

Re-keying across systems

The same data is typed 3–4 times between acceptance and flight close

Compounding errors · no audit trail

Live demo

Play with the real thing right here

This is the same file we carry on a thumb drive to on-site presentations. The whole system is one file, fully functional with no internet connection.

ACTS Terminal Flow

This application is designed for 1920×1080. On a phone it will be tiny — open it on a computer, or tap "New tab" and rotate to landscape.

How to drive it in 30 seconds
Auto Press once and let go — the system narrates itself from gate arrival to import delivery, switching screens as it goes
Overview Keep it on and the whole scenario plays on the Terminal Flow page alone — the big picture in one shot
A / B Scenario A "normal day" or B "bad day" with four disruptions
1x 2x 4x Speed it up — the full story finishes in two minutes
? button Top right of every page: what this screen does, who uses it, and how it links to the others
Interrupt anytime Press any control while auto-playing and it waits for you; press Auto to resume
What changes for you

How the working day actually changes

The question customers really ask is not what features exist, but where the daily job gets easier.

Daily task Before With ACTS
Acceptance (RFC) Documents checked by eye and memory; a miss is found when the fine arrives All four gates checked — Data / DGR / Security / Airworthiness. Fail means you cannot accept it at all
ULD planning Segregation table looked up in a manual, or remembered; a mistake shows up as a rejection at destination Conflicting SHCs are caught and split into a new ULD automatically, with the rule quoted
Scanning into a ULD Wrong ULD still closes; discovered when the load sheet disagrees The wrong scan locks the ULD immediately and names the correct one; fixing it unlocks automatically
Finding a ULD Walk the floor, make calls, open several systems A 3D map of all 640 positions — hover for flight, weight, temperature and dwell time
Idle stock Discovered when the ULD rental invoice arrives, or when the perishables have spoiled Heatmap turns red past 8 hours of dwell, so the supervisor clears it before it costs anything
Closing a flight FSU typed one AWB at a time, regularly missed, no proof of sending One button fires FSU-DEP for every AWB plus FFM and UCM, each with a recorded timestamp
"Where is my shipment?" Ask around several departments; sometimes the answer is tomorrow Open the AWB and read its whole timeline with every FSU attached — answered in ten seconds
Flight delay Rebuild the whole build-up plan by hand, slowly and error-prone The system re-plans automatically, shifts cut-off, re-queues work and pulls in cargo that would have missed
Payload overrun The supervisor picks what to cut, then argues with sales The system proposes the least damaging set with full reasoning, and books the next flight for the customer
Disputes Evidence hunted across paper and multiple systems for a day Everything on one screen, from the first FWB to the consignee signature, each with a timestamp
Training new staff Weeks, with a buddy alongside Every screen explains itself via the ? button, with a running narration bar — up to speed within one shift
Data entry The same record typed 3–4 times between acceptance and flight close Entered once; every screen, KPI and EDI message reads from the same state
Who benefits

Who has an easier day

One system, a different win for each role.

Floor staff

Acceptance · Build-up · Loading

  • No need to memorise the IATA manuals — the system says what is wrong and what to do next
  • Much harder to make a mistake, because it blocks rather than merely warns
  • No waiting on the supervisor for every unusual case
  • No paperwork to catch up on after the shift

Shift supervisor

Shift control

  • All outstanding work on one screen — no walking the warehouse to find out
  • Priority set automatically by time remaining to cut-off
  • Flights approaching cut-off change colour before it is too late
  • Idle stock surfaces on the heatmap before it becomes a cost

Management

Management

  • KPIs counted from real work, not numbers somebody typed in
  • Terminal status available without phoning anyone
  • Complete evidence for every AWB when a dispute arises
  • Lower fines, damages and runaway ULD rental

Customers and airlines

Forwarder · Airline

  • FSU / FFM on time and complete — customers can self-track
  • Cargo does not miss the flight, because cut-off is enforced early
  • Fewer rejections, because problems are caught at acceptance
  • Historical evidence available immediately, not in a day
Inside the system

Eight screens where every button works

Every image below is captured from the same application you can play with above.

Terminal Flow — the whole terminal on one screen
01

Terminal Flow — the whole terminal on one screen

The top lane is export (gate → acceptance → build-up → ASRS → dolly → aircraft); the bottom lane is import running back the other way. Cargo boxes move along the lines only when the system actually changes that shipment's status.

  • All 640 ASRS positions in the middle
  • Two aircraft filling and emptying as you watch
  • Pure Canvas 2D at 60fps
Dashboard — the management view
02

Dashboard — the management view

Five KPIs counting up from the live simulation, a six-flight timeline with cut-off markers, a 24-hour throughput chart against plan, and three occupancy donuts.

  • Every number reads from one world state
  • Live activity feed
  • Flights near cut-off change colour
Landside — acceptance and RFC
03

Landside — acceptance and RFC

Eight truck docks with timers, and an acceptance queue with four RFC lights (Data / DGR / Security / Airworthiness) — one AWB deliberately fails DGR so you can see the block work.

  • Failing means it cannot become ACCEPTED
  • No FSU-RCS sent; moved to the DG hold area
  • Forwarder notified automatically
Build & Break — ULD planning
04

Build & Break — ULD planning

Per-ULD build plans with weight bars, IATA DGR segregation warnings, three workstations, and a job queue ordered by priority with the reason shown.

  • Conflicting SHCs split into a new ULD automatically
  • Misload alert locks the ULD
  • Every warning quotes the actual rule
ULD Store 3D — the automated store
05

ULD Store 3D — the automated store

4 aisles × 2 sides × 16 bays × 5 levels = 640 positions, with four ETVs travelling horizontally and vertically in separate aisles simultaneously. Orbit it with the mouse.

  • Slots chosen by retrieval order, not nearest gap
  • Hover a ULD for flight, weight, temperature and dwell
  • In production this talks to the ETV PLC directly
Airside — loading and flight close
06

Airside — loading and flight close

Six dolly docks, a checklist following the loading sequence, and an aircraft hold diagram that fills position by position as the team ticks each unit off.

  • Wrong position warns before the door closes
  • Confirm departure fires FSU-DEP + FFM + UCM
  • Every message has a recorded send time
Flights & AWB — the audit trail
07

Flights & AWB — the audit trail

Flight and shipment tables you can sort, search and filter on any column; click a row to open the full lifetime timeline of that AWB.

  • Every status carries a timestamp
  • The actual FSU sent at each point is attached
  • House waybills shown under the master
Messages — Cargo-IMP EDI
08

Messages — Cargo-IMP EDI

An EDI log in Cargo-IMP format (FWB / FHL / FFM / FSU / UCM). Expand any line for the real raw message with a line-by-line explanation.

  • Generated from real events, never typed
  • Timestamps are the moment the event happened
  • Instant answer when someone says a message never arrived
Guardrails

Ten points where the system blocks rather than warns

The core of the proposal — each one quotes a standard the industry actually uses, and tells the operator how to fix it.

EventWhat the system doesLoss preventedStandard
DGR declaration mismatch Blocks the change to ACCEPTED and withholds FSU-RCS · moves to DG hold · notifies the forwarder Dangerous goods on the aircraft: fines, seizure, safety risk IATA DGR 62nd Ed.
Conflicting SHCs in a ULD Warns with the rule cited, then splits into a new ULD automatically Contamination, damage and rejection at destination IATA DGR 9.3.A
Wrong ULD scan (misload) Locks the ULD until the piece is moved and re-scanned · logged to shift quality report Six-figure misloads and offloaded cargo IATA ULD Regulations
Damaged ULD Issues a damage report, reserves a spare and triggers a rebuild immediately Unserviceable ULD on the aircraft and damage claims IATA ULDR
Weighed vs declared mismatch Flags for re-check when the difference exceeds the set threshold, before acceptance Wrong rating and a load sheet that disagrees with reality IATA TACT
Payload exceeded Computes the least damaging offload set with full reasoning and books the next flight Overweight aircraft and unloading at the ramp IATA AHM — Load Control
Approaching cut-off Counts down per flight, raises job priority automatically and warns ahead of time Missed flights and airline SLA penalties Service level agreement
Flight delay Re-plans the whole build-up, shifts cut-off and re-queues the work A dead plan rebuilt by hand — slow and error-prone
Found cargo (FDCA) Opens a discrepancy case with a reference number and fires FSU-DIS back to origin Untracked cargo and customs problems IATA Cargo-IMP FSU
Long-dwelling ULD Occupancy heatmap by dwell time shows which position is over the threshold Runaway ULD rental and spoiled perishables/pharma IATA CEIV (cold chain)
Scenario B

"Bad day" — four disruptions on a single flight

Pick Scenario B in the demo above and press Auto; all four play out for real.

90-minute flight delay
01

90-minute flight delay

The airline reschedules mid-shift and the whole build-up plan is void

Cut-off shifted automatically, a new plan computed, and cargo that would have missed pulled back in

Payload cut — offload required
02

Payload cut — offload required

Load control reduces payload for extra fuel on a diverted routing

The least damaging offload set is proposed with full reasoning, and the next flight is booked for the customer

Damaged ULD before closing
03

Damaged ULD before closing

A collapsed base and torn net make the unit unserviceable

Damage report issued automatically, a spare reserved, and a rebuild started without stopping the flight

Found cargo (FDCA)
04

Found cargo (FDCA)

Breaking down an import ULD turns up three pieces not on the manifest

A discrepancy case is opened with a reference number and FSU-DIS is sent back to the origin station

Compliance

Built on the standards the industry already uses

Nothing invented here — every rule the system enforces comes from a standard airlines and ground handlers already work to.

Supported in this demo
IATA Cargo-IMP FWB / FHL / FFM / FSU / UCM message formats
IATA DGR 62nd Edition Dangerous goods acceptance and the 9.3.A segregation table
IATA ULD Regulations Build-up, closing and serviceability checks
IATA Resolution 833 — RFC The four Ready for Carriage gates
IATA AHM — Load Control Loading sequence and payload management
IATA TACT Weight rules and rating
On the roadmap (requires external integration and certification)
IATA e-AWB / Cargo-XML Moving from Cargo-IMP to XML per the IATA roadmap
IATA CEIV Pharma Temperature-controlled handling certification
IATA CEIV Fresh Perishables handling certification
ICAO Annex 17 / RA3 Security screening result integration
Thai Customs e-Import/Export Electronic customs clearance integration
Proof

Not a prototype that freezes when you click it

Tested at two levels: logic in a headless runner, and rendering in a real browser at 1920×1080.

154
tests passing
0
errors
8
fully working screens
640
ASRS positions
  • Every screen carries real data — no blanks or malformed values escape to the UI
  • Both scenarios run to completion with no step skipped
  • Every button on every page was pressed; none are inert
  • Reset returns the world to exactly the same starting state every time
  • Every EDI message has a line-by-line explanation
  • All 640 ASRS position codes are unique
Architecture

Why this demo scales into a production system

01

Logic separated from the UI

The whole state engine sits apart from the interface — screens can change without touching the rules, and the same logic carries into production

02

One dataset for the whole system

Every screen reads from the same central state, so two screens can never disagree

03

Reproducible results

Seed data comes from a seeded PRNG; Reset gives the identical world every time — ideal for demos and regression testing

04

No external dependency

Works with no internet and sends nothing off the machine — safe to present inside operational areas

05

Ready to extend

Integration points for ETVs, airline systems, customs and weighbridges were designed as separate modules from day one

Ready to upgrade your factory?

Book a free consultation with our engineering team.