Skip to content

Waste collection

A waste collection company in Amsterdam empties underground containers across the West districts. A single truck departs from the depot, collects waste from containers, and returns to unload when it's near capacity before heading out again.

This example shows how to model a waste collection operation that combines several FastVRP features:

  • Capacity: the truck can empty up to 60 container units before needing to unload.
  • Reloading: the truck returns to the depot to unload when full, with a 15-minute unloading time modelled via a separate reload depot.

Scenario

The company operates a single truck from a depot and serves 100 underground containers in Amsterdam West.

Load is measured in container units. Each activity picks up one container unit, and the truck can empty up to 60 units before needing to unload. When the truck is full, it returns to the depot to unload, which takes 15 minutes. With 100 containers and a capacity of 60, the truck needs at least two trips to empty all containers.

Tip

The unloading time is modelled by creating a separate reload depot at the same location as the start depot, with a load_duration of 15 minutes.

Service duration per container is 2.5 minutes. This covers the time to position the truck, lift the underground container, empty it, and lower it back into the ground.

Vehicles: a single truck is available, working a shift from 07:00 to 17:00. Operating costs are 150 fixed, 25 per hour, and 0.25 per km.

The complete routing request looks as follows:

request.json
{
  "locations": [
    {
      "id": "loc-depot",
      "latitude": 52.39992,
      "longitude": 4.79581
    },
    {
      "id": "loc-1",
      "latitude": 52.36784,
      "longitude": 4.8592
    },
    {
      "id": "loc-2",
      "latitude": 52.36865,
      "longitude": 4.85166
    },
    {
      "id": "loc-3",
      "latitude": 52.36128,
      "longitude": 4.86214
    },
    {
      "id": "loc-4",
      "latitude": 52.39095,
      "longitude": 4.87537
    },
    {
      "id": "loc-5",
      "latitude": 52.39016,
      "longitude": 4.88346
    },
    {
      "id": "loc-6",
      "latitude": 52.36663,
      "longitude": 4.85913
    },
    {
      "id": "loc-7",
      "latitude": 52.36674,
      "longitude": 4.87672
    },
    {
      "id": "loc-8",
      "latitude": 52.37449,
      "longitude": 4.86703
    },
    {
      "id": "loc-9",
      "latitude": 52.37623,
      "longitude": 4.87615
    },
    {
      "id": "loc-10",
      "latitude": 52.381,
      "longitude": 4.85261
    },
    {
      "id": "loc-11",
      "latitude": 52.36264,
      "longitude": 4.86138
    },
    {
      "id": "loc-12",
      "latitude": 52.37793,
      "longitude": 4.84107
    },
    {
      "id": "loc-13",
      "latitude": 52.379,
      "longitude": 4.85486
    },
    {
      "id": "loc-14",
      "latitude": 52.37381,
      "longitude": 4.8724
    },
    {
      "id": "loc-15",
      "latitude": 52.36319,
      "longitude": 4.85335
    },
    {
      "id": "loc-16",
      "latitude": 52.3734,
      "longitude": 4.87015
    },
    {
      "id": "loc-17",
      "latitude": 52.39265,
      "longitude": 4.88256
    },
    {
      "id": "loc-18",
      "latitude": 52.37891,
      "longitude": 4.85025
    },
    {
      "id": "loc-19",
      "latitude": 52.37515,
      "longitude": 4.84127
    },
    {
      "id": "loc-20",
      "latitude": 52.3642,
      "longitude": 4.86262
    },
    {
      "id": "loc-21",
      "latitude": 52.36227,
      "longitude": 4.86391
    },
    {
      "id": "loc-22",
      "latitude": 52.384,
      "longitude": 4.85052
    },
    {
      "id": "loc-23",
      "latitude": 52.36867,
      "longitude": 4.85075
    },
    {
      "id": "loc-24",
      "latitude": 52.36404,
      "longitude": 4.85701
    },
    {
      "id": "loc-25",
      "latitude": 52.3747,
      "longitude": 4.84679
    },
    {
      "id": "loc-26",
      "latitude": 52.3812,
      "longitude": 4.85828
    },
    {
      "id": "loc-27",
      "latitude": 52.36124,
      "longitude": 4.87667
    },
    {
      "id": "loc-28",
      "latitude": 52.36476,
      "longitude": 4.86058
    },
    {
      "id": "loc-29",
      "latitude": 52.36382,
      "longitude": 4.87419
    },
    {
      "id": "loc-30",
      "latitude": 52.38127,
      "longitude": 4.87281
    },
    {
      "id": "loc-31",
      "latitude": 52.36909,
      "longitude": 4.87213
    },
    {
      "id": "loc-32",
      "latitude": 52.39136,
      "longitude": 4.87806
    },
    {
      "id": "loc-33",
      "latitude": 52.36014,
      "longitude": 4.85308
    },
    {
      "id": "loc-34",
      "latitude": 52.36372,
      "longitude": 4.87829
    },
    {
      "id": "loc-35",
      "latitude": 52.38108,
      "longitude": 4.84383
    },
    {
      "id": "loc-36",
      "latitude": 52.37461,
      "longitude": 4.84054
    },
    {
      "id": "loc-37",
      "latitude": 52.3779,
      "longitude": 4.83852
    },
    {
      "id": "loc-38",
      "latitude": 52.36482,
      "longitude": 4.87412
    },
    {
      "id": "loc-39",
      "latitude": 52.37391,
      "longitude": 4.87053
    },
    {
      "id": "loc-40",
      "latitude": 52.37477,
      "longitude": 4.83791
    },
    {
      "id": "loc-41",
      "latitude": 52.37914,
      "longitude": 4.85375
    },
    {
      "id": "loc-42",
      "latitude": 52.36816,
      "longitude": 4.87474
    },
    {
      "id": "loc-43",
      "latitude": 52.38357,
      "longitude": 4.85609
    },
    {
      "id": "loc-44",
      "latitude": 52.36154,
      "longitude": 4.87411
    },
    {
      "id": "loc-45",
      "latitude": 52.36026,
      "longitude": 4.85532
    },
    {
      "id": "loc-46",
      "latitude": 52.37501,
      "longitude": 4.86633
    },
    {
      "id": "loc-47",
      "latitude": 52.3723,
      "longitude": 4.848
    },
    {
      "id": "loc-48",
      "latitude": 52.38957,
      "longitude": 4.87937
    },
    {
      "id": "loc-49",
      "latitude": 52.37259,
      "longitude": 4.87038
    },
    {
      "id": "loc-50",
      "latitude": 52.36681,
      "longitude": 4.85054
    },
    {
      "id": "loc-51",
      "latitude": 52.35624,
      "longitude": 4.82005
    },
    {
      "id": "loc-52",
      "latitude": 52.36277,
      "longitude": 4.82842
    },
    {
      "id": "loc-53",
      "latitude": 52.35772,
      "longitude": 4.80254
    },
    {
      "id": "loc-54",
      "latitude": 52.35285,
      "longitude": 4.7714
    },
    {
      "id": "loc-55",
      "latitude": 52.35366,
      "longitude": 4.78962
    },
    {
      "id": "loc-56",
      "latitude": 52.36993,
      "longitude": 4.8326
    },
    {
      "id": "loc-57",
      "latitude": 52.3514,
      "longitude": 4.79887
    },
    {
      "id": "loc-58",
      "latitude": 52.34735,
      "longitude": 4.78004
    },
    {
      "id": "loc-59",
      "latitude": 52.34631,
      "longitude": 4.81557
    },
    {
      "id": "loc-60",
      "latitude": 52.35702,
      "longitude": 4.84416
    },
    {
      "id": "loc-61",
      "latitude": 52.35512,
      "longitude": 4.80297
    },
    {
      "id": "loc-62",
      "latitude": 52.35232,
      "longitude": 4.79671
    },
    {
      "id": "loc-63",
      "latitude": 52.35007,
      "longitude": 4.79872
    },
    {
      "id": "loc-64",
      "latitude": 52.37454,
      "longitude": 4.81339
    },
    {
      "id": "loc-65",
      "latitude": 52.34555,
      "longitude": 4.80322
    },
    {
      "id": "loc-66",
      "latitude": 52.35051,
      "longitude": 4.79768
    },
    {
      "id": "loc-67",
      "latitude": 52.38201,
      "longitude": 4.8295
    },
    {
      "id": "loc-68",
      "latitude": 52.35114,
      "longitude": 4.78193
    },
    {
      "id": "loc-69",
      "latitude": 52.36656,
      "longitude": 4.84033
    },
    {
      "id": "loc-70",
      "latitude": 52.3819,
      "longitude": 4.8184
    },
    {
      "id": "loc-71",
      "latitude": 52.35639,
      "longitude": 4.78077
    },
    {
      "id": "loc-72",
      "latitude": 52.35922,
      "longitude": 4.83268
    },
    {
      "id": "loc-73",
      "latitude": 52.35241,
      "longitude": 4.8411
    },
    {
      "id": "loc-74",
      "latitude": 52.36862,
      "longitude": 4.83271
    },
    {
      "id": "loc-75",
      "latitude": 52.34681,
      "longitude": 4.78497
    },
    {
      "id": "loc-76",
      "latitude": 52.34711,
      "longitude": 4.80524
    },
    {
      "id": "loc-77",
      "latitude": 52.3564,
      "longitude": 4.82968
    },
    {
      "id": "loc-78",
      "latitude": 52.38314,
      "longitude": 4.83508
    },
    {
      "id": "loc-79",
      "latitude": 52.37384,
      "longitude": 4.81119
    },
    {
      "id": "loc-80",
      "latitude": 52.3545,
      "longitude": 4.77735
    },
    {
      "id": "loc-81",
      "latitude": 52.38397,
      "longitude": 4.81404
    },
    {
      "id": "loc-82",
      "latitude": 52.36464,
      "longitude": 4.83171
    },
    {
      "id": "loc-83",
      "latitude": 52.37861,
      "longitude": 4.79837
    },
    {
      "id": "loc-84",
      "latitude": 52.37447,
      "longitude": 4.80638
    },
    {
      "id": "loc-85",
      "latitude": 52.38641,
      "longitude": 4.83776
    },
    {
      "id": "loc-86",
      "latitude": 52.34728,
      "longitude": 4.79388
    },
    {
      "id": "loc-87",
      "latitude": 52.37707,
      "longitude": 4.82589
    },
    {
      "id": "loc-88",
      "latitude": 52.35198,
      "longitude": 4.78285
    },
    {
      "id": "loc-89",
      "latitude": 52.36282,
      "longitude": 4.82646
    },
    {
      "id": "loc-90",
      "latitude": 52.3549,
      "longitude": 4.78521
    },
    {
      "id": "loc-91",
      "latitude": 52.35626,
      "longitude": 4.78248
    },
    {
      "id": "loc-92",
      "latitude": 52.34515,
      "longitude": 4.80967
    },
    {
      "id": "loc-93",
      "latitude": 52.37659,
      "longitude": 4.79839
    },
    {
      "id": "loc-94",
      "latitude": 52.36213,
      "longitude": 4.82486
    },
    {
      "id": "loc-95",
      "latitude": 52.35186,
      "longitude": 4.79378
    },
    {
      "id": "loc-96",
      "latitude": 52.3489,
      "longitude": 4.80699
    },
    {
      "id": "loc-97",
      "latitude": 52.37641,
      "longitude": 4.81834
    },
    {
      "id": "loc-98",
      "latitude": 52.34734,
      "longitude": 4.806
    },
    {
      "id": "loc-99",
      "latitude": 52.35202,
      "longitude": 4.79523
    },
    {
      "id": "loc-100",
      "latitude": 52.38111,
      "longitude": 4.80286
    }
  ],
  "tasks": [
    {
      "id": "task-1",
      "location": "loc-1",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-2",
      "location": "loc-2",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-3",
      "location": "loc-3",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-4",
      "location": "loc-4",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-5",
      "location": "loc-5",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-6",
      "location": "loc-6",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-7",
      "location": "loc-7",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-8",
      "location": "loc-8",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-9",
      "location": "loc-9",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-10",
      "location": "loc-10",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-11",
      "location": "loc-11",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-12",
      "location": "loc-12",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-13",
      "location": "loc-13",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-14",
      "location": "loc-14",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-15",
      "location": "loc-15",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-16",
      "location": "loc-16",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-17",
      "location": "loc-17",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-18",
      "location": "loc-18",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-19",
      "location": "loc-19",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-20",
      "location": "loc-20",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-21",
      "location": "loc-21",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-22",
      "location": "loc-22",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-23",
      "location": "loc-23",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-24",
      "location": "loc-24",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-25",
      "location": "loc-25",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-26",
      "location": "loc-26",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-27",
      "location": "loc-27",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-28",
      "location": "loc-28",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-29",
      "location": "loc-29",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-30",
      "location": "loc-30",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-31",
      "location": "loc-31",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-32",
      "location": "loc-32",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-33",
      "location": "loc-33",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-34",
      "location": "loc-34",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-35",
      "location": "loc-35",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-36",
      "location": "loc-36",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-37",
      "location": "loc-37",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-38",
      "location": "loc-38",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-39",
      "location": "loc-39",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-40",
      "location": "loc-40",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-41",
      "location": "loc-41",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-42",
      "location": "loc-42",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-43",
      "location": "loc-43",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-44",
      "location": "loc-44",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-45",
      "location": "loc-45",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-46",
      "location": "loc-46",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-47",
      "location": "loc-47",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-48",
      "location": "loc-48",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-49",
      "location": "loc-49",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-50",
      "location": "loc-50",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-51",
      "location": "loc-51",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-52",
      "location": "loc-52",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-53",
      "location": "loc-53",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-54",
      "location": "loc-54",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-55",
      "location": "loc-55",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-56",
      "location": "loc-56",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-57",
      "location": "loc-57",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-58",
      "location": "loc-58",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-59",
      "location": "loc-59",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-60",
      "location": "loc-60",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-61",
      "location": "loc-61",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-62",
      "location": "loc-62",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-63",
      "location": "loc-63",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-64",
      "location": "loc-64",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-65",
      "location": "loc-65",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-66",
      "location": "loc-66",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-67",
      "location": "loc-67",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-68",
      "location": "loc-68",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-69",
      "location": "loc-69",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-70",
      "location": "loc-70",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-71",
      "location": "loc-71",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-72",
      "location": "loc-72",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-73",
      "location": "loc-73",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-74",
      "location": "loc-74",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-75",
      "location": "loc-75",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-76",
      "location": "loc-76",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-77",
      "location": "loc-77",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-78",
      "location": "loc-78",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-79",
      "location": "loc-79",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-80",
      "location": "loc-80",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-81",
      "location": "loc-81",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-82",
      "location": "loc-82",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-83",
      "location": "loc-83",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-84",
      "location": "loc-84",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-85",
      "location": "loc-85",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-86",
      "location": "loc-86",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-87",
      "location": "loc-87",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-88",
      "location": "loc-88",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-89",
      "location": "loc-89",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-90",
      "location": "loc-90",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-91",
      "location": "loc-91",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-92",
      "location": "loc-92",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-93",
      "location": "loc-93",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-94",
      "location": "loc-94",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-95",
      "location": "loc-95",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-96",
      "location": "loc-96",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-97",
      "location": "loc-97",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-98",
      "location": "loc-98",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-99",
      "location": "loc-99",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    },
    {
      "id": "task-100",
      "location": "loc-100",
      "pickup": [
        1
      ],
      "service_duration": "PT150S"
    }
  ],
  "depots": [
    {
      "id": "depot-west",
      "location": "loc-depot"
    },
    {
      "id": "reload-west",
      "location": "loc-depot",
      "load_duration": "PT900S"
    }
  ],
  "vehicle_types": [
    {
      "id": "vehicle-truck",
      "start_depot": "depot-west",
      "end_depot": "depot-west",
      "num_available": 1,
      "capacity": [
        60
      ],
      "reload_depots": [
        "reload-west"
      ],
      "shift": {
        "earliest_start": "2025-01-01T07:00:00",
        "latest_end": "2025-01-01T17:00:00"
      },
      "costs": {
        "fixed": "150.00",
        "per_hour": "25.00",
        "per_km": "0.25"
      }
    }
  ],
  "options": {
    "stop": {
      "type": "max_runtime",
      "seconds": 15
    }
  }
}

