Tracking & visibility

Catch demurrage and detention before they land

At Risk Containers is one list rendered in two places: a button in your navigation that opens a scrollable panel, and a panel on Operations Home. Both answer a single question β€” what will cost money if nobody touches it today. This article explains exactly what lands in that list, what the count means, and why the button can vanish.

9 minute read Β· Updated July 27, 2026

Empty is the goal, not a bug.

When nothing is at risk, the whole button is removed from the navigation. There is no zero state to click. If the button is gone and your work is current, that is the system telling you it has nothing for you.

The At Risk alert and what feeds it

The alert is a small button labeled At Risk Containers with a number and a chevron next to it. In workspaces with the left navigation rail it sits at the bottom of that rail, directly above your user menu. In workspaces without a left rail it sits in the activity strip at the top of the page, and it is only rendered on wide screens β€” on a narrow browser window it is hidden entirely rather than wrapped.

On a screen 768 pixels wide or wider, clicking it opens a popover titled At Risk Containers. Below that width it opens a sheet from the right edge with the same title. Both show the same list. The panel closes itself when you navigate, so clicking a card takes you to the container record and leaves nothing floating behind you.

The five things that put a container on the list

The list is grouped, and the groups always appear in this order. Nothing you can configure changes it.

Paused Tracking
Automated tracking stopped for this container. The card names the reason: Identity conflict, B/L MISMATCH, Manual pause, or the raw pause reason if it is something else.
Hot Loads
Containers flagged πŸ”₯ HOT LOAD. They sort above every deadline regardless of dates, newest flag first.
Offsite Review
The container is routed to an exam or review site. The card carries the review phase β€” Exam in progress, Awaiting in-door, Schedule pickup, and so on.
Termination Returns
Interchange terminations. Two states: IS TERMINATION (empty not returned) and IS TERMINATION:NEEDS EIR (Gate In recorded, return EIR still missing).
Overdue / Due Today / Due Tomorrow
Deadline cards. LFD cards mean pick up before the last free day; LMTFD cards mean return the empty before the last empty free day.

Deadline cards are the per-diem and demurrage watch proper, and they are strictly bounded. An LFD card is built only when the container is At Terminal or Scheduled, the terminal has not already recorded the LFD as satisfied, and an LFD date exists. An LMTFD card is built only when the container is awaiting return and an empty last free day exists. In both cases the deadline must fall no later than tomorrow β€” the query itself will not return anything further out. Dates are evaluated as business dates in America/New_York, not in your browser's time zone.

Terminal signals collected by LongShorty are merged in before the cards are built β€” appointment date, at-terminal and available flags, discharge and gate dates, clearance status, and provider holds. That is why a container the terminal shows as available can carry an LFD card even when your delivery order has no discharge date typed into it.

What the number means

The number on the button is not the row count. It counts only the critical items: every paused, hot load, offsite review, and termination card, plus deadline cards that are overdue or due today. Deadlines due tomorrow are deliberately excluded. When that count is above zero the button turns red; at zero it stays plain.

The button can read 0 and still open a list.

If the only thing outstanding is a deadline due tomorrow, the count renders 0 and the button is not red, but the panel still contains a Due Tomorrow group. Open it before assuming the zero means empty.

Each time you open the panel it re-fetches the list rather than trusting the copy the page was rendered with. The panel shows the first 15 items and adds a View all link when there are more; the server returns at most 100.

The At Risk panels on Operations Home

Operations Home carries a panel with the same At Risk Containers title, sitting alongside Holds Needing Attention and the appointments panel. It reads the same data the navigation alert reads β€” the page loads it once and both surfaces share it β€” so the two can never disagree about the underlying facts. They present them differently.

  1. The panel title is a link. Clicking At Risk Containers opens the reporting grid on the At Risk system view.
  2. Rows are cards, collapsed to six. Below that you get a Show N more control that toggles to Show fewer.
  3. Each row carries a Watchlist button. On desktop it appears when you hover or focus the row; on touch it is always visible. It adds or removes the container from My Watchlist without leaving the page.
  4. Two aggregate rows sit under the cards. Deadlines due tomorrow (labeled LFD and empty return) and Empties needing return (labeled next 7 days). Each is a link into the matching reporting view.

