Minimize tour overlap for driver-friendly routes
Ensure that the optimization algorithm assigns routes to different vehicles without covering the same areas. This is especially important in urban or local delivery scenarios, where overlapping tours can lead to inefficient routes and increased operational costs.
You can reduce tour overlap by including the minimizeTourOverlap advanced objective in the problem JSON, as part of the objectives array which specifies the hierarchy of objectives that govern the tour optimization process.
Note
advancedObjectivesis an experimental feature. For more information on how to include experimental features in your vehicle routing problems, see Explore experimental features or the sample use case discussed in this tutorial.- Using this objective can impact such tour parameters as costs, distance, or duration because of the optimization algorithm trying to separate the tours more distinctly.
- The order of objectives within the
advancedObjectivesarray is important. The higher theminimizeTourOverlapobjective is placed in the array, the more the optimization algorithm prioritizes it. For more information, see Use objective functions for specific optimization goals.
Scenario: Local delivery service
In this scenario, a local delivery service operates four scooters, each with a capacity of 10 orders. The vehicle routing problem for that fleet involves 40 jobs that are densely packed within the service area, as shown in the following example:
The following sections compare solutions to a single vehicle routing problem - with and without the minimizeTourOverlap objective - to demonstrate its impact on the resulting tours.
Use case 1: Without the minimizeTourOverlap objective
In this case, the vehicle routing problem does contain any specific optimization goals, which means that the optimization algorithm applies only the default objectives when determining the most optimal solution.
This use case serves as a baseline for comparing how solutions using the default objectives behave versus those aiming to reduce tour overlap.
The following section contains the full problem JSON:
Click to expand/collapse the sample JSON
{
"fleet": {
"types": [
{
"id": "vehicle_1",
"profile": "vehicle",
"costs": {
"fixed": 20,
"distance": 0.5,
"time": 0.002
},
"shifts": [
{
"start": {
"time": "2023-12-06T09:00:00+02:00",
"location": {
"lat": 52.213985,
"lng": 21.004046
}
},
"end": {
"time": "2023-12-06T19:00:00+02:00",
"location": {
"lat": 52.213985,
"lng": 21.004046
}
}
}
],
"capacity": [
10
],
"amount": 4
}
],
"profiles": [
{
"type": "scooter",
"name": "vehicle"
}
]
},
"plan": {
"jobs": [
{
"id": "Job_0",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.198437,
"lng": 21.020396
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_1",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.196852,
"lng": 21.01393
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_2",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.210221,
"lng": 21.008033
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_3",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.211604,
"lng": 21.018408
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_4",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.196201,
"lng": 21.003641
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_5",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.201661,
"lng": 21.0019
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_6",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.208418,
"lng": 20.99924
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_7",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.208443,
"lng": 21.0039
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_8",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.2099,
"lng": 21.01501
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_9",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.208032,
"lng": 21.019491
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_10",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.207339,
"lng": 21.013889
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_11",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.206026,
"lng": 21.011517
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_12",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.207388,
"lng": 21.01074
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_13",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.206785,
"lng": 21.007355
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_14",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.205227,
"lng": 21.008841
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_15",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.20263,
"lng": 21.009905
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_16",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.202166,
"lng": 21.008065
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_17",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.199205,
"lng": 21.009271
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_18",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.199146,
"lng": 21.005134
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_19",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.19785,
"lng": 21.004998
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_20",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.204318,
"lng": 21.001053
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_21",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.205608,
"lng": 20.999893
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_22",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.204826,
"lng": 21.003042
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_23",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.206454,
"lng": 21.004241
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_24",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.197989,
"lng": 21.015325
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_25",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.197208,
"lng": 21.018194
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_26",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.200472,
"lng": 21.014328
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_27",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.201151,
"lng": 21.022592
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_28",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.198854,
"lng": 21.012977
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_29",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.199743,
"lng": 21.01647
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_30",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.198428,
"lng": 21.017885
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_31",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.202742,
"lng": 21.016829
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_32",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.20075,
"lng": 21.020079
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_33",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.205546,
"lng": 21.021793
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_34",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.20459,
"lng": 21.014063
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_35",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.203915,
"lng": 21.022401
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_36",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.19966,
"lng": 21.023483
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_37",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.198207,
"lng": 21.022368
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_38",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.206908,
"lng": 21.017486
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_39",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.208587,
"lng": 21.01048
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
}
]
}
}Solution
The following figure illustrates the visual breakdown of the solution. The optimization algorithm addressed the problem efficiently, considering the provided parameters:
However, as the breakdown demonstrates, all resulting tours overlap with each other and lack compactness. An overlap between tours can lead to decreased efficiency, delays, and could make navigation more complex, especially when using small vehicles to serve jobs across densely populated areas.
The following section contains the full solution JSON:
Click to expand/collapse the sample JSON
{
"statistic": {
"cost": 16898.844,
"distance": 33607,
"duration": 7672,
"times": {
"driving": 5272,
"serving": 2400,
"waiting": 0,
"stopping": 0,
"break": 0
}
},
"tours": [
{
"vehicleId": "vehicle_1_3",
"typeId": "vehicle_1",
"stops": [
{
"time": {
"arrival": "2023-12-06T07:00:00Z",
"departure": "2023-12-06T07:00:00Z"
},
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:00:00Z",
"end": "2023-12-06T07:00:00Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 0
},
{
"time": {
"arrival": "2023-12-06T07:03:35Z",
"departure": "2023-12-06T07:04:35Z"
},
"load": [
9
],
"activities": [
{
"jobId": "Job_3",
"type": "delivery",
"location": {
"lat": 52.211604,
"lng": 21.018408
},
"time": {
"start": "2023-12-06T07:03:35Z",
"end": "2023-12-06T07:04:35Z"
}
}
],
"location": {
"lat": 52.211604,
"lng": 21.018408
},
"distance": 1680
},
{
"time": {
"arrival": "2023-12-06T07:06:01Z",
"departure": "2023-12-06T07:07:01Z"
},
"load": [
8
],
"activities": [
{
"jobId": "Job_9",
"type": "delivery",
"location": {
"lat": 52.208032,
"lng": 21.019491
},
"time": {
"start": "2023-12-06T07:06:01Z",
"end": "2023-12-06T07:07:01Z"
}
}
],
"location": {
"lat": 52.208032,
"lng": 21.019491
},
"distance": 2367
},
{
"time": {
"arrival": "2023-12-06T07:08:08Z",
"departure": "2023-12-06T07:09:08Z"
},
"load": [
7
],
"activities": [
{
"jobId": "Job_38",
"type": "delivery",
"location": {
"lat": 52.206908,
"lng": 21.017486
},
"time": {
"start": "2023-12-06T07:08:08Z",
"end": "2023-12-06T07:09:08Z"
}
}
],
"location": {
"lat": 52.206908,
"lng": 21.017486
},
"distance": 2663
},
{
"time": {
"arrival": "2023-12-06T07:12:00Z",
"departure": "2023-12-06T07:13:00Z"
},
"load": [
6
],
"activities": [
{
"jobId": "Job_35",
"type": "delivery",
"location": {
"lat": 52.203915,
"lng": 21.022401
},
"time": {
"start": "2023-12-06T07:12:00Z",
"end": "2023-12-06T07:13:00Z"
}
}
],
"location": {
"lat": 52.203915,
"lng": 21.022401
},
"distance": 3513
},
{
"time": {
"arrival": "2023-12-06T07:13:52Z",
"departure": "2023-12-06T07:14:52Z"
},
"load": [
5
],
"activities": [
{
"jobId": "Job_27",
"type": "delivery",
"location": {
"lat": 52.201151,
"lng": 21.022592
},
"time": {
"start": "2023-12-06T07:13:52Z",
"end": "2023-12-06T07:14:52Z"
}
}
],
"location": {
"lat": 52.201151,
"lng": 21.022592
},
"distance": 3951
},
{
"time": {
"arrival": "2023-12-06T07:15:20Z",
"departure": "2023-12-06T07:16:20Z"
},
"load": [
4
],
"activities": [
{
"jobId": "Job_32",
"type": "delivery",
"location": {
"lat": 52.20075,
"lng": 21.020079
},
"time": {
"start": "2023-12-06T07:15:20Z",
"end": "2023-12-06T07:16:20Z"
}
}
],
"location": {
"lat": 52.20075,
"lng": 21.020079
},
"distance": 4128
},
{
"time": {
"arrival": "2023-12-06T07:17:41Z",
"departure": "2023-12-06T07:18:41Z"
},
"load": [
3
],
"activities": [
{
"jobId": "Job_26",
"type": "delivery",
"location": {
"lat": 52.200472,
"lng": 21.014328
},
"time": {
"start": "2023-12-06T07:17:41Z",
"end": "2023-12-06T07:18:41Z"
}
}
],
"location": {
"lat": 52.200472,
"lng": 21.014328
},
"distance": 4598
},
{
"time": {
"arrival": "2023-12-06T07:20:30Z",
"departure": "2023-12-06T07:21:30Z"
},
"load": [
2
],
"activities": [
{
"jobId": "Job_31",
"type": "delivery",
"location": {
"lat": 52.202742,
"lng": 21.016829
},
"time": {
"start": "2023-12-06T07:20:30Z",
"end": "2023-12-06T07:21:30Z"
}
}
],
"location": {
"lat": 52.202742,
"lng": 21.016829
},
"distance": 5157
},
{
"time": {
"arrival": "2023-12-06T07:22:29Z",
"departure": "2023-12-06T07:23:29Z"
},
"load": [
1
],
"activities": [
{
"jobId": "Job_34",
"type": "delivery",
"location": {
"lat": 52.20459,
"lng": 21.014063
},
"time": {
"start": "2023-12-06T07:22:29Z",
"end": "2023-12-06T07:23:29Z"
}
}
],
"location": {
"lat": 52.20459,
"lng": 21.014063
},
"distance": 5510
},
{
"time": {
"arrival": "2023-12-06T07:24:50Z",
"departure": "2023-12-06T07:25:50Z"
},
"load": [
0
],
"activities": [
{
"jobId": "Job_11",
"type": "delivery",
"location": {
"lat": 52.206026,
"lng": 21.011517
},
"time": {
"start": "2023-12-06T07:24:50Z",
"end": "2023-12-06T07:25:50Z"
}
}
],
"location": {
"lat": 52.206026,
"lng": 21.011517
},
"distance": 5877
},
{
"time": {
"arrival": "2023-12-06T07:29:03Z",
"departure": "2023-12-06T07:29:03Z"
},
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:29:03Z",
"end": "2023-12-06T07:29:03Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 7394
}
],
"statistic": {
"cost": 3720.486,
"distance": 7394,
"duration": 1743,
"times": {
"driving": 1143,
"serving": 600,
"waiting": 0,
"stopping": 0,
"break": 0
}
},
"shiftIndex": 0
},
{
"vehicleId": "vehicle_1_4",
"typeId": "vehicle_1",
"stops": [
{
"time": {
"arrival": "2023-12-06T07:00:00Z",
"departure": "2023-12-06T07:00:00Z"
},
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:00:00Z",
"end": "2023-12-06T07:00:00Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 0
},
{
"time": {
"arrival": "2023-12-06T07:02:37Z",
"departure": "2023-12-06T07:03:37Z"
},
"load": [
9
],
"activities": [
{
"jobId": "Job_7",
"type": "delivery",
"location": {
"lat": 52.208443,
"lng": 21.0039
},
"time": {
"start": "2023-12-06T07:02:37Z",
"end": "2023-12-06T07:03:37Z"
}
}
],
"location": {
"lat": 52.208443,
"lng": 21.0039
},
"distance": 1086
},
{
"time": {
"arrival": "2023-12-06T07:04:47Z",
"departure": "2023-12-06T07:05:47Z"
},
"load": [
8
],
"activities": [
{
"jobId": "Job_6",
"type": "delivery",
"location": {
"lat": 52.208418,
"lng": 20.99924
},
"time": {
"start": "2023-12-06T07:04:47Z",
"end": "2023-12-06T07:05:47Z"
}
}
],
"location": {
"lat": 52.208418,
"lng": 20.99924
},
"distance": 1463
},
{
"time": {
"arrival": "2023-12-06T07:07:15Z",
"departure": "2023-12-06T07:08:15Z"
},
"load": [
7
],
"activities": [
{
"jobId": "Job_23",
"type": "delivery",
"location": {
"lat": 52.206454,
"lng": 21.004241
},
"time": {
"start": "2023-12-06T07:07:15Z",
"end": "2023-12-06T07:08:15Z"
}
}
],
"location": {
"lat": 52.206454,
"lng": 21.004241
},
"distance": 2013
},
{
"time": {
"arrival": "2023-12-06T07:11:04Z",
"departure": "2023-12-06T07:12:04Z"
},
"load": [
6
],
"activities": [
{
"jobId": "Job_15",
"type": "delivery",
"location": {
"lat": 52.20263,
"lng": 21.009905
},
"time": {
"start": "2023-12-06T07:11:04Z",
"end": "2023-12-06T07:12:04Z"
}
}
],
"location": {
"lat": 52.20263,
"lng": 21.009905
},
"distance": 2974
},
{
"time": {
"arrival": "2023-12-06T07:14:47Z",
"departure": "2023-12-06T07:15:47Z"
},
"load": [
5
],
"activities": [
{
"jobId": "Job_4",
"type": "delivery",
"location": {
"lat": 52.196201,
"lng": 21.003641
},
"time": {
"start": "2023-12-06T07:14:47Z",
"end": "2023-12-06T07:15:47Z"
}
}
],
"location": {
"lat": 52.196201,
"lng": 21.003641
},
"distance": 4167
},
{
"time": {
"arrival": "2023-12-06T07:20:15Z",
"departure": "2023-12-06T07:21:15Z"
},
"load": [
4
],
"activities": [
{
"jobId": "Job_0",
"type": "delivery",
"location": {
"lat": 52.198437,
"lng": 21.020396
},
"time": {
"start": "2023-12-06T07:20:15Z",
"end": "2023-12-06T07:21:15Z"
}
}
],
"location": {
"lat": 52.198437,
"lng": 21.020396
},
"distance": 5915
},
{
"time": {
"arrival": "2023-12-06T07:22:41Z",
"departure": "2023-12-06T07:23:41Z"
},
"load": [
3
],
"activities": [
{
"jobId": "Job_30",
"type": "delivery",
"location": {
"lat": 52.198428,
"lng": 21.017885
},
"time": {
"start": "2023-12-06T07:22:41Z",
"end": "2023-12-06T07:23:41Z"
}
}
],
"location": {
"lat": 52.198428,
"lng": 21.017885
},
"distance": 6231
},
{
"time": {
"arrival": "2023-12-06T07:24:50Z",
"departure": "2023-12-06T07:25:50Z"
},
"load": [
2
],
"activities": [
{
"jobId": "Job_24",
"type": "delivery",
"location": {
"lat": 52.197989,
"lng": 21.015325
},
"time": {
"start": "2023-12-06T07:24:50Z",
"end": "2023-12-06T07:25:50Z"
}
}
],
"location": {
"lat": 52.197989,
"lng": 21.015325
},
"distance": 6533
},
{
"time": {
"arrival": "2023-12-06T07:26:37Z",
"departure": "2023-12-06T07:27:37Z"
},
"load": [
1
],
"activities": [
{
"jobId": "Job_28",
"type": "delivery",
"location": {
"lat": 52.198854,
"lng": 21.012977
},
"time": {
"start": "2023-12-06T07:26:37Z",
"end": "2023-12-06T07:27:37Z"
}
}
],
"location": {
"lat": 52.198854,
"lng": 21.012977
},
"distance": 6772
},
{
"time": {
"arrival": "2023-12-06T07:30:24Z",
"departure": "2023-12-06T07:31:24Z"
},
"load": [
0
],
"activities": [
{
"jobId": "Job_2",
"type": "delivery",
"location": {
"lat": 52.210221,
"lng": 21.008033
},
"time": {
"start": "2023-12-06T07:30:24Z",
"end": "2023-12-06T07:31:24Z"
}
}
],
"location": {
"lat": 52.210221,
"lng": 21.008033
},
"distance": 8141
},
{
"time": {
"arrival": "2023-12-06T07:34:03Z",
"departure": "2023-12-06T07:34:03Z"
},
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:34:03Z",
"end": "2023-12-06T07:34:03Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 9082
}
],
"statistic": {
"cost": 4565.086,
"distance": 9082,
"duration": 2043,
"times": {
"driving": 1443,
"serving": 600,
"waiting": 0,
"stopping": 0,
"break": 0
}
},
"shiftIndex": 0
},
{
"vehicleId": "vehicle_1_1",
"typeId": "vehicle_1",
"stops": [
{
"time": {
"arrival": "2023-12-06T07:00:00Z",
"departure": "2023-12-06T07:00:00Z"
},
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:00:00Z",
"end": "2023-12-06T07:00:00Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 0
},
{
"time": {
"arrival": "2023-12-06T07:02:42Z",
"departure": "2023-12-06T07:03:42Z"
},
"load": [
9
],
"activities": [
{
"jobId": "Job_12",
"type": "delivery",
"location": {
"lat": 52.207388,
"lng": 21.01074
},
"time": {
"start": "2023-12-06T07:02:42Z",
"end": "2023-12-06T07:03:42Z"
}
}
],
"location": {
"lat": 52.207388,
"lng": 21.01074
},
"distance": 1165
},
{
"time": {
"arrival": "2023-12-06T07:03:50Z",
"departure": "2023-12-06T07:04:50Z"
},
"load": [
8
],
"activities": [
{
"jobId": "Job_39",
"type": "delivery",
"location": {
"lat": 52.208587,
"lng": 21.01048
},
"time": {
"start": "2023-12-06T07:03:50Z",
"end": "2023-12-06T07:04:50Z"
}
}
],
"location": {
"lat": 52.208587,
"lng": 21.01048
},
"distance": 1230
},
{
"time": {
"arrival": "2023-12-06T07:06:25Z",
"departure": "2023-12-06T07:07:25Z"
},
"load": [
7
],
"activities": [
{
"jobId": "Job_10",
"type": "delivery",
"location": {
"lat": 52.207339,
"lng": 21.013889
},
"time": {
"start": "2023-12-06T07:06:25Z",
"end": "2023-12-06T07:07:25Z"
}
}
],
"location": {
"lat": 52.207339,
"lng": 21.013889
},
"distance": 1688
},
{
"time": {
"arrival": "2023-12-06T07:09:38Z",
"departure": "2023-12-06T07:10:38Z"
},
"load": [
6
],
"activities": [
{
"jobId": "Job_29",
"type": "delivery",
"location": {
"lat": 52.199743,
"lng": 21.01647
},
"time": {
"start": "2023-12-06T07:09:38Z",
"end": "2023-12-06T07:10:38Z"
}
}
],
"location": {
"lat": 52.199743,
"lng": 21.01647
},
"distance": 2670
},
{
"time": {
"arrival": "2023-12-06T07:12:24Z",
"departure": "2023-12-06T07:13:24Z"
},
"load": [
5
],
"activities": [
{
"jobId": "Job_1",
"type": "delivery",
"location": {
"lat": 52.196852,
"lng": 21.01393
},
"time": {
"start": "2023-12-06T07:12:24Z",
"end": "2023-12-06T07:13:24Z"
}
}
],
"location": {
"lat": 52.196852,
"lng": 21.01393
},
"distance": 3402
},
{
"time": {
"arrival": "2023-12-06T07:14:10Z",
"departure": "2023-12-06T07:15:10Z"
},
"load": [
4
],
"activities": [
{
"jobId": "Job_25",
"type": "delivery",
"location": {
"lat": 52.197208,
"lng": 21.018194
},
"time": {
"start": "2023-12-06T07:14:10Z",
"end": "2023-12-06T07:15:10Z"
}
}
],
"location": {
"lat": 52.197208,
"lng": 21.018194
},
"distance": 3693
},
{
"time": {
"arrival": "2023-12-06T07:16:11Z",
"departure": "2023-12-06T07:17:11Z"
},
"load": [
3
],
"activities": [
{
"jobId": "Job_37",
"type": "delivery",
"location": {
"lat": 52.198207,
"lng": 21.022368
},
"time": {
"start": "2023-12-06T07:16:11Z",
"end": "2023-12-06T07:17:11Z"
}
}
],
"location": {
"lat": 52.198207,
"lng": 21.022368
},
"distance": 3997
},
{
"time": {
"arrival": "2023-12-06T07:19:20Z",
"departure": "2023-12-06T07:20:20Z"
},
"load": [
2
],
"activities": [
{
"jobId": "Job_36",
"type": "delivery",
"location": {
"lat": 52.19966,
"lng": 21.023483
},
"time": {
"start": "2023-12-06T07:19:20Z",
"end": "2023-12-06T07:20:20Z"
}
}
],
"location": {
"lat": 52.19966,
"lng": 21.023483
},
"distance": 4626
},
{
"time": {
"arrival": "2023-12-06T07:22:22Z",
"departure": "2023-12-06T07:23:22Z"
},
"load": [
1
],
"activities": [
{
"jobId": "Job_33",
"type": "delivery",
"location": {
"lat": 52.205546,
"lng": 21.021793
},
"time": {
"start": "2023-12-06T07:22:22Z",
"end": "2023-12-06T07:23:22Z"
}
}
],
"location": {
"lat": 52.205546,
"lng": 21.021793
},
"distance": 5469
},
{
"time": {
"arrival": "2023-12-06T07:25:49Z",
"departure": "2023-12-06T07:26:49Z"
},
"load": [
0
],
"activities": [
{
"jobId": "Job_8",
"type": "delivery",
"location": {
"lat": 52.2099,
"lng": 21.01501
},
"time": {
"start": "2023-12-06T07:25:49Z",
"end": "2023-12-06T07:26:49Z"
}
}
],
"location": {
"lat": 52.2099,
"lng": 21.01501
},
"distance": 6393
},
{
"time": {
"arrival": "2023-12-06T07:30:34Z",
"departure": "2023-12-06T07:30:34Z"
},
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:30:34Z",
"end": "2023-12-06T07:30:34Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 7796
}
],
"statistic": {
"cost": 3921.668,
"distance": 7796,
"duration": 1834,
"times": {
"driving": 1234,
"serving": 600,
"waiting": 0,
"stopping": 0,
"break": 0
}
},
"shiftIndex": 0
},
{
"vehicleId": "vehicle_1_2",
"typeId": "vehicle_1",
"stops": [
{
"time": {
"arrival": "2023-12-06T07:00:00Z",
"departure": "2023-12-06T07:00:00Z"
},
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:00:00Z",
"end": "2023-12-06T07:00:00Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 0
},
{
"time": {
"arrival": "2023-12-06T07:02:36Z",
"departure": "2023-12-06T07:03:36Z"
},
"load": [
9
],
"activities": [
{
"jobId": "Job_14",
"type": "delivery",
"location": {
"lat": 52.205227,
"lng": 21.008841
},
"time": {
"start": "2023-12-06T07:02:36Z",
"end": "2023-12-06T07:03:36Z"
}
}
],
"location": {
"lat": 52.205227,
"lng": 21.008841
},
"distance": 1297
},
{
"time": {
"arrival": "2023-12-06T07:05:15Z",
"departure": "2023-12-06T07:06:15Z"
},
"load": [
8
],
"activities": [
{
"jobId": "Job_13",
"type": "delivery",
"location": {
"lat": 52.206785,
"lng": 21.007355
},
"time": {
"start": "2023-12-06T07:05:15Z",
"end": "2023-12-06T07:06:15Z"
}
}
],
"location": {
"lat": 52.206785,
"lng": 21.007355
},
"distance": 1884
},
{
"time": {
"arrival": "2023-12-06T07:08:55Z",
"departure": "2023-12-06T07:09:55Z"
},
"load": [
7
],
"activities": [
{
"jobId": "Job_20",
"type": "delivery",
"location": {
"lat": 52.204318,
"lng": 21.001053
},
"time": {
"start": "2023-12-06T07:08:55Z",
"end": "2023-12-06T07:09:55Z"
}
}
],
"location": {
"lat": 52.204318,
"lng": 21.001053
},
"distance": 2835
},
{
"time": {
"arrival": "2023-12-06T07:10:43Z",
"departure": "2023-12-06T07:11:43Z"
},
"load": [
6
],
"activities": [
{
"jobId": "Job_21",
"type": "delivery",
"location": {
"lat": 52.205608,
"lng": 20.999893
},
"time": {
"start": "2023-12-06T07:10:43Z",
"end": "2023-12-06T07:11:43Z"
}
}
],
"location": {
"lat": 52.205608,
"lng": 20.999893
},
"distance": 3046
},
{
"time": {
"arrival": "2023-12-06T07:12:45Z",
"departure": "2023-12-06T07:13:45Z"
},
"load": [
5
],
"activities": [
{
"jobId": "Job_22",
"type": "delivery",
"location": {
"lat": 52.204826,
"lng": 21.003042
},
"time": {
"start": "2023-12-06T07:12:45Z",
"end": "2023-12-06T07:13:45Z"
}
}
],
"location": {
"lat": 52.204826,
"lng": 21.003042
},
"distance": 3479
},
{
"time": {
"arrival": "2023-12-06T07:16:05Z",
"departure": "2023-12-06T07:17:05Z"
},
"load": [
4
],
"activities": [
{
"jobId": "Job_5",
"type": "delivery",
"location": {
"lat": 52.201661,
"lng": 21.0019
},
"time": {
"start": "2023-12-06T07:16:05Z",
"end": "2023-12-06T07:17:05Z"
}
}
],
"location": {
"lat": 52.201661,
"lng": 21.0019
},
"distance": 4271
},
{
"time": {
"arrival": "2023-12-06T07:19:47Z",
"departure": "2023-12-06T07:20:47Z"
},
"load": [
3
],
"activities": [
{
"jobId": "Job_19",
"type": "delivery",
"location": {
"lat": 52.19785,
"lng": 21.004998
},
"time": {
"start": "2023-12-06T07:19:47Z",
"end": "2023-12-06T07:20:47Z"
}
}
],
"location": {
"lat": 52.19785,
"lng": 21.004998
},
"distance": 5559
},
{
"time": {
"arrival": "2023-12-06T07:22:51Z",
"departure": "2023-12-06T07:23:51Z"
},
"load": [
2
],
"activities": [
{
"jobId": "Job_18",
"type": "delivery",
"location": {
"lat": 52.199146,
"lng": 21.005134
},
"time": {
"start": "2023-12-06T07:22:51Z",
"end": "2023-12-06T07:23:51Z"
}
}
],
"location": {
"lat": 52.199146,
"lng": 21.005134
},
"distance": 6091
},
{
"time": {
"arrival": "2023-12-06T07:25:11Z",
"departure": "2023-12-06T07:26:11Z"
},
"load": [
1
],
"activities": [
{
"jobId": "Job_17",
"type": "delivery",
"location": {
"lat": 52.199205,
"lng": 21.009271
},
"time": {
"start": "2023-12-06T07:25:11Z",
"end": "2023-12-06T07:26:11Z"
}
}
],
"location": {
"lat": 52.199205,
"lng": 21.009271
},
"distance": 6534
},
{
"time": {
"arrival": "2023-12-06T07:29:10Z",
"departure": "2023-12-06T07:30:10Z"
},
"load": [
0
],
"activities": [
{
"jobId": "Job_16",
"type": "delivery",
"location": {
"lat": 52.202166,
"lng": 21.008065
},
"time": {
"start": "2023-12-06T07:29:10Z",
"end": "2023-12-06T07:30:10Z"
}
}
],
"location": {
"lat": 52.202166,
"lng": 21.008065
},
"distance": 7521
},
{
"time": {
"arrival": "2023-12-06T07:34:12Z",
"departure": "2023-12-06T07:34:12Z"
},
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:34:12Z",
"end": "2023-12-06T07:34:12Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 9335
}
],
"statistic": {
"cost": 4691.604,
"distance": 9335,
"duration": 2052,
"times": {
"driving": 1452,
"serving": 600,
"waiting": 0,
"stopping": 0,
"break": 0
}
},
"shiftIndex": 0
}
]
}Use case 2: With the minimizeTourOverlap objective
To prioritize solutions where all tours cover distinct and compact geographical areas without overlapping, modify the vehicle routing problem in the following way:
-
Add the
advancedObjectivesfeature as part of theexperimentalFeaturesarray, as shown in the following snippet:"configuration": { "experimentalFeatures": [ "advancedObjectives" ] } -
Add the
advancedObjectivesarray, including theminimizeTourOverlapobjective, for example:"advancedObjectives": [ [ { "type": "minimizeUnassigned" } ], [ { "type": "minimizeTours" } ], [ { "type": "minimizeTourOverlap" } ], [ { "type": "minimizeCost" } ] ]
Note
Consider the following points about the objectives and their hierarchy, as provided in the previous example:
- Placing the
minimizeTourOverlapobjective below theminimizeUnassignedandminimizeToursobjectives ensures that the primary goals of minimizing unassigned jobs and using the optimal number of vehicles remain top priorities. This approach helps maintain predictable and efficient tour planning.- Placing the
minimizeTourOverlapobjective below theminimizeCostobjective might have little effect in reducing tour overlap. In the example described,minimizeTourOverlapwas intentionally placed aboveminimizeCostto ensure that reducing overlap remains a higher priority, while maintaining efficient and distinct routes.
See the full problem JSON for more information:
Click to expand/collapse the sample JSON
{
"fleet": {
"types": [
{
"id": "vehicle_1",
"profile": "vehicle",
"costs": {
"fixed": 20,
"distance": 0.5,
"time": 0.002
},
"shifts": [
{
"start": {
"time": "2023-12-06T09:00:00+02:00",
"location": {
"lat": 52.213985,
"lng": 21.004046
}
},
"end": {
"time": "2023-12-06T19:00:00+02:00",
"location": {
"lat": 52.213985,
"lng": 21.004046
}
}
}
],
"capacity": [
10
],
"amount": 4
}
],
"profiles": [
{
"type": "scooter",
"name": "vehicle"
}
]
},
"plan": {
"jobs": [
{
"id": "Job_0",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.198437,
"lng": 21.020396
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_1",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.196852,
"lng": 21.01393
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_2",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.210221,
"lng": 21.008033
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_3",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.211604,
"lng": 21.018408
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_4",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.196201,
"lng": 21.003641
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_5",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.201661,
"lng": 21.0019
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_6",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.208418,
"lng": 20.99924
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_7",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.208443,
"lng": 21.0039
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_8",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.2099,
"lng": 21.01501
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_9",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.208032,
"lng": 21.019491
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_10",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.207339,
"lng": 21.013889
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_11",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.206026,
"lng": 21.011517
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_12",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.207388,
"lng": 21.01074
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_13",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.206785,
"lng": 21.007355
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_14",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.205227,
"lng": 21.008841
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_15",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.20263,
"lng": 21.009905
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_16",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.202166,
"lng": 21.008065
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_17",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.199205,
"lng": 21.009271
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_18",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.199146,
"lng": 21.005134
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_19",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.19785,
"lng": 21.004998
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_20",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.204318,
"lng": 21.001053
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_21",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.205608,
"lng": 20.999893
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_22",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.204826,
"lng": 21.003042
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_23",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.206454,
"lng": 21.004241
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_24",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.197989,
"lng": 21.015325
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_25",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.197208,
"lng": 21.018194
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_26",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.200472,
"lng": 21.014328
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_27",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.201151,
"lng": 21.022592
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_28",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.198854,
"lng": 21.012977
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_29",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.199743,
"lng": 21.01647
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_30",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.198428,
"lng": 21.017885
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_31",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.202742,
"lng": 21.016829
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_32",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.20075,
"lng": 21.020079
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_33",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.205546,
"lng": 21.021793
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_34",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.20459,
"lng": 21.014063
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_35",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.203915,
"lng": 21.022401
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_36",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.19966,
"lng": 21.023483
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_37",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.198207,
"lng": 21.022368
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_38",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.206908,
"lng": 21.017486
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
},
{
"id": "Job_39",
"tasks": {
"deliveries": [
{
"places": [
{
"location": {
"lat": 52.208587,
"lng": 21.01048
},
"duration": 60
}
],
"demand": [
1
]
}
]
}
}
]
},
"configuration": {
"experimentalFeatures": [
"advancedObjectives"
]
},
"advancedObjectives": [
[
{
"type": "minimizeUnassigned"
}
],
[
{
"type": "minimizeTours"
}
],
[
{
"type": "minimizeTourOverlap"
}
],
[
{
"type": "minimizeCost"
}
]
]
}Solution
Because the objective to minimize tour overlap was included in the problem parameters, the optimization algorithm reflected that by creating much more separated and compact tours, as shown in the following figure:
This updated tour plan enabled the scooter vehicles to cover smaller, more manageable areas, likely reducing the likelihood of delays caused by traffic congestion or route confusion.
The following section contains the full solution JSON:
Click to expand/collapse the sample JSON
{
"statistic": {
"cost": 17541.021999999997,
"distance": 34891,
"duration": 7761,
"times": {
"driving": 5361,
"serving": 2400,
"waiting": 0,
"stopping": 0,
"break": 0
}
},
"tours": [
{
"vehicleId": "vehicle_1_2",
"typeId": "vehicle_1",
"stops": [
{
"time": {
"arrival": "2023-12-06T07:00:00Z",
"departure": "2023-12-06T07:00:00Z"
},
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:00:00Z",
"end": "2023-12-06T07:00:00Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 0
},
{
"time": {
"arrival": "2023-12-06T07:02:37Z",
"departure": "2023-12-06T07:03:37Z"
},
"load": [
9
],
"activities": [
{
"jobId": "Job_7",
"type": "delivery",
"location": {
"lat": 52.208443,
"lng": 21.0039
},
"time": {
"start": "2023-12-06T07:02:37Z",
"end": "2023-12-06T07:03:37Z"
}
}
],
"location": {
"lat": 52.208443,
"lng": 21.0039
},
"distance": 1086
},
{
"time": {
"arrival": "2023-12-06T07:04:47Z",
"departure": "2023-12-06T07:05:47Z"
},
"load": [
8
],
"activities": [
{
"jobId": "Job_6",
"type": "delivery",
"location": {
"lat": 52.208418,
"lng": 20.99924
},
"time": {
"start": "2023-12-06T07:04:47Z",
"end": "2023-12-06T07:05:47Z"
}
}
],
"location": {
"lat": 52.208418,
"lng": 20.99924
},
"distance": 1463
},
{
"time": {
"arrival": "2023-12-06T07:07:21Z",
"departure": "2023-12-06T07:08:21Z"
},
"load": [
7
],
"activities": [
{
"jobId": "Job_22",
"type": "delivery",
"location": {
"lat": 52.204826,
"lng": 21.003042
},
"time": {
"start": "2023-12-06T07:07:21Z",
"end": "2023-12-06T07:08:21Z"
}
}
],
"location": {
"lat": 52.204826,
"lng": 21.003042
},
"distance": 2006
},
{
"time": {
"arrival": "2023-12-06T07:09:55Z",
"departure": "2023-12-06T07:10:55Z"
},
"load": [
6
],
"activities": [
{
"jobId": "Job_20",
"type": "delivery",
"location": {
"lat": 52.204318,
"lng": 21.001053
},
"time": {
"start": "2023-12-06T07:09:55Z",
"end": "2023-12-06T07:10:55Z"
}
}
],
"location": {
"lat": 52.204318,
"lng": 21.001053
},
"distance": 2491
},
{
"time": {
"arrival": "2023-12-06T07:11:43Z",
"departure": "2023-12-06T07:12:43Z"
},
"load": [
5
],
"activities": [
{
"jobId": "Job_21",
"type": "delivery",
"location": {
"lat": 52.205608,
"lng": 20.999893
},
"time": {
"start": "2023-12-06T07:11:43Z",
"end": "2023-12-06T07:12:43Z"
}
}
],
"location": {
"lat": 52.205608,
"lng": 20.999893
},
"distance": 2702
},
{
"time": {
"arrival": "2023-12-06T07:13:39Z",
"departure": "2023-12-06T07:14:39Z"
},
"load": [
4
],
"activities": [
{
"jobId": "Job_23",
"type": "delivery",
"location": {
"lat": 52.206454,
"lng": 21.004241
},
"time": {
"start": "2023-12-06T07:13:39Z",
"end": "2023-12-06T07:14:39Z"
}
}
],
"location": {
"lat": 52.206454,
"lng": 21.004241
},
"distance": 3142
},
{
"time": {
"arrival": "2023-12-06T07:16:43Z",
"departure": "2023-12-06T07:17:43Z"
},
"load": [
3
],
"activities": [
{
"jobId": "Job_5",
"type": "delivery",
"location": {
"lat": 52.201661,
"lng": 21.0019
},
"time": {
"start": "2023-12-06T07:16:43Z",
"end": "2023-12-06T07:17:43Z"
}
}
],
"location": {
"lat": 52.201661,
"lng": 21.0019
},
"distance": 3906
},
{
"time": {
"arrival": "2023-12-06T07:18:59Z",
"departure": "2023-12-06T07:19:59Z"
},
"load": [
2
],
"activities": [
{
"jobId": "Job_16",
"type": "delivery",
"location": {
"lat": 52.202166,
"lng": 21.008065
},
"time": {
"start": "2023-12-06T07:18:59Z",
"end": "2023-12-06T07:19:59Z"
}
}
],
"location": {
"lat": 52.202166,
"lng": 21.008065
},
"distance": 4589
},
{
"time": {
"arrival": "2023-12-06T07:23:45Z",
"departure": "2023-12-06T07:24:45Z"
},
"load": [
1
],
"activities": [
{
"jobId": "Job_14",
"type": "delivery",
"location": {
"lat": 52.205227,
"lng": 21.008841
},
"time": {
"start": "2023-12-06T07:23:45Z",
"end": "2023-12-06T07:24:45Z"
}
}
],
"location": {
"lat": 52.205227,
"lng": 21.008841
},
"distance": 5778
},
{
"time": {
"arrival": "2023-12-06T07:26:24Z",
"departure": "2023-12-06T07:27:24Z"
},
"load": [
0
],
"activities": [
{
"jobId": "Job_13",
"type": "delivery",
"location": {
"lat": 52.206785,
"lng": 21.007355
},
"time": {
"start": "2023-12-06T07:26:24Z",
"end": "2023-12-06T07:27:24Z"
}
}
],
"location": {
"lat": 52.206785,
"lng": 21.007355
},
"distance": 6365
},
{
"time": {
"arrival": "2023-12-06T07:32:04Z",
"departure": "2023-12-06T07:32:04Z"
},
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:32:04Z",
"end": "2023-12-06T07:32:04Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 8166
}
],
"statistic": {
"cost": 4106.848,
"distance": 8166,
"duration": 1924,
"times": {
"driving": 1324,
"serving": 600,
"waiting": 0,
"stopping": 0,
"break": 0
}
},
"shiftIndex": 0
},
{
"vehicleId": "vehicle_1_3",
"typeId": "vehicle_1",
"stops": [
{
"time": {
"arrival": "2023-12-06T07:00:00Z",
"departure": "2023-12-06T07:00:00Z"
},
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:00:00Z",
"end": "2023-12-06T07:00:00Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 0
},
{
"time": {
"arrival": "2023-12-06T07:05:33Z",
"departure": "2023-12-06T07:06:33Z"
},
"load": [
9
],
"activities": [
{
"jobId": "Job_0",
"type": "delivery",
"location": {
"lat": 52.198437,
"lng": 21.020396
},
"time": {
"start": "2023-12-06T07:05:33Z",
"end": "2023-12-06T07:06:33Z"
}
}
],
"location": {
"lat": 52.198437,
"lng": 21.020396
},
"distance": 2642
},
{
"time": {
"arrival": "2023-12-06T07:07:59Z",
"departure": "2023-12-06T07:08:59Z"
},
"load": [
8
],
"activities": [
{
"jobId": "Job_30",
"type": "delivery",
"location": {
"lat": 52.198428,
"lng": 21.017885
},
"time": {
"start": "2023-12-06T07:07:59Z",
"end": "2023-12-06T07:08:59Z"
}
}
],
"location": {
"lat": 52.198428,
"lng": 21.017885
},
"distance": 2958
},
{
"time": {
"arrival": "2023-12-06T07:09:50Z",
"departure": "2023-12-06T07:10:50Z"
},
"load": [
7
],
"activities": [
{
"jobId": "Job_25",
"type": "delivery",
"location": {
"lat": 52.197208,
"lng": 21.018194
},
"time": {
"start": "2023-12-06T07:09:50Z",
"end": "2023-12-06T07:10:50Z"
}
}
],
"location": {
"lat": 52.197208,
"lng": 21.018194
},
"distance": 3267
},
{
"time": {
"arrival": "2023-12-06T07:11:51Z",
"departure": "2023-12-06T07:12:51Z"
},
"load": [
6
],
"activities": [
{
"jobId": "Job_37",
"type": "delivery",
"location": {
"lat": 52.198207,
"lng": 21.022368
},
"time": {
"start": "2023-12-06T07:11:51Z",
"end": "2023-12-06T07:12:51Z"
}
}
],
"location": {
"lat": 52.198207,
"lng": 21.022368
},
"distance": 3571
},
{
"time": {
"arrival": "2023-12-06T07:15:00Z",
"departure": "2023-12-06T07:16:00Z"
},
"load": [
5
],
"activities": [
{
"jobId": "Job_36",
"type": "delivery",
"location": {
"lat": 52.19966,
"lng": 21.023483
},
"time": {
"start": "2023-12-06T07:15:00Z",
"end": "2023-12-06T07:16:00Z"
}
}
],
"location": {
"lat": 52.19966,
"lng": 21.023483
},
"distance": 4200
},
{
"time": {
"arrival": "2023-12-06T07:18:02Z",
"departure": "2023-12-06T07:19:02Z"
},
"load": [
4
],
"activities": [
{
"jobId": "Job_33",
"type": "delivery",
"location": {
"lat": 52.205546,
"lng": 21.021793
},
"time": {
"start": "2023-12-06T07:18:02Z",
"end": "2023-12-06T07:19:02Z"
}
}
],
"location": {
"lat": 52.205546,
"lng": 21.021793
},
"distance": 5043
},
{
"time": {
"arrival": "2023-12-06T07:20:52Z",
"departure": "2023-12-06T07:21:52Z"
},
"load": [
3
],
"activities": [
{
"jobId": "Job_35",
"type": "delivery",
"location": {
"lat": 52.203915,
"lng": 21.022401
},
"time": {
"start": "2023-12-06T07:20:52Z",
"end": "2023-12-06T07:21:52Z"
}
}
],
"location": {
"lat": 52.203915,
"lng": 21.022401
},
"distance": 5610
},
{
"time": {
"arrival": "2023-12-06T07:22:44Z",
"departure": "2023-12-06T07:23:44Z"
},
"load": [
2
],
"activities": [
{
"jobId": "Job_27",
"type": "delivery",
"location": {
"lat": 52.201151,
"lng": 21.022592
},
"time": {
"start": "2023-12-06T07:22:44Z",
"end": "2023-12-06T07:23:44Z"
}
}
],
"location": {
"lat": 52.201151,
"lng": 21.022592
},
"distance": 6048
},
{
"time": {
"arrival": "2023-12-06T07:24:12Z",
"departure": "2023-12-06T07:25:12Z"
},
"load": [
1
],
"activities": [
{
"jobId": "Job_32",
"type": "delivery",
"location": {
"lat": 52.20075,
"lng": 21.020079
},
"time": {
"start": "2023-12-06T07:24:12Z",
"end": "2023-12-06T07:25:12Z"
}
}
],
"location": {
"lat": 52.20075,
"lng": 21.020079
},
"distance": 6225
},
{
"time": {
"arrival": "2023-12-06T07:26:21Z",
"departure": "2023-12-06T07:27:21Z"
},
"load": [
0
],
"activities": [
{
"jobId": "Job_31",
"type": "delivery",
"location": {
"lat": 52.202742,
"lng": 21.016829
},
"time": {
"start": "2023-12-06T07:26:21Z",
"end": "2023-12-06T07:27:21Z"
}
}
],
"location": {
"lat": 52.202742,
"lng": 21.016829
},
"distance": 6632
},
{
"time": {
"arrival": "2023-12-06T07:31:35Z",
"departure": "2023-12-06T07:31:35Z"
},
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:31:35Z",
"end": "2023-12-06T07:31:35Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 8718
}
],
"statistic": {
"cost": 4382.79,
"distance": 8718,
"duration": 1895,
"times": {
"driving": 1295,
"serving": 600,
"waiting": 0,
"stopping": 0,
"break": 0
}
},
"shiftIndex": 0
},
{
"vehicleId": "vehicle_1_4",
"typeId": "vehicle_1",
"stops": [
{
"time": {
"arrival": "2023-12-06T07:00:00Z",
"departure": "2023-12-06T07:00:00Z"
},
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:00:00Z",
"end": "2023-12-06T07:00:00Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 0
},
{
"time": {
"arrival": "2023-12-06T07:02:42Z",
"departure": "2023-12-06T07:03:42Z"
},
"load": [
9
],
"activities": [
{
"jobId": "Job_12",
"type": "delivery",
"location": {
"lat": 52.207388,
"lng": 21.01074
},
"time": {
"start": "2023-12-06T07:02:42Z",
"end": "2023-12-06T07:03:42Z"
}
}
],
"location": {
"lat": 52.207388,
"lng": 21.01074
},
"distance": 1165
},
{
"time": {
"arrival": "2023-12-06T07:03:50Z",
"departure": "2023-12-06T07:04:50Z"
},
"load": [
8
],
"activities": [
{
"jobId": "Job_39",
"type": "delivery",
"location": {
"lat": 52.208587,
"lng": 21.01048
},
"time": {
"start": "2023-12-06T07:03:50Z",
"end": "2023-12-06T07:04:50Z"
}
}
],
"location": {
"lat": 52.208587,
"lng": 21.01048
},
"distance": 1230
},
{
"time": {
"arrival": "2023-12-06T07:06:25Z",
"departure": "2023-12-06T07:07:25Z"
},
"load": [
7
],
"activities": [
{
"jobId": "Job_10",
"type": "delivery",
"location": {
"lat": 52.207339,
"lng": 21.013889
},
"time": {
"start": "2023-12-06T07:06:25Z",
"end": "2023-12-06T07:07:25Z"
}
}
],
"location": {
"lat": 52.207339,
"lng": 21.013889
},
"distance": 1688
},
{
"time": {
"arrival": "2023-12-06T07:08:32Z",
"departure": "2023-12-06T07:09:32Z"
},
"load": [
6
],
"activities": [
{
"jobId": "Job_34",
"type": "delivery",
"location": {
"lat": 52.20459,
"lng": 21.014063
},
"time": {
"start": "2023-12-06T07:08:32Z",
"end": "2023-12-06T07:09:32Z"
}
}
],
"location": {
"lat": 52.20459,
"lng": 21.014063
},
"distance": 2061
},
{
"time": {
"arrival": "2023-12-06T07:12:12Z",
"departure": "2023-12-06T07:13:12Z"
},
"load": [
5
],
"activities": [
{
"jobId": "Job_8",
"type": "delivery",
"location": {
"lat": 52.2099,
"lng": 21.01501
},
"time": {
"start": "2023-12-06T07:12:12Z",
"end": "2023-12-06T07:13:12Z"
}
}
],
"location": {
"lat": 52.2099,
"lng": 21.01501
},
"distance": 2962
},
{
"time": {
"arrival": "2023-12-06T07:15:20Z",
"departure": "2023-12-06T07:16:20Z"
},
"load": [
4
],
"activities": [
{
"jobId": "Job_3",
"type": "delivery",
"location": {
"lat": 52.211604,
"lng": 21.018408
},
"time": {
"start": "2023-12-06T07:15:20Z",
"end": "2023-12-06T07:16:20Z"
}
}
],
"location": {
"lat": 52.211604,
"lng": 21.018408
},
"distance": 3710
},
{
"time": {
"arrival": "2023-12-06T07:17:46Z",
"departure": "2023-12-06T07:18:46Z"
},
"load": [
3
],
"activities": [
{
"jobId": "Job_9",
"type": "delivery",
"location": {
"lat": 52.208032,
"lng": 21.019491
},
"time": {
"start": "2023-12-06T07:17:46Z",
"end": "2023-12-06T07:18:46Z"
}
}
],
"location": {
"lat": 52.208032,
"lng": 21.019491
},
"distance": 4397
},
{
"time": {
"arrival": "2023-12-06T07:19:53Z",
"departure": "2023-12-06T07:20:53Z"
},
"load": [
2
],
"activities": [
{
"jobId": "Job_38",
"type": "delivery",
"location": {
"lat": 52.206908,
"lng": 21.017486
},
"time": {
"start": "2023-12-06T07:19:53Z",
"end": "2023-12-06T07:20:53Z"
}
}
],
"location": {
"lat": 52.206908,
"lng": 21.017486
},
"distance": 4693
},
{
"time": {
"arrival": "2023-12-06T07:22:32Z",
"departure": "2023-12-06T07:23:32Z"
},
"load": [
1
],
"activities": [
{
"jobId": "Job_11",
"type": "delivery",
"location": {
"lat": 52.206026,
"lng": 21.011517
},
"time": {
"start": "2023-12-06T07:22:32Z",
"end": "2023-12-06T07:23:32Z"
}
}
],
"location": {
"lat": 52.206026,
"lng": 21.011517
},
"distance": 5262
},
{
"time": {
"arrival": "2023-12-06T07:25:43Z",
"departure": "2023-12-06T07:26:43Z"
},
"load": [
0
],
"activities": [
{
"jobId": "Job_2",
"type": "delivery",
"location": {
"lat": 52.210221,
"lng": 21.008033
},
"time": {
"start": "2023-12-06T07:25:43Z",
"end": "2023-12-06T07:26:43Z"
}
}
],
"location": {
"lat": 52.210221,
"lng": 21.008033
},
"distance": 6064
},
{
"time": {
"arrival": "2023-12-06T07:29:22Z",
"departure": "2023-12-06T07:29:22Z"
},
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:29:22Z",
"end": "2023-12-06T07:29:22Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 7005
}
],
"statistic": {
"cost": 3526.024,
"distance": 7005,
"duration": 1762,
"times": {
"driving": 1162,
"serving": 600,
"waiting": 0,
"stopping": 0,
"break": 0
}
},
"shiftIndex": 0
},
{
"vehicleId": "vehicle_1_1",
"typeId": "vehicle_1",
"stops": [
{
"time": {
"arrival": "2023-12-06T07:00:00Z",
"departure": "2023-12-06T07:00:00Z"
},
"load": [
10
],
"activities": [
{
"jobId": "departure",
"type": "departure",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:00:00Z",
"end": "2023-12-06T07:00:00Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 0
},
{
"time": {
"arrival": "2023-12-06T07:02:55Z",
"departure": "2023-12-06T07:03:55Z"
},
"load": [
9
],
"activities": [
{
"jobId": "Job_15",
"type": "delivery",
"location": {
"lat": 52.20263,
"lng": 21.009905
},
"time": {
"start": "2023-12-06T07:02:55Z",
"end": "2023-12-06T07:03:55Z"
}
}
],
"location": {
"lat": 52.20263,
"lng": 21.009905
},
"distance": 1561
},
{
"time": {
"arrival": "2023-12-06T07:06:38Z",
"departure": "2023-12-06T07:07:38Z"
},
"load": [
8
],
"activities": [
{
"jobId": "Job_4",
"type": "delivery",
"location": {
"lat": 52.196201,
"lng": 21.003641
},
"time": {
"start": "2023-12-06T07:06:38Z",
"end": "2023-12-06T07:07:38Z"
}
}
],
"location": {
"lat": 52.196201,
"lng": 21.003641
},
"distance": 2754
},
{
"time": {
"arrival": "2023-12-06T07:11:52Z",
"departure": "2023-12-06T07:12:52Z"
},
"load": [
7
],
"activities": [
{
"jobId": "Job_19",
"type": "delivery",
"location": {
"lat": 52.19785,
"lng": 21.004998
},
"time": {
"start": "2023-12-06T07:11:52Z",
"end": "2023-12-06T07:12:52Z"
}
}
],
"location": {
"lat": 52.19785,
"lng": 21.004998
},
"distance": 4843
},
{
"time": {
"arrival": "2023-12-06T07:14:56Z",
"departure": "2023-12-06T07:15:56Z"
},
"load": [
6
],
"activities": [
{
"jobId": "Job_18",
"type": "delivery",
"location": {
"lat": 52.199146,
"lng": 21.005134
},
"time": {
"start": "2023-12-06T07:14:56Z",
"end": "2023-12-06T07:15:56Z"
}
}
],
"location": {
"lat": 52.199146,
"lng": 21.005134
},
"distance": 5375
},
{
"time": {
"arrival": "2023-12-06T07:17:16Z",
"departure": "2023-12-06T07:18:16Z"
},
"load": [
5
],
"activities": [
{
"jobId": "Job_17",
"type": "delivery",
"location": {
"lat": 52.199205,
"lng": 21.009271
},
"time": {
"start": "2023-12-06T07:17:16Z",
"end": "2023-12-06T07:18:16Z"
}
}
],
"location": {
"lat": 52.199205,
"lng": 21.009271
},
"distance": 5818
},
{
"time": {
"arrival": "2023-12-06T07:21:31Z",
"departure": "2023-12-06T07:22:31Z"
},
"load": [
4
],
"activities": [
{
"jobId": "Job_1",
"type": "delivery",
"location": {
"lat": 52.196852,
"lng": 21.01393
},
"time": {
"start": "2023-12-06T07:21:31Z",
"end": "2023-12-06T07:22:31Z"
}
}
],
"location": {
"lat": 52.196852,
"lng": 21.01393
},
"distance": 7165
},
{
"time": {
"arrival": "2023-12-06T07:24:13Z",
"departure": "2023-12-06T07:25:13Z"
},
"load": [
3
],
"activities": [
{
"jobId": "Job_24",
"type": "delivery",
"location": {
"lat": 52.197989,
"lng": 21.015325
},
"time": {
"start": "2023-12-06T07:24:13Z",
"end": "2023-12-06T07:25:13Z"
}
}
],
"location": {
"lat": 52.197989,
"lng": 21.015325
},
"distance": 7619
},
{
"time": {
"arrival": "2023-12-06T07:26:00Z",
"departure": "2023-12-06T07:27:00Z"
},
"load": [
2
],
"activities": [
{
"jobId": "Job_28",
"type": "delivery",
"location": {
"lat": 52.198854,
"lng": 21.012977
},
"time": {
"start": "2023-12-06T07:26:00Z",
"end": "2023-12-06T07:27:00Z"
}
}
],
"location": {
"lat": 52.198854,
"lng": 21.012977
},
"distance": 7858
},
{
"time": {
"arrival": "2023-12-06T07:27:50Z",
"departure": "2023-12-06T07:28:50Z"
},
"load": [
1
],
"activities": [
{
"jobId": "Job_29",
"type": "delivery",
"location": {
"lat": 52.199743,
"lng": 21.01647
},
"time": {
"start": "2023-12-06T07:27:50Z",
"end": "2023-12-06T07:28:50Z"
}
}
],
"location": {
"lat": 52.199743,
"lng": 21.01647
},
"distance": 8170
},
{
"time": {
"arrival": "2023-12-06T07:30:10Z",
"departure": "2023-12-06T07:31:10Z"
},
"load": [
0
],
"activities": [
{
"jobId": "Job_26",
"type": "delivery",
"location": {
"lat": 52.200472,
"lng": 21.014328
},
"time": {
"start": "2023-12-06T07:30:10Z",
"end": "2023-12-06T07:31:10Z"
}
}
],
"location": {
"lat": 52.200472,
"lng": 21.014328
},
"distance": 8554
},
{
"time": {
"arrival": "2023-12-06T07:36:20Z",
"departure": "2023-12-06T07:36:20Z"
},
"load": [
0
],
"activities": [
{
"jobId": "arrival",
"type": "arrival",
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"time": {
"start": "2023-12-06T07:36:20Z",
"end": "2023-12-06T07:36:20Z"
}
}
],
"location": {
"lat": 52.213985,
"lng": 21.004046
},
"distance": 11002
}
],
"statistic": {
"cost": 5525.36,
"distance": 11002,
"duration": 2180,
"times": {
"driving": 1580,
"serving": 600,
"waiting": 0,
"stopping": 0,
"break": 0
}
},
"shiftIndex": 0
}
]
}Next steps
- For more information about formulating problems in the HERE Tour Planning API, see Problem.
- For an in-depth exploration of the HERE Tour Planning API methods, endpoints, and parameters, see the API Reference.
Updated 28 days ago