> 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.

# Accepting Orders

> How drivers receive, accept or decline, and start orders in the chrt driver app — plus how Android handles accepting and starting orders while offline.

When dispatch assigns you to a task group, or when an offer comes in through
the bidding marketplace, it lands on the **Offers** tab in the app. This
page walks you from a push notification to a started order you're driving.

## Before you start

* You're signed in to the driver app and your org has assigned you to at
  least one order. If you haven't been assigned anything yet, check with
  your dispatcher — orders show up here only after they're staged and the
  task group is assigned to you.
* Push notifications are granted. Without them, you won't be alerted to new
  offers and you'll have to open the app manually to see new work. See
  [Settings](/app/settings) to re-enable notifications.

## 1. See the offer

Two ways an offer reaches you:

* **Push notification.** Tap it to deep-link straight to the task group.
* **Offers tab.** Open the app — new offers list at the top of the Offers
  tab. Force-assigned orders (where dispatch put you on directly without
  bidding) appear under **Assigned**; marketplace offers appear under
  **Incoming Offers**.

Tap a row to open the offer.

## 2. Review the offer

The offer screen shows you everything you need to decide:

* **Stops** — pickup and delivery addresses, time windows, and any special
  instructions for each stop.
* **Cargo** — what's moving, how many pieces, cargo type, weight if
  available.
* **Earnings** — the quoted earnings for the task group (computed from the
  rate sheet on the connection or directly attached to the task group).
* **Required artifacts** — what proof you'll need to capture at each stop
  (photos, signatures, barcode scans).

See [Orders](/docs/concepts/orders) for the task group / task / cargo data
model these screens are showing.

## 3. Accept or decline

* **Accept Order** moves the task group to your active queue. It does not
  start your timer or trigger location sharing — that happens at the next
  step.
* **Decline** sends the offer back to dispatch or the bidding pool so they
  can route it elsewhere. Use this when you genuinely can't take the work;
  don't decline as a way to ask questions — use **Messages** on the order
  instead.

> **Warning**
>
> Declining returns the offer to dispatch and clears your ability to pick
> it back up. If you change your mind, dispatch will need to re-offer it.

## 4. Start driving

Once you're on the way to the first stop, open the task group from the **In
Progress** tab and tap **Start**.

Starting the task group:

* Flips the order from **Staged** to **In Progress** on the chrt web app so
  dispatch and the shipper see you're on the move.
* Begins live location sharing for this order (if you have location sharing
  enabled — see [Live location](/app/location)).
* Starts a live activity / lock-screen widget on iOS so you can swipe to the
  next task without unlocking.

## 5. Work the stops

After **Start**, the task group screen shows your stops in order. For each
stop you'll:

1. Drive to the address (tap the map pin to hand off to Apple Maps or Google
   Maps).
2. Complete the stop's tasks in order — pickup, delivery, customs handoff,
   etc.
3. Capture any required artifacts (photo, signature, barcode scan). See
   [Proof of delivery](/app/proof-of-delivery).
4. Tap **Complete** on each task when it's done.

When every task on every stop is complete, the task group moves to
**Completed** automatically.

> **Note**
>
> Some tasks are **skippable** (typically optional photo artifacts);
> required tasks must be completed before the task group can finish. If a
> required step isn't possible at the stop (no contact, locked dock, etc.),
> message dispatch from the task group — don't fake-complete it.

## Android: working offline

The Android app keeps working when you lose signal. The iOS app is online-first
today; if you're on iOS and out of signal, write actions will fail until
you're reconnected.

On Android, when connectivity drops:

* A red **Offline — changes will sync when connected** banner appears at the
  top of the app.
* Cached orders and task group detail still open and read.
* Accepting an order, starting a task group, and completing tasks all queue
  locally. Once you reconnect, the queue replays in order and the banner
  flips to **Syncing N pending changes…** until it drains.

> **Note**
>
> Offline accepts and starts are durable across app restarts on Android —
> if your phone reboots before you regain signal, the queued action still
> syncs after the app comes back up. See
> [Proof of delivery](/app/proof-of-delivery#android-pod-offline-queue) for
> how this applies to proof capture.

> **Warning**
>
> Bidding actions (counter, withdraw) and tracker registration are
> online-first on Android too — they're not part of the offline queue.
> Plan to be online for those.

## How to know it worked

* After **Accept**, the order moves off the Offers tab and onto **In
  Progress**.
* After **Start**, the **In Progress** task group shows tasks ready to
  complete, your location starts streaming, and dispatch sees the order
  flip to **In Progress** on the web app.
* After the last task completes, the task group leaves **In Progress** and
  shows up on the **Completed** tab.

## If something looks different

* **You don't see an order you expected.** Pull to refresh the tab. If
  it's still missing, check with dispatch — the assignment may not have
  reached you yet, or it was assigned under a different org you're not
  currently signed in to.
* **Accept fails with a network error.** On iOS, retry once you're back on
  signal. On Android, you can accept offline and it'll sync — but verify
  the banner shows the sync completed.
* **Start fails or the button is greyed out.** The task group may already
  be in a non-startable state (already started elsewhere, or cancelled by
  dispatch). Pull to refresh.
* Contact [hi@chrt.com](mailto:hi@chrt.com) or your dispatcher if something
  looks wrong.

## Related guides

* [Proof of delivery](/app/proof-of-delivery) — capturing photos,
  signatures, and barcode scans at each stop.
* [Live location](/app/location) — what location sharing does and how to
  control it.
* [Dispatching](/couriers/dispatching) — the dispatcher's side of the same
  flow.
* [Orders](/docs/concepts/orders) — the task group / task / cargo model.
* [Troubleshooting](/app/troubleshooting) — what to do when accept or
  start fails.