The Empties needing return row is computed separately from the watch list. It counts containers whose lifecycle shows Gate Out or Delivered with no Gate In recorded and an LMTFD inside a seven-day horizon. When any of those are already past due the value reads like 18 (4 overdue). That row will routinely be larger than the number of empty-return cards above it, because the cards stop at tomorrow and this row looks out a week.

When nothing needs action today the card area reads All clear today. The aggregate rows can still be present underneath it β€” that is not a contradiction, it is the today-first split described below.

On a phone the homepage collapses into a single Operations view selector with four choices β€” Watchlist, Attention, Vessels, Activity. At Risk Containers lives under Attention.

At Risk vs At Risk Return

These are two different system views in the reporting grid, and confusing them is the most common reason someone says a container is β€œmissing from At Risk.” They cover opposite ends of the move.

At Risk
Fixed criteria: Status = At Terminal/Scheduled - LFD through tomorrow - All sync states. This is the import side β€” the box is still at the terminal and the pickup clock is running.
At Risk Return
Fixed criteria: Status = Gate Out - LMTFD through tomorrow - All sync states. This is the empty side β€” the box is out, and the return clock is running.

Both views bound the deadline at tomorrow and set no earliest date, so a container that blew its LFD three weeks ago is still in At Risk today. They also carry different columns: At Risk leads with status, holds, pickup terminal, LFD and pickup appointment; At Risk Return drops status entirely β€” every row in it is the same status β€” and leads with holds, return terminal and the empty deadline.

The status filter behind At Risk Return is labeled Gate Out / Delivered in the filter UI. A container that has been delivered but whose empty has not gone back still belongs there, which is why a delivered container can appear in a view whose name sounds like it is about gate-out.

Reading a card

Every card in the panel has the same skeleton: container number on the left, a lifecycle badge on the right, then one line that explains why the card exists, then optional hold chips, then a dim context line. Clicking anywhere on the card opens the container record. A command-click, control-click, shift-click, or a click that lands on the terminal link or the Watchlist button does not trigger the card navigation, and neither does clicking after selecting text.

The lifecycle badge

The badge is the container's derived position: Pending, On Water, At Terminal, Available, Scheduled, Gate Out, Delivered, or Gate In. If the badge instead reads Status unavailable, the lifecycle could not be derived for that record β€” the card is still real, but treat the position as unknown and open the record.

Deadlines

Deadline cards show LFD: or LMTFD: followed by the date, with the terminal name β€” linked to the terminal page when Conterminal can resolve it β€” on the right. The group header above carries the urgency: Overdue, Due Today, or Due Tomorrow. The context line adds Appt and Sched dates and the customer name. A pickup appointment is shown on LFD cards only; on an empty-return card it is noise and is suppressed.

Holds

Hold chips come from the provider holds LongShorty read at the terminal or line and are bucketed as Customs, Freight, Fee, or Terminal. When there are no bucketed provider holds, the card falls back to the record's clearance status and shows a single chip β€” Customs Hold, Terminal Hold, or Freight Hold. A clear container shows no chip at all.

Paused, hot, review, and termination

These cards replace the deadline line with a reason and a suggested action. Paused cards read Resolve conflict, Resolve B/L, Open and resume tracking, or Review paused tracking; a bill-of-lading mismatch adds a supporting line naming the verified B/L and where it came from. Termination cards read Gate In recorded; upload return EIR or Return empty and capture EIR. Offsite review cards carry the phase text and an availability label instead of a deadline.

One container, one card.

If a container qualifies for more than one group, only the highest-priority card survives: hot load beats offsite review, which beats termination, which beats a deadline card. A hot load with a blown LFD shows as a hot load and nothing else, so do not read the absence of an LFD card as evidence the LFD is fine.

What today-first means

The Operations Home panel deliberately renders cards only for work that demands action today. Every paused, hot load, offsite review and termination row qualifies. Deadline rows qualify when they are overdue or due today. Anything due tomorrow is stripped out of the card list and rolled into the single Deadlines due tomorrow row.

The navigation alert applies the same rule to its count but not to its list. So the three surfaces divide as follows, and none of them is wrong:

