Tracking & visibility

Search shipments and companies

Search everything in the header is Conterminal's one search input. Its dropdown finds current work quickly; the full search page carries that same query into older and completed history, batch container lookup, and table actions. Both surfaces enforce the same authorization, but they do not cover the same records.

7 minute read · Updated September 9, 2026

Both surfaces only ever return records your workspace is already authorized to see. Authentication happens automatically through your signed-in Conterminal session; there is no separate search credential. Search does not widen your access. If a container is not yours, no query will surface it, and no error will tell you it exists.

The header lookup vs. the full search page

The header box is the one you will use ninety percent of the time. In the standard header its placeholder reads Container, M/B/L, company, terminal…; in the compact ribbon and console layouts it reads Search everything. In the console layout only, ⌘K (or Ctrl K on Windows) puts your cursor in it, and the shortcut is printed in the box itself so you can tell which variant you are looking at.

Click or focus an empty header box to reopen up to five recent searches for this workspace. The list stays on this device and is separated by signed-in user, organization, and workspace type. Select an entry to run it through the normal lookup, or choose Clear to remove that list. If there is no history, the empty box stays compact with no dropdown. When the box has a value, use the X at its right edge to clear the active query and start over.

Typing opens a dropdown with three tabs, each showing its own result count, and up to three result groups: Container & M/B/L for identifier matches, Shipment matches for everything found by text and filters, and a compact rail of entity matches between them. At the bottom are a Current + recent coverage note and a Search all history link.

The two lanes behave differently on purpose. The identifier lane needs four characters before it runs at all. A complete, valid eleven-character container number is treated as an exact lookup and fires immediately; so does anything you paste. A partial identifier you are still typing waits about a third of a second after your last keystroke. The identifier lane returns at most seven rows.

Use the header when
You have an identifier or a short phrase and you want the shipment page. Rows carry a Watchlist button that appears on hover or keyboard focus, and a document still in review opens Document Review rather than the shipment page — its row reads “Needs review” with “Document received — confirm details.”
Use the full page when
The container is old, returned, or otherwise not in the quick lane; you want more than a handful of results; you pasted a list of containers; or you want to select rows and update My Watchlist or Hot Load state.

Press Enter in the header box to jump to the full page carrying your query and scope. Escape closes the dropdown and resets its tab to All. The full page is titled Search all history under a Federated search label. It deliberately has no second search box: keep editing Search everything in the header and press Enter to update the table. Your query stays visible with a loading spinner until the new results arrive.

A natural-language full-page query needs three characters, not four. Below that it shows only: “Search at least three characters. Current results stay fast in the header; this page includes older and inactive authorized history.” On the search page the header accepts up to 750 characters so it can also carry a bounded pasted container list.

The search page is gated on workspace type and permissions. You need a tenant workspace with operations, tracking, or managed-tracking access; anyone else is redirected straight to the unauthorized page with no explanation on the way. If that happens to you, read why a page shows Access Denied rather than retrying the search.

Scopes: All, Shipments, Entities

The header dropdown has All, Shipments, and Entities. The full page presents the result set as two table tabs — Shipments and Entities — with the incoming scope parameter deciding which tab opens first.

All
Shipments and related entities together in the header. On the full page it opens the Shipments table first; use the Entities tab beside it for the related organizations, terminals, steamship lines, and vessels.
Shipments
Shipment rows only. This is the scope that pages: it is the only one with a Load more shipments button, twenty rows at a time.
Entities
Companies, terminals, steamship lines, and vessels only. No shipment rows are rendered at all, and there is no Load more.

What “entities” means here

An entity result is a company, a terminal, a steamship line, or a vessel — not a shipment. Each row shows its kind, display name, code, role or match reason, and related-shipment count. Click the row to open the signed-in Conterminal entity page; see the company directories for what those pages contain.

When the query comes from the header's All scope, entities are resolved from the shipments your query already matched — the first twenty of them — rather than from the text alone. That is why the entity list can change when shipment results change, and why an entity you know exists may not appear beside a query that matched nothing.

The Shipments table keeps the identifying columns stable — shipment, current location, operational status, terminal, and importer / customer — then uses one partner column that fits the workspace. Forwarder, importer, and warehouse workspaces see Trucker; trucker workspaces see Forwarder / Broker; other workspace types see Logistics Partner. Those labels come from explicit shipment roles, so your own workspace name is not substituted when a customer or partner is unknown. The compact header dropdown is unchanged.

Current Location pairs the lifecycle chip with the date that matters at that point: ETA on water, LFD at the terminal, LMTFD after gate out or delivery, and Gate In date after the empty returns. Status supplies the matching operational fact: vessel name on water; Ready for Delivery, Not Ready for Delivery, or Availability Unavailable at the terminal; pickup timing against LFD after gate out; and both pickup and empty-return timing after gate in. Missing evidence stays labeled unavailable. A shipment says Under Review only when it has an actual Document Review record. Mobile cards show the same Current Location and Status facts in their compact layout.

