Skip to main content

Multi-leg orders

Multi-leg intake supports 1–10 pickup stops with a single dropoff — common for consolidated fulfillment (e.g. dark store → multiple merchants → customer).

Quote first

POST /quotes/multi-leg (see API reference) prices the full route. Save quote_id to the Postman variable multi_leg_quote_id or your config.

Submit

POST /orders/multi-leg requires:

  • pickups[] — each with lat, lng, short_address, and contact fields as required by your contract
  • dropoff — single destination with contact_name and contact_phone
  • Optional bound quote_id

422 if pickup count is 0 or greater than 10.

Webhooks

Partners receive standard order-level events plus leg-specific events:

EventMeaning
order.leg.picked_upA pickup stop completed
order.leg.skippedA pickup stop skipped
order.leg.arrivedCourier arrived at a stop geofence

Order-level status may remain unchanged while legs progress — implement leg tracking separately in your OMS.

Snapshot

The intake snapshot published to Lynq fulfillment includes snapshot.stops for operational routing. Your integration should map leg events back to merchant or sub-order IDs using your own metadata conventions (store IDs in partner_order_number suffixes or internal tables).