Goods ready signals
An on-demand driver should arrive when your goods are packed: not before, wasting the driver’s time, and not after, wasting the shopper’s. Each store’s readySignal decides how Delivr knows.
assumed (default)
Section titled “assumed (default)”The goods count as ready at the order’s readyBy or, without one, prepMinutes after the order. Delivr plans the driver search when the order is placed, so a driver arrives about then. You never have to call anything, which suits stores that always pack within a known time.
You can still send the signals below to correct the plan, for example when packing is quicker or slower than usual.
required
Section titled “required”On-demand orders wait in awaiting_goods until you signal. Choose this when packing time varies a lot, or when your warehouse system knows exactly when a parcel is packed.
The signals
Section titled “The signals”# Packing has started; the goods will be ready at readyAt (within 24 hours).curl -X POST https://driver-staging-api.delivr.no/v1/merchant/orders/$ORDER/processing \ -H "Authorization: Bearer $DELIVR_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: $(uuidgen)" \ -d '{ "readyAt": "2026-11-03T13:25:00Z" }'
# Ready now.curl -X POST https://driver-staging-api.delivr.no/v1/merchant/orders/$ORDER/ready \ -H "Authorization: Bearer $DELIVR_API_KEY" \ -H "Idempotency-Key: $(uuidgen)"| Signal | Effect |
|---|---|
processing {readyAt} |
The driver search is timed so a driver arrives at about readyAt. Repeat it as often as you like until the search starts. A readyAt in the past means ready now. The recipient’s tracking page shows the time. Sends order.ready_at_changed. |
ready |
The search starts at once, if it has not already. |
On a window order, both signals are only recorded, for tracking.
Deadlines
Section titled “Deadlines”The goods are due at readyBy: yours, or the store’s readyDeadlineMinutes after the order.
- At
readyBy, if the goods are not ready, you getorder.ready_overdue. This mostly matters forrequiredstores. - After the market’s grace period the order fails with
goods_not_ready, and your fallback policy applies.
A processing with a readyAt past the deadline moves the deadline with it.