API Sources

Live operational snapshot โ€” orders, fleet, and the most recent planning run.

๐Ÿ“ˆ Order Intake โ€” Last 7 Days
๐Ÿ—บ๏ธ Last Planning Run
๐Ÿšš Dispatch Overview

Connect Dispatch Planner to your order management system via HTTP APIs. Configure authentication, map response fields, and test before activating.

Generate API keys to allow 3rd-party systems to push orders directly into Dispatch Planner.

๐Ÿ”‘ API Keys
NameKey (masked)CreatedLast Used
Loadingโ€ฆ
๐Ÿ“– API Reference
Base URL
Authentication

Include your API key in every request header:

X-API-Key: dp_your_key_here
POST /api/v1/orders โ€” Submit orders
{
  "orders": [
    {
      "order_no": "SO-1001",
      "customer_code": "CUST-01",
      "customer_name": "ABC Store",
      "lat": 25.2048,
      "lng": 55.2708,
      "delivery_slot": "Morning",
      "slot_start": "08:00",
      "slot_end": "12:00",
      "service_time": 20,
      "weight_kg": 150.5,
      "notes": "Call before delivery",
      "lines": [
        {
          "item_code": "ITEM-001",
          "description": "Mineral Water 500ml",
          "qty": 100,
          "uom": "EA",
          "weight_kg": 50.0,
          "pallets": 0.5
        }
      ]
    }
  ]
}
GET /api/v1/orders โ€” List orders in queue
curl -H "X-API-Key: dp_..." http://HOST/api/v1/orders
DELETE /api/v1/orders โ€” Clear queue
curl -X DELETE -H "X-API-Key: dp_..." http://HOST/api/v1/orders
๐Ÿงช Quick Test
0 vehicles
ยท
0 customers
ยท

๐ŸŽฒ Test Data Generators

Quickly populate master data and orders with plausible random values for testing โ€” pick just the fields you need.

๐ŸŽฒ Order Simulation

Random test orders from active customers/items โ€” 1โ€“5 line items each. Shows up on the Orders page.

๐Ÿงฌ Customer Fields

Zone/Area, Slot, Gatepass, Service Duration, Priority Delivery, Permit Area.

๐Ÿš› Vehicle Fields

Vehicle Type, Permit Area, Priority Delivery, Work Start/End Time, Max Route Distance, Avg Speed, Weight & CBM Capacity (CBM derived from weight).

๐Ÿท๏ธ Item Fields

UOM, Weight, Units per Carton, Carton Dimensions.

๐Ÿ“ฆ Carton Fields

Dimensions (CBM computed automatically), Weight, Units per Carton.

๐Ÿ•’ Delivery History

Random past-delivery records (date range + service duration) so the planner has real history to learn each customer's average service time from.

๐Ÿ—‘ Clear Dispatched Orders

Deletes all dispatched routes/orders and reverts their source orders back to pending so they can be re-planned.

๐Ÿ—‘ Clear All Orders

Deletes every order from the queue on the Orders page. This cannot be undone.

๐Ÿงช External SQL Server Sync

Pull master data from an external SQL Server for testing โ€” write a query, map its columns to Dispatch Planner fields, and sync. Matching records update; new records insert.

0 configs
0 pending orders
๐Ÿงฎ

No plan loaded

Run a plan from the Planner page to see results here.

Plan Date

Upload real past-delivery records (Order Number, Customer Code, Vehicle, Actual Delivery Time, Service Duration, Actual Delivery Geo Code). Whenever planning runs, a customer with at least one record here gets its real average service time used instead of the default estimate โ€” customers with no history are unaffected.

Compares dispatched (planned) orders against uploaded real-world delivery outcomes, matched by order number. Orders with no actual-delivery record yet aren't shown โ€” that's expected until Delivery History is updated for them.

โ€“
๐Ÿ“Š Matched Deliveries per Day โ€” On-Time vs Late
On-time Late
๐Ÿ“‹ Matched Orders
Plan DateOrder NoCustomerPlate Planned TimeSlotActual Time Planned Svc (min)Actual Svc (min) Delay (min)Svc Variance (min)Status
Loadingโ€ฆ
๐Ÿ“

Routes

Coming in the next sprint.

๐Ÿ“‹

History

Coming in the next sprint.

Configure integrations used by the planning engine.

๐Ÿค– AI Planning Assist

