Skip to main content

Basic Routing

Route a single vehicle to visit 5 delivery locations using real road distances.

Request

{
  "resources": [
    {
      "name": "courier-1",
      "shifts": [{
        "from": "2024-03-15T08:00:00Z",
        "to": "2024-03-15T18:00:00Z",
        "start": {"latitude": 52.5200, "longitude": 13.4050},
        "end": {"latitude": 52.5200, "longitude": 13.4050}
      }],
      "capacity": [50]
    }
  ],
  "jobs": [
    {"name": "delivery-1", "location": {"latitude": 52.5219, "longitude": 13.4132}, "duration": 300, "load": [5]},
    {"name": "delivery-2", "location": {"latitude": 52.5096, "longitude": 13.3761}, "duration": 300, "load": [8]},
    {"name": "delivery-3", "location": {"latitude": 52.5163, "longitude": 13.3777}, "duration": 300, "load": [6]},
    {"name": "delivery-4", "location": {"latitude": 52.5075, "longitude": 13.3903}, "duration": 300, "load": [4]},
    {"name": "delivery-5", "location": {"latitude": 52.5191, "longitude": 13.4011}, "duration": 300, "load": [7]}
  ],
  "options": {
    "routingEngine": "OSM"
  }
}

Response

{
  "status": "SOLVED",
  "solution": {
    "routes": [{
      "resource": "courier-1",
      "jobs": [
        {"job": "delivery-5", "arrival": "2024-03-15T08:12:00Z", "travelTime": 720},
        {"job": "delivery-1", "arrival": "2024-03-15T08:21:00Z", "travelTime": 240},
        {"job": "delivery-4", "arrival": "2024-03-15T08:34:00Z", "travelTime": 480},
        {"job": "delivery-2", "arrival": "2024-03-15T08:47:00Z", "travelTime": 480},
        {"job": "delivery-3", "arrival": "2024-03-15T08:54:00Z", "travelTime": 120}
      ],
      "summary": {
        "totalTravelTime": 3240,
        "totalDistance": 12684,
        "totalJobs": 5
      }
    }],
    "unassigned": []
  }
}

Key Options

OptionDescription
routingEngine: "OSM"Use OpenStreetMap for real road distances
routingEngine: "TOMTOM"Use TomTom for road distances
euclidian: trueUse straight-line distances (faster, less accurate)