> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.chrt.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.chrt.com/_mcp/server.

# Tracking Shipments

> How shippers read the order page — map, timeline, ETA, proof of delivery, messages, and notifications.

Once a draft is submitted, the order page at `/orders/<order-ref>` becomes the
single place to follow what's happening. This guide walks through the
tracking-related tabs and the actions a shipper can take from each.

## Before you start

The order page is most useful once the order is **in progress** — that's when
driver location updates start flowing. Before then (in **staged** state), the
map shows the planned route and the timeline is empty except for the
order-created event.

## The order page at a glance

Open [chrt.com/orders](https://chrt.com/orders), then click into any order. The
header shows the order's short ID, an optional off-chrt reference, the overall
status, mileage, the time window, and a **Public tracking** indicator if you've
shared a public link. The tabs underneath drive the URL via `?tab=…`, so you
can deep-link directly to a tab.

| Tab               | What's on it                                                                               |
| ----------------- | ------------------------------------------------------------------------------------------ |
| **Details**       | Chronological timeline of order and task events. Click any event to open the side panel.   |
| **Map**           | Interactive map with the planned route, driver path, cargo positions, and tracker devices. |
| **Flights**       | Flight tracker cards (only appears if the order has flight segments).                      |
| **Financials**    | Line items, statements, and rate-sheet derived charges for the order.                      |
| **Ops**           | Operations dashboard for the org running the shipment.                                     |
| **Messages**      | In-order message thread between shipper, forwarder, and courier.                           |
| **Notifications** | Ad-hoc email recipients for this specific order's events.                                  |

## 1. Watch the live map

The **Map** tab shows everything chrt knows about where the shipment is.

* **Staged** orders display the Mapbox-routed planned path as a blue line
  between stops.
* **In-progress** orders display the map-matched history of the driver so far
  plus the remaining planned route to the next stop.
* **Completed** orders display the full traversed route.

Use the **layer toggle** in the top-left of the map to switch between:

* **Task group by driver** — driver location for each segment.
* **Cargo by driver** — cargo positions inferred from driver location.
* **Cargo by device** — independent tracker positions when you've attached
  chrt tracker devices to cargo.

Toggle **clustering** if many markers stack at low zoom. If the order has no
coordinates yet (an early staged state), the map shows "No route information
to display."

## 2. Read the timeline

The **Details** tab is a chronological event feed: order created, courier
assigned, driver assigned, driver location updates, ground task events, flight
events, OBC phase events, and final order completion or cancellation.

Click any event to open the **event details side panel**, which slides in from
the right and shows:

* The stop's address and status, with a mini map of the location.
* The **time window** chrt is targeting (earliest and latest acceptable
  arrival).
* The **ETA** for upcoming stops — chrt recalculates this live from the
  driver's location once the task group is in progress (see
  [How ETAs work](#how-etas-work)).
* The **cargo** picked up or delivered at this stop.
* The **task artifacts** captured here — photos, signatures, and any other
  proof.
* **Flight info** for flight tasks (departure/arrival, gate, status).
* **Special instructions** and the **point of contact** for this stop.

The side panel auto-closes when you navigate to a non-Details tab.

## 3. Take action from the actions menu

Use the **Actions** menu in the order header to:

* **Share tracking** — open a dialog to generate a
  [public tracking link](/shippers/public-tracking) you can send to a customer
  or recipient.
* **Edit stops** — reorder the stops (only available before the order is
  in-progress).
* **Cancel order** — cancel the entire order and its tasks.
* **Generate POD** — render a proof-of-delivery PDF from the captured
  artifacts.
* **Generate BOL** — render a bill-of-lading PDF.

> **Warning**
>
> Cancelling an order is irreversible. Cancelled orders stop all driver
> tracking and notify the assigned courier or forwarder.

## 4. Add ad-hoc notifications for this order

The **Notifications** tab on the order lets you add email recipients who
should get notified about this specific order's events — typically the
end recipient or your customer's operations contact.

1. Open the **Notifications** tab.
2. Click **Add recipient** and pick from your directory (or add a new
   contact).
3. The recipient receives emails on the order-staged and order-completed
   events. Delete a recipient any time to remove them.

For org-wide notification routing (across all orders), use
[notification groups](/shippers/notifications) instead.

## How ETAs work

chrt calculates the ETA for upcoming stops from the driver's live location
plus Mapbox driving directions, with a small buffer between tasks. There is no
separate "estimated" vs. "scheduled" field — the ETA is always derived from
live data and updates as the driver moves. Completed tasks display the actual
completion time, not an ETA.

* **Ground orders.** First task's ETA = staged-at-time + 2 hours; subsequent
  stops chain via Mapbox routing plus a 20-minute buffer.
* **Flight orders.** Tender ETA = departure − 2 hours; recover ETA = arrival;
  post-recover stops use a 30-minute buffer. Flight arrival uses actual time
  when available, falling back to estimated, then predicted, then scheduled.
* **In-progress orders.** Once the driver starts driving, the first
  uncompleted task's ETA is recomputed from their real-time location.

See [ETA overview (internal)](/docs/concepts/tracking) for the full
calculation reference.

## How to know it's working

* The Map tab shows the driver's location updating as they move.
* Timeline events appear as tasks complete and as artifacts are uploaded.
* The order status badge in the header transitions from **Staged** to
  **In Progress** to **Completed**.

## If something looks different

* **Map shows the planned route but no driver path.** The order is still
  staged or the driver hasn't started driving yet. Driver location starts
  flowing once they tap **Start driving** in the driver app.
* **Status looks stale.** Click the **Refresh** button in the top-right of the
  tabs row to immediately refetch.
* **Event details side panel won't close when you click outside.** It's a
  drawer, not a modal — click the panel's close control, or switch to a
  non-Details tab.
* **You don't see Edit stops in the Actions menu.** The order is already
  in-progress. Stops can only be reordered before driving starts.
* **Sharing menu missing.** Only the order creator's org can generate a public
  link.
* Contact [hi@chrt.com](mailto:hi@chrt.com) if something looks off.

## Related guides

* [Public tracking links](/shippers/public-tracking) — share a customer-facing
  view of the order.
* [Notifications](/shippers/notifications) — set up org-level routing for
  order events.
* [Trackers on orders](/trackers/on-orders) — attach hardware trackers to
  cargo for an independent location and condition feed.
* [Creating shipments](/shippers/creating-shipments) — back to the draft
  builder.