Gate Out, Gate In, and Delivered dates come from the same lifecycle evidence as the shipment status. Supplemental search details do not replace those dates. If that evidence has no movement date, an older provider date does not fill the blank.

A cancelled delivery order keeps its operational status so you can still tell where movement last stood, and adds a red CANCELLED badge beside it. The header dropdown uses the compact badge; the full Search Everything table and mobile card use the same treatment.

What is searchable

Search is not limited to identifiers. Every term you type has to match somewhere on the same shipment — terms are combined with AND, never OR — and the fields below are what it can match.

Identifiers
Container number, M/B/L, tracking number, booking number, PO reference, broker reference, house bill, pickup / release number, and voyage.
Parties
Customer, importer, broker, owner, forwarder, trucker, consignee, warehouse, pickup driver, and return driver.
Places and equipment
Pickup terminal and return terminal — including the terminal's code, city, and state — delivery location, steamship line name, code, and SCAC, vessel, and chassis number.
Cargo and status text
Cargo contents and commodity description, plus the status text LongShorty last read from the terminal, rail, or steamship-line site.

Each result row carries a Match block with up to two separate label-and-value rows naming the fields that matched and highlighting each matched fragment. Fields already printed in the row — container number, M/B/L, status, terminal, and party roles — are deliberately not repeated as evidence unless the query specifically targeted that field, and a match that cannot be attributed to a named field is labeled Other shipment fields.

Status words, flags, and dates

Some words are read as filters instead of text, and you can mix them with a name or an identifier in one query.

  1. Status phrases. pending, on water, at terminal or at pier, available, scheduled, gate out, delivered or awaiting return, gate in or returned, on rail, and rail ramp.
  2. Operational flags. hold or holds restricts to shipments with an active customs, terminal, freight, or provider hold. hot load, hot-load, or hotload restricts to hot loads that are not yet delivered or returned. Multiword statuses also accept hyphens or underscores, such as at-terminal and gate_out.
  3. Ready for delivery. Add ready for delivery, ready-for-delivery, or ready_for_delivery. The equivalent phrase available for delivery is also accepted. Use the phrase by itself to list every confirmed-ready shipment in your workspace, or add a name or identifier to narrow it. For example, Portside ready for delivery searches Portside shipments and keeps only those whose shared workspace evidence confirms availability at the terminal with no active hold or later movement. This is a full-page filter rather than text to match, so press Enter from the header to run it.
  4. Date fields. date or document date, eta, lfd, lmtfd, gate out, gate in, and delivered. Follow a field with a date to match that day, with before 2026-07-01, or with between 2026-07-01 and 2026-07-15. Month names work too, so Portside lfd Aug 4 finds Portside shipments whose LFD is August 4. A month without a day, such as Portside lfd August, means that entire month. Ordinals such as Aug 3rd, US dates such as 8/3/2026, and optional on are accepted. The inline form eta:2026-07-01 also works.
  5. Relative dates. yesterday, today, and tomorrow can follow a field name. You can also use last week, this week, or next week, and the corresponding month phrases, for example Portside gate out this week. On their own, yesterday, today, and tomorrow are read as document dates.

If you want to label a whole identifier, use container:, M/B/L:, or booking:. For example, M/B/L: ONEYDVO600726800 keeps the exact protected lookup, while booking: PFS-PT-72026-6 searches authorized history.

A milestone phrase filters the recorded milestone date; it does not describe the shipment's current status. A shipment returned today can still match gate out this week. The evidence line names the milestone and date that matched, while the status badge continues to show where the shipment is now.

A query is capped at eight terms and filters combined. Cross it and the shipment lane stops and reports “Search supports up to 8 terms and filters.” A malformed date stops it the same way, with a message naming the field — “Use a valid date after eta.” or “Use lfd between YYYY-MM-DD and YYYY-MM-DD.” Neither is a partial result: nothing is returned until you fix the query. Use before instead of by; search does not guess whether “by” is inclusive.

How far back search reaches, and why it differs by persona

This is the single most common source of confusion, so it is worth being precise. The header is a current and recent surface. Hover the Current + recent note in the dropdown footer and it says exactly what it covers: “Active shipment records stay searchable after return tracking completes. Broker and forwarder completions stay in quick search for 12 months.”

Still active
Always in the header lane, regardless of age. A shipment that has been sitting for a year is still found instantly.
Completed, returned
For managed tracking, a completed item stays in the quick lane for 12 months after its return. After that it is history — the full page still finds it.
Paused for an identity conflict
An item with a pending identity-conflict review stays in the quick lane even though it is not active, so a conflict does not make a container disappear from search while you are trying to resolve it.

Where a workspace is served by the fast server history index, the header lane also reaches back through recently completed work by document date, and that window is where the persona difference shows up: 365 days for broker and forwarder workspaces and 120 days for everyone else. Carriers, importers, and warehouses get the shorter window because their working set turns over faster; a forwarder routinely needs to answer a question about a file closed nine months ago. Nothing is hidden by this — it only decides what the header can answer without a trip to the full page.

