Skip to main content

Order Fulfillment and Handoff

Version: v1.1
Last Updated: May 30, 2026

Module Menu Path

Orders → select order → accept / process / ready / handoff actions

Required Access

  • shop.orders.view
  • shop.orders.manage

Order Status Flow

pending → accepted → processing → ready_for_dispatch
→ picked_up → delivered (rider delivery)
→ completed (customer pickup)
→ cancelled (before pickup)
→ delivery_failed (after pickup, rider could not deliver)

Step 1 — Receiving a New Order

When a customer places an order you receive:

  • A push notification on your device
  • An in-app alert in the Orders section
  • The order appearing at the top of the list with status pending

Acceptance window: You must accept within the configured time limit shown on the order. If you do not respond in time, the order is automatically rejected and the customer is refunded.

📸 Screenshot: Incoming order notification in the shop module
📸 Screenshot: Orders list with pending order


Step 2 — Accepting or Rejecting

  1. Tap the order to open it
  2. Review the item list and any customer notes
  3. Tap Accept order

If you cannot fulfil the order (items out of stock, shop issue), tap Reject and select a reason. The customer is notified and refunded automatically.


Step 3 — Picking and Packing

Once accepted, status moves to accepted. Begin picking items immediately.

  • Tap Mark as processing when you start picking
  • The customer sees "Order is being prepared"
  • Work through the item list in the order detail — each line shows the product name, variant, quantity, and any notes
  • Pack securely, especially for fragile items

If you discover a missing or out-of-stock item during picking, see the exceptions section below before proceeding.

📸 Screenshot: Order detail showing item list with quantities and variants


Step 4 — Marking Ready for Dispatch

When all items are picked, packed, and labelled:

  1. Tap Ready for dispatch

This notifies the assigned delivery company. A rider is dispatched and the customer's tracking page shows the ETA.

📸 Screenshot: Ready for dispatch button on order detail


Step 5 — Rider Pickup (Delivery Orders)

Handoff PIN

When the rider arrives, they present a PIN from the delivery company app. You must:

  1. Ask for the PIN
  2. Verify it matches the code shown on your order detail screen
  3. Hand over the packed order only after the PIN matches
  4. Tap Confirm handoff

Never hand over an order if the PIN does not match. If there is a mismatch, do not hand over — open a support case immediately.

Cash on delivery / card on delivery

The rider collects payment from the customer at dropoff — you do not collect it at pickup. The order detail shows the COD amount for your reference.

Cash on pickup / card on pickup

If the customer is paying you directly at your location:

  1. Collect the stated amount
  2. Tap Payment collected
  3. Then hand over the order and confirm handoff

📸 Screenshot: Rider handoff PIN screen on order detail
📸 Screenshot: Payment collected confirmation


Step 6 — Customer Pickup (Pickup Orders)

For orders where the customer collects in person:

  1. Verify the customer's name and order number when they arrive
  2. If paying at pickup, collect the amount first
  3. Tap Confirm customer pickup to complete the order

📸 Screenshot: Customer pickup confirmation screen


What Each Status Means for Your Customer

Your order statusWhat the customer sees
pending"Order placed — waiting for confirmation"
accepted"Shop has accepted your order"
processing"Your order is being prepared"
ready_for_dispatch"Order ready — rider on the way"
picked_up"Rider has collected your order" + live map
delivered"Order delivered"
completed"Order collected" (pickup)
cancelled"Order cancelled — refund in progress"

Exceptions

Item is out of stock during picking

If a specific item is unavailable after you accepted:

  • Can partially fulfil: Contact the customer via the in-app message. If they agree to a partial order, cancel the missing item(s). The order total is adjusted and the customer is partially refunded for the removed item(s).
  • Cannot fulfil at all: Cancel the entire order using "Item unavailable" as the reason. Full refund is triggered automatically.

📸 Screenshot: Partial item cancellation on order detail

Rider is late or does not arrive

  1. Check the rider ETA in the order detail
  2. Contact your assigned delivery company via their support contact
  3. If unresolved: open a support case with the order reference

Rider PIN mismatch

Do not hand over the order. Ask the rider to verify their app shows the correct order. If the mismatch persists, open a support case immediately.

Customer cancels while you are packing

If the order auto-cancels during processing, you receive an in-app notification. No further action needed — the order disappears from your queue.

System shows wrong status after an action

Refresh the page before retrying. If still wrong, open a support case with the order number and description of what happened.