Lets a dispatcher give the planner a free-text instruction (via a local Gemma/Ollama model) to influence a run โ€” e.g. excluding a vehicle or area. When turned off, the prompt box is hidden from the Run Planning dialog and no AI call is made, even if one was typed before.

๐Ÿ›ฃ๏ธ Routing Provider

Choose which service calculates real road distances/times for the planning engine. All three configs stay saved even when not the active provider, so you can switch anytime. Planning always uses real road distance โ€” orders that can't get one (missing key/URL, API failure, group too large) are left unplanned rather than approximated with a straight line.

No API key needed โ€” point this at your own OSRM instance. The public demo server (router.project-osrm.org) is rate-limited and not meant for production use.
๐Ÿ”‘ DevExtreme License

Paste the runtime key produced by DevExpress's devextreme-license CLI tool (not your raw account key โ€” that won't work and shouldn't be shared). Saving rewrites the license file on the server; reload the page afterward for it to take effect.

Manage your own login credentials.

๐Ÿ”’ Change Password

Create and manage user accounts. Only admins can sign users in โ€” there is no public sign-up.

๐Ÿ‘ค Users
UsernameFull NameAdminModulesStatusLast Login
Loadingโ€ฆ

Login, logout, auto-login, and user-management activity. Newest first.

๐Ÿ“œ Audit Log
โ€“
TimeEventUserIP AddressDetails
Loadingโ€ฆ

Order-processing counter for license reporting โ€” one Save-as-Dispatched action counts every order in it.

๐Ÿ“œ Dispatch History
TimePlanRoutesOrdersDispatched By
Loadingโ€ฆ

Journey Plan at a glance โ€” routes, shifts, customer coverage and visit patterns.

Split the year into sales weeks. Each week gets a sequence number in a rolling 4 or 5 week cycle, which visit patterns reference to decide when a customer is visited.

A route is a salesman's beat, and can run several shifts a day. Routes share the vehicle master with Dispatch: one scoped Journey Plan is yours alone, one scoped Both is the same record the Dispatch fleet uses.

0 routes
ยท

Journey Plan's own customer list. These are separate from Dispatch's customers: one added here is visible only in Journey Plan, and Dispatch's are never listed here. Deleting one removes it along with its route mappings and visit patterns.

0 customers
ยท

Map customers onto a journey route and set the order they are called on. Mandatory for journey planning โ€” a customer not on a route is never visited.

How often each customer is visited on each route โ€” visits per week, which days, and which weeks of the sales-calendar cycle.

Expand each customer's visit pattern across a date range, then sequence every route-day geographically by road. Preview first โ€” it costs no routing-provider quota and shows how many calls the period implies.

Every journey plan generated so far, with its totals. Open one โ€” it loads in its own tab as a read-only snapshot showing each route-day, its call sequence and timings, the map, and anything that could not be scheduled.

Generate mock Journey Plan data for testing โ€” routes with their own geo fencing area, customers geocoded inside an area you choose, shift windows and week plans. Everything generated carries a code prefix, so it can all be cleared again without touching real master data.

๐ŸŽฒ Test Data Generators

Run these in order on a fresh install: routes first (so fencing areas exist), then customers, then route customers if they were not mapped as they were created, then week plans.

๐Ÿงญ Journey Routes

Mock routes scattered across an area, each with its own fencing circle, driver, working hours and optional shifts.

๐Ÿ‘ฅ Customers

Customers geocoded inside a named area, a route's fencing area or a circle you draw โ€” optionally mapped onto routes with week plans in one pass.

๐Ÿ”— Route Customers

Map customers that already exist onto journey routes โ€” by nearest fence, an even spread, or at random. Use this when customers were generated without mapping, added by hand, or need reassigning.

๐Ÿ“ Snap to Roads

Move simulated customers onto the nearest real road. Scattered points often land in fields, which the Directions API refuses to draw a path from โ€” snapping is what makes road routes drawable.

๐Ÿ•— Route Shifts

Give routes their daily shift windows โ€” one full day, AM/PM, or three shifts. Routes that already have shifts are left alone.

๐Ÿ” Week Plans

Visit patterns for existing routeโ€“customer links: visits per week, which days, and which weeks of the sales-calendar cycle.

๐Ÿ—‘ Clear Simulated Data

Deletes the routes and customers carrying the simulated prefixes, with their shifts, mappings and week plans. Real records are untouched.