For couriers & fulfillment centers

Run your logistics on Choir.
No spreadsheets.

Sign up as a fulfillment center in one screen. Merchants contract you with an invite code. Dispatchers assign parcels; drivers advance status from the mobile Fulfill screen. Status and tracking events flow back over CAP so the merchant\'s systems stay in sync automatically.

No credit card. Free during open beta.

choirworkspace.com
L
Longani
Fulfill queue
Inventory
Drivers
Contracts
Marketplace
Listing (published)
Fulfill queueLongani Deliveries · Lusaka · 8 open
SO-00042ZMW 2,580.00shipped
Mary Banda · Kabwe · Independence Ave
Salwa
Mark deliveredException
SO-00041ZMW 380.00picking
Bright Phiri · Livingstone
Unassigned
SalwaKamauChibale
SO-00043ZMW 1,120.00allocated
Kelvin Zulu · Lusaka · Cairo Rd
Kamau
Start pickingMark packed
SO-00040ZMW 780.00delivered
Mercy Chanda · Ndola
Salwa

Everything you need on day one

Not a starter kit. The actual thing.

  • Fulfill queue

    Every allocated parcel from every merchant you serve, sorted with actionables first. Legal-next-action buttons only — no wrong-status clicks.

    • pending → picking → packed → shipped → delivered
    • Exception + cancel with reason capture
    • Ship-to address surfaced on every row
  • Mobile app for drivers

    Native iOS/Android app. "Mine" tab shows the driver's assigned parcels; tap to advance. "Out for delivery" ping without a status change.

    • Tap-to-advance status
    • Out-for-delivery ping when leaving the FC
    • Exception capture with note
  • Driver role + dispatch

    Drivers only see their assigned jobs. Dispatchers (admin/manager/member) assign, unassign, reassign — with an inline member picker on every row.

    • Invite drivers by email with role="driver"
    • Per-parcel assignment posts to the merchant thread
    • Driver identity threads into every advance
  • POD-chain tracking

    Every status transition auto-writes a tracking_event. Drivers post "out for delivery" and exception events manually.

    • accepted / picked_up / in_transit / out_for_delivery / delivered
    • Location + note + courier reference per event
    • Append-only history, never mutated
  • Merchant contracts

    One invite code per FC. Merchants propose; you approve or reject. Region coverage, per-order fees, SLA hours — all in the contract terms.

    • Merchant-facing invite code (fc_XXXXXXXXXX)
    • Region + SLA + fee negotiation
    • Reject or reassign at any time
  • Inventory receiving

    Receive stock into the FC from any contracted merchant. Rollup views by merchant + by product across all merchants you fulfill for.

    • Set count / receive delta / low-stock threshold
    • Per-merchant + per-product rollups
    • Contract-scoped product filtering
9:41
●●●●Wi-Fi
Fulfill
Jobs assigned to you
Mine · 3Whole queue · 8
SO-00042shipped
Mary Banda · Kabwe
SO-00043allocated
Kelvin Zulu · Lusaka
SO-00045packed
Chibale · Ndola

iOS + Android · one tap per status change

On the phone, not the desk

Your drivers work from a real mobile app.

Native iOS + Android Fulfill screen. Assigned jobs only, one-tap status advance, out-for-delivery ping, exception capture — everything a driver needs from the road, none of the dispatcher chrome.

  • Native Expo app on iOS + Android
  • Driver-role auth: sees only their own jobs
  • Tap-to-advance status writes tracking_events + updates the merchant thread

How you get there

Set it up in minutes, not weekends.

  1. 01

    Sign up as an FC

    One screen: business name + region. We mint a fulfillment workspace with your invite code ready to share.

  2. 02

    Share the code

    Give it to merchants you deliver for. They propose a contract; you approve.

  3. 03

    Invite drivers

    Email invite with role=driver. They install the mobile app and see only their jobs.

  4. 04

    Fulfill

    Orders route in automatically when paid. Dispatch assigns, driver taps advance, status flows back to the merchant.

Answers

What people ask us most.

What if we already have a WMS?+

Two paths: (1) sign up as an FC and drive everything through Choir — the queue + mobile app replace the WMS surface, or (2) sign up as a CAP partner and push order.status_changed + fulfillment.tracking_event from your WMS into Choir workspaces you serve. Both work.

Do drivers need smartphones?+

For the mobile Fulfill screen, yes. Any modern iOS or Android device. For dispatch-only workflows, drivers can operate from a WhatsApp channel a dispatcher runs — Choir just becomes the merchant-facing status source.

How do merchants find us?+

Today: you share your invite code directly. A merchant marketplace is on the roadmap. For now, the flow is B2B-referral.

What about POD photos?+

On the roadmap. Today drivers can attach an out_for_delivery / delivered event with a location + note. POD photo capture ships as a follow-up slice.

Can we serve merchants who aren't on Choir?+

Sela and the commerce inbox live on Choir merchants. But a CAP-connected merchant on any system can plug in — their status events land in your queue the same way.

Ready to run your logistics on Choir?

One screen to sign up. Ten seconds to mint an invite code. Give it to your first merchant this afternoon.

Free during open beta.