Your workspace type also decides which rows you can see at all. Carrier, importer, broker/forwarder, and warehouse workspaces each resolve a different authorized set, which is why the same query run by two people at two companies on the same container returns different rows. See partner access and shipment visibility for how that set is built.

The two coverage lines under the search box

The full page prints its own coverage, and reading it saves you guessing. The first line describes the server index — for example 12,481 indexed · as of Jul 27, 2026, EDT, prefixed with Fast server history · when the fast index is serving your workspace.

The second line, when it appears, describes a catalog cached in your own browser — for example 12,481 cached locally · Jul 28, 2025–Jul 27, 2026 · as of Jul 27, 2026. That catalog covers active shipments plus anything updated in the last 365 days, loads in the background after the page paints, and only runs when the fast server index is not already serving you. It can also report Local history catalog queued after paint, Local history catalog updating in background, Local history catalog unavailable · server search active, or · using cached copy.

The server index updates in the background as shipment records change. Its as of time is the useful freshness signal: a very recent edit may take a short time to appear, and a refresh after that time advances will search the newer index.

The local catalog is an accelerator, not an authority. Every row it proposes is re-checked against the server before it can be shown to you, and anything the server does not confirm is dropped. A stale or missing local catalog can make results slower or thinner; it can never show you a shipment you are not entitled to.

The index-preparing state

If the line under the search box reads History index preparing · current results shown, the workspace history index has not finished its first build. That happens in a brand-new workspace and after a large import, and it means exactly what it says: current shipments are searchable now, older and completed ones are not there yet.

In that state an empty shipment lane reads “History is still being prepared. No current shipments matched.” rather than the usual “No matching shipments in authorized history.” The wording is the useful part — the first sentence means come back later, the second means this query genuinely found nothing.

History index status unavailable is a different message and a different problem. It means Conterminal could not read the index state at all, not that the index is empty. Results shown alongside it may be incomplete without saying so. If it persists past a few minutes, report it rather than concluding a shipment is missing.

While the index is preparing, the header lookup is unaffected — it reads live records, not the index. Search by full container number and you will still land on the shipment. From there, everything on the shipment page works normally.

Troubleshooting

Your results differ from a colleague's for the same query

First check that you are both in the same workspace and on the same scope tab — a scope is carried in the URL, so a link you were sent may not be on the tab you assume. After that, the difference is almost always authorization: carrier, importer, broker/forwarder, and warehouse workspaces resolve different authorized rows, and two people at two companies will legitimately see different results for the same container. Ordering can also differ briefly while each browser's local catalog and the per-row enrichment finish loading; the set converges, the first paint does not.

One lane errors while the other keeps working

This is by design — the shipment lane and the entity lane fail independently rather than blanking the page. “Shipment history is temporarily unavailable. Current shipments will load separately.” comes with a Retry shipments button. “Related entities are temporarily unavailable.” comes with Retry entities. “Current shipment updates are temporarily unavailable. Historical results remain available.” has no button because it clears on the next search; historical rows on screen are still valid. Retry the failed lane once, and treat the results as incomplete until it succeeds.

“Load more shipments” stopped working

The button only exists on scopes that page, and only while there is another page — it disappears at the end of the results, which is not an error. If it fails with “Could not load more results.”, the button beside it reads Try again and retries the same page. If it fails with “Search results changed. Restart from the first page.”, the button reads Start again instead: the index was rebuilt underneath your paging position, and continuing from a stale position would silently skip or repeat rows. Start again reloads from the first page.

“No matching shipments in authorized history.” but you know the container exists

Search the full container number on its own first — that runs the exact identifier path and bypasses text matching entirely. If that finds nothing, the shipment is either outside your workspace's authorized set or not in Conterminal at all. If it does find it, your earlier query had a term that did not match this shipment; remember every term must match the same shipment, so one wrong customer name is enough to return nothing.

“No container or M/B/L identity found.”

The identifier lane ran and came back empty. This is different from “Could not search container or M/B/L identities right now.”, which means the lookup itself failed and should be retried. An empty identifier lane does not mean the query found nothing overall — check the Shipment matches group underneath before concluding anything.

“Multiple delivery orders found for this container. Choose one.”

Your exact container number matches more than one delivery order. Conterminal deliberately makes no selection for you and pre-highlights nothing, so pressing Enter will not pick one at random. Read the customer and status on each row and choose.

A long pasted reference finds nothing

The identifier lane stops considering anything longer than 32 characters after punctuation is stripped, and it does so silently — no message is shown. If you pasted a long booking or reference string and got no identifier results, trim it to the meaningful segment and search that.

“A search lane is temporarily unavailable.”

This is the count line above the results telling you the page loaded zero results because a lane failed, not because nothing matched. Look for the amber banner naming the failed lane and use its retry button. Do not treat a zero here as a real zero.