Solution

The solver empties all 100 containers in a single route with two trips and a reload at the depot in between.

solution.json
{
  "summary": {
    "total_cost": "363.90",
    "distance_cost": "20.81",
    "duration_cost": "193.09",
    "fixed_vehicle_cost": "150.00",
    "distance": 83246,
    "duration": "PT27805S",
    "travel_duration": "PT11905S",
    "service_duration": "PT15000S",
    "wait_duration": "P0D",
    "num_planned": 100,
    "num_unplanned": 0,
    "num_routes": 1,
    "load_duration": "PT900S",
    "overtime": "P0D"
  },
  "routes": [
    {
      "summary": {
        "total_cost": "363.90",
        "distance_cost": "20.81",
        "duration_cost": "193.09",
        "fixed_vehicle_cost": "150.00",
        "distance": 83246,
        "duration": "PT27805S",
        "travel_duration": "PT11905S",
        "service_duration": "PT15000S",
        "wait_duration": "P0D",
        "start_time": "2025-01-01T07:00:00",
        "end_time": "2025-01-01T14:43:25",
        "num_tasks": 100,
        "num_activities": 103,
        "slack_duration": "PT8195S",
        "load_duration": "PT900S",
        "overtime": "P0D"
      },
      "vehicle_type_id": "vehicle-truck",
      "profile": "car",
      "activities": [
        {
          "id": "depot-west",
          "location": {
            "id": "loc-depot",
            "latitude": 52.39992,
            "longitude": 4.79581
          },
          "type": "depot",
          "start_time": "2025-01-01T07:00:00",
          "end_time": "2025-01-01T07:00:00",
          "duration": "P0D",
          "wait_duration": "P0D",
          "travel_duration": "P0D",
          "distance": 0
        },
        {
          "id": "task-100",
          "location": {
            "id": "loc-100",
            "latitude": 52.38111,
            "longitude": 4.80286
          },
          "type": "task",
          "start_time": "2025-01-01T07:04:31",
          "end_time": "2025-01-01T07:07:01",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT271S",
          "distance": 2574
        },
        {
          "id": "task-83",
          "location": {
            "id": "loc-83",
            "latitude": 52.37861,
            "longitude": 4.79837
          },
          "type": "task",
          "start_time": "2025-01-01T07:09:27",
          "end_time": "2025-01-01T07:11:57",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT146S",
          "distance": 916
        },
        {
          "id": "task-93",
          "location": {
            "id": "loc-93",
            "latitude": 52.37659,
            "longitude": 4.79839
          },
          "type": "task",
          "start_time": "2025-01-01T07:13:20",
          "end_time": "2025-01-01T07:15:50",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT83S",
          "distance": 532
        },
        {
          "id": "task-84",
          "location": {
            "id": "loc-84",
            "latitude": 52.37447,
            "longitude": 4.80638
          },
          "type": "task",
          "start_time": "2025-01-01T07:17:47",
          "end_time": "2025-01-01T07:20:17",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT117S",
          "distance": 717
        },
        {
          "id": "task-79",
          "location": {
            "id": "loc-79",
            "latitude": 52.37384,
            "longitude": 4.81119
          },
          "type": "task",
          "start_time": "2025-01-01T07:21:31",
          "end_time": "2025-01-01T07:24:01",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT74S",
          "distance": 429
        },
        {
          "id": "task-64",
          "location": {
            "id": "loc-64",
            "latitude": 52.37454,
            "longitude": 4.81339
          },
          "type": "task",
          "start_time": "2025-01-01T07:24:48",
          "end_time": "2025-01-01T07:27:18",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT47S",
          "distance": 252
        },
        {
          "id": "task-53",
          "location": {
            "id": "loc-53",
            "latitude": 52.35772,
            "longitude": 4.80254
          },
          "type": "task",
          "start_time": "2025-01-01T07:33:58",
          "end_time": "2025-01-01T07:36:28",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT400S",
          "distance": 3268
        },
        {
          "id": "task-61",
          "location": {
            "id": "loc-61",
            "latitude": 52.35512,
            "longitude": 4.80297
          },
          "type": "task",
          "start_time": "2025-01-01T07:37:59",
          "end_time": "2025-01-01T07:40:29",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT91S",
          "distance": 543
        },
        {
          "id": "task-63",
          "location": {
            "id": "loc-63",
            "latitude": 52.35007,
            "longitude": 4.79872
          },
          "type": "task",
          "start_time": "2025-01-01T07:42:59",
          "end_time": "2025-01-01T07:45:29",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT150S",
          "distance": 891
        },
        {
          "id": "task-66",
          "location": {
            "id": "loc-66",
            "latitude": 52.35051,
            "longitude": 4.79768
          },
          "type": "task",
          "start_time": "2025-01-01T07:45:50",
          "end_time": "2025-01-01T07:48:20",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT21S",
          "distance": 129
        },
        {
          "id": "task-57",
          "location": {
            "id": "loc-57",
            "latitude": 52.3514,
            "longitude": 4.79887
          },
          "type": "task",
          "start_time": "2025-01-01T07:49:01",
          "end_time": "2025-01-01T07:51:31",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT41S",
          "distance": 247
        },
        {
          "id": "task-62",
          "location": {
            "id": "loc-62",
            "latitude": 52.35232,
            "longitude": 4.79671
          },
          "type": "task",
          "start_time": "2025-01-01T07:52:57",
          "end_time": "2025-01-01T07:55:27",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT86S",
          "distance": 466
        },
        {
          "id": "task-95",
          "location": {
            "id": "loc-95",
            "latitude": 52.35186,
            "longitude": 4.79378
          },
          "type": "task",
          "start_time": "2025-01-01T07:56:35",
          "end_time": "2025-01-01T07:59:05",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT68S",
          "distance": 374
        },
        {
          "id": "task-99",
          "location": {
            "id": "loc-99",
            "latitude": 52.35202,
            "longitude": 4.79523
          },
          "type": "task",
          "start_time": "2025-01-01T07:59:44",
          "end_time": "2025-01-01T08:02:14",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT39S",
          "distance": 232
        },
        {
          "id": "task-55",
          "location": {
            "id": "loc-55",
            "latitude": 52.35366,
            "longitude": 4.78962
          },
          "type": "task",
          "start_time": "2025-01-01T08:04:53",
          "end_time": "2025-01-01T08:07:23",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT159S",
          "distance": 1136
        },
        {
          "id": "task-90",
          "location": {
            "id": "loc-90",
            "latitude": 52.3549,
            "longitude": 4.78521
          },
          "type": "task",
          "start_time": "2025-01-01T08:08:38",
          "end_time": "2025-01-01T08:11:08",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT75S",
          "distance": 453
        },
        {
          "id": "task-91",
          "location": {
            "id": "loc-91",
            "latitude": 52.35626,
            "longitude": 4.78248
          },
          "type": "task",
          "start_time": "2025-01-01T08:12:06",
          "end_time": "2025-01-01T08:14:36",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT58S",
          "distance": 343
        },
        {
          "id": "task-71",
          "location": {
            "id": "loc-71",
            "latitude": 52.35639,
            "longitude": 4.78077
          },
          "type": "task",
          "start_time": "2025-01-01T08:15:03",
          "end_time": "2025-01-01T08:17:33",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT27S",
          "distance": 145
        },
        {
          "id": "task-80",
          "location": {
            "id": "loc-80",
            "latitude": 52.3545,
            "longitude": 4.77735
          },
          "type": "task",
          "start_time": "2025-01-01T08:20:44",
          "end_time": "2025-01-01T08:23:14",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT191S",
          "distance": 1272
        },
        {
          "id": "task-54",
          "location": {
            "id": "loc-54",
            "latitude": 52.35285,
            "longitude": 4.7714
          },
          "type": "task",
          "start_time": "2025-01-01T08:25:10",
          "end_time": "2025-01-01T08:27:40",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT116S",
          "distance": 757
        },
        {
          "id": "task-68",
          "location": {
            "id": "loc-68",
            "latitude": 52.35114,
            "longitude": 4.78193
          },
          "type": "task",
          "start_time": "2025-01-01T08:29:42",
          "end_time": "2025-01-01T08:32:12",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT122S",
          "distance": 949
        },
        {
          "id": "task-88",
          "location": {
            "id": "loc-88",
            "latitude": 52.35198,
            "longitude": 4.78285
          },
          "type": "task",
          "start_time": "2025-01-01T08:32:34",
          "end_time": "2025-01-01T08:35:04",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT22S",
          "distance": 118
        },
        {
          "id": "task-58",
          "location": {
            "id": "loc-58",
            "latitude": 52.34735,
            "longitude": 4.78004
          },
          "type": "task",
          "start_time": "2025-01-01T08:36:56",
          "end_time": "2025-01-01T08:39:26",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT112S",
          "distance": 667
        },
        {
          "id": "task-75",
          "location": {
            "id": "loc-75",
            "latitude": 52.34681,
            "longitude": 4.78497
          },
          "type": "task",
          "start_time": "2025-01-01T08:41:39",
          "end_time": "2025-01-01T08:44:09",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT133S",
          "distance": 941
        },
        {
          "id": "task-86",
          "location": {
            "id": "loc-86",
            "latitude": 52.34728,
            "longitude": 4.79388
          },
          "type": "task",
          "start_time": "2025-01-01T08:47:07",
          "end_time": "2025-01-01T08:49:37",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT178S",
          "distance": 1113
        },
        {
          "id": "task-98",
          "location": {
            "id": "loc-98",
            "latitude": 52.34734,
            "longitude": 4.806
          },
          "type": "task",
          "start_time": "2025-01-01T08:53:17",
          "end_time": "2025-01-01T08:55:47",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT220S",
          "distance": 1514
        },
        {
          "id": "task-96",
          "location": {
            "id": "loc-96",
            "latitude": 52.3489,
            "longitude": 4.80699
          },
          "type": "task",
          "start_time": "2025-01-01T08:56:30",
          "end_time": "2025-01-01T08:59:00",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT43S",
          "distance": 251
        },
        {
          "id": "task-76",
          "location": {
            "id": "loc-76",
            "latitude": 52.34711,
            "longitude": 4.80524
          },
          "type": "task",
          "start_time": "2025-01-01T09:00:00",
          "end_time": "2025-01-01T09:02:30",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT60S",
          "distance": 329
        },
        {
          "id": "task-65",
          "location": {
            "id": "loc-65",
            "latitude": 52.34555,
            "longitude": 4.80322
          },
          "type": "task",
          "start_time": "2025-01-01T09:03:19",
          "end_time": "2025-01-01T09:05:49",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT49S",
          "distance": 316
        },
        {
          "id": "task-92",
          "location": {
            "id": "loc-92",
            "latitude": 52.34515,
            "longitude": 4.80967
          },
          "type": "task",
          "start_time": "2025-01-01T09:07:24",
          "end_time": "2025-01-01T09:09:54",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT95S",
          "distance": 567
        },
        {
          "id": "task-59",
          "location": {
            "id": "loc-59",
            "latitude": 52.34631,
            "longitude": 4.81557
          },
          "type": "task",
          "start_time": "2025-01-01T09:11:34",
          "end_time": "2025-01-01T09:14:04",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT100S",
          "distance": 575
        },
        {
          "id": "task-73",
          "location": {
            "id": "loc-73",
            "latitude": 52.35241,
            "longitude": 4.8411
          },
          "type": "task",
          "start_time": "2025-01-01T09:18:39",
          "end_time": "2025-01-01T09:21:09",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT275S",
          "distance": 2515
        },
        {
          "id": "task-60",
          "location": {
            "id": "loc-60",
            "latitude": 52.35702,
            "longitude": 4.84416
          },
          "type": "task",
          "start_time": "2025-01-01T09:23:10",
          "end_time": "2025-01-01T09:25:40",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT121S",
          "distance": 762
        },
        {
          "id": "task-72",
          "location": {
            "id": "loc-72",
            "latitude": 52.35922,
            "longitude": 4.83268
          },
          "type": "task",
          "start_time": "2025-01-01T09:28:14",
          "end_time": "2025-01-01T09:30:44",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT154S",
          "distance": 1002
        },
        {
          "id": "task-77",
          "location": {
            "id": "loc-77",
            "latitude": 52.3564,
            "longitude": 4.82968
          },
          "type": "task",
          "start_time": "2025-01-01T09:32:52",
          "end_time": "2025-01-01T09:35:22",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT128S",
          "distance": 918
        },
        {
          "id": "task-51",
          "location": {
            "id": "loc-51",
            "latitude": 52.35624,
            "longitude": 4.82005
          },
          "type": "task",
          "start_time": "2025-01-01T09:37:14",
          "end_time": "2025-01-01T09:39:44",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT112S",
          "distance": 699
        },
        {
          "id": "task-94",
          "location": {
            "id": "loc-94",
            "latitude": 52.36213,
            "longitude": 4.82486
          },
          "type": "task",
          "start_time": "2025-01-01T09:42:00",
          "end_time": "2025-01-01T09:44:30",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT136S",
          "distance": 864
        },
        {
          "id": "task-89",
          "location": {
            "id": "loc-89",
            "latitude": 52.36282,
            "longitude": 4.82646
          },
          "type": "task",
          "start_time": "2025-01-01T09:45:20",
          "end_time": "2025-01-01T09:47:50",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT50S",
          "distance": 290
        },
        {
          "id": "task-52",
          "location": {
            "id": "loc-52",
            "latitude": 52.36277,
            "longitude": 4.82842
          },
          "type": "task",
          "start_time": "2025-01-01T09:48:23",
          "end_time": "2025-01-01T09:50:53",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT33S",
          "distance": 158
        },
        {
          "id": "task-82",
          "location": {
            "id": "loc-82",
            "latitude": 52.36464,
            "longitude": 4.83171
          },
          "type": "task",
          "start_time": "2025-01-01T09:52:35",
          "end_time": "2025-01-01T09:55:05",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT102S",
          "distance": 576
        },
        {
          "id": "task-74",
          "location": {
            "id": "loc-74",
            "latitude": 52.36862,
            "longitude": 4.83271
          },
          "type": "task",
          "start_time": "2025-01-01T09:56:52",
          "end_time": "2025-01-01T09:59:22",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT107S",
          "distance": 655
        },
        {
          "id": "task-56",
          "location": {
            "id": "loc-56",
            "latitude": 52.36993,
            "longitude": 4.8326
          },
          "type": "task",
          "start_time": "2025-01-01T09:59:52",
          "end_time": "2025-01-01T10:02:22",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT30S",
          "distance": 155
        },
        {
          "id": "task-87",
          "location": {
            "id": "loc-87",
            "latitude": 52.37707,
            "longitude": 4.82589
          },
          "type": "task",
          "start_time": "2025-01-01T10:05:49",
          "end_time": "2025-01-01T10:08:19",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT207S",
          "distance": 1638
        },
        {
          "id": "task-97",
          "location": {
            "id": "loc-97",
            "latitude": 52.37641,
            "longitude": 4.81834
          },
          "type": "task",
          "start_time": "2025-01-01T10:10:09",
          "end_time": "2025-01-01T10:12:39",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT110S",
          "distance": 668
        },
        {
          "id": "task-70",
          "location": {
            "id": "loc-70",
            "latitude": 52.3819,
            "longitude": 4.8184
          },
          "type": "task",
          "start_time": "2025-01-01T10:15:14",
          "end_time": "2025-01-01T10:17:44",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT155S",
          "distance": 863
        },
        {
          "id": "task-81",
          "location": {
            "id": "loc-81",
            "latitude": 52.38397,
            "longitude": 4.81404
          },
          "type": "task",
          "start_time": "2025-01-01T10:19:13",
          "end_time": "2025-01-01T10:21:43",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT89S",
          "distance": 527
        },
        {
          "id": "reload-west",
          "location": {
            "id": "loc-depot",
            "latitude": 52.39992,
            "longitude": 4.79581
          },
          "type": "depot",
          "start_time": "2025-01-01T10:27:18",
          "end_time": "2025-01-01T10:42:18",
          "duration": "PT900S",
          "wait_duration": "P0D",
          "travel_duration": "PT335S",
          "distance": 3745
        },
        {
          "id": "task-17",
          "location": {
            "id": "loc-17",
            "latitude": 52.39265,
            "longitude": 4.88256
          },
          "type": "task",
          "start_time": "2025-01-01T10:53:30",
          "end_time": "2025-01-01T10:56:00",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT672S",
          "distance": 7340
        },
        {
          "id": "task-5",
          "location": {
            "id": "loc-5",
            "latitude": 52.39016,
            "longitude": 4.88346
          },
          "type": "task",
          "start_time": "2025-01-01T10:57:21",
          "end_time": "2025-01-01T10:59:51",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT81S",
          "distance": 514
        },
        {
          "id": "task-4",
          "location": {
            "id": "loc-4",
            "latitude": 52.39095,
            "longitude": 4.87537
          },
          "type": "task",
          "start_time": "2025-01-01T11:01:29",
          "end_time": "2025-01-01T11:03:59",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT98S",
          "distance": 639
        },
        {
          "id": "task-32",
          "location": {
            "id": "loc-32",
            "latitude": 52.39136,
            "longitude": 4.87806
          },
          "type": "task",
          "start_time": "2025-01-01T11:04:55",
          "end_time": "2025-01-01T11:07:25",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT56S",
          "distance": 344
        },
        {
          "id": "task-48",
          "location": {
            "id": "loc-48",
            "latitude": 52.38957,
            "longitude": 4.87937
          },
          "type": "task",
          "start_time": "2025-01-01T11:07:57",
          "end_time": "2025-01-01T11:10:27",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT32S",
          "distance": 218
        },
        {
          "id": "task-30",
          "location": {
            "id": "loc-30",
            "latitude": 52.38127,
            "longitude": 4.87281
          },
          "type": "task",
          "start_time": "2025-01-01T11:15:15",
          "end_time": "2025-01-01T11:17:45",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT288S",
          "distance": 1719
        },
        {
          "id": "task-9",
          "location": {
            "id": "loc-9",
            "latitude": 52.37623,
            "longitude": 4.87615
          },
          "type": "task",
          "start_time": "2025-01-01T11:20:30",
          "end_time": "2025-01-01T11:23:00",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT165S",
          "distance": 1019
        },
        {
          "id": "task-14",
          "location": {
            "id": "loc-14",
            "latitude": 52.37381,
            "longitude": 4.8724
          },
          "type": "task",
          "start_time": "2025-01-01T11:24:29",
          "end_time": "2025-01-01T11:26:59",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT89S",
          "distance": 528
        },
        {
          "id": "task-46",
          "location": {
            "id": "loc-46",
            "latitude": 52.37501,
            "longitude": 4.86633
          },
          "type": "task",
          "start_time": "2025-01-01T11:29:07",
          "end_time": "2025-01-01T11:31:37",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT128S",
          "distance": 744
        },
        {
          "id": "task-8",
          "location": {
            "id": "loc-8",
            "latitude": 52.37449,
            "longitude": 4.86703
          },
          "type": "task",
          "start_time": "2025-01-01T11:32:00",
          "end_time": "2025-01-01T11:34:30",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT23S",
          "distance": 103
        },
        {
          "id": "task-49",
          "location": {
            "id": "loc-49",
            "latitude": 52.37259,
            "longitude": 4.87038
          },
          "type": "task",
          "start_time": "2025-01-01T11:36:49",
          "end_time": "2025-01-01T11:39:19",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT139S",
          "distance": 843
        },
        {
          "id": "task-16",
          "location": {
            "id": "loc-16",
            "latitude": 52.3734,
            "longitude": 4.87015
          },
          "type": "task",
          "start_time": "2025-01-01T11:39:44",
          "end_time": "2025-01-01T11:42:14",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT25S",
          "distance": 172
        },
        {
          "id": "task-39",
          "location": {
            "id": "loc-39",
            "latitude": 52.37391,
            "longitude": 4.87053
          },
          "type": "task",
          "start_time": "2025-01-01T11:42:23",
          "end_time": "2025-01-01T11:44:53",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT9S",
          "distance": 62
        },
        {
          "id": "task-31",
          "location": {
            "id": "loc-31",
            "latitude": 52.36909,
            "longitude": 4.87213
          },
          "type": "task",
          "start_time": "2025-01-01T11:46:59",
          "end_time": "2025-01-01T11:49:29",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT126S",
          "distance": 774
        },
        {
          "id": "task-42",
          "location": {
            "id": "loc-42",
            "latitude": 52.36816,
            "longitude": 4.87474
          },
          "type": "task",
          "start_time": "2025-01-01T11:51:26",
          "end_time": "2025-01-01T11:53:56",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT117S",
          "distance": 683
        },
        {
          "id": "task-7",
          "location": {
            "id": "loc-7",
            "latitude": 52.36674,
            "longitude": 4.87672
          },
          "type": "task",
          "start_time": "2025-01-01T11:54:55",
          "end_time": "2025-01-01T11:57:25",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT59S",
          "distance": 339
        },
        {
          "id": "task-38",
          "location": {
            "id": "loc-38",
            "latitude": 52.36482,
            "longitude": 4.87412
          },
          "type": "task",
          "start_time": "2025-01-01T11:58:53",
          "end_time": "2025-01-01T12:01:23",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT88S",
          "distance": 501
        },
        {
          "id": "task-34",
          "location": {
            "id": "loc-34",
            "latitude": 52.36372,
            "longitude": 4.87829
          },
          "type": "task",
          "start_time": "2025-01-01T12:02:58",
          "end_time": "2025-01-01T12:05:28",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT95S",
          "distance": 599
        },
        {
          "id": "task-29",
          "location": {
            "id": "loc-29",
            "latitude": 52.36382,
            "longitude": 4.87419
          },
          "type": "task",
          "start_time": "2025-01-01T12:06:33",
          "end_time": "2025-01-01T12:09:03",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT65S",
          "distance": 382
        },
        {
          "id": "task-27",
          "location": {
            "id": "loc-27",
            "latitude": 52.36124,
            "longitude": 4.87667
          },
          "type": "task",
          "start_time": "2025-01-01T12:11:32",
          "end_time": "2025-01-01T12:14:02",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT149S",
          "distance": 840
        },
        {
          "id": "task-44",
          "location": {
            "id": "loc-44",
            "latitude": 52.36154,
            "longitude": 4.87411
          },
          "type": "task",
          "start_time": "2025-01-01T12:14:47",
          "end_time": "2025-01-01T12:17:17",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT45S",
          "distance": 246
        },
        {
          "id": "task-11",
          "location": {
            "id": "loc-11",
            "latitude": 52.36264,
            "longitude": 4.86138
          },
          "type": "task",
          "start_time": "2025-01-01T12:20:36",
          "end_time": "2025-01-01T12:23:06",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT199S",
          "distance": 1210
        },
        {
          "id": "task-3",
          "location": {
            "id": "loc-3",
            "latitude": 52.36128,
            "longitude": 4.86214
          },
          "type": "task",
          "start_time": "2025-01-01T12:24:08",
          "end_time": "2025-01-01T12:26:38",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT62S",
          "distance": 348
        },
        {
          "id": "task-21",
          "location": {
            "id": "loc-21",
            "latitude": 52.36227,
            "longitude": 4.86391
          },
          "type": "task",
          "start_time": "2025-01-01T12:27:28",
          "end_time": "2025-01-01T12:29:58",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT50S",
          "distance": 261
        },
        {
          "id": "task-20",
          "location": {
            "id": "loc-20",
            "latitude": 52.3642,
            "longitude": 4.86262
          },
          "type": "task",
          "start_time": "2025-01-01T12:31:27",
          "end_time": "2025-01-01T12:33:57",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT89S",
          "distance": 501
        },
        {
          "id": "task-28",
          "location": {
            "id": "loc-28",
            "latitude": 52.36476,
            "longitude": 4.86058
          },
          "type": "task",
          "start_time": "2025-01-01T12:34:41",
          "end_time": "2025-01-01T12:37:11",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT44S",
          "distance": 247
        },
        {
          "id": "task-1",
          "location": {
            "id": "loc-1",
            "latitude": 52.36784,
            "longitude": 4.8592
          },
          "type": "task",
          "start_time": "2025-01-01T12:38:18",
          "end_time": "2025-01-01T12:40:48",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT67S",
          "distance": 436
        },
        {
          "id": "task-6",
          "location": {
            "id": "loc-6",
            "latitude": 52.36663,
            "longitude": 4.85913
          },
          "type": "task",
          "start_time": "2025-01-01T12:41:08",
          "end_time": "2025-01-01T12:43:38",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT20S",
          "distance": 134
        },
        {
          "id": "task-24",
          "location": {
            "id": "loc-24",
            "latitude": 52.36404,
            "longitude": 4.85701
          },
          "type": "task",
          "start_time": "2025-01-01T12:46:01",
          "end_time": "2025-01-01T12:48:31",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT143S",
          "distance": 884
        },
        {
          "id": "task-45",
          "location": {
            "id": "loc-45",
            "latitude": 52.36026,
            "longitude": 4.85532
          },
          "type": "task",
          "start_time": "2025-01-01T12:50:00",
          "end_time": "2025-01-01T12:52:30",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT89S",
          "distance": 514
        },
        {
          "id": "task-33",
          "location": {
            "id": "loc-33",
            "latitude": 52.36014,
            "longitude": 4.85308
          },
          "type": "task",
          "start_time": "2025-01-01T12:53:05",
          "end_time": "2025-01-01T12:55:35",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT35S",
          "distance": 189
        },
        {
          "id": "task-15",
          "location": {
            "id": "loc-15",
            "latitude": 52.36319,
            "longitude": 4.85335
          },
          "type": "task",
          "start_time": "2025-01-01T12:56:34",
          "end_time": "2025-01-01T12:59:04",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT59S",
          "distance": 366
        },
        {
          "id": "task-69",
          "location": {
            "id": "loc-69",
            "latitude": 52.36656,
            "longitude": 4.84033
          },
          "type": "task",
          "start_time": "2025-01-01T13:02:26",
          "end_time": "2025-01-01T13:04:56",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT202S",
          "distance": 1272
        },
        {
          "id": "task-40",
          "location": {
            "id": "loc-40",
            "latitude": 52.37477,
            "longitude": 4.83791
          },
          "type": "task",
          "start_time": "2025-01-01T13:08:23",
          "end_time": "2025-01-01T13:10:53",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT207S",
          "distance": 1297
        },
        {
          "id": "task-36",
          "location": {
            "id": "loc-36",
            "latitude": 52.37461,
            "longitude": 4.84054
          },
          "type": "task",
          "start_time": "2025-01-01T13:11:20",
          "end_time": "2025-01-01T13:13:50",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT27S",
          "distance": 180
        },
        {
          "id": "task-19",
          "location": {
            "id": "loc-19",
            "latitude": 52.37515,
            "longitude": 4.84127
          },
          "type": "task",
          "start_time": "2025-01-01T13:14:15",
          "end_time": "2025-01-01T13:16:45",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT25S",
          "distance": 137
        },
        {
          "id": "task-25",
          "location": {
            "id": "loc-25",
            "latitude": 52.3747,
            "longitude": 4.84679
          },
          "type": "task",
          "start_time": "2025-01-01T13:21:28",
          "end_time": "2025-01-01T13:23:58",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT283S",
          "distance": 1779
        },
        {
          "id": "task-47",
          "location": {
            "id": "loc-47",
            "latitude": 52.3723,
            "longitude": 4.848
          },
          "type": "task",
          "start_time": "2025-01-01T13:24:39",
          "end_time": "2025-01-01T13:27:09",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT41S",
          "distance": 279
        },
        {
          "id": "task-2",
          "location": {
            "id": "loc-2",
            "latitude": 52.36865,
            "longitude": 4.85166
          },
          "type": "task",
          "start_time": "2025-01-01T13:28:43",
          "end_time": "2025-01-01T13:31:13",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT94S",
          "distance": 562
        },
        {
          "id": "task-23",
          "location": {
            "id": "loc-23",
            "latitude": 52.36867,
            "longitude": 4.85075
          },
          "type": "task",
          "start_time": "2025-01-01T13:32:45",
          "end_time": "2025-01-01T13:35:15",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT92S",
          "distance": 564
        },
        {
          "id": "task-50",
          "location": {
            "id": "loc-50",
            "latitude": 52.36681,
            "longitude": 4.85054
          },
          "type": "task",
          "start_time": "2025-01-01T13:35:56",
          "end_time": "2025-01-01T13:38:26",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT41S",
          "distance": 265
        },
        {
          "id": "task-12",
          "location": {
            "id": "loc-12",
            "latitude": 52.37793,
            "longitude": 4.84107
          },
          "type": "task",
          "start_time": "2025-01-01T13:42:40",
          "end_time": "2025-01-01T13:45:10",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT254S",
          "distance": 1933
        },
        {
          "id": "task-37",
          "location": {
            "id": "loc-37",
            "latitude": 52.3779,
            "longitude": 4.83852
          },
          "type": "task",
          "start_time": "2025-01-01T13:45:46",
          "end_time": "2025-01-01T13:48:16",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT36S",
          "distance": 208
        },
        {
          "id": "task-67",
          "location": {
            "id": "loc-67",
            "latitude": 52.38201,
            "longitude": 4.8295
          },
          "type": "task",
          "start_time": "2025-01-01T13:50:53",
          "end_time": "2025-01-01T13:53:23",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT157S",
          "distance": 974
        },
        {
          "id": "task-78",
          "location": {
            "id": "loc-78",
            "latitude": 52.38314,
            "longitude": 4.83508
          },
          "type": "task",
          "start_time": "2025-01-01T13:54:59",
          "end_time": "2025-01-01T13:57:29",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT96S",
          "distance": 549
        },
        {
          "id": "task-35",
          "location": {
            "id": "loc-35",
            "latitude": 52.38108,
            "longitude": 4.84383
          },
          "type": "task",
          "start_time": "2025-01-01T13:59:30",
          "end_time": "2025-01-01T14:02:00",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT121S",
          "distance": 754
        },
        {
          "id": "task-10",
          "location": {
            "id": "loc-10",
            "latitude": 52.381,
            "longitude": 4.85261
          },
          "type": "task",
          "start_time": "2025-01-01T14:03:53",
          "end_time": "2025-01-01T14:06:23",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT113S",
          "distance": 732
        },
        {
          "id": "task-18",
          "location": {
            "id": "loc-18",
            "latitude": 52.37891,
            "longitude": 4.85025
          },
          "type": "task",
          "start_time": "2025-01-01T14:07:25",
          "end_time": "2025-01-01T14:09:55",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT62S",
          "distance": 368
        },
        {
          "id": "task-41",
          "location": {
            "id": "loc-41",
            "latitude": 52.37914,
            "longitude": 4.85375
          },
          "type": "task",
          "start_time": "2025-01-01T14:11:46",
          "end_time": "2025-01-01T14:14:16",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT111S",
          "distance": 651
        },
        {
          "id": "task-13",
          "location": {
            "id": "loc-13",
            "latitude": 52.379,
            "longitude": 4.85486
          },
          "type": "task",
          "start_time": "2025-01-01T14:15:27",
          "end_time": "2025-01-01T14:17:57",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT71S",
          "distance": 383
        },
        {
          "id": "task-26",
          "location": {
            "id": "loc-26",
            "latitude": 52.3812,
            "longitude": 4.85828
          },
          "type": "task",
          "start_time": "2025-01-01T14:19:41",
          "end_time": "2025-01-01T14:22:11",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT104S",
          "distance": 558
        },
        {
          "id": "task-43",
          "location": {
            "id": "loc-43",
            "latitude": 52.38357,
            "longitude": 4.85609
          },
          "type": "task",
          "start_time": "2025-01-01T14:23:31",
          "end_time": "2025-01-01T14:26:01",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT80S",
          "distance": 407
        },
        {
          "id": "task-22",
          "location": {
            "id": "loc-22",
            "latitude": 52.384,
            "longitude": 4.85052
          },
          "type": "task",
          "start_time": "2025-01-01T14:28:02",
          "end_time": "2025-01-01T14:30:32",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT121S",
          "distance": 648
        },
        {
          "id": "task-85",
          "location": {
            "id": "loc-85",
            "latitude": 52.38641,
            "longitude": 4.83776
          },
          "type": "task",
          "start_time": "2025-01-01T14:34:35",
          "end_time": "2025-01-01T14:37:05",
          "duration": "PT150S",
          "wait_duration": "P0D",
          "travel_duration": "PT243S",
          "distance": 1577
        },
        {
          "id": "depot-west",
          "location": {
            "id": "loc-depot",
            "latitude": 52.39992,
            "longitude": 4.79581
          },
          "type": "depot",
          "start_time": "2025-01-01T14:43:25",
          "end_time": "2025-01-01T14:43:25",
          "duration": "P0D",
          "wait_duration": "P0D",
          "travel_duration": "PT380S",
          "distance": 4419
        }
      ],
      "polyline": "mjy~Hutg\\BAn@zBH^Db@?h@?RXNN@f@?R?@?B?|@?T@x@NfAAP@p@@\\AbB@N?PCf@G\\AfB?D?f@?lAAZAVENElF?l@?z@?lA?^?n@?\\AjB?tDBn@JHBHD?BDHB@BBHBFABCBCDGBMP?^Av@?t@@@HDHBDDDF@D?FCDCBGBI@KN?RALCJEn@Cp@APETGPKRMRWPYTg@J_@Fa@D_@Ba@@c@?wA?iB?_B@i@Bq@Bu@Fq@N}@N}@Jg@L_@Vw@\\w@vBiEj@gANUJOFGFKHGHGRMZQ@AHEBCFGFODMFYFa@H_@HYJUFIHKHEJELAVAd@AH?L@V?R?VAZC~@O~@AdCIF?F?PA?`@@hAN?LAtBGnBE@?ZAD?L?DAE@M?E?[@qBDuBFM@O?BxD?R@lC@vA@zC@vA@fA?vA?p@?\\@N@HDJBBBBHBXA`@AD?`@AR?PApBEdBEHARAt@AbAAl@Ah@?`@Ax@A`@AH?BS?w@AmLxBEJ?xBEF?d@ANAHBxAXRBIzACn@IdB?JIzAE|@??Cp@Ev@?Tr@J`@H^H^FPHJ@FCFEDKBQBc@TuEJgBJeCHiB@QDm@B_@@e@@SB[?yA@M?QBc@@[LoC@SFiANgDFuAJBj@JZyGA?i@KKAJ}B@UFmABm@@O@S@WD{@@WHeBHBvAXVsF@MRwE?CXoFBg@LsCeAUEn@wBa@GCBm@Be@H_BB]N{C@]LiCD}@@STkERgCBQnA`@tExAhAf@HDt@`@xAbAx@p@b@^LLRR^b@|@bArAbBbBfChCzFv@rBVt@Pn@Lb@V~@Rr@Np@Rz@Pz@FXF\\Hd@TtAHb@DZJz@n@hFHx@LbAd@xDHn@@FB`@Bb@@HH^j@xE?FBNLfADDHDD@PGHCp@[zBcAjD{Af@OVKjB}@FCFCTIJETKFCtAm@JGb@YHEp@[pCmAFCBAPCFARIl@Y@?FEFCJDFHBJFj@JbAf@dEJz@BTHl@Hr@ZxBLn@DLBJLNDFFBLFD?F@^En@GTAF@D@DBFDBDBFDJDLBXb@jDJ~@Fd@R`BDV?BPtABV?B@HFj@BNFEDAFCHEDABCJMVKDCCWOkAAOY{BAOYyBCWIq@JEPIh@WJENG??LGdAe@LENIHr@L`A@JJz@@H@LF`@NnA@H@LNhA?FBTLE@?~@a@VMh@Ut@]jAg@@ABABA??pAk@BADQCOCSEY?ECSCOY_CCQUoBCWCQMDmAh@EBEB_@Pk@Tj@U^QDCDClAi@LEBPBVX`CX~BBNBR?DDXBRBNJEvAo@DABAfAg@LEBCH@HErAm@JCJGrAk@BAHEFb@Jv@NjA@PJl@@J^xCRfB@HBZBTJEDCFCJEFCBARGVIZMxAq@xBcADb@Jv@LrADRL~@Ff@D\\Hr@Ht@BXRxAFf@yB`AC@cBt@cAb@IDEYw@kGLEp@YLGjBy@xB_AGg@M_AESMsAKw@Ec@yBbAyAp@[LWHSFC@GBKDGBEBKDF`@@Jt@zFt@lGDVKF_Bp@s@Zi@T{Ap@[NZdCD^\\vC\\pCLbADPH@HEDOzAq@NIBAhAe@lAg@mAf@iAd@SJ{Ap@s@yFzAq@h@Ur@[~As@HEHdA@R`@fD@FBVBVOHEDuAr@MH{B`Aw@\\i@Vc@VmAf@YJa@LEBgAp@cAd@w@T{@ZuClAs@ZaAb@GBIBIDIBC@IDDVBT@FB\\J|@BV@DF\\\\nCBZ@NDTP|ABP@VJEDCDEFCJIp@[HEnCmAxDeBjCqA{BfAOHyDdBoClAIDz@bHBRj@|E@FD`@@DHr@YLuAl@iAf@NnAZhCRzANrAOHs@\\u@Xa@P]LEBQFMHA?a@RDb@XjCNfADV@LL|@m@Vu@Xk@Ts@ZOkAQyAWiCGg@kAf@MDEBa@P_A^[]o@q@MQY|@Sd@ITM^GPKJE?G@EBEHER?D@LBLBDDDDBF?DADCLHHF^ZZ`@XR~AbBZ^j@n@r@~@b@p@^p@N\\DLBTBP@R?^CVCVJDFBJDhB|@z@l@bDpDHHBKDOFQx@yCfAeDFHV^HLd@d@FH^\\D?hAnAd@f@dAgDNNLLHHDBBBBDNNvA|ALLLLDFK^}BzHe@~AUr@K\\LLDDJJJLNNcBlFr@v@z@dABDz@dAt@|@n@x@n@v@p@z@LBJK|@{C^mA@EqAwAo@s@u@y@g@i@uA{AwA_BOOKMKKEEJ_@Pm@tCwJPg@J_@J]n@}BlA_EFQBMr@_Ct@mCDIFMtAwEJ]J_@KMEGMMSUsA{AOQEEGIECQSKKFUx@mCg@i@iAqAc@e@w@jCA@GV\\^@@BBhAnAf@h@JJPRDBFHDDNPrAzARTLLDFJLHFDFBBJJ?@DDp@r@n@r@NPFDTVj@j@F@D?FHDLPZLNb@XNLBJRZTTXZDFNNBEz@uCbAgDDMbAmDJc@?CsA{AIKeAiAIIGG?AGGGGoAsAMIINoA`Em@s@o@q@GGOQGIEGJ]rAqEZoAZeADIDOLc@Tq@Lo@Dc@Dm@?QA_@FAJARCFAJARCPEp@KLDF@dAhAtA|AKZeBpFGCgAo@EIAK@IpAmEHUTs@eAiAGAMEq@JQDSBK@G@SBK@G@Ca@CYKk@Ma@M[KQBITq@HYRs@\\kA|@{Cr@mC@CHWd@aBLg@vA}EYYCEUWc@g@OO{AcBdAmDv@kCDQn@sBFQHIJAHBdAjAPNtA|AFg@H_@H[XaA}@y@_Ao@{@Y_@SkAeAe@a@IMIKw@y@]a@i@y@QWEKGIPa@@EHWRe@Xo@FMJOJIB?B?@ABABABC@C@E@C@E?E@EAG?EAC?ECEACACCACACAC?C?C@S]EKUi@Se@Qk@Qk@a@eB]iBKy@iBiOUeBAIAMG]LGNGFCXMNIPA@?x@]PIGg@CWAIGe@U_BJEfBy@BApB_AHELhA@FAGAIK_ACUOeA?AOoAAMIm@CQIDqEpBMDGDBRFf@@PX|BDXBXT~AFd@@HBVFf@JErEsBFEFCHCPIxDeB\\OTKlAg@DV@H\\tC`@hD@NLdAL`A@VAPGP_Ar@OLGq@EW]sCAK]wCAG]}CCMAMTKlAg@DCDADCDCNGJCGg@EYAGK}@B[?i@g@eEGc@AKm@kFHEZMLGNGH@VLJHLJNE??JGF?@?F@NAE}F?M?I?k@?[?e@?Q?]AqAM?E?C?C?C@C?cADS@MBIB[Hw@XG@GDCAACEqJAmH?W?CBKFGJANLhBC?WAQ?Y?g@O?oABS?E?O??[?GAcAAsE?e@CqH?]EkE?]KwFAOEe@ASK{@Gm@Cw@A]?G?GE{A?KA[AMKwEIiCEoAI{CAOAQ?[Cm@KA]?A?C?E@A?}@?W?i@JuA@iDBY?O?mCFmA?s@EmB?E?MAQ@E??I@S?SGwN?wI?o@?e@CyAA_B@g@AqCEsA?S?_B?YAsBB}@?Q?Y?QCy@AaL@gAAcF@M@i@M?A?C?G?I?G?s@@A?o@@[?AW?a@@qF?sCIUQW[IoHJAs@@r@nHKZHPVHT?rCArG@Vo@@}BByCHaAJc@Dm@Ao@Ek@KK?_@@gBBM?WEG?GAKEACCCCS?KAO?k@@g@@s@AM?E?k@?aBA_BAcE?SK?O?}A@O@E?m@?iA@K?U@c@?c@@O?KBGDKHe@`@cAz@}@t@G@IF?dH?d@BpBA`@IBCDCHAL?H@B@DDFDBB??^@pA?lC@lA?dB@^?~B@zB?F?X?V?bA@`C@vB?V?H?p@?D?V@pB?`@?J?L@d@?L?\\?N?R?^?P@dB?T?F@hB?Z?xA@pB@lB@pC?bA?^@^@tD?R?T?X`@A~@?R?^RRPHHHDDBD@H?F@F?N?x@AH?TAF?HCDAHEFGDIBO@U?OAOG]YSCKCO?KAO?G?m@C}HbACb@A~AER?L?J?@nB?zBBnB?P@z@?H?J?X@V?X?Z?L@H?~@BjB?jD@fA?`B@`A?fD@nB?T@bB?t@?H?NG@EFEHAJ?J@H@HDFDBD@@L?P?h@BjCK?K?m@@sA@}@?E_Ga@@eA@i@?Y@M?Y?E?mA@uA@A[?k@?M?[A_B?[?iA?YAuA?y@?w@AqB?gAw@?_B@m@@s@@_B@k@Ds@?_B@m@??H@lDK^IGa@c@i@i@IWE]?YAaEAuC[@[?uAD]VIx@AVxBAFGAeBv@A?gB?Y?O?M?[?c@?QA}B?Wi@?GFEHBjACNGDsA@Ae@@d@rAAFEBOCkADIFGX?N??V@|B?P?b@?Z_@@aA?kBHE?K@]@M@WBK?}CHeADmAOBW?WjBChBAAmAAaE?wDA_ECeE?[?sB?w@iB@mBD}A?IDEP?V?tC?`@gB?eBFeBB_B?SLQm@?[W{DA]C_@Gy@wFm@?VH|B?BHpBDFxBp@hCv@Pl@An@HzBAh@Gl@YvACHETaF{DQO]Y_@c@KKEEIK@c@C[EWKSOMGEIAQ@OHKPKVALCN?VBXFTHPEPCLQt@ILKTO^s@fAwAzBqDrFqAlBMRMPIFOCc@KkAa@]GOEGAGCMGOGAAC?OGKCGCIC_@KC?ECg@QEAe@O{@YqC{@OdBSrBWpCIdAo@SYCEAGTo@dCd@^fDbCMrAALIdACVEd@c@|Ec@`Fc@`FAPCLAVAD?BCVCVEdAAR@NU`Dj@~@h@@`@Cl@AJ{B@Ki@UGGWQuAu@@SDeABWBW?C@E@WEAE?OAIAKCyBq@_AWQKUI[GkC_AQIGEGECVAB?DCVAL]`EOjB_F}ACZsBq@WdB@`@CDw@~@CDCB[F?rDO?o@@eA@iA@o@BI??|BB~B@lD?^?f@@z@@`DG?gB?Es@Y_E?K@MDGDEFCD?dBEH?AmDC_C?}BC}BBY@K@M@I@GDABABCDKFWDQBM@K?I?G?GAGGQIGGGIEGCG?G@G@GFIFEBGFMLKHGFQFu@?K?W?g@?YA[?yEAa@?uA?sF?U?uDBS?g@?M?E?[?s@?eA?m@Ae@Gi@Gk@G_ABS?CAS?u@?Y??fA?ZGzKItA]tDOz@e@`CQt@Oz@]pA]fAINUr@]~@k@vAm@vAOZQ`@g@~@{@zAg@z@k@|@o@z@i@z@Mb@EXEXATAT?b@?BD`@BT@FBLBHJ^hCbJHZJh@PjBBpBOfDOn@GLIHQNo@?m@?i@Fc@Fi@NoAl@y@n@g@b@g@n@e@r@u@|Aa@`AQf@Up@Sx@Y|AUdBKlAGnAEdA?~C?`D?~A?lB?pC?XsA@UCUEWEWA[?_@?U?i@?K?[F?S?i@Ec@I_@G@U?WIOSSy@d@c@BAn@zBH^Db@?h@?RXNN@f@?R?@?B?|@?T@x@NfAAP@p@@?W?{CAwE?oF@{AFeBDk@D[NwA^}BPs@Ps@FQZy@N]HQTe@Ta@j@y@f@i@XWXUjAm@`A[pAIj@A\\@ZA`@?HaA?CNyCJuCEoB[_BMk@Sy@cAeDMa@q@eCGe@AU?U?ODg@@ILe@Zi@|AyBrAwBlA_Cl@oAFOp@_B^cAFMVw@DQXaARu@\\sA^{At@uEP}BP{DBo@\\yEH_B@[@mA@UGmAk@mFEiAAaB?eBAiR@}JAwT?sD?cE?wBAcD?g@?sABoBBsA?S?K?k@@cA?]?WCy@BQAw@Ag@?a@?m@?qB?a@AsBEcB?wB?sA?e@?q@?Y?w@?[?oI@w@@s@DyAC{B?_@Aa@Ak@OoHAU?I?I?C?i@?a@?]?G?I?IAY?o@AgCGmKCcHAuB?w@E_J?G?I?OCs@Ek@ASAYAMAOO_EOaEs@gRCq@A[A[KkCUcGG_BEo@AWCWKw@Kw@UmBKo@Ky@Ec@Ea@C_@C_@?KAO?[AU?U?y@?Q?U?I?Q@WBi@?IHuCBgB?w@Au@AoE?uH?EBOAy@?SAmA?}@D_H?oA@o@B_@Dm@Fg@Jo@Lo@Jg@Lk@Tm@Pi@P_@BI\\q@To@Rk@Pm@Po@Nq@Lq@Ho@Fg@Do@b@_F`@cGJcBTgD@Q@EBQBMFOPk@DIBMN[HMSESEGCQGYGUA_@Mc@QMEGAC@CFAHANAFe@|EQ`BKR[d@QXSXa@n@QXIL_@l@[d@_@h@[f@d@fAe@gAZg@^i@Ze@^m@Zg@`@o@RYPYZe@JSPaBd@}E@G@O@IBGBAF@LDb@P^LRPZHFBF@RFRDXBJ?\\@X?XAN@ANOzBK`BEh@KpA?F@R?DQvCS|CQlCKTU~CQdD?P@LFp@BTDPf@jCj@lCj@pC]T]T_@V{AlA_@ZKHa@Xi@oCk@qCEUkAsCdA{AT]R[TFF?NGFADAJCl@KPEn@SXSnEeDd@_@l@a@FGHG\\WfCkBTQfAy@jByAVONKl@OPEpA]XB\\JN@NBTDNFNDHDHDJBH?H?HAF?PARCL?J?j@AAJCn@[NMNMRIVCTCVCRKt@G`@RRd@lAFLfDjGu@tAMXJPr@rAnA`C@@cArBCDw@zA?AGEECG?E@GFEHCLAN@LBJBHBBB@@@F@HAHGDKBONXdAjBVh@Jn@z@pI~Am@xAq@pBs@hBg@Hx@t@lH?F@JVGpEgAz@SLEJKDOn@kDVmADUV{AD_@BU?SA[AOAKIY[mBCMBK`@i@FG?CDK@C?CBIEIAGCISuAAKAK?I?G?U?I?G@E?CFUd@gC@E@CBIDWLBNFXD|@`@VPvAv@RLHDVNDDvDnBnBdAEVk@hDbHnDJFJDlDdBw@bFANSMiBiACAEEKICA?MAICGCGIIICG@GBEDEFCLAB?BAP@JBLBDBFAPAFCPALAVETKp@OlACTCDCDADCJCJAJ?FAF?H?B_@pBIRMl@K^]`BMr@K|@E`@Ex@Cn@Af@?n@@d@LGN?f@G\\Cb@CFAn@EDv@@b@@R@J@b@D`Ag@??PBf@H|@Jv@Kw@I}@Cy@f@?EaAAc@AKlAUJbBNp@Oq@KcBOB}@PASAc@Ew@o@DG@c@B]Bg@FO??uA?_@Ba@D_AB[@SJq@Hm@Lq@Nq@Hc@Lo@@W^qB?CBC@C@E@GFU@I?I@G?GBUNmAJq@DUHQBMDQ@G@GBED?BADADELBD@D@HD~BlA\\RdDlBBTZvCF`@?B\\fCCNIHMAw@i@k@a@q@g@OIi@a@{@i@_@Y^gCXwBBQ\\RdDlBZTLHHDDDBM@C?A@M@Mc@aEFYPIvAv@pAr@r@`@PNBB@@HBVFn@Nl@DP@z@?t@IZKPEvAy@LIFELIrHsE@AMm@G[Km@C@A@cI`Fq@iE~@e@fF}C\\U@Ay@_FEWCMCOEY@AFONQHG`@[NKLGPG@ATGd@AX@NAJATGZKXKFTDRDPp@jDr@fD?RCLoA|@FXLz@H\\j@jDBNBLBH@B?BBJTQLKLIj@]TOPMRMd@YTIRODCFEFE?K?C?EBGBQAICO?CEWEGIEMCq@sDiAmFcAoFAGAGCKGSN[BEVe@JKJMRSPKNKNENGPEb@ERBRDRFJBFBJ@PFN@D?HAVEZKPEDAHEHCFCBJBNPr@T|@R`Ah@lCZzALp@`@hCHd@?B@FC@CBC?KDKHwA|@yA~@BH@B?BBJBJ?BFZfAzFrAw@aA_HCGAIvA{@BAHGDCFC@ABCBC@A@ABCBCDEBAFEnCeBAEAC?CCGm@iDiAaGl@e@L[Nm@l@b@PRPXNn@l@hDZbBH^?DiCdBBF?B@B@DtA`I@VSJi@Xq@La@VGDEBGBGBC?A@G@Hb@Ln@pA~HtBdM@FhAxGBTxAnK@HF\\@HIBEBEBeB`ASJcAj@_Bz@cB`AgB`AKFe@VMFBNvAhJTtA`AjGRKPKTMnBeAzAy@{@{F[qBsAaJCQcB`ADNJp@jAlHkB`AuA}ICQKFe@VMFcB~@eAj@e@VFRJx@dAbHuAt@GDE?E@E?A?ASCMCQw@qFAEE]CMCWA?I@E?C@[PGTu@`@E?c@WYgBQJuAv@`@lC@HAHEZrB`B|@t@rAhAn@j@@@Kb@I^CLABEPAAIGIG{BgBsAgAYWcA}@Mb@IZINKFwLdALbGBN?BNAp@E~AInBK`CON?bBQbCYtAOLARD@@CBILCLAF?J@F@z@FzA@ZBV?b@Bn@FA@?B?FCFAz@MZGB?BALEHIJOf@mA@CBGHGFEJEHAH?JBHBzAlAbClBTPSdAmFZaBHIBEF??CJ?N@Nr@`Dj@[fBS`DWfB@rALAlBZC\\?`A?`@Pn@f@|@p@SrCO??dD?H?D?H?D@N?B?B?L?D?H?L??@~D@TL?zBGbB?NB?_B?MD[FMDIDAFAB?B?RZDBDBH@D@B?RELKDK@E@CDUDk@Ky@?OAKMICAAAAACACCISEIe@Go@Va@f@EHCNeEHU?K?G?G@YBmB@]?{CB]BW?oCDcA@e@?S?e@?eABE?O?G?E?K@E?E??H?F?B?B?L@P?L?D@\\?l@@v@?tD?f@B|B@zABpD?jE@~@BnD?p@BlGAtC?PA\\ABCBADADAD?F?F@FBH@BB@B@B@?^?R@dA?r@@zA?|@@hA@fF?N?JG@GHCJALG?G@w@@}C@o@@s@@aABs@@O?eCBK?c@?[?uABKBEDAHEj@Cr@G`CUrDCb@Gn@WhDCXWG}Bq@KIOEICOIAIAGEEEEGAGBEFQ?IAC?QAI?k@Q@G?I?EAEAGCCCCGCs@WICcDeAIAiCy@OGKCICSGa@MCTGh@CP?BGHMNCBCBCBA@A@e@rFABA@ABC@C?C?w@IYCCAE?CCCCG@GAC?qAM{@IWCUA@a@FgC@UFmCHwC?QJ}D?AFyB@e@wAO[CKAE\\IdAQhBOfBEf@S|BSbCQtBO|A?F?FDHFB`BN|AJT@VBz@HpALB?F@FAVmK@[TFDHNHRJnA^D@FBTHRXFFBQDWB]@MBSf@mGXuCDm@Fy@Dc@Be@BW@W@m@AQAk@Eu@Gw@I_BA_A?gB?aAA{@CcAI_AOkBAQAICQC]KBKFIBEBMDE?E?C@w@^KDy@^IDG@}@TKBeAVC@CDAFALmB`@i@JAY?GAQC]C_@E_@AO?C?C?C@C?C@??A@??A@?BC|@_@\\OvEsBt@]fBw@FCDEFEDCj@UtMsFLABAQmB?CAKEQAIAU@?BAFC@ARGFCtBw@DCHKFIBMBO?KAUE_@AU?O@I@GBGBGFGb@M^MjHkCBXVjCDb@BZRrB}ItCYgDLGjIyCDb@BZRrBDZThC`C{@lBo@\\MFGC_Du@BwFvB}ItCgFtBQFZdDC@KDmDzAkGjCK^IVGPIBEBE@MFKBKFB^@LDf@J`AFbADdA@fA@~CAnDEj@CFMv@QAKAcFUYEc@Ga@EiAUiBk@aBg@WIcGkBu@Ys@UUICAEAMCSGAAC?KEQxBC\\i@tGLDB@@?LDLFFDPFFDHLBP]pDE^_@pEnA`@nA^jA^F@bBj@PHDL[lDAJEJEDKCsBo@{CaAmA_@s@UIEMCCACAKCAPAHQhCCNOjBGn@Gn@C\\Gj@Eh@AJEj@ICWCgBFGBEFG\\QxBOdBQhBQtBMxACLEJiDiAYtACTCTKjAWtCKjAUjCKnAUjCADOhBC\\a@MCEh@wGB[TkCHq@d@NJkAVuCJkABUyAe@sAc@mA_@GCSKKEQGf@qFa@OYI@S?URaCHkDFuDlBJVDD[?EDi@R}B@OHy@H}@BUFw@HgAPmB@GDO@C@QBU?C?EAU@O?c@?gAEkECwD?c@JAL?B{@jCIPR@f@{@BgBDM?K@AiBEgEAeAEwE?M?WA[AyDAiB?o@?m@G}DAu@Gq@Ia@AEIUGOFOVg@BG`BgDTg@t@}ABEJA|@~AT`@R`AF^RpApEmBFf@XdCNvADX@BJ|@kF`CS{AQwA?cCE}@pEmBHEFCFC@ABAHCHEFCe@{BSk@k@cAm@eAZi@lAi@PItB}@S}AsB|@mBz@M@C]Kw@bAg@t@]l@WdAe@P|AsB|@mBz@M@WTKTELEJMUIMeAkBGKKQEGACACGGCGCECEGQMUm@aAKIHOjAgCzAgC}DqH_@s@Sb@MT]p@KTKRYg@GQQ\\w@zAGTGVAPAHAZUAa@?@dD?HCDA@eDDaBB?lA?Xw@BI?e@B?X@f@@fC|DG@`E@bB@bB@lDBN^d@uAbE_@_@c@c@mCD?sAAyAdGMBN^d@HJz@bAZ\\BD[`AIl@?DM\\Mb@yDlLA@UHYF}@DC?G@_@@Q??H?D?F?J@p@@fJ?b@BzDAf@?p@Bb@BjD?`@@v@DdI?H?h@Q@U@]@q@Fs@AE?W?KLAv@@N?h@Ft@?Z?|B?|ACVEHCDCD[@M@M@GBQJDBJBTAL?@?JJBB@FBF@H@NDd@Dx@?tC?@?~@?r@?T?R@Xg@WGCKGuCsAiAa@WGGAIAKAE?QA_ACOAkBE{B@i@?c@@S@}ABcB@a@Bq@IUFOCGAICSEQCU?KFKLABEFCFEJ?P@Z@ZDz@@L@R?^Bd@HrABXBb@FxABbA@T?Z?l@DliA?hH?P?lA?fA?ZGzKItA]tDOz@e@`CQt@Oz@]pA]fAINUr@]~@k@vAm@vAOZQ`@g@~@{@zAg@z@k@|@o@z@i@z@Mb@EXEXATAT?b@?BD`@BT@FBLBHJ^hCbJHZJh@PjBBpBOfDOn@GLIHQNo@?m@?i@Fc@Fi@NoAl@y@n@g@b@g@n@e@r@u@|Aa@`AQf@Up@Sx@Y|AUdBKlAGnAEdA?~C?`D?~A?lB?pC?XsA@UCUEWEWA[?_@?U?i@?K?[F?S?i@Ec@I_@o@{BC@"
    }
  ],
  "unplanned": [],
  "job_id": "77639186-16d0-48ea-a918-ed788c1b6b79",
  "technical": {
    "runtime": 15,
    "iterations": 100000
  }
}

The solution consists of one route with all 100 tasks planned:

  • First trip (46 containers, 07:00-10:27) covers the first batch of containers. The truck leaves the depot at 07:00 and works its way through the east until it reaches near full capacity.
  • Reload (10:27-10:42) the truck returns to the depot and unloads for 15 minutes.
  • Second trip (54 containers, 10:42-14:43) the truck heads out again to collect the remaining containers, and finishes the shift well before 17:00.

Conclusion

This example combines several FastVRP features to model a realistic waste collection operation. The key modelling decisions and the tutorials that explain them in further detail:

  • Reloading when the truck is full. With 100 containers and a capacity of 60, a single trip is not enough. A separate reload depot at the same location models the unloading point, with a load_duration of 15 minutes. See the Reloading tutorial.