Getting routes
Routes are built per day and warehouse: Orda assigns new orders to vehicles respecting weight and volume,
delivery windows, the driver’s shift and lunch, the start point (warehouse or the driver’s home), and computes
arrival times, kilometres and fuel.
Build a plan
Section titled “Build a plan”curl -s -X POST "$ORDA_API/plans" -H "X-Api-Key: $ORDA_KEY" -H "Content-Type: application/json" \ -d '{ "date": "2026-11-20", "warehouseId": "<warehouse uuid>", "quality": "best" }'vehicleIds limits the vehicles; quality is fast or best. The result is a draft; building again for the
same day replaces it. Usually the dispatcher builds and edits the plan, and your system only takes the
approved result.
Read a plan
Section titled “Read a plan”GET /plans?date=2026-11-20 lists the day’s plans; GET /plans/{id} returns the plan with totals,
unassigned (no_location, does_not_fit) and routes[]: vehicle, driver, leaveAt, returnAt, distanceKm,
durationMin, loadKg, loadPct, fuelL, fuelCost and a timeline of stops — kind (home, load,
delivery, break, end), orderId, orderNumber, customerName, address, location, arriveAt,
departAt, waitingMin, distanceKm. Times are in the company’s time zone.
Approve
Section titled “Approve”POST /plans/{id}/approve (routes.approve) makes the plan final; its orders become assigned.
Taking routes into your system
Section titled “Taking routes into your system”Recommended: subscribe to plan.approved (it lists the plan’s orders), then call GET /plans/{planId} once
and create trip sheets on your side. Draft routes arrive as route.planned if you show forecasts before approval.
Without webhooks, poll GET /plans?date=… at most once a minute and take plans with status: "approved".