-
Notifications
You must be signed in to change notification settings - Fork 0
/
ptv-routing.json
4118 lines (4118 loc) · 211 KB
/
ptv-routing.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"openapi": "3.0.1",
"info": {
"title": "Routing",
"version": "1.25",
"description": "With the Routing service you can calculate routes from A to B taking into account vehicle-specific restrictions, traffic situations, toll, emissions, driver's working hours, service times and opening intervals.",
"contact": {
"url": "https://developer.myptv.com/"
}
},
"tags": [
{
"name": "Routing"
},
{
"name": "Reachable Areas"
},
{
"name": "Reachable Locations"
}
],
"paths": {
"/routes": {
"get": {
"tags": [
"Routing"
],
"description": "Calculates a route by specifying a list of waypoints.",
"operationId": "calculateRoute",
"parameters": [
{
"name": "waypoints",
"in": "query",
"description": "The list of waypoints the route will be calculated for. At least two waypoints are necessary, a maximum number may apply according to your subscription.\nThe first waypoint is the start and the last is the destination of the route.\nAdditional intermediate waypoints are possible. \nThe format of each waypoint is `<lat>,<lon>[;<attribute>;<attribute>;...]`\nrepresenting a point with the latitude value in degrees from south to north\nand the longitude value in degrees (WGS84/EPSG:4326) from west to east.\nThis point will be matched to the nearest possible road. \nBy default the air-line connection between given and matched coordinates is not included in the route polyline, distance and duration.\nWe will refer to this type of waypoint as an _on-road waypoint_.\n\nThe behaviour of a waypoint can be changed by appending the following attributes: \n * `includeLastMeters` to include the air-line connection between given and matched coordinates in the route polyline, distance and duration.\n We will refer to this type of waypoint as an _off-road waypoint_.\n * `roadAccess=<lat>,<lon>`, to use these coordinates for matching to the nearest road. Implies **includeLastMeters**, i.e.\n the air-line connection between the waypoint coordinates and the matched coordinates\n is included in the route polyline, distance and duration. This is useful if the waypoint should not be matched to the nearest possible road but to some road further away,\n e.g. garage exit at a different road.\n * `matchSideOfStreet`, specifies that this waypoint will be reached at the side of street on which it is located.\n This is useful to prevent the driver from crossing the street to actually reach the location represented by this waypoint.\n * `radius=<distance>`, influences the route course, so that the route passes an area defined by the given radius [m] (integer value).\n This waypoint will not appear as a waypoint event in the response and may not be used as start and destination.\n `radius` must be > 0 and is not compatible with any other attribute on the same waypoint except for `name`.\n We will refer to this type of waypoint as a _route-manipulation waypoint_.\n * `name=<name of waypoint>`, is an identifier to reference this waypoint in the response.\n * In order to influence the route course so that the route uses a specific ferry or railway connection between two locations the waypoint is formatted as follows:\n `combinedTransport=<lat>,<lon>,<lat>,<lon>`. Both locations will be matched to the nearest ports looking for a direct connection.\n If no connection can be found, this waypoint will be ignored, and the warning _ROUTING_COMBINED_TRANSPORT_WAYPOINT_IGNORED_ will be returned.\n If more than one connection is found, the best one will be used,\n and the alternative connections will be returned in the response in a warning _ROUTING_COMBINED_TRANSPORT_WAYPOINT_AMBIGUOUS_.\n This waypoint will not appear as a waypoint event in the response and may not be used as start or destination.\n We will refer to this type of waypoint as a _combined-transport waypoint_.\n\n See [here](./concepts/waypoints) for more information.",
"schema": {
"type": "array",
"items": {
"type": "string"
}
},
"example": [
"49.01318,8.4279;name=Start ",
"49.01835,8.36881;includeLastMeters ",
"49.03543,8.39475;radius=1000 ",
"49.06560,8.47087;roadAccess=49.06568,8.47184 ",
"49.06560,8.47087;matchSideOfStreet ",
"combinedTransport=54.5009693,11.2273406,54.6604379,11.3608932 "
]
},
{
"$ref": "#/components/parameters/RouteIdParameter"
},
{
"$ref": "#/components/parameters/ProfileParameter"
},
{
"$ref": "#/components/parameters/VehicleParameter"
},
{
"$ref": "#/components/parameters/OptionsParameter"
},
{
"$ref": "#/components/parameters/MonetaryOptionsParameter"
},
{
"$ref": "#/components/parameters/ResultsParameter"
}
],
"responses": {
"200": {
"description": "Response on success.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RouteResponse"
}
}
}
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Routing"
],
"description": "Calculates a route by specifying a list of waypoints taking into account opening intervals and working hours.",
"operationId": "calculateRoutePost",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RouteRequest"
}
}
},
"required": true
},
"parameters": [
{
"$ref": "#/components/parameters/ProfileParameterPost"
},
{
"$ref": "#/components/parameters/VehicleParameter"
},
{
"$ref": "#/components/parameters/DriverParameter"
},
{
"$ref": "#/components/parameters/OptionsParameter"
},
{
"$ref": "#/components/parameters/MonetaryOptionsParameter"
},
{
"$ref": "#/components/parameters/EvOptionsParameter"
},
{
"$ref": "#/components/parameters/ResultsParameter"
}
],
"responses": {
"200": {
"description": "Response on success.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RouteResponse"
}
}
}
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/routes/{routeId}": {
"get": {
"tags": [
"Routing"
],
"description": "Returns the route of a previously calculated route or an alternative route. The response will use the same parameters and contain all results of the previously calculated route. Although the route itself will be the same, other results might be slightly different such as the travel time or toll costs. See [here](./concepts/waypoints) for more information.",
"operationId": "getRouteByRouteId",
"parameters": [
{
"name": "routeId",
"in": "path",
"description": "The route ID returned from a previous route calculation or alternative route.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Response on success.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RouteResponse"
}
}
}
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/eta/{routeId}": {
"get": {
"tags": [
"Routing"
],
"description": "Calculates the estimated time of arrival (ETA) based on a previously calculated route and the current position of the vehicle.",
"operationId": "getEstimatedTimeOfArrival",
"parameters": [
{
"name": "routeId",
"in": "path",
"description": "The route ID returned from a previous route calculation. See [here](./concepts/waypoints) for more information.\n\nMake sure to assign unique names to all off-road and on-road waypoints in the request to obtain the route ID.\nOtherwise, the route ID cannot be used for ETA calculation because the waypoints cannot be identified. Furthermore,\nthe route ID must not contain route-manipulation waypoints, combined-transport waypoints or vehicle parameters at waypoints.\n",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "waypoint",
"in": "query",
"style": "deepObject",
"schema": {
"$ref": "#/components/schemas/PositionAtWaypoint"
},
"explode": true
},
{
"name": "position",
"in": "query",
"style": "deepObject",
"schema": {
"$ref": "#/components/schemas/PositionOnRoute"
},
"explode": true
},
{
"name": "workLogbook",
"in": "query",
"style": "deepObject",
"schema": {
"$ref": "#/components/schemas/WorkLogbook"
},
"explode": true
}
],
"responses": {
"200": {
"description": "Response on success.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EtaResponse"
}
}
}
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/reachable-areas": {
"get": {
"tags": [
"Reachable Areas"
],
"description": "Calculates the areas which can be reached from a waypoint, within given horizons (limited to 25 km or 20 minutes). Use the asynchronous POST and GET requests for larger horizons or calculation of areas from a route.",
"operationId": "calculateReachableAreas",
"parameters": [
{
"name": "waypoint",
"in": "query",
"required": true,
"description": "The start or destination waypoint.\nThe format of the waypoint is `<lat>,<lon>[;<attribute>;<attribute>;...]`\nrepresenting a point with the latitude value in degrees from south to north\nand the longitude value in degrees (WGS84/EPSG:4326) from west to east.\nThis point will be matched to the nearest possible road.\nBy default the air-line connection between given and matched coordinates is not included in the distance or duration.\nWe will refer to this type of waypoint as an _on-road waypoint_.\n\nThe behaviour of a waypoint can be changed by appending the following attributes:\n * `includeLastMeters` to include the air-line connection between given and matched coordinates in the distance or duration.\n We will refer to this type of waypoint as an _off-road waypoint_.\n * `roadAccess=<lat>,<lon>`, to use these coordinates for matching to the nearest road. Implies **includeLastMeters**, i.e.\n the air-line connection between the waypoint coordinates and the matched coordinates\n is included in the distance or duration. This is useful if the waypoint should not be matched to the nearest possible road but to some road further away,\n e.g. garage exit at a different road.\n\nSee [here](./concepts/waypoints) for more information.",
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/ProfileParameter"
},
{
"$ref": "#/components/parameters/HorizonsParameter"
},
{
"$ref": "#/components/parameters/HorizonTypeParameter"
},
{
"$ref": "#/components/parameters/ReachableOptionsParameter"
}
],
"responses": {
"200": {
"description": "Response on success.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReachableAreas"
}
}
}
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Reachable Areas"
],
"description": "Starts and creates the areas which can be reached from a waypoint or from a route, within given horizons. This type of request is recommended when the **horizons** parameter is more than 20 minutes or 25 km.",
"operationId": "startAndCreateReachableAreas",
"parameters": [
{
"$ref": "#/components/parameters/WaypointParameter"
},
{
"$ref": "#/components/parameters/RouteIdParameter"
},
{
"$ref": "#/components/parameters/ProfileParameter"
},
{
"$ref": "#/components/parameters/HorizonsParameter"
},
{
"$ref": "#/components/parameters/HorizonTypeParameter"
},
{
"$ref": "#/components/parameters/ReachableOptionsParameter"
}
],
"responses": {
"202": {
"description": "Response on success.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReachableAreasId"
}
}
}
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/reachable-areas/{id}": {
"get": {
"tags": [
"Reachable Areas"
],
"description": "Gets the results of a reachable areas calculation specified by its ID.",
"operationId": "getReachableAreas",
"parameters": [
{
"$ref": "#/components/parameters/ReachableAreasIdParameter"
}
],
"responses": {
"200": {
"description": "Response on success.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReachableAreasResponse"
}
}
}
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Reachable Areas"
],
"description": "Cancels a reachable areas calculation and deletes the calculated results specified by its ID. Results already calculated cannot be requested by its ID, anymore.",
"operationId": "deleteReachableAreas",
"parameters": [
{
"$ref": "#/components/parameters/ReachableAreasIdParameter"
}
],
"responses": {
"204": {
"description": "Response on success."
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/reachable-locations": {
"post": {
"tags": [
"Reachable Locations"
],
"description": "Starts the calculation of the sets of reachable and unreachable locations from the given ones and creates them as the result.",
"operationId": "startAndCreateReachableLocations",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Locations"
}
}
},
"required": true
},
"parameters": [
{
"$ref": "#/components/parameters/WaypointParameter"
},
{
"$ref": "#/components/parameters/RouteIdParameter"
},
{
"$ref": "#/components/parameters/ProfileParameter"
},
{
"name": "horizon",
"in": "query",
"required": true,
"description": "The distance [m] or travel time [s] of the horizons, depending of the **horizonType** (limited to 100 km or 1 hours).",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/HorizonTypeParameter"
},
{
"$ref": "#/components/parameters/ReachableOptionsParameter"
}
],
"responses": {
"202": {
"description": "Response on success.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReachableLocationsId"
}
}
}
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/reachable-locations/{id}": {
"get": {
"tags": [
"Reachable Locations"
],
"description": "Gets the results of a reachable locations calculation specified by its ID.",
"operationId": "getReachableLocations",
"parameters": [
{
"$ref": "#/components/parameters/ReachableLocationsIdParameter"
}
],
"responses": {
"200": {
"description": "Response on success.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReachableLocationsResponse"
}
}
}
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Reachable Locations"
],
"description": "Cancels a reachable locations calculation and deletes the calculated results specified by its ID. Results already calculated cannot be requested by its ID, anymore.",
"operationId": "deleteReachableLocations",
"parameters": [
{
"$ref": "#/components/parameters/ReachableLocationsIdParameter"
}
],
"responses": {
"204": {
"description": "Response on success."
},
"default": {
"description": "Response on failure.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
}
},
"components": {
"parameters": {
"WaypointParameter": {
"name": "waypoint",
"in": "query",
"description": "The start or destination waypoint.\nThe format of the waypoint is `<lat>,<lon>[;<attribute>;<attribute>;...]`\nrepresenting a point with the latitude value in degrees from south to north\nand the longitude value in degrees (WGS84/EPSG:4326) from west to east.\nThis point will be matched to the nearest possible road.\nBy default the air-line connection between given and matched coordinates is not included in the distance or duration.\nWe will refer to this type of waypoint as an _on-road waypoint_.\n\nThe behaviour of a waypoint can be changed by appending the following attributes:\n * `includeLastMeters` to include the air-line connection between given and matched coordinates in the distance or duration.\n We will refer to this type of waypoint as an _off-road waypoint_.\n * `roadAccess=<lat>,<lon>`, to use these coordinates for matching to the nearest road. Implies **includeLastMeters**, i.e.\n the air-line connection between the waypoint coordinates and the matched coordinates\n is included in the distance or duration. This is useful if the waypoint should not be matched to the nearest possible road but to some road further away,\n e.g. garage exit at a different road.\n\nSee [here](./concepts/waypoints) for more information.",
"schema": {
"type": "string"
}
},
"RouteIdParameter": {
"name": "routeId",
"in": "query",
"description": "Instead of the waypoint mentioned above, a **routeId** from a previously calculated route or a matched track can be entered.\nMore information and applying restrictions can be found [here](./concepts/waypoints).",
"schema": {
"type": "string",
"format": "uuid"
},
"example": "3a58b824-fa8b-47eb-a5b8-73d6b753e1b4"
},
"ReachableAreasIdParameter": {
"name": "id",
"in": "path",
"description": "The ID of the calculated reachable areas.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
"ReachableLocationsIdParameter": {
"name": "id",
"in": "path",
"description": "The ID of the calculated reachable locations.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
"ReachableOptionsParameter": {
"name": "options",
"in": "query",
"description": "Routing-relevant options like driving direction or the use of additional data.\nUse array notation like `options[trafficMode]=AVERAGE` to set options.",
"schema": {
"$ref": "#/components/schemas/ReachableOptions"
},
"explode": true,
"style": "deepObject"
},
"HorizonsParameter": {
"name": "horizons",
"in": "query",
"description": "The distances [m] or travel times [s] of the horizons, depending on the **horizonType**. Limited to 5 horizons (or 3 with a **routeId**).",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
},
"minItems": 1,
"maxItems": 5
},
"explode": false
},
"HorizonTypeParameter": {
"name": "horizonType",
"in": "query",
"schema": {
"$ref": "#/components/schemas/HorizonType"
}
},
"ProfileParameter": {
"name": "profile",
"in": "query",
"description": "A profile defines a vehicle by a set of attributes, matching typical transport situations.\nIt must be the name of one of the [predefined profiles](../data-api/concepts/profiles) such as _EUR_TRAILER_TRUCK_.\n\nIf this parameter is not specified and the first waypoint or the routeId is located in the Americas,\n_USA_8_SEMITRAILER_5AXLE_ is used as the default instead of _EUR_TRAILER_TRUCK_.\n\nIf the first waypoint or the routeId is located in the Americas but a non-American profile is specified or vice-versa, a warning is returned (routing only).\nAlways use a profile which matches the region of the waypoints to obtain best results.\n\nIf the attributes of the profile do not fit to your vehicle, the values can be changed by the corresponding attributes in the **vehicle** parameter (routing only). \nThe values of the predefined profiles may be adapted to reflect current vehicle standards. To obtain the same results when values change, it is recommended to \nalways send with the request the **vehicle** parameters that are important for your use case.",
"schema": {
"$ref": "#/components/schemas/Profile"
}
},
"ProfileParameterPost": {
"name": "profile",
"in": "query",
"description": "A profile defines a vehicle by a set of attributes, matching typical transport situations.\nIt must either be the name of one of the [predefined profiles](../data-api/concepts/profiles) such as _EUR_TRAILER_TRUCK_ or a UUID of a predefined [vehicle model](../data-api/code-samples/vehicle-models) from the Data API.\n\nIf this parameter is not specified and the first waypoint or the routeId is located in the Americas,\n_USA_8_SEMITRAILER_5AXLE_ is used as the default instead of _EUR_TRAILER_TRUCK_.\n\nIf the first waypoint or the routeId is located in the Americas but a non-American profile is specified or vice-versa, a warning is returned (routing only).\nAlways use a profile which matches the region of the waypoints to obtain best results.\n\nIf a model of an electric vehicle is used, the electricity consumption of the concrete vehicle model can be calculated.\nSome parameters like **vehicle[engineType]** cannot be used with a model of an electric vehicle.\nThose parameters are automatically filled as applicable from the selected model. \nPlease refer to the [concept](./concepts/model-based-ev-consumption-calculation) to see specifically which parameters are not compatible.\nThese vehicle model profiles are in a preview state, the API is stable, feature changes could be introduced in future.\n\nIf the attributes of the profile do not fit to your vehicle, the values can be changed by the corresponding attributes in the **vehicle** parameter (routing only). \nThe values of the predefined profiles may be adapted to reflect current vehicle standards. To obtain the same results when values change, it is recommended to \nalways send with the request the **vehicle** parameters that are important for your use case.",
"schema": {
"$ref": "#/components/schemas/Profile"
}
},
"VehicleParameter": {
"name": "vehicle",
"in": "query",
"description": "Physical and legal properties of the vehicle such as its dimensions to override the values of the selected **profile**.\n\nThese parameters will be ignored for non-motorized profiles such as _BICYCLE_ or _PEDESTRIAN_.\nUnsupported parameters such as **electricityType** for combustion vehicles should not be specified in the request.\n\nUse array notation like `vehicle[emissionStandard]=EURO_5` to set vehicle attributes.",
"style": "deepObject",
"schema": {
"$ref": "#/components/schemas/Vehicle"
},
"explode": true
},
"DriverParameter": {
"name": "driver",
"in": "query",
"description": "Options regarding the driver's working hours.",
"style": "deepObject",
"schema": {
"$ref": "#/components/schemas/Driver"
},
"explode": true
},
"OptionsParameter": {
"name": "options",
"in": "query",
"description": "Routing-relevant options like date of travel or the use of additional data.\nUse array notation like `options[trafficMode]=AVERAGE` to set options.",
"style": "deepObject",
"schema": {
"$ref": "#/components/schemas/Options"
},
"explode": true
},
"EvOptionsParameter": {
"name": "evOptions",
"in": "query",
"description": "Relevant options to report the electricity consumption of an electric vehicle along a route when _EV_REPORT_, _EV_STATUS_EVENTS_, _EV_STATUS_EVENTS_POLYLINE_ or _EV_CHARGE_EVENTS_ are requested in the **results**.\nUse array notation like `evOptions[initialStateOfCharge]=100` to set options.\n\nThis parameter is in a preview state, the API is stable, feature changes could be introduced in future.",
"style": "deepObject",
"schema": {
"$ref": "#/components/schemas/EvOptions"
},
"explode": true
},
"MonetaryOptionsParameter": {
"name": "monetaryCostOptions",
"in": "query",
"description": "Relevant options to report the monetary costs of a route when _MONETARY_COSTS_ are requested in the **results**.\nUsed for monetary cost routing when **options[routingMode]=MONETARY** is set.\nThe costs have to be specified in the currency that is set in **options[currency]**.",
"style": "deepObject",
"schema": {
"$ref": "#/components/schemas/MonetaryCostOptions"
},
"explode": true
},
"ResultsParameter": {
"name": "results",
"in": "query",
"description": "Comma-separated list that defines which results will be returned.\n_TOLL_COSTS_, _TOLL_SECTIONS_, _TOLL_SYSTEMS_ and _TOLL_EVENTS_ will be ignored for non-motorized profiles such as _BICYCLE_ or _PEDESTRIAN_.\nFor electric vehicles and non-motorized profiles such as _BICYCLE_ or _PEDESTRIAN_ all emission values will be 0.\n\n**Main results:**\n * `ROUTE_ID`\n Response includes the route ID. See [here](./concepts/waypoints) for more information.\n * `POLYLINE`\n Response includes the complete **polyline** of the entire route in the format specified by **options[polylineFormat]**.\n * `LEGS`\n Response includes information about the route **legs** defined as the parts of the route between two consecutive waypoints.\n * `LEGS_POLYLINE`\n Response includes the **polyline** of each of the **legs** in the format specified by **options[polylineFormat]**. _LEGS_ will automatically be included.\n * `ALTERNATIVE_ROUTES`\n Response includes up to three alternatives in addition to the optimal route. Only supported when exactly two on-road or off-road waypoints are specified. Please note that the additional calculations will degrade the performance. \n Cannot be used with **options[routingMode]=MONETARY**.\n * `GUIDED_NAVIGATION`\n Response includes the guided navigation information for the [PTV Navigator](https://www.myptv.com/en/logistics-software/ptv-navigator). \n See [here](./concepts/guided-navigation) for more information.\n * `MONETARY_COSTS`\n Response includes a report with monetary costs for the route. See [here](./concepts/monetary-costs) for more information.\n\n**Toll-related results:**\n * `TOLL_COSTS`\n Response includes the toll **costs** of the route.\n * `TOLL_SECTIONS`\n Response includes the list of toll **sections** defined by the toll operators.\n * `TOLL_SYSTEMS`\n Response includes the list of toll **systems** defined by the toll operators.\n * `TOLL_EVENTS`\n Response includes **events** when a toll road is entered, exited or a toll booth is passed.\n\n**Events:**\n * `MANEUVER_EVENTS`\n Response includes **events** for a **maneuver** when the driver has to take an action, e.g. turn left or right.\n * `BORDER_EVENTS`\n Response includes **events** when a **border** of a country or subdivision is crossed by the route.\n * `VIOLATION_EVENTS`\n Response includes **events** when the route contains a **violation**, e.g. entering or exiting an area where passing with the current vehicle is prohibited.\n * `VIOLATION_EVENTS_POLYLINE`\n The response contains the **polyline** of each route violation. _VIOLATION_EVENTS_ will automatically be included.\n * `WAYPOINT_EVENTS`\n Response includes **events** when a **waypoint** is reached by the route.\n * `UTC_OFFSET_CHANGE_EVENTS`\n Response includes **events** when the offset to UTC changes (**utcOffsetChange**).\n * `COMBINED_TRANSPORT_EVENTS`\n Response includes **events** when a combined transport is entered or exited.\n * `TRAFFIC_EVENTS`\n Response includes **events** when a traffic incident such as a traffic jam is reached by the route.\n * `TRAFFIC_EVENTS_POLYLINE`\n The response contains the **polyline** of each traffic events. _TRAFFIC_EVENTS_ will automatically be included.\n * `LOW_EMISSION_ZONE_EVENTS` \n Response includes **events** when a low-emission zone is entered or exited by the route.\n\n**Emission-related results:**\n * `EMISSIONS_EN16258_2012`\n Response includes information on **emissions** (**EN16258_2012**) calculated according to EN16258 from 2012 (a.k.a. CEN) based on the total fuel consumption for this route.\n Only vehicles with **engineType** _COMBUSTION_ and **fuelType** _GASOLINE_, _DIESEL_, _COMPRESSED_NATURAL_GAS_ or _LIQUEFIED_PETROLEUM_GAS_ are supported.\n For _GASOLINE_ and _DIESEL_, an arbitrary **bioFuelRatio** is supported.\n This is a European emission standard which should only be used with [European profiles](../data-api/concepts/profiles).\n It is mutually exclusive with **EMISSIONS_EN16258_2012_HBEFA**.\n * `EMISSIONS_EN16258_2012_HBEFA`\n Response includes information on **emissions** (**EN16258_2012**) calculated according to EN 16258 from 2012 (a.k.a. CEN) based on the total fuel consumption for this route\n which is automatically calculated through HBEFA 4.2. The **averageFuelConsumption** will be ignored.\n This is a European emission standard which should only be used with [European profiles](../data-api/concepts/profiles).\n Supported vehicles are the same as those of _EMISSIONS_EN16258_2012_.\n It is mutually exclusive with **EMISSIONS_EN16258_2012**.\n * `EMISSIONS_ISO14083_2022`\n Draft version of ISO 14083:2023. See **EMISSIONS_ISO14083_2023** for more information.\n * `EMISSIONS_ISO14083_2022_DEFAULT_CONSUMPTION`\n Draft version of ISO 14083:2023. See **EMISSIONS_ISO14083_2023_DEFAULT_CONSUMPTION** for more information.\n * `EMISSIONS_ISO14083_2023`\n Response includes information on **emissions** (**ISO14083_2023**) calculated according to ISO 14083:2023 (a.k.a. ISO) based on the total fuel and electricity consumption for this route.\n Only supported for [European and American profiles](../data-api/concepts/profiles). Emissions are calculated using the respective factors.\n All fuel and electricity types are supported, for _GASOLINE_ and _DIESEL_ an arbitrary **bioFuelRatio** is supported.\n For **engineType** _HYBRID_ or **engineType** _COMBUSTION_ with **fuelType** _CNG_GASOLINE_ or _LPG_GASOLINE_, an arbitrary **hybridRatio** is supported.\n It is mutually exclusive with all other ISO14083 calculations.\n * `EMISSIONS_ISO14083_2023_DEFAULT_CONSUMPTION`\n Response includes information on **emissions** (**ISO14083_2023**) calculated according to ISO 14083:2023 (a.k.a. ISO) for based on the default fuel and electricity consumption for this route\n which is automatically calculated through HBEFA 4.2. The **averageFuelConsumption** and **averageElectricityConsumption** will be ignored.\n Only supported for [European profiles](../data-api/concepts/profiles). Emissions are calculated using the European factors.\n Supported vehicles are the same as those of _EMISSIONS_ISO14083_2023_.\n It is mutually exclusive with all other ISO14083 calculations.\n * `EMISSIONS_FRENCH_CO2E_DECREE_2017_639`\n Response includes information on **emissions** (**French_CO2e_Decree_2017_639**) calculated according to the French CO2E decree from 2017 based on the total fuel consumption for this route.\n Only vehicles with **engineType** _COMBUSTION_ and **fuelType** _GASOLINE_, _DIESEL_, _COMPRESSED_NATURAL_GAS_ or _LIQUEFIED_PETROLEUM_GAS_ are supported.\n For _GASOLINE_ a **bioFuelRatio** of _0_, _10_ and _85_ is supported, for _DIESEL_ _0_ and _30_.\n This is a European emission standard which should only be used with [European profiles](../data-api/concepts/profiles).\n\n**Results available only in the POST operation:**\n * `SCHEDULE_EVENTS`\n Response includes **events** when the driver has to take a break or a rest, perform service or wait for a waypoint to open (**schedule**).\n * `SCHEDULE_REPORT`\n Response includes the **scheduleReport** which provides an overview of the times of the schedule of this route including break and rest times.\n * `EV_REPORT`\n Response includes a report with detailed electricity consumption for electric vehicles for the route and, if they are requested, for legs. This is only available for concrete models of electric vehicles but not for general routing profiles (see documentation of **profile**). This result is in a preview state, the API is stable, feature changes could be introduced in future.\n * `EV_STATUS_EVENTS`\n Response includes events reporting the electricity consumption along the route in more detail. This is only available for concrete models of electric vehicles but not for general routing profiles (see documentation of **profile**). This result is in a preview state, the API is stable, feature changes could be introduced in future.\n * `EV_STATUS_EVENTS_POLYLINE`\n Response includes the polyline for each **evStatus**-event since the previous **evStatus**-event. _EV_STATUS_EVENTS_ will automatically be included. This is only available for concrete models of electric vehicles but not for general routing profiles (see documentation of **profile**). This result is in a preview state, the API is stable, feature changes could be introduced in future.\n * `EV_CHARGE_EVENTS`\n Response includes events proposing where the battery of the electric vehicle should be charged. The charging time is a proposal, currently for information only. It is not included in the travel time of the route and the start time of subsequent events is not offset by it. This is only available for concrete models of electric vehicles but not for general routing profiles (see documentation of **profile**). This result is in a preview state, the API is stable, feature changes could be introduced in future.",
"explode": false,
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Results"
}
},
"example": [
"POLYLINE",
"TOLL_EVENTS"
]
}
},
"schemas": {
"Vehicle": {
"type": "object",
"properties": {
"engineType": {
"$ref": "#/components/schemas/EngineType"
},
"fuelType": {
"$ref": "#/components/schemas/FuelType"
},
"electricityType": {
"$ref": "#/components/schemas/ElectricityType"
},
"averageFuelConsumption": {
"nullable": true,
"description": "The average fuel consumption of the vehicle.\nDepending on the **fuelType** [l/100km] for liquid fuel types or [kg/100km] for gaseous fuel types.\n\nSupported for **engineType** _COMBUSTION_ or _HYBRID_. Relevant for `emissions`.\n",
"type": "number",
"format": "double",
"minimum": 0,
"exclusiveMinimum": true,
"example": 35
},
"averageElectricityConsumption": {
"nullable": true,
"description": "The average power consumption of the vehicle [kWh/100km].\n\nSupported for **engineType** _ELECTRIC_ or _HYBRID_. Relevant for `emissions`.\n",
"type": "number",
"format": "double",
"minimum": 0,
"exclusiveMinimum": true,
"example": 115
},
"bioFuelRatio": {
"nullable": true,
"description": "The ratio of biofuel to conventional fuel [%], i.e. 10 for E10 with 10% biofuel.\n\nSupported for **engineType** _COMBUSTION_ or _HYBRID_ and only for the fuel types _GASOLINE_, _DIESEL_, _CNG_GASOLINE_ and _LNG_GASOLINE_.\nRelevant for `emissions`.\n",
"type": "integer",
"format": "int32",
"minimum": 0,
"maximum": 100,
"example": 0
},
"hybridRatio": {
"nullable": true,
"description": "Electric energy usage ratio from the total amount of energy consumed by the vehicle.\n\nSupported for **engineType** _HYBRID_. Relevant for `emissions`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 99,
"example": 50
},
"dualFuelRatio": {
"nullable": true,
"description": "Ratio of CNG or LPG usage from the total amount of fuel consumption.\n\nSupported for **engineType** _COMBUSTION_ with **fuelType** _CNG_GASOLINE_ or _LPG_GASOLINE_. Relevant for `emissions`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 99,
"example": 50
},
"cylinderCapacity": {
"nullable": true,
"description": "The cylinder capacity of the vehicle [cm³]. This value is present for compatibility reasons and does not influence\nany of the results.\n\nSupported for **engineType** _COMBUSTION_ or _HYBRID_.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 12000
},
"emissionStandard": {
"$ref": "#/components/schemas/EmissionStandard"
},
"co2EmissionClass": {
"nullable": true,
"description": "The CO₂ emission class valid in the European Union. See also the \n[Directive 1999/62/EC](https://eur-lex.europa.eu/eli/dir/1999/62/2022-03-24) of the European Parliament and \nof the Council on the charging of heavy goods vehicles for the use of certain infrastructures, Article 7ga.\n\nRelevant for `toll`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 5,
"example": 1
},
"lowEmissionZoneTypes": {
"nullable": true,
"description": "Comma-separated list of the low-emission zone types of the vehicle.\nThis parameter is deprecated and superseded by **lowEmissionZoneApprovals**.\nWhen still being used, only low-emission zones in Germany are affected, zones\nin other countries which need an environmental badge or vehicle registration can be entered without restriction.\nIt is not possible to specify both parameters.\n\nAvailable values are provided by type `LowEmissionZoneTypes`: \n\"DE_GREEN\", \"DE_YELLOW\", \"DE_RED\", \"DE_NONE\"\n\nRelevant for `routing`.\n",
"deprecated": true,
"type": "string"
},
"lowEmissionZoneApprovals": {
"$ref": "#/components/schemas/LowEmissionZoneApprovals"
},
"particleReductionClass": {
"$ref": "#/components/schemas/ParticleReductionClass"
},
"emptyWeight": {
"nullable": true,
"description": "The empty weight of the vehicle [kg].\n\nRelevant for `routing`, `emissions`, `range calculation`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 15000
},
"loadWeight": {
"nullable": true,
"description": "The weight of the vehicle's load [kg].\n\nRelevant for `routing`, `emissions`, `range calculation`.\n",
"type": "integer",
"format": "int32",
"minimum": 0,
"example": 25000
},
"totalPermittedWeight": {
"nullable": true,
"description": "The total permitted weight of the vehicle and its load [kg]. This is the weight the vehicle is usually registered with.\nIf this value is not specified but **totalTechnicallyPermittedWeight** is specified then that value is used \nfor both **totalPermittedWeight** and **totalTechnicallyPermittedWeight**.\n\nRelevant for `routing`, `toll`, `emissions`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 40000
},
"totalTechnicallyPermittedWeight": {
"nullable": true,
"description": "The total technically permitted weight of the vehicle and its load [kg]. \nSometimes vehicles are registered with a smaller **totalPermittedWeight** than technically possible. For \nsuch cases the possibly larger total technically permitted weight is specified here, it is relevant for \ntoll calculation in some European countries.\nIf this value is not specified but **totalPermittedWeight** is specified then that value is used \nfor both **totalPermittedWeight** and **totalTechnicallyPermittedWeight**.\n\nRelevant for `toll`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 40000
},
"axleWeight": {
"nullable": true,
"description": "The maximum distributed weight that may be supported by an axle of the vehicle [kg].\n\nRelevant for `routing`, `toll`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 11500
},
"numberOfAxles": {
"nullable": true,
"description": "The total number of axles of the vehicle including the trailers.\n\nRelevant for `toll`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 5
},
"numberOfTires": {
"nullable": true,
"description": "The total number of tires of the vehicle including the trailers.\n\nRelevant for `toll`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 10
},
"height": {
"nullable": true,
"description": "The height of the vehicle [cm].\n\nRelevant for `routing`, `toll`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 400
},
"heightAboveFrontAxle": {
"nullable": true,
"description": "The height above the front axle [cm].\n\nRelevant for `toll`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 400
},
"length": {
"nullable": true,
"description": "The length of the vehicle [cm].\n\nRelevant for `routing`, `toll`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 1650
},
"width": {
"nullable": true,
"description": "The width of the vehicle [cm].\n\nRelevant for `routing`, `toll`.\n",
"type": "integer",
"format": "int32",
"minimum": 1,
"example": 254
},
"hazardousMaterials": {
"nullable": true,
"description": "Comma-separated list of hazardous materials the vehicle has loaded. If _NONE_ is specified along with\nother hazardous materials it is ignored. Depending on the load the route will avoid roads prohibited\nfor and/or prefer roads prescribed for specific hazardous materials.\n\nAvailable values are provided by type `HazardousMaterials`: \"HAZARDOUS_TO_WATER\" \"EXPLOSIVE\" \"FLAMMABLE\" \"RADIOACTIVE\" \"INHALATION_HAZARD\" \"MEDICAL_WASTE\" \"OTHER\" \"NONE\"\n\nRelevant for `routing`.\n",
"type": "string"
},
"tunnelRestrictionCode": {
"$ref": "#/components/schemas/TunnelRestrictionCode"
},
"truckRoutes": {
"$ref": "#/components/schemas/TruckRoutesList"
},
"commercial": {
"nullable": true,
"description": "Specifies if the vehicle usage is commercial.\n\nRelevant for `toll`.\n",
"type": "boolean",
"example": false
},
"etcSubscriptions": {
"nullable": true,
"description": "A comma separated list of ETC Subscriptions.\nSee [here](./concepts/electronic-toll-collection) for more information on available subscriptions.\n\nAvailable values are provided by type `EtcSubscriptionTypes`: \"AT_GOBOX\" \"BE_TELETOL\" \"BE_VIAPASS\" \"CH_LSVA\" \"DE_QUICKBOX\" \"DE_TOLLCOLLECT\" \"DE_WARNOWTUNNEL_RFID\" \"DK_BROPAS_BUSINESS\" \"IT_TELEPASS\" \"NL_TELECARD\" \"NL_TTAG\" \"NO_AUTOPASS\" \"PT_VIA_VERDE\" \"US_APASS\" \"US_BREEZEBY\" \"US_DOWNBEACH_EXPRESSPASS\" \"US_EPASS\" \"US_EXPRESSACCOUNT\" \"US_EXPRESSCARD\" \"US_EXPRESSPASS\" \"US_EXPRESSTOLL\" \"US_EZPASS\" \"US_EZTAG\" \"US_FASTRAK\" \"US_GEAUXPASS\" \"US_GOODTOGO\" \"US_GOPASS\" \"US_IPASS\" \"US_KTAG\" \"US_LEEWAY\" \"US_MACKINACBRIDGE_MACPASS\" \"US_MARYLAND_EZPASS\" \"US_MASSACHUSETTS_EZPASS\" \"US_NC_QUICKPASS\" \"US_NEWHAMPSHIRE_EZPASS\" \"US_NEWJERSEY_EZPASS\" \"US_NEWYORK_EZPASS\" \"US_NEXPRESS\" \"US_OHIO_EZPASS\" \"US_PALPASS\" \"US_PIKEPASS\" \"US_RIVERLINK\" \"US_RIVERLINK_NOTRANSPONDER\" \"US_SEAWAYTRANSITCARD\" \"US_SUNPASS\" \"US_TOLLTAG\" \"US_TXTAG\" \"US_VIRGINIA_EZPASS\" \"US_WESTVIRGINIA_EZPASS\" \"US_PEACHPASS\" \"US_NEXUS\" \"US_DELAWARE_EZPASS\" \"US_GROSSEILETOLLBRIDGE_PASSTAG\" \"US_EZPASS_PAYBYPLATE\"\n\nRelevant for `toll`.\n",
"type": "string"
}
}
},
"EngineType": {
"type": "string",
"description": "The engine type of the vehicle.\nWhen changing the engine type further parameters must be specified to define a valid vehicle and to\nobtain proper results. For a hybrid or an electric vehicle **electricityType** and **averageElectricityConsumption**\nmust be specified, for a hybrid vehicle additionally the **hybridRatio**.\n\nThis and all dependent parameters cannot be used with a model of an electric vehicle, because all applicable \nparameters are automatically provided by the model.\nPlease refer to the [concept](./concepts/model-based-ev-consumption-calculation) to see specifically which \nparameters are not compatible and automatically set from the vehicle model.\n\nRelevant for `toll`, `emissions`.\n",
"example": "COMBUSTION",
"nullable": true,
"enum": [
"COMBUSTION",
"ELECTRIC",
"HYBRID"
],
"x-enum-varnames": [
"COMBUSTION",
"ELECTRIC",
"HYBRID"
]
},
"FuelType": {
"type": "string",
"description": "The fuel type of the vehicle.\nThe fuel types _CNG_GASOLINE_ and _LNG_GASOLINE_ are used for dual-fuel vehicles, therefore the **dualFuelRatio**\nhas to be specified. These fuel types cannot be used with hybrid vehicles.\n\nSupported for **engineType** _COMBUSTION_ and _HYBRID_. Relevant for `emissions`.\n",
"example": "DIESEL",
"nullable": true,
"enum": [
"GASOLINE",
"DIESEL",
"COMPRESSED_NATURAL_GAS",
"LIQUEFIED_PETROLEUM_GAS",
"LIQUEFIED_NATURAL_GAS",
"CNG_GASOLINE",
"LPG_GASOLINE",
"ETHANOL",
"NONE"
],
"x-enum-varnames": [
"GASOLINE",
"DIESEL",
"COMPRESSED_NATURAL_GAS",
"LIQUEFIED_PETROLEUM_GAS",
"LIQUEFIED_NATURAL_GAS",
"CNG_GASOLINE",
"LPG_GASOLINE",
"ETHANOL",
"NONE"
]
},
"ElectricityType": {
"type": "string",
"description": "The electricity type of the vehicle.\n\nSupported for **engineType** _ELECTRIC_ or _HYBRID_. Relevant for `emissions`.\n",
"example": "BATTERY",
"nullable": true,
"enum": [
"BATTERY",
"HYDROGEN_FUEL_CELL",
"NONE"
],
"x-enum-varnames": [
"BATTERY",
"HYDROGEN_FUEL_CELL",
"NONE"
]
},
"EmissionStandard": {
"type": "string",
"description": "The emission standard of the vehicle valid in the European Union.\nThis parameter is not only important for proper toll and emission calculation, \nthere are also low-emission zones which can be entered only if the vehicle has a proper emission standard.\nIn contrast to explicit approvals like environmental badges or vehicle registrations\nthe emission standard is automatically considered when entering such low-emission zones.\n\nValues different from _NONE_ are supported for **engineType** _COMBUSTION_ and _HYBRID_. Relevant for `routing`, `toll`, `emissions`.\n",
"example": "EURO_6",
"nullable": true,
"enum": [
"NONE",
"EURO_0",
"EURO_1",
"EURO_2",
"EURO_3",
"EURO_4",
"EURO_5",
"EURO_EEV",
"EURO_6",
"EURO_6C",
"EURO_6D_TEMP",