The button number
Today and overdue only. Tomorrow is excluded on purpose so the badge means act now.
The panel list
Everything, including a Due Tomorrow group at the bottom. Use it as the full queue.
The Home panel
Today and overdue as cards; tomorrow as a count row; the seven-day empty-return horizon as a second count row.

The horizon itself is hard-stopped at tomorrow. A last free day four days out will not appear anywhere in this feature until it is one day out. If you plan further ahead than that, work from a saved view in the reporting grid rather than from this panel.

Which workspaces get the alert

Importer (BCO) and warehouse workspaces do not get this alert.

The At Risk Containers button and the Operations Home At Risk panel are enabled for carrier and freight-forwarder workspaces only. Importer, warehouse, and personal workspaces are excluded at the capability level, so nothing renders and no message explains the absence.

This is a deliberate capability, not a permission you can be granted by a workspace admin, and it does not vary by your role inside the workspace. A tenant admin in an importer workspace sees exactly what every other member of it sees: no button.

If you are in an excluded workspace and need the same visibility, work from your container list and sort or filter on the last free day columns instead β€” see the container dashboard basics. If you believe you are in the wrong workspace altogether, the workspace switcher and the reasons a page can be withheld are covered in why you cannot see a page.

Why the alert disappeared

When the watch list comes back empty, the alert component renders nothing at all. The button is removed rather than shown with a zero, and there is no placeholder in the rail where it used to be. Most of the time this is exactly what it looks like: nothing is paused, nothing is hot, nothing is in review, no termination is outstanding, and no last free day lands today or tomorrow.

The empty state inside the panel β€” a green check with All caught up! and No containers need intervention. β€” is only reachable if the list empties while the panel is open, because the refresh runs when you open it. If you clear the last item and the panel is already up, you will see that message; reload the page and the button itself goes away.

A failed load also produces an empty list.

If one of the underlying queries errors, the failure is logged on the server and an empty list is returned rather than an error. The visible result is identical to having no at-risk containers. If the button disappeared on a day you know has overdue boxes, do not assume the queue cleared β€” open Operations Home or the reporting grid and check there before moving on.

A separate failure mode does surface: if the refresh request itself fails after you open the panel, the body is replaced with Unable to load at-risk containers. and a Retry link. That message means the request failed, not that the queue is empty.

Troubleshooting

The At Risk Containers button is not there at all

Either the list is empty, an underlying query failed and returned nothing, or your workspace is an importer, warehouse, or personal workspace, which are excluded. On a narrow window in a workspace with no left navigation rail the button is also hidden by design. Widen the window, then check Operations Home before concluding the queue is clear.

The button shows 0 but the panel has rows

The count excludes deadlines due tomorrow. A list containing only Due Tomorrow cards renders a plain, non-red 0. This is expected; open the panel to see them.

Unable to load at-risk containers

The refresh request failed after you opened the panel. Use the Retry link. If it keeps failing, reload the page β€” the list is also loaded server-side when the page renders.

A container with a past LFD is not listed

LFD cards require the container to be At Terminal or Scheduled with the terminal LFD not yet marked satisfied. Once a gate out is recorded the container moves to the empty-return side and gets an LMTFD card instead. It may also be suppressed because a higher-priority card β€” hot load, offsite review, or termination β€” already exists for the same container.

Empties needing return is much larger than the cards above it

That row looks seven days ahead; the cards stop at tomorrow. Click the row to open the At Risk Return view and see the whole horizon.

The panel and the navigation alert show different totals

They read the same data. The Home panel promotes only today and overdue items to cards and rolls tomorrow into a count row, while the panel list shows tomorrow as its own group. Compare like with like before reporting a mismatch.

A paused card will not clear

Paused rows stay until the pause is resolved on the container record, not until the deadline passes. Identity conflicts and B/L mismatches need the conflict resolved; a manual pause needs tracking resumed β€” see tracking is not updating.

Terminal names on cards look wrong or unlinked

Card terminal names are normalized and de-duplicated across the pickup and return terminal, and only linked when the terminal resolves to a Conterminal terminal page. An unlinked name means the terminal was not matched, not that the container is misrouted.