Key Takeaways
- Every major ocean carrier uses different labels for the same physical container events. “Gate In” on one carrier is “Full In” on another and “Full Container Received by Carrier at Origin” on a third.
- The most dangerous inconsistency is “Vessel Arrival.” On most carriers it means the vessel has berthed. On ONE, Yang Ming, and HMM it means the vessel is at anchor or in the vicinity of the port. That difference can be 3 to 48 hours of misaligned planning.
- Nine of the twelve largest carriers are members of the Digital Container Shipping Association (DCSA), which publishes standardized event codes. But adoption is uneven: carrier APIs may use DCSA codes while the tracking portal the customer sees still uses proprietary labels.
- COSCO, OOCL, and Wan Hai are not DCSA members and use fully proprietary event naming.
- This post maps the actual event labels used by all twelve carriers across seven major milestones. Use the tables as a reference when reconciling tracking data across carriers.
Who This Is For
This post is for logistics coordinators, freight forwarders, operations managers, and anyone who tracks ocean containers across more than one shipping line. If you have ever looked at tracking data from two carriers showing the same shipment phase but using different words, and wondered whether they mean the same thing, this is the reference you need.
Why the Same Event Gets Different Names
Ocean container tracking was never designed as a unified system. Each carrier built its own tracking portal, chose its own event labels, and defined its own milestone vocabulary. The result is that the same physical event — a container being lifted off a vessel at port — appears as “Discharged” on CMA CGM, “Discharged from Vessel” on Maersk, “Container Discharged” on ONE, “Vessel Discharged” on Wan Hai, and “Discharged from Vessel at Last Port of Discharge” on OOCL.
For a team tracking shipments on a single carrier, this is manageable. You learn the vocabulary. For a team tracking across five or ten carriers — which is most mid-size importers, exporters, and forwarders — it creates daily confusion. The same milestone appears under different names in different systems, making it difficult to build consistent workflows, automate alerts, or report on performance across carriers.
The tables below map what each carrier actually calls each major event. Use them as a translation layer.
Gate In: Container Enters the Terminal
This is the first major origin-side event. The container has been delivered to the port terminal for loading.
| Carrier | Event Label |
|---|---|
| MSC | Gate In |
| Maersk | Gate In |
| CMA CGM | Gate In |
| ONE | Container Gated In |
| Hapag-Lloyd | Gate In |
| COSCO | Gate In Full |
| Evergreen | Gate In |
| HMM | Gate In |
| Yang Ming | Gate In |
| ZIM | Gate In |
| Wan Hai | Full In |
| OOCL | Full Container Received by Carrier at Origin |
Most carriers converge on “Gate In” here, with three notable exceptions. ONE prefixes with “Container” (a pattern they use across many events). COSCO appends “Full” to distinguish laden containers from empties. Wan Hai uses a distinct “Full In / Full Out” convention that no other carrier shares. OOCL uses a full descriptive sentence.
Loaded on Vessel: Container Is on the Ship
The container has been lifted onto the vessel and secured. This is the milestone that confirms physical departure is imminent.
| Carrier | Event Label |
|---|---|
| MSC | Loaded on Vessel |
| Maersk | Loaded on Vessel |
| CMA CGM | Loaded on Vessel |
| ONE | Loaded on Vessel |
| Hapag-Lloyd | Loaded on Vessel |
| COSCO | Loaded on Vessel / Shipped on Board |
| Evergreen | Loaded |
| HMM | Loading / Loaded |
| Yang Ming | On Board / Loaded |
| ZIM | Loaded on Vessel |
| Wan Hai | Vessel Loaded |
| OOCL | Loaded on Board at First Port of Load |
The top six carriers (by volume) all use “Loaded on Vessel,” making this one of the more consistent milestones. Evergreen abbreviates to just “Loaded.” HMM sometimes uses the gerund form “Loading” to indicate the process is underway rather than complete — the only carrier to make this distinction in its portal labels. Wan Hai reverses the subject-verb order: “Vessel Loaded” instead of “Loaded on Vessel.”
Vessel Departure: The Ship Has Sailed
The vessel has left the port. This event starts the transit clock.
| Carrier | Event Label |
|---|---|
| MSC | Vessel Departed |
| Maersk | Vessel Departure |
| CMA CGM | Vessel Departed / Departure |
| ONE | Vessel Departure |
| Hapag-Lloyd | Vessel Departed |
| COSCO | Vessel Departure |
| Evergreen | Departed / Vessel Departed |
| HMM | Departure / Vessel Departure |
| Yang Ming | Vessel Departure |
| ZIM | Vessel Departed |
| Wan Hai | Vessel Departed |
| OOCL | (Not always shown as a named event) |
Departure labels are relatively consistent across carriers. The main variation is tense: “Departed” (past tense, confirming the event) versus “Departure” (noun form). OOCL is the exception — it does not always display vessel departure as a distinct named milestone, instead inferring it from the event sequence.
One practical note: “Departed” on a carrier portal does not always mean the vessel has physically sailed. On some carriers and in some contexts, the departure event can post when the cargo cutoff time passes or when the carrier’s system marks the voyage as underway. If you need to confirm physical sailing, vessel position data (AIS) is more reliable than the carrier’s departure milestone.
Vessel Arrival: The Most Dangerous Inconsistency
This is where naming differences stop being an inconvenience and start costing money.
| Carrier | Event Label | What It Actually Means |
|---|---|---|
| MSC | Arrived at Destination | Vessel has berthed |
| Maersk | Vessel Arrival | Vessel has berthed |
| CMA CGM | Vessel Arrival | Vessel has berthed |
| ONE | Vessel Arrival | Vessel is at anchor or in the vicinity of the port |
| Hapag-Lloyd | Vessel Arrived | Vessel has berthed |
| COSCO | Vessel Arrival | Varies |
| Evergreen | Arrived / Vessel Arrived | Vessel has berthed |
| HMM | Arrival / Vessel Arrival | Vessel is at anchor or in the vicinity of the port |
| Yang Ming | Vessel Arrival | Vessel is at anchor or in the vicinity of the port |
| ZIM | Arrived at Port of Discharge | Vessel has berthed |
| Wan Hai | Vessel Arrived + Vessel Berthed (two separate events) | Distinguishes both explicitly |
| OOCL | (Not always a named milestone) | — |
On most carriers, “Vessel Arrival” means the vessel is alongside the berth, first line ashore. Discharge can begin.
On ONE, Yang Ming, and HMM, “Vessel Arrival” means the vessel is at anchor or in the vicinity of the port. It has not yet berthed. Discharge cannot begin. The vessel may wait hours or days for a berth, especially at congested ports.
This matters operationally because:
Logistics teams that interpret ONE’s “Vessel Arrival” the same way they interpret Maersk’s “Vessel Arrival” will overestimate readiness. They may trigger drayage dispatch, warehouse labor scheduling, or customer notifications based on an event that is actually 3 to 48 hours premature. At congested ports, the gap between anchorage and berthing can be even longer.
The DCSA standard defines its arrival code (ARRI) as “vessel is berthed at the port terminal,” aligning with the Maersk/Hapag-Lloyd interpretation. But ONE, Yang Ming, and HMM — all DCSA founding members — have not fully aligned their portal-facing labels with this definition.
Wan Hai handles this more cleanly than any other carrier by publishing two separate events: “Vessel Arrived” (at anchor) and “Vessel Berthed” (at terminal). This gives users the information to distinguish both states without guessing.
If you track containers across ONE, Yang Ming, or HMM alongside other carriers, do not treat their arrival events as equivalent to Maersk or Hapag-Lloyd arrival events in your workflow rules.
Discharged: Container Off the Vessel
The container has been lifted off the vessel and placed in the terminal yard. This is a prerequisite for pickup, but it does not mean the container is available.
| Carrier | Event Label |
|---|---|
| MSC | Discharged at Destination |
| Maersk | Discharged from Vessel |
| CMA CGM | Discharged |
| ONE | Container Discharged |
| Hapag-Lloyd | Discharged |
| COSCO | Discharged / Container Discharged |
| Evergreen | Discharged |
| HMM | Discharge / Discharged |
| Yang Ming | Cargo Discharge / Discharged |
| ZIM | Discharged |
| Wan Hai | Vessel Discharged |
| OOCL | Discharged from Vessel at Last Port of Discharge |
Most carriers use “Discharged” with minor variations. MSC appends “at Destination.” OOCL uses its characteristic full-sentence style. Wan Hai again reverses the subject-verb order.
The key distinction to remember: “Discharged” is not the same as “Available for pickup.” A discharged container may still be subject to customs holds, unpaid freight, or physical inaccessibility in the yard. There is no standard carrier event for “all three releases cleared and container is ready.” You have to triangulate from discharge status, customs release, and freight release — which typically come from three different systems.
Only Hapag-Lloyd publishes a distinct “Available for Pick-up” event (DCSA code AVPU) in its API. Most other carriers never publish a separate availability milestone, making discharge the last carrier-reported event before you need terminal or customs data to determine actual readiness.
Gate Out: Container Leaves the Terminal
The container has been picked up by truck or rail and left the terminal.
| Carrier | Event Label |
|---|---|
| MSC | Gate Out |
| Maersk | Gate Out |
| CMA CGM | Gate Out |
| ONE | Container Gated Out |
| Hapag-Lloyd | Gate Out |
| COSCO | Gate Out Full |
| Evergreen | Gate Out |
| HMM | Gate Out |
| Yang Ming | Gate Out |
| ZIM | Gate Out |
| Wan Hai | Full Out |
| OOCL | Picked up at Final Destination for Delivery |
Gate out is the most consistent milestone across carriers. Nearly everyone uses “Gate Out.” The same three outliers appear: ONE adds the “Container” prefix, Wan Hai uses “Full Out,” and OOCL uses a full sentence.
Transshipment Events: Where Tracking Breaks Down
Around 30-40% of global container shipments involve at least one transshipment — the container is discharged from one vessel at a hub port and loaded onto a different vessel for the next leg. Transshipment is where tracking data is most likely to go silent, because the container changes vessels (and sometimes terminals) at a port that neither the shipper nor consignee is directly monitoring.
How each carrier reports transshipment varies significantly:
Most carriers show a discharge event followed by a load event at the transshipment port. The container number stays the same, but the vessel name and voyage number change. If you are watching for vessel departure at the origin, you may see silence for days while the container waits at the hub for the connecting vessel.
ZIM and Wan Hai provide the most granular transshipment tracking, with distinct events for “Transshipment Arrived,” “Transshipment Discharged,” “Transshipment Loaded,” and “Transshipment Departed.” This makes it possible to see exactly where a container is in the transshipment process.
COSCO uses a distinctive convention that explicitly names origin, transshipment, and destination in its event labels: “Gate-in at First POL,” “Loaded at T/S POL,” “Discharged at T/S POD,” “Discharged at Last POD.” This is more specific than most carriers, but the naming convention is unique to COSCO and does not map cleanly to any other carrier’s labels.
CMA CGM sometimes collapses the entire transshipment into a single “Transshipment” label without showing the intermediate discharge and load as separate events.
MSC has the most complex transshipment network globally (operating major hubs at Sines, Tanger Med, Singapore, Colombo, and others). Transshipment visibility on MSC shipments is a common pain point reported by forwarders — containers can sit at hubs with minimal tracking updates and ETAs that change repeatedly.

