> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.chrt.com/prod/shippers/creating-shipments/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.chrt.com/_mcp/server. # Creating Shipments > Step-by-step reference for the draft order builder — order setup, cargo, segments, stops, and submit. Shipments in chrt are built as **drafts** that you submit once everything is in place. This page walks through the draft builder tab by tab so you can confidently place an order with a forwarder, a directly-assigned courier, or an off-platform provider you record yourself. ## Before you start * You need a connected forwarder or courier — or an [off-platform provider](/shippers/off-platform) you've recorded — to assign the work to. * Cargo is required before you can submit. If you don't know what's moving yet, choose **Other** or **Unspecified** and you can fill in details later. > **Tip** > > If you have an email or quote describing the shipment, paste it into the > [AI order builder](/shippers/ai-order-builder) on the Order setup tab and > chrt will populate cargo, stops, and segments for you to review. ## 1. Open the draft builder Go to [chrt.com/orders/drafts/new](https://chrt.com/orders/drafts/new), or open the **Drafts** list at [chrt.com/orders/drafts](https://chrt.com/orders/drafts) and click **New draft**. chrt creates the draft as soon as you land and updates the URL to `/orders/drafts/` so you can save and come back to it. The builder uses a four-tab layout: **Order setup**, **Segments**, **Stops**, and **Cargo**, with a **Preview** step at the end. Each tab shows a status dot (green when complete, yellow when there are unsaved changes, gray when empty). ## 2. Assign the order on the Order setup tab The Order setup tab decides who is responsible for executing the shipment. * **Assign a forwarder** if you want a freight forwarder to coordinate the legs and dispatch the couriers. Forwarders can build multi-segment, multi-modal orders (ground + flight + ground). * **Assign a courier directly** if you've already chosen the carrier and the shipment is a single ground leg. Direct courier assignment locks the order to ground-only. You cannot assign both a forwarder and a courier on the same order. If you need to switch from one to the other, clear the current assignment first. If you have an external reference number (a PO, a customer's order ID), enter it in **External reference ID** so it appears on the order page and in exports. ## 3. Add cargo on the Cargo tab Each cargo line represents item(s) that share the **same pickup and delivery** pattern. If three identical totes go from A to B, enter one cargo line with **quantity 3** and the shared dimensions. If three items go to three different addresses, create three separate cargo lines. 1. Click **Add cargo**. 2. Choose a [cargo type](/docs/concepts/cargo-types). 3. Fill in **description**, **quantity**, **weight** in pounds, and **L × W × H** in inches. Auto-save fires on blur. 4. Use **Duplicate** in the top-right of a saved cargo card to copy it, then edit only the fields that differ. > **Note** > > Cargo type drives qualification (which couriers can run the shipment) and > pricing. See [Cargo types](/docs/concepts/cargo-types) for the full list. ## 4. Add segments on the Segments tab Segments are the legs of the shipment. Each segment is a task group that can be tracked and (if you have a forwarder) assigned to a different courier. * **Ground only** — one segment, one courier. * **Ground → Flight → Ground** — three segments. The middle flight segment is system-managed (no courier selector); use the **Flights** tab inside the draft to attach flight info. * **OBC (on-board courier)** — for hand-carry shipments where one person accompanies the cargo door-to-door. Forwarders typically build these. Flight mode is unavailable if you assigned a courier directly on the Order setup tab — flights require a forwarder. ## 5. Add stops on the Stops tab Each segment gets a sequence of stops (pickup, deliver, hold, transfer to airline, recover from airline, etc.). chrt creates default stops when you add a segment — pickup + deliver for ground, and pickup + tender + recover + deliver for a flight chain — and you can add, reorder, or remove stops from there. 1. Open a stop to set the **address**. If a contact on a connection has a saved address, click the **map pin** on the contact card to fill it; otherwise type and choose from autocomplete. Always include unit, suite, floor, or building number in the **second line** when applicable. 2. Add a **point of contact** so the driver app shows the right person to call on arrival. Use the **bell icon** on a contact card to send that person ad-hoc email notifications for this order's pickup and delivery events. 3. Select **which cargo** applies to this stop. For a pickup, select the lines being picked up; for a delivery, select the lines being dropped. Forgetting this is the most common mistake on a draft. 4. Set a **time window**. Add multiple windows for flexible appointments (9:00–11:00 or 12:00–14:00), a single window, or an exact instant for a precise appointment. 5. Add **special instructions** the driver should see at this stop, and add **task artifacts** to require proof at this stop — photos, signatures, barcode scans, or other capture. > **Warning** > > Forgetting to select cargo at a stop is the most common draft mistake. The > preview validation catches it, but it's faster to set it as you go. ## 6. Preview and submit The **Preview** step summarizes the entire order: assigned org, segments, stops, cargo, and the **quoted earnings** (revenue and cost from any rate sheets on file). 1. Click **Validate** to run all checks for the most common configuration issues (missing addresses, unassigned cargo, missing stops on a segment). 2. Fix anything that's flagged. 3. Click **Submit** to convert the draft to a **staged** order. The order page opens at `/orders/`. The order stays **staged** until the assigned courier accepts and a driver marks themselves as **started driving** in the driver app, at which point it moves to **in progress** and live tracking kicks in. See [Tracking](/shippers/tracking) for what to expect from there. ## How to know it worked * The URL changes from `/orders/drafts/` to `/orders/`. * The order appears in [Orders](https://chrt.com/orders) with status **Staged**. * Notifications fire to subscribed members and ad-hoc recipients (if any) for the order-staged event. ## If something looks different * **You don't see the forwarder or courier you expected** — you may not be connected yet. Open [Connections](https://chrt.com/connections) and connect to them first. * **You can't open Flight mode** — you've assigned a courier directly. Clear the courier assignment and choose a forwarder instead. * **Validation fails on a stop with no error message** — make sure you've selected at least one cargo line at that stop. * **Submit succeeds but the courier doesn't see the order** — confirm the Order setup tab shows the right assigned org and that the connection is active. * Contact [hi@chrt.com](mailto:hi@chrt.com) if you have issues. ## Related guides * [AI order builder](/shippers/ai-order-builder) — paste an email/quote and have chrt populate the draft. * [Order schedules](/shippers/order-schedules) — turn a draft into a recurring shipment. * [Cargo types](/docs/concepts/cargo-types) — full enum and what each type drives. * [Tracking](/shippers/tracking) — what happens after you submit. * [Off-platform providers](/shippers/off-platform) — record providers that aren't on chrt. > Build, validate, and submit shipment drafts in the chrt order builder.