The DCSA Standard: What It Is and What It Hasn’t Fixed Yet
The Digital Container Shipping Association (DCSA) was founded in 2019 to standardize digital processes across the container shipping industry. Its Track and Trace standard (currently v2.2, with v3.0 in beta) defines a structured event code system that eliminates the naming fragmentation described above.
Under DCSA, every tracking event is expressed as a combination of codes:
- Event type: GTIN (Gate In), GTOT (Gate Out), LOAD (Load), DISC (Discharge), ARRI (Arrived), DEPA (Departed), AVPU (Available for Pick-up)
- Classifier: ACT (Actual), PLN (Planned), EST (Estimated)
- Empty/laden indicator
- Facility type: POTE (Port Terminal), DEPO (Depot), CLOC (Customer Location)
Nine carriers are DCSA members: MSC, Maersk, CMA CGM, Hapag-Lloyd, ONE, Evergreen, Yang Ming, HMM, and ZIM. Together they carry roughly 75% of global container volume. All nine have published DCSA-compliant APIs.
What DCSA has fixed: Machine-to-machine communication. If you access carrier tracking data through DCSA-compliant APIs, you get standardized event codes that are consistent across carriers. This is how visibility platforms normalize data.
What DCSA has not fixed: The labels humans see. Carrier tracking portals still display proprietary event names. A forwarder checking MSC’s website sees “Discharged at Destination.” The same forwarder checking OOCL’s website sees “Discharged from Vessel at Last Port of Discharge.” The underlying data may be standardized at the API level, but the customer experience is not.
Who is not covered: COSCO, OOCL, and Wan Hai are not DCSA members. Their tracking data uses proprietary naming with no standard code layer. OOCL is a COSCO subsidiary (acquired 2018), so its non-membership follows its parent company.
How to Use This Reference in Practice
If you build workflow rules that trigger on tracking events (alerts, TMS updates, drayage dispatch), do not write rules that match on carrier-specific text labels. Instead, normalize events to a common vocabulary first (whether DCSA codes or your own internal standard), then build rules against the normalized version.
If you compare carrier performance across carriers (transit time, dwell time, on-time delivery), make sure you are measuring from the same milestone definition on each carrier. “Arrival” on ONE is not the same event as “Arrival” on Maersk. If your measurement starts at “Vessel Arrival,” your ONE shipments will appear to have longer discharge dwell times than they actually do.
If you communicate shipment status to customers or internal teams, pick a vocabulary and stick with it regardless of which carrier is moving the container. “Vessel arrived and berthed” is unambiguous. “Vessel arrived” is not, because it depends on which carrier is the source.
If you are evaluating visibility platforms or building integrations, ask specifically how transshipment events are handled and whether the platform normalizes the arrival/berthing distinction. This is where most integrations break down.
Operational Note: The tables in this post reflect carrier labels as documented in carrier API specifications, portal interfaces, and verified by third-party aggregator platforms as of early 2026. Carriers update their portals and API schemas periodically. If you notice a label has changed, the underlying mapping approach still holds — the physical events are the same, only the labels shift.
Further Reading
- DCSA Track and Trace Standard Documentation
- DCSA Event Naming Convention and Structure v1.0
- Terminal49: Container Milestones Definitions
- Vizion: DCSA Event and Location Codes
Need help interpreting this disruption or your shipment?
For a quick question, chat with Tradlinx on WhatsApp. For a deeper discussion, book a time below.
Prefer email? Contact us directly at min.so@tradlinx.com (Americas), sondre.lyndon@tradlinx.com (Europe), or henry.jo@tradlinx.com (EMEA/Asia).





Leave a Reply