diff --git a/clients/client-geo-routes/.gitignore b/clients/client-geo-routes/.gitignore new file mode 100644 index 0000000000000..54f14c9aef253 --- /dev/null +++ b/clients/client-geo-routes/.gitignore @@ -0,0 +1,9 @@ +/node_modules/ +/build/ +/coverage/ +/docs/ +/dist-* +*.tsbuildinfo +*.tgz +*.log +package-lock.json diff --git a/clients/client-geo-routes/LICENSE b/clients/client-geo-routes/LICENSE new file mode 100644 index 0000000000000..1349aa7c99232 --- /dev/null +++ b/clients/client-geo-routes/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/clients/client-geo-routes/README.md b/clients/client-geo-routes/README.md new file mode 100644 index 0000000000000..f73efd3676cc8 --- /dev/null +++ b/clients/client-geo-routes/README.md @@ -0,0 +1,265 @@ + + +# @aws-sdk/client-geo-routes + +## Description + +AWS SDK for JavaScript GeoRoutes Client for Node.js, Browser and React Native. + +
With the Amazon Location Routes API you can calculate +routes and estimate travel time based on up-to-date road network and live +traffic information.
+Calculate optimal travel routes and estimate travel times using up-to-date road network and traffic data. Key features include:
+Point-to-point routing with estimated travel time, distance, and turn-by-turn directions
+Multi-point route optimization to minimize travel time or distance
+Route matrices for efficient multi-destination planning
+Isoline calculations to determine reachable areas within specified time or distance thresholds
+Map-matching to align GPS traces with the road network
+With the Amazon Location Routes API you can calculate + * routes and estimate travel time based on up-to-date road network and live + * traffic information.
+ *Calculate optimal travel routes and estimate travel times using up-to-date road network and traffic data. Key features include:
+ *Point-to-point routing with estimated travel time, distance, and turn-by-turn directions
+ *Multi-point route optimization to minimize travel time or distance
+ *Route matrices for efficient multi-destination planning
+ *Isoline calculations to determine reachable areas within specified time or distance thresholds
+ *Map-matching to align GPS traces with the road network
+ *With the Amazon Location Routes API you can calculate + * routes and estimate travel time based on up-to-date road network and live + * traffic information.
+ *Calculate optimal travel routes and estimate travel times using up-to-date road network and traffic data. Key features include:
+ *Point-to-point routing with estimated travel time, distance, and turn-by-turn directions
+ *Multi-point route optimization to minimize travel time or distance
+ *Route matrices for efficient multi-destination planning
+ *Isoline calculations to determine reachable areas within specified time or distance thresholds
+ *Map-matching to align GPS traces with the road network
+ *Use the CalculateIsolines
action to find service areas that can be reached
+ * in a given threshold of time, distance.
You don't have sufficient access to perform this action.
+ * + * @throws {@link InternalServerException} (server fault) + *The request processing has failed because of an unknown error, exception or failure.
+ * + * @throws {@link ThrottlingException} (client fault) + *The request was denied due to request throttling.
+ * + * @throws {@link ValidationException} (client fault) + *The input fails to satisfy the constraints specified by an AWS service.
+ * + * @throws {@link GeoRoutesServiceException} + *Base exception class for all service exceptions from GeoRoutes service.
+ * + * @public + */ +export class CalculateIsolinesCommand extends $Command + .classBuilder< + CalculateIsolinesCommandInput, + CalculateIsolinesCommandOutput, + GeoRoutesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: GeoRoutesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("RoutesService", "CalculateIsolines", {}) + .n("GeoRoutesClient", "CalculateIsolinesCommand") + .f(CalculateIsolinesRequestFilterSensitiveLog, CalculateIsolinesResponseFilterSensitiveLog) + .ser(se_CalculateIsolinesCommand) + .de(de_CalculateIsolinesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CalculateIsolinesRequest; + output: CalculateIsolinesResponse; + }; + sdk: { + input: CalculateIsolinesCommandInput; + output: CalculateIsolinesCommandOutput; + }; + }; +} diff --git a/clients/client-geo-routes/src/commands/CalculateRouteMatrixCommand.ts b/clients/client-geo-routes/src/commands/CalculateRouteMatrixCommand.ts new file mode 100644 index 0000000000000..84b3548c7f1b7 --- /dev/null +++ b/clients/client-geo-routes/src/commands/CalculateRouteMatrixCommand.ts @@ -0,0 +1,307 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { GeoRoutesClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GeoRoutesClient"; +import { + CalculateRouteMatrixRequest, + CalculateRouteMatrixRequestFilterSensitiveLog, + CalculateRouteMatrixResponse, + CalculateRouteMatrixResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_CalculateRouteMatrixCommand, se_CalculateRouteMatrixCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CalculateRouteMatrixCommand}. + */ +export interface CalculateRouteMatrixCommandInput extends CalculateRouteMatrixRequest {} +/** + * @public + * + * The output of {@link CalculateRouteMatrixCommand}. + */ +export interface CalculateRouteMatrixCommandOutput extends CalculateRouteMatrixResponse, __MetadataBearer {} + +/** + *Calculates route matrix containing the results for all pairs of + * Origins to Destinations. Each row corresponds to one entry in Origins. + * Each entry in the row corresponds to the route from that entry in Origins to an entry in Destinations positions.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { GeoRoutesClient, CalculateRouteMatrixCommand } from "@aws-sdk/client-geo-routes"; // ES Modules import + * // const { GeoRoutesClient, CalculateRouteMatrixCommand } = require("@aws-sdk/client-geo-routes"); // CommonJS import + * const client = new GeoRoutesClient(config); + * const input = { // CalculateRouteMatrixRequest + * Allow: { // RouteMatrixAllowOptions + * Hot: true || false, + * Hov: true || false, + * }, + * Avoid: { // RouteMatrixAvoidanceOptions + * Areas: [ // RouteMatrixAvoidanceAreaList + * { // RouteMatrixAvoidanceArea + * Geometry: { // RouteMatrixAvoidanceAreaGeometry + * BoundingBox: [ // BoundingBox + * Number("double"), + * ], + * Polygon: [ // LinearRings + * [ // LinearRing + * [ // Position + * Number("double"), + * ], + * ], + * ], + * PolylinePolygon: [ // PolylineRingList + * "STRING_VALUE", + * ], + * }, + * }, + * ], + * CarShuttleTrains: true || false, + * ControlledAccessHighways: true || false, + * DirtRoads: true || false, + * Ferries: true || false, + * TollRoads: true || false, + * TollTransponders: true || false, + * TruckRoadTypes: [ // TruckRoadTypeList + * "STRING_VALUE", + * ], + * Tunnels: true || false, + * UTurns: true || false, + * ZoneCategories: [ // RouteMatrixAvoidanceZoneCategoryList + * { // RouteMatrixAvoidanceZoneCategory + * Category: "STRING_VALUE", + * }, + * ], + * }, + * DepartNow: true || false, + * DepartureTime: "STRING_VALUE", + * Destinations: [ // RouteMatrixDestinationList // required + * { // RouteMatrixDestination + * Options: { // RouteMatrixDestinationOptions + * AvoidActionsForDistance: Number("long"), + * Heading: Number("double"), + * Matching: { // RouteMatrixMatchingOptions + * NameHint: "STRING_VALUE", + * OnRoadThreshold: Number("long"), + * Radius: Number("long"), + * Strategy: "STRING_VALUE", + * }, + * SideOfStreet: { // RouteMatrixSideOfStreetOptions + * Position: [ // required + * Number("double"), + * ], + * UseWith: "STRING_VALUE", + * }, + * }, + * Position: "You don't have sufficient access to perform this action.
+ * + * @throws {@link InternalServerException} (server fault) + *The request processing has failed because of an unknown error, exception or failure.
+ * + * @throws {@link ThrottlingException} (client fault) + *The request was denied due to request throttling.
+ * + * @throws {@link ValidationException} (client fault) + *The input fails to satisfy the constraints specified by an AWS service.
+ * + * @throws {@link GeoRoutesServiceException} + *Base exception class for all service exceptions from GeoRoutes service.
+ * + * @public + */ +export class CalculateRouteMatrixCommand extends $Command + .classBuilder< + CalculateRouteMatrixCommandInput, + CalculateRouteMatrixCommandOutput, + GeoRoutesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: GeoRoutesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("RoutesService", "CalculateRouteMatrix", {}) + .n("GeoRoutesClient", "CalculateRouteMatrixCommand") + .f(CalculateRouteMatrixRequestFilterSensitiveLog, CalculateRouteMatrixResponseFilterSensitiveLog) + .ser(se_CalculateRouteMatrixCommand) + .de(de_CalculateRouteMatrixCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CalculateRouteMatrixRequest; + output: CalculateRouteMatrixResponse; + }; + sdk: { + input: CalculateRouteMatrixCommandInput; + output: CalculateRouteMatrixCommandOutput; + }; + }; +} diff --git a/clients/client-geo-routes/src/commands/CalculateRoutesCommand.ts b/clients/client-geo-routes/src/commands/CalculateRoutesCommand.ts new file mode 100644 index 0000000000000..a721414e9379c --- /dev/null +++ b/clients/client-geo-routes/src/commands/CalculateRoutesCommand.ts @@ -0,0 +1,995 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { GeoRoutesClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GeoRoutesClient"; +import { + CalculateRoutesRequest, + CalculateRoutesRequestFilterSensitiveLog, + CalculateRoutesResponse, + CalculateRoutesResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_CalculateRoutesCommand, se_CalculateRoutesCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CalculateRoutesCommand}. + */ +export interface CalculateRoutesCommandInput extends CalculateRoutesRequest {} +/** + * @public + * + * The output of {@link CalculateRoutesCommand}. + */ +export interface CalculateRoutesCommandOutput extends CalculateRoutesResponse, __MetadataBearer {} + +/** + *Calculates a route given the following required parameters:
+ * Origin
and Destination
.
You don't have sufficient access to perform this action.
+ * + * @throws {@link InternalServerException} (server fault) + *The request processing has failed because of an unknown error, exception or failure.
+ * + * @throws {@link ThrottlingException} (client fault) + *The request was denied due to request throttling.
+ * + * @throws {@link ValidationException} (client fault) + *The input fails to satisfy the constraints specified by an AWS service.
+ * + * @throws {@link GeoRoutesServiceException} + *Base exception class for all service exceptions from GeoRoutes service.
+ * + * @public + */ +export class CalculateRoutesCommand extends $Command + .classBuilder< + CalculateRoutesCommandInput, + CalculateRoutesCommandOutput, + GeoRoutesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: GeoRoutesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("RoutesService", "CalculateRoutes", {}) + .n("GeoRoutesClient", "CalculateRoutesCommand") + .f(CalculateRoutesRequestFilterSensitiveLog, CalculateRoutesResponseFilterSensitiveLog) + .ser(se_CalculateRoutesCommand) + .de(de_CalculateRoutesCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CalculateRoutesRequest; + output: CalculateRoutesResponse; + }; + sdk: { + input: CalculateRoutesCommandInput; + output: CalculateRoutesCommandOutput; + }; + }; +} diff --git a/clients/client-geo-routes/src/commands/OptimizeWaypointsCommand.ts b/clients/client-geo-routes/src/commands/OptimizeWaypointsCommand.ts new file mode 100644 index 0000000000000..fa6136e3325f6 --- /dev/null +++ b/clients/client-geo-routes/src/commands/OptimizeWaypointsCommand.ts @@ -0,0 +1,277 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { GeoRoutesClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GeoRoutesClient"; +import { + OptimizeWaypointsRequest, + OptimizeWaypointsRequestFilterSensitiveLog, + OptimizeWaypointsResponse, + OptimizeWaypointsResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_OptimizeWaypointsCommand, se_OptimizeWaypointsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link OptimizeWaypointsCommand}. + */ +export interface OptimizeWaypointsCommandInput extends OptimizeWaypointsRequest {} +/** + * @public + * + * The output of {@link OptimizeWaypointsCommand}. + */ +export interface OptimizeWaypointsCommandOutput extends OptimizeWaypointsResponse, __MetadataBearer {} + +/** + *Calculates the optimal order to travel between a set of waypoints to minimize either the + * travel time or the distance travelled during the journey, based on road network + * restrictions and the traffic pattern data.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { GeoRoutesClient, OptimizeWaypointsCommand } from "@aws-sdk/client-geo-routes"; // ES Modules import + * // const { GeoRoutesClient, OptimizeWaypointsCommand } = require("@aws-sdk/client-geo-routes"); // CommonJS import + * const client = new GeoRoutesClient(config); + * const input = { // OptimizeWaypointsRequest + * Avoid: { // WaypointOptimizationAvoidanceOptions + * Areas: [ // WaypointOptimizationAvoidanceAreaList + * { // WaypointOptimizationAvoidanceArea + * Geometry: { // WaypointOptimizationAvoidanceAreaGeometry + * BoundingBox: [ // BoundingBox + * Number("double"), + * ], + * }, + * }, + * ], + * CarShuttleTrains: true || false, + * ControlledAccessHighways: true || false, + * DirtRoads: true || false, + * Ferries: true || false, + * TollRoads: true || false, + * Tunnels: true || false, + * UTurns: true || false, + * }, + * DepartureTime: "STRING_VALUE", + * Destination: [ // Position + * Number("double"), + * ], + * DestinationOptions: { // WaypointOptimizationDestinationOptions + * AccessHours: { // WaypointOptimizationAccessHours + * From: { // WaypointOptimizationAccessHoursEntry + * DayOfWeek: "STRING_VALUE", // required + * TimeOfDay: "STRING_VALUE", // required + * }, + * To: { + * DayOfWeek: "STRING_VALUE", // required + * TimeOfDay: "STRING_VALUE", // required + * }, + * }, + * AppointmentTime: "STRING_VALUE", + * Heading: Number("double"), + * Id: "STRING_VALUE", + * ServiceDuration: Number("long"), + * SideOfStreet: { // WaypointOptimizationSideOfStreetOptions + * Position: [ // required + * Number("double"), + * ], + * UseWith: "STRING_VALUE", + * }, + * }, + * Driver: { // WaypointOptimizationDriverOptions + * RestCycles: { // WaypointOptimizationRestCycles + * LongCycle: { // WaypointOptimizationRestCycleDurations + * RestDuration: Number("long"), // required + * WorkDuration: Number("long"), // required + * }, + * ShortCycle: { + * RestDuration: Number("long"), // required + * WorkDuration: Number("long"), // required + * }, + * }, + * RestProfile: { // WaypointOptimizationRestProfile + * Profile: "STRING_VALUE", // required + * }, + * TreatServiceTimeAs: "STRING_VALUE", + * }, + * Exclude: { // WaypointOptimizationExclusionOptions + * Countries: [ // CountryCodeList // required + * "STRING_VALUE", + * ], + * }, + * Key: "STRING_VALUE", + * OptimizeSequencingFor: "STRING_VALUE", + * Origin: [ // required + * Number("double"), + * ], + * OriginOptions: { // WaypointOptimizationOriginOptions + * Id: "STRING_VALUE", + * }, + * Traffic: { // WaypointOptimizationTrafficOptions + * Usage: "STRING_VALUE", + * }, + * TravelMode: "STRING_VALUE", + * TravelModeOptions: { // WaypointOptimizationTravelModeOptions + * Pedestrian: { // WaypointOptimizationPedestrianOptions + * Speed: Number("double"), + * }, + * Truck: { // WaypointOptimizationTruckOptions + * GrossWeight: Number("long"), + * HazardousCargos: [ // WaypointOptimizationHazardousCargoTypeList + * "STRING_VALUE", + * ], + * Height: Number("long"), + * Length: Number("long"), + * Trailer: { // WaypointOptimizationTrailerOptions + * TrailerCount: Number("int"), + * }, + * TruckType: "STRING_VALUE", + * TunnelRestrictionCode: "STRING_VALUE", + * WeightPerAxle: Number("long"), + * Width: Number("long"), + * }, + * }, + * Waypoints: [ // WaypointOptimizationWaypointList + * { // WaypointOptimizationWaypoint + * AccessHours: { + * From: { + * DayOfWeek: "STRING_VALUE", // required + * TimeOfDay: "STRING_VALUE", // required + * }, + * To: { + * DayOfWeek: "STRING_VALUE", // required + * TimeOfDay: "STRING_VALUE", // required + * }, + * }, + * AppointmentTime: "STRING_VALUE", + * Before: [ // BeforeWaypointsList + * Number("int"), + * ], + * Heading: Number("double"), + * Id: "STRING_VALUE", + * Position: [ // required + * Number("double"), + * ], + * ServiceDuration: Number("long"), + * SideOfStreet: { + * Position: "You don't have sufficient access to perform this action.
+ * + * @throws {@link InternalServerException} (server fault) + *The request processing has failed because of an unknown error, exception or failure.
+ * + * @throws {@link ThrottlingException} (client fault) + *The request was denied due to request throttling.
+ * + * @throws {@link ValidationException} (client fault) + *The input fails to satisfy the constraints specified by an AWS service.
+ * + * @throws {@link GeoRoutesServiceException} + *Base exception class for all service exceptions from GeoRoutes service.
+ * + * @public + */ +export class OptimizeWaypointsCommand extends $Command + .classBuilder< + OptimizeWaypointsCommandInput, + OptimizeWaypointsCommandOutput, + GeoRoutesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: GeoRoutesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("RoutesService", "OptimizeWaypoints", {}) + .n("GeoRoutesClient", "OptimizeWaypointsCommand") + .f(OptimizeWaypointsRequestFilterSensitiveLog, OptimizeWaypointsResponseFilterSensitiveLog) + .ser(se_OptimizeWaypointsCommand) + .de(de_OptimizeWaypointsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: OptimizeWaypointsRequest; + output: OptimizeWaypointsResponse; + }; + sdk: { + input: OptimizeWaypointsCommandInput; + output: OptimizeWaypointsCommandOutput; + }; + }; +} diff --git a/clients/client-geo-routes/src/commands/SnapToRoadsCommand.ts b/clients/client-geo-routes/src/commands/SnapToRoadsCommand.ts new file mode 100644 index 0000000000000..01a7bed5c8193 --- /dev/null +++ b/clients/client-geo-routes/src/commands/SnapToRoadsCommand.ts @@ -0,0 +1,166 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { commonParams } from "../endpoint/EndpointParameters"; +import { GeoRoutesClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GeoRoutesClient"; +import { + SnapToRoadsRequest, + SnapToRoadsRequestFilterSensitiveLog, + SnapToRoadsResponse, + SnapToRoadsResponseFilterSensitiveLog, +} from "../models/models_0"; +import { de_SnapToRoadsCommand, se_SnapToRoadsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link SnapToRoadsCommand}. + */ +export interface SnapToRoadsCommandInput extends SnapToRoadsRequest {} +/** + * @public + * + * The output of {@link SnapToRoadsCommand}. + */ +export interface SnapToRoadsCommandOutput extends SnapToRoadsResponse, __MetadataBearer {} + +/** + *The SnapToRoads action matches GPS trace to roads most likely traveled on.
+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { GeoRoutesClient, SnapToRoadsCommand } from "@aws-sdk/client-geo-routes"; // ES Modules import + * // const { GeoRoutesClient, SnapToRoadsCommand } = require("@aws-sdk/client-geo-routes"); // CommonJS import + * const client = new GeoRoutesClient(config); + * const input = { // SnapToRoadsRequest + * Key: "STRING_VALUE", + * SnappedGeometryFormat: "STRING_VALUE", + * SnapRadius: Number("long"), + * TracePoints: [ // RoadSnapTracePointList // required + * { // RoadSnapTracePoint + * Heading: Number("double"), + * Position: [ // Position // required + * Number("double"), + * ], + * Speed: Number("double"), + * Timestamp: "STRING_VALUE", + * }, + * ], + * TravelMode: "STRING_VALUE", + * TravelModeOptions: { // RoadSnapTravelModeOptions + * Truck: { // RoadSnapTruckOptions + * GrossWeight: Number("long"), + * HazardousCargos: [ // RoadSnapHazardousCargoTypeList + * "STRING_VALUE", + * ], + * Height: Number("long"), + * Length: Number("long"), + * Trailer: { // RoadSnapTrailerOptions + * TrailerCount: Number("int"), + * }, + * TunnelRestrictionCode: "STRING_VALUE", + * Width: Number("long"), + * }, + * }, + * }; + * const command = new SnapToRoadsCommand(input); + * const response = await client.send(command); + * // { // SnapToRoadsResponse + * // Notices: [ // RoadSnapNoticeList // required + * // { // RoadSnapNotice + * // Code: "STRING_VALUE", // required + * // Title: "STRING_VALUE", // required + * // TracePointIndexes: [ // RoadSnapTracePointIndexList // required + * // Number("int"), + * // ], + * // }, + * // ], + * // PricingBucket: "STRING_VALUE", // required + * // SnappedGeometry: { // RoadSnapSnappedGeometry + * // LineString: [ // LineString + * // [ // Position + * // Number("double"), + * // ], + * // ], + * // Polyline: "STRING_VALUE", + * // }, + * // SnappedGeometryFormat: "STRING_VALUE", // required + * // SnappedTracePoints: [ // RoadSnapSnappedTracePointList // required + * // { // RoadSnapSnappedTracePoint + * // Confidence: Number("double"), // required + * // OriginalPosition: [ // required + * // Number("double"), + * // ], + * // SnappedPosition: [ // required + * // Number("double"), + * // ], + * // }, + * // ], + * // }; + * + * ``` + * + * @param SnapToRoadsCommandInput - {@link SnapToRoadsCommandInput} + * @returns {@link SnapToRoadsCommandOutput} + * @see {@link SnapToRoadsCommandInput} for command's `input` shape. + * @see {@link SnapToRoadsCommandOutput} for command's `response` shape. + * @see {@link GeoRoutesClientResolvedConfig | config} for GeoRoutesClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *You don't have sufficient access to perform this action.
+ * + * @throws {@link InternalServerException} (server fault) + *The request processing has failed because of an unknown error, exception or failure.
+ * + * @throws {@link ThrottlingException} (client fault) + *The request was denied due to request throttling.
+ * + * @throws {@link ValidationException} (client fault) + *The input fails to satisfy the constraints specified by an AWS service.
+ * + * @throws {@link GeoRoutesServiceException} + *Base exception class for all service exceptions from GeoRoutes service.
+ * + * @public + */ +export class SnapToRoadsCommand extends $Command + .classBuilder< + SnapToRoadsCommandInput, + SnapToRoadsCommandOutput, + GeoRoutesClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: GeoRoutesClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("RoutesService", "SnapToRoads", {}) + .n("GeoRoutesClient", "SnapToRoadsCommand") + .f(SnapToRoadsRequestFilterSensitiveLog, SnapToRoadsResponseFilterSensitiveLog) + .ser(se_SnapToRoadsCommand) + .de(de_SnapToRoadsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: SnapToRoadsRequest; + output: SnapToRoadsResponse; + }; + sdk: { + input: SnapToRoadsCommandInput; + output: SnapToRoadsCommandOutput; + }; + }; +} diff --git a/clients/client-geo-routes/src/commands/index.ts b/clients/client-geo-routes/src/commands/index.ts new file mode 100644 index 0000000000000..c635013d83540 --- /dev/null +++ b/clients/client-geo-routes/src/commands/index.ts @@ -0,0 +1,6 @@ +// smithy-typescript generated code +export * from "./CalculateIsolinesCommand"; +export * from "./CalculateRouteMatrixCommand"; +export * from "./CalculateRoutesCommand"; +export * from "./OptimizeWaypointsCommand"; +export * from "./SnapToRoadsCommand"; diff --git a/clients/client-geo-routes/src/endpoint/EndpointParameters.ts b/clients/client-geo-routes/src/endpoint/EndpointParameters.ts new file mode 100644 index 0000000000000..ede2aee2c0139 --- /dev/null +++ b/clients/client-geo-routes/src/endpoint/EndpointParameters.ts @@ -0,0 +1,41 @@ +// smithy-typescript generated code +import { Endpoint, EndpointParameters as __EndpointParameters, EndpointV2, Provider } from "@smithy/types"; + +/** + * @public + */ +export interface ClientInputEndpointParameters { + useDualstackEndpoint?: boolean | ProviderWith the Amazon Location Routes API you can calculate + * routes and estimate travel time based on up-to-date road network and live + * traffic information.
+ *Calculate optimal travel routes and estimate travel times using up-to-date road network and traffic data. Key features include:
+ *Point-to-point routing with estimated travel time, distance, and turn-by-turn directions
+ *Multi-point route optimization to minimize travel time or distance
+ *Route matrices for efficient multi-destination planning
+ *Isoline calculations to determine reachable areas within specified time or distance thresholds
+ *Map-matching to align GPS traces with the road network
+ *You don't have sufficient access to perform this action.
+ * @public + */ +export class AccessDeniedException extends __BaseException { + readonly name: "AccessDeniedException" = "AccessDeniedException"; + readonly $fault: "client" = "client"; + Message: string | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeFeatures that are allowed while calculating. a route
+ * @public + */ +export interface IsolineAllowOptions { + /** + *Allow Hot (High Occupancy Toll) lanes while calculating the route.
+ * @public + */ + Hot?: boolean; + + /** + *Allow Hov (High Occupancy vehicle) lanes while calculating the route.
+ * @public + */ + Hov?: boolean; +} + +/** + *Geometry defined as a corridor - a LineString with a radius that defines the width of the corridor.
+ * @public + */ +export interface Corridor { + /** + *An ordered list of positions used to plot a route on a map.
+ *LineString and Polyline are mutually exclusive properties.
+ *Radius that defines the width of the corridor.
+ * @public + */ + Radius: number | undefined; +} + +/** + *Geometry defined as an encoded corridor - an encoded polyline with a radius that defines + * the width of the corridor.
+ * @public + */ +export interface PolylineCorridor { + /** + *An ordered list of positions used to plot a route on a map in a lossy compression format.
+ *LineString and Polyline are mutually exclusive properties.
+ *Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.
+ *
+ * Unit: Meters
+ *
The avoidance geometry, to be included while calculating the route.
+ * @public + */ +export interface IsolineAvoidanceAreaGeometry { + /** + *Geometry defined as a bounding box. The first pair represents the X and Y coordinates + * (longitude and latitude,) of the southwest corner of the bounding box; the second pair + * represents the X and Y coordinates (longitude and latitude) of the northeast corner.
+ * @public + */ + BoundingBox?: number[]; + + /** + *Geometry defined as a corridor - a LineString with a radius that defines the width of the corridor.
+ * @public + */ + Corridor?: Corridor; + + /** + *A list of Polygon will be excluded for calculating isolines, the list can only contain 1 polygon.
+ * @public + */ + Polygon?: number[][][]; + + /** + *Geometry defined as an encoded corridor – a polyline with a radius that defines the width of the corridor. For more information on polyline + * encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.
+ * @public + */ + PolylineCorridor?: PolylineCorridor; + + /** + *A list of PolylinePolygon's that are excluded for calculating isolines, the list can only contain 1 polygon. For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md. + *
+ * @public + */ + PolylinePolygon?: string[]; +} + +/** + *The area to be avoided.
+ * @public + */ +export interface IsolineAvoidanceArea { + /** + *Exceptions to the provided avoidance geometry, to be included while calculating the route.
+ * @public + */ + Except?: IsolineAvoidanceAreaGeometry[]; + + /** + *Geometry of the area to be avoided.
+ * @public + */ + Geometry: IsolineAvoidanceAreaGeometry | undefined; +} + +/** + * @public + * @enum + */ +export const IsolineZoneCategory = { + CONGESTION_PRICING: "CongestionPricing", + ENVIRONMENTAL: "Environmental", + VIGNETTE: "Vignette", +} as const; + +/** + * @public + */ +export type IsolineZoneCategory = (typeof IsolineZoneCategory)[keyof typeof IsolineZoneCategory]; + +/** + *Zone category to be avoided.
+ * @public + */ +export interface IsolineAvoidanceZoneCategory { + /** + *Zone category to be avoided.
+ * @public + */ + Category?: IsolineZoneCategory; +} + +/** + *Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an + * avoidance can't be satisfied for a particular case, it violates the avoidance and the + * returned response produces a notice for the violation.
+ * @public + */ +export interface IsolineAvoidanceOptions { + /** + *Areas to be avoided.
+ * @public + */ + Areas?: IsolineAvoidanceArea[]; + + /** + *Avoid car-shuttle-trains while calculating the route.
+ * @public + */ + CarShuttleTrains?: boolean; + + /** + *Avoid controlled access highways while calculating the route.
+ * @public + */ + ControlledAccessHighways?: boolean; + + /** + *Avoid dirt roads while calculating the route.
+ * @public + */ + DirtRoads?: boolean; + + /** + *Avoid ferries while calculating the route.
+ * @public + */ + Ferries?: boolean; + + /** + *Avoid roads that have seasonal closure while calculating the route.
+ * @public + */ + SeasonalClosure?: boolean; + + /** + *Avoids roads where the specified toll transponders are the only mode of payment.
+ * @public + */ + TollRoads?: boolean; + + /** + *Avoids roads where the specified toll transponders are the only mode of payment.
+ * @public + */ + TollTransponders?: boolean; + + /** + *Truck road type identifiers. BK1
through BK4
apply only to Sweden.
+ * A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
+ *Avoid tunnels while calculating the route.
+ * @public + */ + Tunnels?: boolean; + + /** + *Avoid U-turns for calculation on highways and motorways.
+ * @public + */ + UTurns?: boolean; + + /** + *Zone categories to be avoided.
+ * @public + */ + ZoneCategories?: IsolineAvoidanceZoneCategory[]; +} + +/** + * @public + * @enum + */ +export const MatchingStrategy = { + MATCH_ANY: "MatchAny", + MATCH_MOST_SIGNIFICANT_ROAD: "MatchMostSignificantRoad", +} as const; + +/** + * @public + */ +export type MatchingStrategy = (typeof MatchingStrategy)[keyof typeof MatchingStrategy]; + +/** + *Isoline matching related options.
+ * @public + */ +export interface IsolineMatchingOptions { + /** + *Attempts to match the provided position to a road similar to the provided name.
+ * @public + */ + NameHint?: string; + + /** + *If the distance to a highway/bridge/tunnel/sliproad is within threshold, the waypoint will be snapped to the highway/bridge/tunnel/sliproad.
+ *
+ * Unit: meters
+ *
Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.
+ *
+ * Unit: Meters
+ *
Strategy that defines matching of the position onto the road network. MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches to the most significant road.
+ * @public + */ + Strategy?: MatchingStrategy; +} + +/** + * @public + * @enum + */ +export const SideOfStreetMatchingStrategy = { + ANY_STREET: "AnyStreet", + DIVIDED_STREET_ONLY: "DividedStreetOnly", +} as const; + +/** + * @public + */ +export type SideOfStreetMatchingStrategy = + (typeof SideOfStreetMatchingStrategy)[keyof typeof SideOfStreetMatchingStrategy]; + +/** + *Options to configure matching the provided position to a side of the street.
+ * @public + */ +export interface IsolineSideOfStreetOptions { + /** + *Position defined as [longitude, latitude]
.
Strategy that defines when the side of street position should be used. AnyStreet will always use the provided position.
+ *Default Value: DividedStreetOnly
+ *
Destination related options.
+ * @public + */ +export interface IsolineDestinationOptions { + /** + *Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
+ * @public + */ + AvoidActionsForDistance?: number; + + /** + *GPS Heading at the position.
+ * @public + */ + Heading?: number; + + /** + *Options to configure matching the provided position to the road network.
+ * @public + */ + Matching?: IsolineMatchingOptions; + + /** + *Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: IsolineSideOfStreetOptions; +} + +/** + * @public + * @enum + */ +export const GeometryFormat = { + FLEXIBLE_POLYLINE: "FlexiblePolyline", + SIMPLE: "Simple", +} as const; + +/** + * @public + */ +export type GeometryFormat = (typeof GeometryFormat)[keyof typeof GeometryFormat]; + +/** + *Isoline granularity related options.
+ * @public + */ +export interface IsolineGranularityOptions { + /** + *Maximum number of points of returned Isoline.
+ * @public + */ + MaxPoints?: number; + + /** + *Maximum resolution of the returned isoline.
+ *
+ * Unit: centimeters
+ *
Options for the property.
+ * @public + */ +export interface IsolineOriginOptions { + /** + *Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
+ * @public + */ + AvoidActionsForDistance?: number; + + /** + *GPS Heading at the position.
+ * @public + */ + Heading?: number; + + /** + *Options to configure matching the provided position to the road network.
+ * @public + */ + Matching?: IsolineMatchingOptions; + + /** + *Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: IsolineSideOfStreetOptions; +} + +/** + *Threshold to be used for the isoline calculation. Up to 3 thresholds per provided type + * can be requested.
+ * @public + */ +export interface IsolineThresholds { + /** + *Distance to be used for the isoline calculation.
+ * @public + */ + Distance?: number[]; + + /** + *Time to be used for the isoline calculation.
+ * @public + */ + Time?: number[]; +} + +/** + * @public + * @enum + */ +export const TrafficUsage = { + IGNORE_TRAFFIC_DATA: "IgnoreTrafficData", + USE_TRAFFIC_DATA: "UseTrafficData", +} as const; + +/** + * @public + */ +export type TrafficUsage = (typeof TrafficUsage)[keyof typeof TrafficUsage]; + +/** + *Options related to traffic.
+ * @public + */ +export interface IsolineTrafficOptions { + /** + *Duration for which flow traffic is considered valid. For this period, the flow traffic is used over historical traffic data. Flow traffic refers to congestion, which changes very quickly. Duration in seconds for which flow traffic event would be considered valid. While flow traffic event is valid it will be used over the historical traffic data.
+ *
+ * Unit: seconds
+ *
Determines if traffic should be used or ignored while calculating the route.
+ *Default Value: UseTrafficData
+ *
The vehicle license plate.
+ * @public + */ +export interface IsolineVehicleLicensePlate { + /** + *The last character of the License Plate.
+ * @public + */ + LastCharacter?: string; +} + +/** + *Options for vehicles.
+ * @public + */ +export interface IsolineCarOptions { + /** + *Engine type of the vehicle.
+ * @public + */ + EngineType?: IsolineEngineType; + + /** + *The vehicle License Plate.
+ * @public + */ + LicensePlate?: IsolineVehicleLicensePlate; + + /** + *Maximum speed.
+ *
+ * Unit: KilometersPerHour
+ *
The number of occupants in the vehicle.
+ *Default Value: 1
+ *
Options for the property.
+ * @public + */ +export interface IsolineScooterOptions { + /** + *Engine type of the vehicle.
+ * @public + */ + EngineType?: IsolineEngineType; + + /** + *The vehicle License Plate.
+ * @public + */ + LicensePlate?: IsolineVehicleLicensePlate; + + /** + *Maximum speed specified.
+ *
+ * Unit: KilometersPerHour
+ *
The number of occupants in the vehicle.
+ *Default Value: 1
+ *
Trailer options corresponding to the vehicle.
+ * @public + */ +export interface IsolineTrailerOptions { + /** + *Total number of axles of the vehicle.
+ * @public + */ + AxleCount?: number; + + /** + *Number of trailers attached to the vehicle.
+ *Default Value: 0
+ *
Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.
+ *
+ * Unit: Kilograms
+ *
Weight for single axle group.
+ *
+ * Unit: Kilograms
+ *
Weight for tandem axle group.
+ *
+ * Unit: Kilograms
+ *
Weight for triple axle group.
+ *
+ * Unit: Kilograms
+ *
Weight for quad axle group.
+ *
+ * Unit: Kilograms
+ *
Weight for quad quint group.
+ *
+ * Unit: Kilograms
+ *
Travel mode options when the provided travel mode is "Truck"
+ * @public + */ +export interface IsolineTruckOptions { + /** + *Total number of axles of the vehicle.
+ * @public + */ + AxleCount?: number; + + /** + *Engine type of the vehicle.
+ * @public + */ + EngineType?: IsolineEngineType; + + /** + *Gross weight of the vehicle including trailers, and goods at capacity.
+ *
+ * Unit: Kilograms
+ *
List of Hazardous cargo contained in the vehicle.
+ * @public + */ + HazardousCargos?: IsolineHazardousCargoType[]; + + /** + *Height of the vehicle.
+ *
+ * Unit: centimeters
+ *
Height of the vehicle above its first axle.
+ *
+ * Unit: centimeters
+ *
Kingpin to rear axle length of the vehicle.
+ *
+ * Unit: centimeters
+ *
Length of the vehicle.
+ *
+ * Unit: centimeters
+ *
The vehicle License Plate.
+ * @public + */ + LicensePlate?: IsolineVehicleLicensePlate; + + /** + *Maximum speed specified.
+ *
+ * Unit: KilometersPerHour
+ *
The number of occupants in the vehicle.
+ *Default Value: 1
+ *
Payload capacity of the vehicle and trailers attached.
+ *
+ * Unit: kilograms
+ *
Number of tires on the vehicle.
+ * @public + */ + TireCount?: number; + + /** + *Trailer options corresponding to the vehicle.
+ * @public + */ + Trailer?: IsolineTrailerOptions; + + /** + *Type of the truck.
+ * @public + */ + TruckType?: IsolineTruckType; + + /** + *The tunnel restriction code.
+ *Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. + * They relate to the types of dangerous goods that can be transported through them.
+ *+ * Tunnel Category B + *
+ *+ * Risk Level: Limited risk
+ *+ * Restrictions: Few restrictions
+ *+ * Tunnel Category C + *
+ *+ * Risk Level: Medium risk
+ *+ * Restrictions: Some restrictions
+ *+ * Tunnel Category D + *
+ *+ * Risk Level: High risk
+ *+ * Restrictions: Many restrictions occur
+ *+ * Tunnel Category E + *
+ *+ * Risk Level: Very high risk
+ *+ * Restrictions: Restricted tunnel
+ *Heaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.
+ *
+ * Unit: Kilograms
+ *
Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.
+ *
+ * Unit: Kilograms
+ *
Width of the vehicle.
+ *
+ * Unit: centimeters
+ *
Travel mode related options for the provided travel mode.
+ * @public + */ +export interface IsolineTravelModeOptions { + /** + *Travel mode options when the provided travel mode is "Car"
+ * @public + */ + Car?: IsolineCarOptions; + + /** + *Travel mode options when the provided travel mode is "Scooter"
+ * @public + */ + Scooter?: IsolineScooterOptions; + + /** + *Travel mode options when the provided travel mode is "Truck"
+ * @public + */ + Truck?: IsolineTruckOptions; +} + +/** + * @public + */ +export interface CalculateIsolinesRequest { + /** + *Features that are allowed while calculating. a route
+ * @public + */ + Allow?: IsolineAllowOptions; + + /** + *Time of arrival at the destination.
+ *Time format: YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an + * avoidance can't be satisfied for a particular case, it violates the avoidance and the + * returned response produces a notice for the violation.
+ * @public + */ + Avoid?: IsolineAvoidanceOptions; + + /** + *Uses the current time as the time of departure.
+ * @public + */ + DepartNow?: boolean; + + /** + *Time of departure from thr origin.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
The final position for the route. In the World Geodetic System (WGS 84) format: [longitude, latitude]
.
Destination related options.
+ * @public + */ + DestinationOptions?: IsolineDestinationOptions; + + /** + *The format of the returned IsolineGeometry.
+ *Default Value:FlexiblePolyline
+ *
Defines the granularity of the returned Isoline
+ * @public + */ + IsolineGranularity?: IsolineGranularityOptions; + + /** + *Optional: The API key to be used for authorization. Either an API key or valid SigV4 + * signature must be provided when making a request.
+ * @public + */ + Key?: string; + + /** + *Specifies the optimization criteria for when calculating an isoline. AccurateCalculation generates an isoline of higher granularity that is more precise. + * FastCalculation generates an isoline faster by reducing the granularity, and in turn the quality of the isoline. BalancedCalculation generates an isoline by balancing between quality and performance. + *
+ *Default Value: BalancedCalculation
+ *
Specifies the optimization criteria for calculating a route.
+ *Default Value: FastestRoute
+ *
The start position for the route.
+ * @public + */ + Origin?: number[]; + + /** + *Origin related options.
+ * @public + */ + OriginOptions?: IsolineOriginOptions; + + /** + *Threshold to be used for the isoline calculation. Up to + * 3 thresholds per provided type can be requested.
+ * @public + */ + Thresholds: IsolineThresholds | undefined; + + /** + *Traffic related options.
+ * @public + */ + Traffic?: IsolineTrafficOptions; + + /** + *Specifies the mode of transport when calculating a route. + * Used in estimating the speed of travel and road compatibility.
+ * The mode Scooter
also applies to motorcycles, set to Scooter
when wanted to calculate options for motorcycles.
Default Value: Car
+ *
Travel mode related options for the provided travel mode.
+ * @public + */ + TravelModeOptions?: IsolineTravelModeOptions; +} + +/** + *Geometry of the connection between different Isoline components.
+ * @public + */ +export interface IsolineConnectionGeometry { + /** + *An ordered list of positions used to plot a route on a map.
+ *LineString and Polyline are mutually exclusive properties.
+ *An ordered list of positions used to plot a route on a map in a lossy compression format.
+ *LineString and Polyline are mutually exclusive properties.
+ *Isolines may contain multiple components, if these components are connected by ferry links. These components are returned as separate polygons while the ferry links are returned as connections.
+ * @public + */ +export interface IsolineConnection { + /** + *Index of the polygon corresponding to the "from" component of the connection. The polygon is available from Isoline[].Geometries
.
The isoline geometry.
+ * @public + */ + Geometry: IsolineConnectionGeometry | undefined; + + /** + *Index of the polygon corresponding to the "to" component of the connection. The polygon is available from Isoline[].Geometries
.
Geometry of the connection between different Isoline components.
+ * @public + */ +export interface IsolineShapeGeometry { + /** + *A list of Isoline Polygons, for each isoline polygon, it contains polygons of the first linear ring (the outer ring) and from 2nd item to the last item (the inner rings).
+ * @public + */ + Polygon?: number[][][]; + + /** + *A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it contains PolylinePolygon + * of the first linear ring (the outer ring) and from 2nd item to the last item (the inner rings). + * For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.
+ * @public + */ + PolylinePolygon?: string[]; +} + +/** + *Calculated isolines and associated properties.
+ * @public + */ +export interface Isoline { + /** + *Isolines may contain multiple components, if these components are connected by ferry links. These components are returned as separate polygons while the ferry links are returned as connections.
+ * @public + */ + Connections: IsolineConnection[] | undefined; + + /** + *Distance threshold corresponding to the calculated Isoline.
+ * @public + */ + DistanceThreshold?: number; + + /** + *Geometries for the Calculated isolines.
+ * @public + */ + Geometries: IsolineShapeGeometry[] | undefined; + + /** + *Time threshold corresponding to the calculated isoline.
+ * @public + */ + TimeThreshold?: number; +} + +/** + * @public + */ +export interface CalculateIsolinesResponse { + /** + *Time of arrival at the destination. This parameter is returned only if the Destination parameters was provided in the request.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
Time of departure from thr origin.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
The format of the returned IsolineGeometry.
+ *Default Value:FlexiblePolyline
+ *
Calculated isolines and associated properties.
+ * @public + */ + Isolines: Isoline[] | undefined; + + /** + *The pricing bucket for which the query is charged at.
+ * @public + */ + PricingBucket: string | undefined; + + /** + *Snapped destination that was used for the Isoline calculation.
+ * @public + */ + SnappedDestination?: number[]; + + /** + *Snapped origin that was used for the Isoline calculation.
+ * @public + */ + SnappedOrigin?: number[]; +} + +/** + *The request processing has failed because of an unknown error, exception or failure.
+ * @public + */ +export class InternalServerException extends __BaseException { + readonly name: "InternalServerException" = "InternalServerException"; + readonly $fault: "server" = "server"; + $retryable = {}; + Message: string | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeThe request was denied due to request throttling.
+ * @public + */ +export class ThrottlingException extends __BaseException { + readonly name: "ThrottlingException" = "ThrottlingException"; + readonly $fault: "client" = "client"; + $retryable = {}; + Message: string | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeThe input fails to satisfy the constraints specified by the Amazon Location service.
+ * @public + */ +export interface ValidationExceptionField { + /** + *The name of the Validation Exception Field.
+ * @public + */ + Name: string | undefined; + + /** + *The error message.
+ * @public + */ + Message: string | undefined; +} + +/** + * @public + * @enum + */ +export const ValidationExceptionReason = { + /** + * The input cannot be parsed. For example a required JSON document, ARN identifier, + * date value, or numeric field cannot be parsed. + * + */ + CANNOT_PARSE: "CannotParse", + /** + * The input is present and parsable, but it is otherwise invalid. For example, a + * required numeric argument is outside the allowed range. + * + */ + FIELD_VALIDATION_FAILED: "FieldValidationFailed", + /** + * The required input is missing. + */ + MISSING: "Missing", + /** + * The input is invalid but no more specific reason is applicable. + */ + OTHER: "Other", + /** + * No such field is supported. + */ + UNKNOWN_FIELD: "UnknownField", + /** + * No such operation is supported. + */ + UNKNOWN_OPERATION: "UnknownOperation", +} as const; + +/** + * @public + */ +export type ValidationExceptionReason = (typeof ValidationExceptionReason)[keyof typeof ValidationExceptionReason]; + +/** + *The input fails to satisfy the constraints specified by an AWS service.
+ * @public + */ +export class ValidationException extends __BaseException { + readonly name: "ValidationException" = "ValidationException"; + readonly $fault: "client" = "client"; + Message: string | undefined; + /** + *A message with the reason for the validation exception error.
+ * @public + */ + Reason: ValidationExceptionReason | undefined; + + /** + *The field where the invalid entry was detected.
+ * @public + */ + FieldList: ValidationExceptionField[] | undefined; + /** + * @internal + */ + constructor(opts: __ExceptionOptionTypeAllow Options related to the route matrix.
+ * @public + */ +export interface RouteMatrixAllowOptions { + /** + *Allow Hot (High Occupancy Toll) lanes while calculating the route.
+ * @public + */ + Hot?: boolean; + + /** + *Allow Hov (High Occupancy vehicle) lanes while calculating the route.
+ * @public + */ + Hov?: boolean; +} + +/** + *Geometry of the area to be avoided.
+ * @public + */ +export interface RouteMatrixAvoidanceAreaGeometry { + /** + *Geometry defined as a bounding box. The first pair represents the X and Y coordinates + * (longitude and latitude,) of the southwest corner of the bounding box; the second pair + * represents the X and Y coordinates (longitude and latitude) of the northeast corner.
+ * @public + */ + BoundingBox?: number[]; + + /** + *Geometry defined as a polygon with only one linear ring.
+ * @public + */ + Polygon?: number[][][]; + + /** + *A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it contains + * PolylinePolygon of the first linear ring (the outer ring) and from second item to the last + * item (the inner rings). For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.
+ * @public + */ + PolylinePolygon?: string[]; +} + +/** + *Area to be avoided.
+ * @public + */ +export interface RouteMatrixAvoidanceArea { + /** + *Geometry of the area to be avoided.
+ * @public + */ + Geometry: RouteMatrixAvoidanceAreaGeometry | undefined; +} + +/** + * @public + * @enum + */ +export const RouteMatrixZoneCategory = { + CONGESTION_PRICING: "CongestionPricing", + ENVIRONMENTAL: "Environmental", + VIGNETTE: "Vignette", +} as const; + +/** + * @public + */ +export type RouteMatrixZoneCategory = (typeof RouteMatrixZoneCategory)[keyof typeof RouteMatrixZoneCategory]; + +/** + *Zone categories to be avoided.
+ * @public + */ +export interface RouteMatrixAvoidanceZoneCategory { + /** + *Zone category to be avoided.
+ * @public + */ + Category?: RouteMatrixZoneCategory; +} + +/** + *Options related to the route matrix.
+ * @public + */ +export interface RouteMatrixAvoidanceOptions { + /** + *Areas to be avoided.
+ * @public + */ + Areas?: RouteMatrixAvoidanceArea[]; + + /** + *Avoid car-shuttle-trains while calculating the route.
+ * @public + */ + CarShuttleTrains?: boolean; + + /** + *Avoid controlled access highways while calculating the route.
+ * @public + */ + ControlledAccessHighways?: boolean; + + /** + *Avoid dirt roads while calculating the route.
+ * @public + */ + DirtRoads?: boolean; + + /** + *Avoid ferries while calculating the route.
+ * @public + */ + Ferries?: boolean; + + /** + *Avoids roads where the specified toll transponders are the only mode of payment.
+ * @public + */ + TollRoads?: boolean; + + /** + *Avoids roads where the specified toll transponders are the only mode of payment.
+ * @public + */ + TollTransponders?: boolean; + + /** + *Truck road type identifiers. BK1
through BK4
apply only to Sweden.
+ * A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
+ *Avoid tunnels while calculating the route.
+ * @public + */ + Tunnels?: boolean; + + /** + *Avoid U-turns for calculation on highways and motorways.
+ * @public + */ + UTurns?: boolean; + + /** + *Zone categories to be avoided.
+ * @public + */ + ZoneCategories?: RouteMatrixAvoidanceZoneCategory[]; +} + +/** + *Matching options.
+ * @public + */ +export interface RouteMatrixMatchingOptions { + /** + *Attempts to match the provided position to a road similar to the provided name.
+ * @public + */ + NameHint?: string; + + /** + *If the distance to a highway/bridge/tunnel/sliproad is within threshold, the waypoint will be snapped to the highway/bridge/tunnel/sliproad.
+ *
+ * Unit: meters
+ *
Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.
+ *
+ * Unit: Meters
+ *
Strategy that defines matching of the position onto the road network. MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches to the most significant road.
+ * @public + */ + Strategy?: MatchingStrategy; +} + +/** + *Options to configure matching the provided position to a side of the street.
+ * @public + */ +export interface RouteMatrixSideOfStreetOptions { + /** + *Position defined as [longitude, latitude]
.
Strategy that defines when the side of street position should be used. AnyStreet will always use the provided position.
+ *Default Value: DividedStreetOnly
+ *
Options related to the destination.
+ * @public + */ +export interface RouteMatrixDestinationOptions { + /** + *Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
+ * @public + */ + AvoidActionsForDistance?: number; + + /** + *GPS Heading at the position.
+ * @public + */ + Heading?: number; + + /** + *Options to configure matching the provided position to the road network.
+ * @public + */ + Matching?: RouteMatrixMatchingOptions; + + /** + *Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: RouteMatrixSideOfStreetOptions; +} + +/** + *The route destination.
+ * @public + */ +export interface RouteMatrixDestination { + /** + *Destination related options.
+ * @public + */ + Options?: RouteMatrixDestinationOptions; + + /** + *Position defined as [longitude, latitude]
.
Exclusion options.
+ * @public + */ +export interface RouteMatrixExclusionOptions { + /** + *List of countries to be avoided defined by two-letter or three-letter country codes.
+ * @public + */ + Countries: string[] | undefined; +} + +/** + *Origin related options.
+ * @public + */ +export interface RouteMatrixOriginOptions { + /** + *Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
+ * @public + */ + AvoidActionsForDistance?: number; + + /** + *GPS Heading at the position.
+ * @public + */ + Heading?: number; + + /** + *Options to configure matching the provided position to the road network.
+ * @public + */ + Matching?: RouteMatrixMatchingOptions; + + /** + *Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: RouteMatrixSideOfStreetOptions; +} + +/** + *The start position for the route.
+ * @public + */ +export interface RouteMatrixOrigin { + /** + *Origin related options.
+ * @public + */ + Options?: RouteMatrixOriginOptions; + + /** + *Position defined as [longitude, latitude]
.
Provides the circle that was used while calculating the route.
+ * @public + */ +export interface RouteMatrixAutoCircle { + /** + *The margin provided for the calculation.
+ * @public + */ + Margin?: number; + + /** + *The maximum size of the radius provided for the calculation.
+ * @public + */ + MaxRadius?: number; +} + +/** + *Geometry defined as a circle. When request routing boundary was set as AutoCircle
, the response routing boundary will return Circle
derived from the AutoCircle
settings.
Center of the Circle defined in longitude and latitude coordinates.
+ *Example: [-123.1174, 49.2847]
represents the position with longitude -123.1174
and latitude 49.2847
.
Radius of the Circle.
+ *
+ * Unit: meters
+ *
Geometry of the routing boundary.
+ * @public + */ +export interface RouteMatrixBoundaryGeometry { + /** + *Provides the circle that was used while calculating the route.
+ * @public + */ + AutoCircle?: RouteMatrixAutoCircle; + + /** + *Geometry defined as a circle. When request routing boundary was set as AutoCircle
, the response routing boundary will return Circle
derived from the AutoCircle
settings.
Geometry defined as a bounding box. The first pair represents the X and Y coordinates + * (longitude and latitude,) of the southwest corner of the bounding box; the second pair + * represents the X and Y coordinates (longitude and latitude) of the northeast corner.
+ * @public + */ + BoundingBox?: number[]; + + /** + *Geometry defined as a polygon with only one linear ring.
+ * @public + */ + Polygon?: number[][][]; +} + +/** + *Boundary within which the matrix is to be calculated. All data, origins and destinations outside the boundary are considered invalid.
+ * @public + */ +export interface RouteMatrixBoundary { + /** + *Geometry of the area to be avoided.
+ * @public + */ + Geometry?: RouteMatrixBoundaryGeometry; + + /** + *No restrictions in terms of a routing boundary, and is typically used for longer routes.
+ * @public + */ + Unbounded?: boolean; +} + +/** + *Traffic related options.
+ * @public + */ +export interface RouteMatrixTrafficOptions { + /** + *Duration for which flow traffic is considered valid. + * For this period, the flow traffic is used over historical traffic data. + * Flow traffic refers to congestion, which changes very quickly. + * Duration in seconds for which flow traffic event would be considered valid. + * While flow traffic event is valid it will be used over the historical traffic data.
+ * @public + */ + FlowEventThresholdOverride?: number; + + /** + *Determines if traffic should be used or ignored while calculating the route.
+ *Default Value: UseTrafficData
+ *
The vehicle License Plate.
+ * @public + */ +export interface RouteMatrixVehicleLicensePlate { + /** + *The last character of the License Plate.
+ * @public + */ + LastCharacter?: string; +} + +/** + *Options related to the car.
+ * @public + */ +export interface RouteMatrixCarOptions { + /** + *The vehicle License Plate.
+ * @public + */ + LicensePlate?: RouteMatrixVehicleLicensePlate; + + /** + *Maximum speed
+ *
+ * Unit: KilometersPerHour
+ *
The number of occupants in the vehicle.
+ *Default Value: 1
+ *
Travel mode options when the provided travel mode is "Scooter"
+ * @public + */ +export interface RouteMatrixScooterOptions { + /** + *The vehicle License Plate.
+ * @public + */ + LicensePlate?: RouteMatrixVehicleLicensePlate; + + /** + *Maximum speed.
+ *
+ * Unit: KilometersPerHour
+ *
The number of occupants in the vehicle.
+ *Default Value: 1
+ *
Trailer options corresponding to the vehicle.
+ * @public + */ +export interface RouteMatrixTrailerOptions { + /** + *Number of trailers attached to the vehicle.
+ *Default Value: 0
+ *
Travel mode options when the provided travel mode is "Truck"
+ * @public + */ +export interface RouteMatrixTruckOptions { + /** + *Total number of axles of the vehicle.
+ * @public + */ + AxleCount?: number; + + /** + *Gross weight of the vehicle including trailers, and goods at capacity.
+ *
+ * Unit: Kilograms
+ *
List of Hazardous cargo contained in the vehicle.
+ * @public + */ + HazardousCargos?: RouteMatrixHazardousCargoType[]; + + /** + *Height of the vehicle.
+ *
+ * Unit: centimeters
+ *
Kingpin to rear axle length of the vehicle
+ *
+ * Unit: centimeters
+ *
Length of the vehicle.
+ *
+ * Unit: centimeters
+ *
The vehicle License Plate.
+ * @public + */ + LicensePlate?: RouteMatrixVehicleLicensePlate; + + /** + *Maximum speed
+ *
+ * Unit: KilometersPerHour
+ *
The number of occupants in the vehicle.
+ *Default Value: 1
+ *
Payload capacity of the vehicle and trailers attached.
+ *
+ * Unit: kilograms
+ *
Trailer options corresponding to the vehicle.
+ * @public + */ + Trailer?: RouteMatrixTrailerOptions; + + /** + *Type of the truck.
+ * @public + */ + TruckType?: RouteMatrixTruckType; + + /** + *The tunnel restriction code.
+ *Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. + * They relate to the types of dangerous goods that can be transported through them.
+ *+ * Tunnel Category B + *
+ *+ * Risk Level: Limited risk
+ *+ * Restrictions: Few restrictions
+ *+ * Tunnel Category C + *
+ *+ * Risk Level: Medium risk
+ *+ * Restrictions: Some restrictions
+ *+ * Tunnel Category D + *
+ *+ * Risk Level: High risk
+ *+ * Restrictions: Many restrictions occur
+ *+ * Tunnel Category E + *
+ *+ * Risk Level: Very high risk
+ *+ * Restrictions: Restricted tunnel
+ *Heaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.
+ *
+ * Unit: Kilograms
+ *
Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.
+ * @public + */ + WeightPerAxleGroup?: WeightPerAxleGroup; + + /** + *Width of the vehicle.
+ *
+ * Unit: centimeters
+ *
Travel mode related options for the provided travel mode.
+ * @public + */ +export interface RouteMatrixTravelModeOptions { + /** + *Travel mode options when the provided travel mode is "Car"
+ * @public + */ + Car?: RouteMatrixCarOptions; + + /** + *Travel mode options when the provided travel mode is "Scooter"
+ * @public + */ + Scooter?: RouteMatrixScooterOptions; + + /** + *Travel mode options when the provided travel mode is "Truck"
+ * @public + */ + Truck?: RouteMatrixTruckOptions; +} + +/** + * @public + */ +export interface CalculateRouteMatrixRequest { + /** + *Features that are allowed while calculating. a route
+ * @public + */ + Allow?: RouteMatrixAllowOptions; + + /** + *Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an + * avoidance can't be satisfied for a particular case, it violates the avoidance and the + * returned response produces a notice for the violation.
+ * @public + */ + Avoid?: RouteMatrixAvoidanceOptions; + + /** + *Uses the current time as the time of departure.
+ * @public + */ + DepartNow?: boolean; + + /** + *Time of departure from thr origin.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
List of destinations for the route.
+ * @public + */ + Destinations: RouteMatrixDestination[] | undefined; + + /** + *Features to be strictly excluded while calculating the route.
+ * @public + */ + Exclude?: RouteMatrixExclusionOptions; + + /** + *Optional: The API key to be used for authorization. Either an API key or valid SigV4 + * signature must be provided when making a request.
+ * @public + */ + Key?: string; + + /** + *Specifies the optimization criteria for calculating a route.
+ *Default Value: FastestRoute
+ *
The position in longitude and latitude for the origin.
+ * @public + */ + Origins: RouteMatrixOrigin[] | undefined; + + /** + *Boundary within which the matrix is to be calculated. + * All data, origins and destinations outside the boundary are considered invalid.
+ *When request routing boundary was set as AutoCircle, the response routing boundary will return Circle derived from the AutoCircle settings.
+ *Traffic related options.
+ * @public + */ + Traffic?: RouteMatrixTrafficOptions; + + /** + *Specifies the mode of transport when calculating a route. + * Used in estimating the speed of travel and road compatibility.
+ *Default Value: Car
+ *
Travel mode related options for the provided travel mode.
+ * @public + */ + TravelModeOptions?: RouteMatrixTravelModeOptions; +} + +/** + * @public + * @enum + */ +export const RouteMatrixErrorCode = { + NO_MATCH: "NoMatch", + NO_MATCH_DESTINATION: "NoMatchDestination", + NO_MATCH_ORIGIN: "NoMatchOrigin", + NO_ROUTE: "NoRoute", + OTHER: "Other", + OUT_OF_BOUNDS: "OutOfBounds", + OUT_OF_BOUNDS_DESTINATION: "OutOfBoundsDestination", + OUT_OF_BOUNDS_ORIGIN: "OutOfBoundsOrigin", + VIOLATION: "Violation", +} as const; + +/** + * @public + */ +export type RouteMatrixErrorCode = (typeof RouteMatrixErrorCode)[keyof typeof RouteMatrixErrorCode]; + +/** + *The calculated route matrix containing the results for all pairs of Origins to Destination positions. Each row corresponds to one entry in Origins. Each entry in the row corresponds to the route from that entry in Origins to an entry in Destination positions.
+ * @public + */ +export interface RouteMatrixEntry { + /** + *The total distance of travel for the route.
+ * @public + */ + Distance: number | undefined; + + /** + *The expected duration of travel for the route.
+ *
+ * Unit: seconds
+ *
Error code that occurred during calculation of the route.
+ * @public + */ + Error?: RouteMatrixErrorCode; +} + +/** + * @public + */ +export interface CalculateRouteMatrixResponse { + /** + *The count of error results in the route matrix. If this number is 0, all routes were calculated successfully.
+ * @public + */ + ErrorCount: number | undefined; + + /** + *The pricing bucket for which the query is charged at.
+ * @public + */ + PricingBucket: string | undefined; + + /** + *The calculated route matrix containing the results for all pairs of Origins to Destination positions. Each row corresponds to one entry in Origins. Each entry in the row corresponds to the route from that entry in Origins to an entry in Destination positions.
+ * @public + */ + RouteMatrix: RouteMatrixEntry[][] | undefined; + + /** + *Boundary within which the matrix is to be calculated. All data, origins and destinations outside the boundary are considered invalid.
+ *When request routing boundary was set as AutoCircle, the response routing boundary will return Circle derived from the AutoCircle settings.
+ *Features that are allowed while calculating. a route
+ * @public + */ +export interface RouteAllowOptions { + /** + *Allow Hot (High Occupancy Toll) lanes while calculating the route.
+ * @public + */ + Hot?: boolean; + + /** + *Allow Hov (High Occupancy vehicle) lanes while calculating the route.
+ * @public + */ + Hov?: boolean; +} + +/** + *Geometry of the area to be avoided.
+ * @public + */ +export interface RouteAvoidanceAreaGeometry { + /** + *Geometry defined as a corridor - a LineString with a radius that defines the width of the corridor.
+ * @public + */ + Corridor?: Corridor; + + /** + *Geometry defined as a bounding box. The first pair represents the X and Y coordinates + * (longitude and latitude,) of the southwest corner of the bounding box; the second pair + * represents the X and Y coordinates (longitude and latitude) of the northeast corner.
+ * @public + */ + BoundingBox?: number[]; + + /** + *Geometry defined as a polygon with only one linear ring.
+ * @public + */ + Polygon?: number[][][]; + + /** + *Geometry defined as an encoded corridor - an encoded polyline with a radius that defines + * the width of the corridor.
+ * @public + */ + PolylineCorridor?: PolylineCorridor; + + /** + *A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it contains PolylinePolygon + * of the first linear ring (the outer ring) and from 2nd item to the last item (the inner rings). + * For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.
+ * @public + */ + PolylinePolygon?: string[]; +} + +/** + *Areas to be avoided.
+ * @public + */ +export interface RouteAvoidanceArea { + /** + *Exceptions to the provided avoidance geometry, to be included while calculating the route.
+ * @public + */ + Except?: RouteAvoidanceAreaGeometry[]; + + /** + *Geometry of the area to be avoided.
+ * @public + */ + Geometry: RouteAvoidanceAreaGeometry | undefined; +} + +/** + * @public + * @enum + */ +export const RouteZoneCategory = { + CONGESTION_PRICING: "CongestionPricing", + ENVIRONMENTAL: "Environmental", + VIGNETTE: "Vignette", +} as const; + +/** + * @public + */ +export type RouteZoneCategory = (typeof RouteZoneCategory)[keyof typeof RouteZoneCategory]; + +/** + *Zone categories to be avoided.
+ * @public + */ +export interface RouteAvoidanceZoneCategory { + /** + *Zone category to be avoided.
+ * @public + */ + Category: RouteZoneCategory | undefined; +} + +/** + *Options related to areas to be avoided.
+ * @public + */ +export interface RouteAvoidanceOptions { + /** + *Areas to be avoided.
+ * @public + */ + Areas?: RouteAvoidanceArea[]; + + /** + *Avoid car-shuttle-trains while calculating the route.
+ * @public + */ + CarShuttleTrains?: boolean; + + /** + *Avoid controlled access highways while calculating the route.
+ * @public + */ + ControlledAccessHighways?: boolean; + + /** + *Avoid dirt roads while calculating the route.
+ * @public + */ + DirtRoads?: boolean; + + /** + *Avoid ferries while calculating the route.
+ * @public + */ + Ferries?: boolean; + + /** + *Avoid roads that have seasonal closure while calculating the route.
+ * @public + */ + SeasonalClosure?: boolean; + + /** + *Avoids roads where the specified toll transponders are the only mode of payment.
+ * @public + */ + TollRoads?: boolean; + + /** + *Avoids roads where the specified toll transponders are the only mode of payment.
+ * @public + */ + TollTransponders?: boolean; + + /** + *Truck road type identifiers. BK1
through BK4
apply only to Sweden.
+ * A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
+ *Avoid tunnels while calculating the route.
+ * @public + */ + Tunnels?: boolean; + + /** + *Avoid U-turns for calculation on highways and motorways.
+ * @public + */ + UTurns?: boolean; + + /** + *Zone categories to be avoided.
+ * @public + */ + ZoneCategories?: RouteAvoidanceZoneCategory[]; +} + +/** + *Options related to route matching.
+ * @public + */ +export interface RouteMatchingOptions { + /** + *Attempts to match the provided position to a road similar to the provided name.
+ * @public + */ + NameHint?: string; + + /** + *If the distance to a highway/bridge/tunnel/sliproad is within threshold, the waypoint will be snapped to the highway/bridge/tunnel/sliproad.
+ *
+ * Unit: meters
+ *
Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.
+ *
+ * Unit: Meters
+ *
Strategy that defines matching of the position onto the road network. MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches to the most significant road.
+ * @public + */ + Strategy?: MatchingStrategy; +} + +/** + *Options to configure matching the provided position to a side of the street.
+ * @public + */ +export interface RouteSideOfStreetOptions { + /** + *Position defined as [longitude, latitude]
.
Strategy that defines when the side of street position should be used.
+ *Default Value: DividedStreetOnly
+ *
Options related to the destination.
+ * @public + */ +export interface RouteDestinationOptions { + /** + *Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
+ * @public + */ + AvoidActionsForDistance?: number; + + /** + *Avoid U-turns for calculation on highways and motorways.
+ * @public + */ + AvoidUTurns?: boolean; + + /** + *GPS Heading at the position.
+ * @public + */ + Heading?: number; + + /** + *Options to configure matching the provided position to the road network.
+ * @public + */ + Matching?: RouteMatchingOptions; + + /** + *Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: RouteSideOfStreetOptions; + + /** + *Duration of the stop.
+ *
+ * Unit: seconds
+ *
Interval of the driver work-rest schedule. + * Stops are added to fulfil the provided rest schedule.
+ * @public + */ +export interface RouteDriverScheduleInterval { + /** + *Maximum allowed driving time before stopping to rest.
+ *
+ * Unit: seconds
+ *
Resting time before the driver can continue driving.
+ *
+ * Unit: seconds
+ *
Driver related options.
+ * @public + */ +export interface RouteDriverOptions { + /** + *Driver work-rest schedule. Stops are added to fulfil the provided rest schedule.
+ * @public + */ + Schedule?: RouteDriverScheduleInterval[]; +} + +/** + *Exclusion options for the route.
+ * @public + */ +export interface RouteExclusionOptions { + /** + *List of countries to be avoided defined by two-letter or three-letter country codes.
+ * @public + */ + Countries: string[] | undefined; +} + +/** + * @public + * @enum + */ +export const MeasurementSystem = { + IMPERIAL: "Imperial", + METRIC: "Metric", +} as const; + +/** + * @public + */ +export type MeasurementSystem = (typeof MeasurementSystem)[keyof typeof MeasurementSystem]; + +/** + * @public + * @enum + */ +export const RouteLegAdditionalFeature = { + ELEVATION: "Elevation", + INCIDENTS: "Incidents", + PASS_THROUGH_WAYPOINTS: "PassThroughWaypoints", + SUMMARY: "Summary", + TOLLS: "Tolls", + TRAVEL_STEP_INSTRUCTIONS: "TravelStepInstructions", + TRUCK_ROAD_TYPES: "TruckRoadTypes", + TYPICAL_DURATION: "TypicalDuration", + ZONES: "Zones", +} as const; + +/** + * @public + */ +export type RouteLegAdditionalFeature = (typeof RouteLegAdditionalFeature)[keyof typeof RouteLegAdditionalFeature]; + +/** + *Origin related options.
+ * @public + */ +export interface RouteOriginOptions { + /** + *Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
+ * @public + */ + AvoidActionsForDistance?: number; + + /** + *Avoid U-turns for calculation on highways and motorways.
+ * @public + */ + AvoidUTurns?: boolean; + + /** + *GPS Heading at the position.
+ * @public + */ + Heading?: number; + + /** + *Options to configure matching the provided position to the road network.
+ * @public + */ + Matching?: RouteMatchingOptions; + + /** + *Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: RouteSideOfStreetOptions; +} + +/** + * @public + * @enum + */ +export const RouteSpanAdditionalFeature = { + BEST_CASE_DURATION: "BestCaseDuration", + CAR_ACCESS: "CarAccess", + CONSUMPTION: "Consumption", + COUNTRY: "Country", + DISTANCE: "Distance", + DURATION: "Duration", + DYNAMIC_SPEED: "DynamicSpeed", + FUNCTIONAL_CLASSIFICATION: "FunctionalClassification", + GATES: "Gates", + INCIDENTS: "Incidents", + NAMES: "Names", + NOTICES: "Notices", + PEDESTRIAN_ACCESS: "PedestrianAccess", + RAILWAY_CROSSINGS: "RailwayCrossings", + REGION: "Region", + ROAD_ATTRIBUTES: "RoadAttributes", + ROUTE_NUMBERS: "RouteNumbers", + SCOOTER_ACCESS: "ScooterAccess", + SPEED_LIMIT: "SpeedLimit", + TOLL_SYSTEMS: "TollSystems", + TRUCK_ACCESS: "TruckAccess", + TRUCK_ROAD_TYPES: "TruckRoadTypes", + TYPICAL_DURATION: "TypicalDuration", + ZONES: "Zones", +} as const; + +/** + * @public + */ +export type RouteSpanAdditionalFeature = (typeof RouteSpanAdditionalFeature)[keyof typeof RouteSpanAdditionalFeature]; + +/** + *Type of the emission.
+ *
+ * Valid values: Euro1, Euro2, Euro3, Euro4, Euro5, Euro6, EuroEev
+ *
The CO 2 emission classes.
+ * @public + */ + Co2EmissionClass?: string; + + /** + *Type of the emission.
+ *
+ * Valid values: Euro1, Euro2, Euro3, Euro4, Euro5, Euro6, EuroEev
+ *
Options related to Tolls on a route.
+ * @public + */ +export interface RouteTollOptions { + /** + *Specifies if the user has valid transponder with access to all toll systems. This + * impacts toll calculation, and if true the price with transponders is used.
+ * @public + */ + AllTransponders?: boolean; + + /** + *Specifies if the user has valid vignettes with access for all toll roads. If a user has a vignette for a toll road, then toll cost for that road is omitted since no further payment is necessary.
+ * @public + */ + AllVignettes?: boolean; + + /** + *Currency code corresponding to the price. This is the same as Currency specified in the request.
+ * @public + */ + Currency?: string; + + /** + *Emission type of the vehicle for toll cost calculation.
+ *
+ * Valid values: Euro1, Euro2, Euro3, Euro4, Euro5, Euro6, EuroEev
+ *
Vehicle category for toll cost calculation.
+ * @public + */ + VehicleCategory?: RouteTollVehicleCategory; +} + +/** + *Traffic options for the route.
+ * @public + */ +export interface RouteTrafficOptions { + /** + *Duration for which flow + * traffic is considered valid. + * For this period, the flow traffic is used over historical traffic data. + * Flow traffic refers to congestion, which changes very quickly. + * Duration in seconds for which flow traffic event would be considered valid. + * While flow traffic event is valid it will be used over the historical traffic data.
+ * @public + */ + FlowEventThresholdOverride?: number; + + /** + *Determines if traffic should be used or ignored while calculating the route.
+ *Default Value: UseTrafficData
+ *
License plate information of the vehicle. Currently, only the last character is used + * where license plate based controlled access is enforced.
+ * @public + */ +export interface RouteVehicleLicensePlate { + /** + *The last character of the License Plate.
+ * @public + */ + LastCharacter?: string; +} + +/** + *Travel mode options when the provided travel mode is "Car"
+ * @public + */ +export interface RouteCarOptions { + /** + *Engine type of the vehicle.
+ * @public + */ + EngineType?: RouteEngineType; + + /** + *The vehicle License Plate.
+ * @public + */ + LicensePlate?: RouteVehicleLicensePlate; + + /** + *Maximum speed specified.
+ *
+ * Unit: KilometersPerHour
+ *
The number of occupants in the vehicle.
+ *Default Value: 1
+ *
Options related to the pedestrian.
+ * @public + */ +export interface RoutePedestrianOptions { + /** + *Walking speed in Kilometers per hour.
+ * @public + */ + Speed?: number; +} + +/** + *Travel mode options when the provided travel mode is "Scooter"
+ * @public + */ +export interface RouteScooterOptions { + /** + *Engine type of the vehicle.
+ * @public + */ + EngineType?: RouteEngineType; + + /** + *The vehicle License Plate.
+ * @public + */ + LicensePlate?: RouteVehicleLicensePlate; + + /** + *Maximum speed
+ *
+ * Unit: KilometersPerHour
+ *
The number of occupants in the vehicle.
+ *Default Value: 1
+ *
Trailer options corresponding to the vehicle.
+ * @public + */ +export interface RouteTrailerOptions { + /** + *Total number of axles of the vehicle.
+ * @public + */ + AxleCount?: number; + + /** + *Number of trailers attached to the vehicle.
+ *Default Value: 0
+ *
Travel mode options when the provided travel mode is "Truck"
+ * @public + */ +export interface RouteTruckOptions { + /** + *Total number of axles of the vehicle.
+ * @public + */ + AxleCount?: number; + + /** + *Engine type of the vehicle.
+ * @public + */ + EngineType?: RouteEngineType; + + /** + *Gross weight of the vehicle including trailers, and goods at capacity.
+ *
+ * Unit: Kilograms
+ *
List of Hazardous cargo contained in the vehicle.
+ * @public + */ + HazardousCargos?: RouteHazardousCargoType[]; + + /** + *Height of the vehicle.
+ *
+ * Unit: centimeters
+ *
Height of the vehicle above its first axle.
+ *
+ * Unit: centimeters
+ *
Kingpin to rear axle length of the vehicle.
+ *
+ * Unit: centimeters
+ *
Length of the vehicle.
+ *
+ * Unit: c
+ *
The vehicle License Plate.
+ * @public + */ + LicensePlate?: RouteVehicleLicensePlate; + + /** + *Maximum speed
+ *
+ * Unit: KilometersPerHour
+ *
The number of occupants in the vehicle.
+ *Default Value: 1
+ *
Payload capacity of the vehicle and trailers attached.
+ *
+ * Unit: kilograms
+ *
Number of tires on the vehicle.
+ * @public + */ + TireCount?: number; + + /** + *Trailer options corresponding to the vehicle.
+ * @public + */ + Trailer?: RouteTrailerOptions; + + /** + *Type of the truck.
+ * @public + */ + TruckType?: RouteTruckType; + + /** + *The tunnel restriction code.
+ *Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. + * They relate to the types of dangerous goods that can be transported through them.
+ *+ * Tunnel Category B + *
+ *+ * Risk Level: Limited risk
+ *+ * Restrictions: Few restrictions
+ *+ * Tunnel Category C + *
+ *+ * Risk Level: Medium risk
+ *+ * Restrictions: Some restrictions
+ *+ * Tunnel Category D + *
+ *+ * Risk Level: High risk
+ *+ * Restrictions: Many restrictions occur
+ *+ * Tunnel Category E + *
+ *+ * Risk Level: Very high risk
+ *+ * Restrictions: Restricted tunnel
+ *Heaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.
+ *
+ * Unit: Kilograms
+ *
Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.
+ *
+ * Unit: Kilograms
+ *
Width of the vehicle.
+ *
+ * Unit: centimeters
+ *
Travel mode related options for the provided travel mode.
+ * @public + */ +export interface RouteTravelModeOptions { + /** + *Travel mode options when the provided travel mode is "Car"
+ * @public + */ + Car?: RouteCarOptions; + + /** + *Travel mode options when the provided travel mode is "Pedestrian"
+ * @public + */ + Pedestrian?: RoutePedestrianOptions; + + /** + *Travel mode options when the provided travel mode is "Scooter"
+ * @public + */ + Scooter?: RouteScooterOptions; + + /** + *Travel mode options when the provided travel mode is "Truck"
+ * @public + */ + Truck?: RouteTruckOptions; +} + +/** + * @public + * @enum + */ +export const RouteTravelStepType = { + DEFAULT: "Default", + TURN_BY_TURN: "TurnByTurn", +} as const; + +/** + * @public + */ +export type RouteTravelStepType = (typeof RouteTravelStepType)[keyof typeof RouteTravelStepType]; + +/** + *Waypoint between the Origin and Destination.
+ * @public + */ +export interface RouteWaypoint { + /** + *Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
+ * @public + */ + AvoidActionsForDistance?: number; + + /** + *Avoid U-turns for calculation on highways and motorways.
+ * @public + */ + AvoidUTurns?: boolean; + + /** + *GPS Heading at the position.
+ * @public + */ + Heading?: number; + + /** + *Options to configure matching the provided position to the road network.
+ * @public + */ + Matching?: RouteMatchingOptions; + + /** + *If the waypoint should not be treated as a stop. If yes, the waypoint is passed through and doesn't split the route into different legs.
+ * @public + */ + PassThrough?: boolean; + + /** + *Position defined as [longitude, latitude]
.
Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: RouteSideOfStreetOptions; + + /** + *Duration of the stop.
+ *
+ * Unit: seconds
+ *
Features that are allowed while calculating. a route
+ * @public + */ + Allow?: RouteAllowOptions; + + /** + *Time of arrival at the destination.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an + * avoidance can't be satisfied for a particular case, it violates the avoidance and the + * returned response produces a notice for the violation.
+ * @public + */ + Avoid?: RouteAvoidanceOptions; + + /** + *Uses the current time as the time of departure.
+ * @public + */ + DepartNow?: boolean; + + /** + *Time of departure from thr origin.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
The final position for the route. In the World Geodetic System (WGS 84) format: [longitude, latitude]
.
Destination related options.
+ * @public + */ + DestinationOptions?: RouteDestinationOptions; + + /** + *Driver related options.
+ * @public + */ + Driver?: RouteDriverOptions; + + /** + *Features to be strictly excluded while calculating the route.
+ * @public + */ + Exclude?: RouteExclusionOptions; + + /** + *Measurement system to be used for instructions within steps in the response.
+ * @public + */ + InstructionsMeasurementSystem?: MeasurementSystem; + + /** + *Optional: The API key to be used for authorization. Either an API key or valid SigV4 + * signature must be provided when making a request.
+ * @public + */ + Key?: string; + + /** + *List of languages for instructions within steps in the response.
+ *Instructions in the requested language are returned only if they are available.
+ *A list of optional additional parameters such as timezone that can be requested for each result.
+ *
+ * Elevation
: Retrieves the elevation information for each location.
+ * Incidents
: Provides information on traffic incidents along the route.
+ * PassThroughWaypoints
: Indicates waypoints that are passed through without stopping.
+ * Summary
: Returns a summary of the route, including distance and duration.
+ * Tolls
: Supplies toll cost information along the route.
+ * TravelStepInstructions
: Provides step-by-step instructions for travel along the route.
+ * TruckRoadTypes
: Returns information about road types suitable for trucks.
+ * TypicalDuration
: Gives typical travel duration based on historical data.
+ * Zones
: Specifies the time zone information for each waypoint.
Specifies the format of the geometry returned for each leg of the route. You can + * choose between two different geometry encoding formats.
+ *
+ * FlexiblePolyline
: A compact and precise encoding format for the
+ * leg geometry. For more information on the format, see the GitHub repository for
+ * FlexiblePolyline
+ * .
+ * Simple
: A less compact encoding,
+ * which is easier to decode but may be less precise and result in larger payloads.
Maximum number of alternative routes to be provided in the response, if available.
+ * @public + */ + MaxAlternatives?: number; + + /** + *Specifies the optimization criteria for calculating a route.
+ *Default Value: FastestRoute
+ *
The start position for the route.
+ * @public + */ + Origin: number[] | undefined; + + /** + *Origin related options.
+ * @public + */ + OriginOptions?: RouteOriginOptions; + + /** + *A list of optional features such as SpeedLimit that can be requested for a Span. A span is a section of a Leg for which the requested features have the same values.
+ * @public + */ + SpanAdditionalFeatures?: RouteSpanAdditionalFeature[]; + + /** + *Toll related options.
+ * @public + */ + Tolls?: RouteTollOptions; + + /** + *Traffic related options.
+ * @public + */ + Traffic?: RouteTrafficOptions; + + /** + *Specifies the mode of transport when calculating a route. + * Used in estimating the speed of travel and road compatibility.
+ *Default Value: Car
+ *
Travel mode related options for the provided travel mode.
+ * @public + */ + TravelModeOptions?: RouteTravelModeOptions; + + /** + *Type of step returned by the response. + * Default provides basic steps intended for web based applications. + * TurnByTurn provides detailed instructions with more granularity intended for a turn based naviagtion system.
+ * @public + */ + TravelStepType?: RouteTravelStepType; + + /** + *List of waypoints between the Origin and Destination.
+ * @public + */ + Waypoints?: RouteWaypoint[]; +} + +/** + * @public + * @enum + */ +export const RouteResponseNoticeCode = { + MAIN_LANGUAGE_NOT_FOUND: "MainLanguageNotFound", + OTHER: "Other", + TRAVEL_TIME_EXCEEDS_DRIVER_WORK_HOURS: "TravelTimeExceedsDriverWorkHours", +} as const; + +/** + * @public + */ +export type RouteResponseNoticeCode = (typeof RouteResponseNoticeCode)[keyof typeof RouteResponseNoticeCode]; + +/** + * @public + * @enum + */ +export const RouteNoticeImpact = { + HIGH: "High", + LOW: "Low", +} as const; + +/** + * @public + */ +export type RouteNoticeImpact = (typeof RouteNoticeImpact)[keyof typeof RouteNoticeImpact]; + +/** + *Notices are additional information returned that indicate issues that occurred during route calculation.
+ * @public + */ +export interface RouteResponseNotice { + /** + *Code corresponding to the issue.
+ * @public + */ + Code: RouteResponseNoticeCode | undefined; + + /** + *Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.
+ * @public + */ + Impact?: RouteNoticeImpact; +} + +/** + * @public + * @enum + */ +export const RouteFerryAfterTravelStepType = { + DEBOARD: "Deboard", +} as const; + +/** + * @public + */ +export type RouteFerryAfterTravelStepType = + (typeof RouteFerryAfterTravelStepType)[keyof typeof RouteFerryAfterTravelStepType]; + +/** + *Steps of a leg that must be performed after the travel portion of the leg.
+ * @public + */ +export interface RouteFerryAfterTravelStep { + /** + *Duration of the step.
+ *
+ * Unit: seconds
+ *
Brief description of the step in the requested language.
+ *Only available when the TravelStepType is Default.
+ *Type of the step.
+ * @public + */ + Type: RouteFerryAfterTravelStepType | undefined; +} + +/** + *Position provided in the request.
+ * @public + */ +export interface RouteFerryPlace { + /** + *The name of the place.
+ * @public + */ + Name?: string; + + /** + *Position provided in the request.
+ * @public + */ + OriginalPosition?: number[]; + + /** + *Position defined as [longitude, latitude]
.
Index of the waypoint in the request.
+ * @public + */ + WaypointIndex?: number; +} + +/** + *Details corresponding to the arrival for the leg.
+ * @public + */ +export interface RouteFerryArrival { + /** + *The place details.
+ * @public + */ + Place: RouteFerryPlace | undefined; + + /** + *The time.
+ * @public + */ + Time?: string; +} + +/** + * @public + * @enum + */ +export const RouteFerryBeforeTravelStepType = { + BOARD: "Board", +} as const; + +/** + * @public + */ +export type RouteFerryBeforeTravelStepType = + (typeof RouteFerryBeforeTravelStepType)[keyof typeof RouteFerryBeforeTravelStepType]; + +/** + *Steps of a leg that must be performed before the travel portion of the leg.
+ * @public + */ +export interface RouteFerryBeforeTravelStep { + /** + *Duration of the step.
+ *
+ * Unit: seconds
+ *
Brief description of the step in the requested language.
+ *Only available when the TravelStepType is Default.
+ *Type of the step.
+ * @public + */ + Type: RouteFerryBeforeTravelStepType | undefined; +} + +/** + *Details corresponding to the departure for the leg.
+ * @public + */ +export interface RouteFerryDeparture { + /** + *The place details.
+ * @public + */ + Place: RouteFerryPlace | undefined; + + /** + *The time.
+ * @public + */ + Time?: string; +} + +/** + * @public + * @enum + */ +export const RouteFerryNoticeCode = { + ACCURATE_POLYLINE_UNAVAILABLE: "AccuratePolylineUnavailable", + NO_SCHEDULE: "NoSchedule", + OTHER: "Other", + VIOLATED_AVOID_FERRY: "ViolatedAvoidFerry", + VIOLATED_AVOID_RAIL_FERRY: "ViolatedAvoidRailFerry", +} as const; + +/** + * @public + */ +export type RouteFerryNoticeCode = (typeof RouteFerryNoticeCode)[keyof typeof RouteFerryNoticeCode]; + +/** + *Notices are additional information returned that indicate issues that occurred during route calculation.
+ * @public + */ +export interface RouteFerryNotice { + /** + *Code corresponding to the issue.
+ * @public + */ + Code: RouteFerryNoticeCode | undefined; + + /** + *Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.
+ * @public + */ + Impact?: RouteNoticeImpact; +} + +/** + *The place where the waypoint is passed through and not treated as a stop.
+ * @public + */ +export interface RoutePassThroughPlace { + /** + *Position provided in the request.
+ * @public + */ + OriginalPosition?: number[]; + + /** + *Position defined as [longitude, latitude]
.
Index of the waypoint in the request.
+ * @public + */ + WaypointIndex?: number; +} + +/** + *If the waypoint should be treated as a stop. If yes, the route is split up into different legs around the stop.
+ * @public + */ +export interface RoutePassThroughWaypoint { + /** + *Offset in the leg geometry corresponding to the start of this step.
+ * @public + */ + GeometryOffset?: number; + + /** + *The place details.
+ * @public + */ + Place: RoutePassThroughPlace | undefined; +} + +/** + *The localized string.
+ * @public + */ +export interface LocalizedString { + /** + *A list of BCP 47 compliant language codes for the results to be rendered in. The request + * uses the regional default as the fallback if the requested language can't be + * provided.
+ * @public + */ + Language?: string; + + /** + *The value of the localized string.
+ * @public + */ + Value: string | undefined; +} + +/** + *Span computed for the requested SpanAdditionalFeatures.
+ * @public + */ +export interface RouteFerrySpan { + /** + *3 letter Country code corresponding to the Span.
+ * @public + */ + Country?: string; + + /** + *Distance of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
+ * @public + */ + Distance?: number; + + /** + *Duration of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
+ *
+ * Unit: seconds
+ *
Offset in the leg geometry corresponding to the start of this span.
+ * @public + */ + GeometryOffset?: number; + + /** + *Provides an array of names of the ferry span in available languages.
+ * @public + */ + Names?: LocalizedString[]; + + /** + *2-3 letter Region code corresponding to the Span. This is either a province or a state.
+ * @public + */ + Region?: string; +} + +/** + *Summarized details of the leg.
+ * @public + */ +export interface RouteFerryOverviewSummary { + /** + *Distance of the step.
+ * @public + */ + Distance: number | undefined; + + /** + *Duration of the step.
+ *
+ * Unit: seconds
+ *
Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is the same as the Distance within the Overview summary.
+ * @public + */ +export interface RouteFerryTravelOnlySummary { + /** + *Total duration in free flowing traffic, which is the best case or shortest duration possible to cover the leg.
+ *
+ * Unit: seconds
+ *
Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is the same as the Distance within the Overview summary.
+ * @public + */ +export interface RouteFerrySummary { + /** + *Summarized details for the leg including before travel, travel and after travel steps.
+ * @public + */ + Overview?: RouteFerryOverviewSummary; + + /** + *Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is in meters
+ * @public + */ + TravelOnly?: RouteFerryTravelOnlySummary; +} + +/** + * @public + * @enum + */ +export const RouteFerryTravelStepType = { + ARRIVE: "Arrive", + CONTINUE: "Continue", + DEPART: "Depart", +} as const; + +/** + * @public + */ +export type RouteFerryTravelStepType = (typeof RouteFerryTravelStepType)[keyof typeof RouteFerryTravelStepType]; + +/** + *Steps of a leg that must be performed during the travel portion of the leg.
+ * @public + */ +export interface RouteFerryTravelStep { + /** + *Distance of the step.
+ * @public + */ + Distance?: number; + + /** + *Duration of the step.
+ *
+ * Unit: seconds
+ *
Offset in the leg geometry corresponding to the start of this step.
+ * @public + */ + GeometryOffset?: number; + + /** + *Brief description of the step in the requested language.
+ *Only available when the TravelStepType is Default.
+ *Type of the step.
+ * @public + */ + Type: RouteFerryTravelStepType | undefined; +} + +/** + *FerryLegDetails is populated when the Leg type is Ferry, and provides additional + * information that is specific
+ * @public + */ +export interface RouteFerryLegDetails { + /** + *Steps of a leg that must be performed after the travel portion of the leg.
+ * @public + */ + AfterTravelSteps: RouteFerryAfterTravelStep[] | undefined; + + /** + *Details corresponding to the arrival for the leg.
+ * @public + */ + Arrival: RouteFerryArrival | undefined; + + /** + *Steps of a leg that must be performed before the travel portion of the leg.
+ * @public + */ + BeforeTravelSteps: RouteFerryBeforeTravelStep[] | undefined; + + /** + *Details corresponding to the departure for the leg.
+ * @public + */ + Departure: RouteFerryDeparture | undefined; + + /** + *Notices are additional information returned that indicate issues that occurred during route calculation.
+ * @public + */ + Notices: RouteFerryNotice[] | undefined; + + /** + *Waypoints that were passed through during the leg. This includes the waypoints that were configured with the PassThrough option.
+ * @public + */ + PassThroughWaypoints: RoutePassThroughWaypoint[] | undefined; + + /** + *Route name of the ferry line.
+ * @public + */ + RouteName?: string; + + /** + *Spans that were computed for the requested SpanAdditionalFeatures.
+ * @public + */ + Spans: RouteFerrySpan[] | undefined; + + /** + *Summarized details of the leg.
+ * @public + */ + Summary?: RouteFerrySummary; + + /** + *Steps of a leg that must be performed before the travel portion of the leg.
+ * @public + */ + TravelSteps: RouteFerryTravelStep[] | undefined; +} + +/** + *The returned Route leg geometry.
+ * @public + */ +export interface RouteLegGeometry { + /** + *An ordered list of positions used to plot a route on a map.
+ *LineString and Polyline are mutually exclusive properties.
+ *An ordered list of positions used to plot a route on a map in a lossy compression format.
+ *LineString and Polyline are mutually exclusive properties.
+ *Place details corresponding to the arrival or departure.
+ * @public + */ +export interface RoutePedestrianPlace { + /** + *The name of the place.
+ * @public + */ + Name?: string; + + /** + *Position provided in the request.
+ * @public + */ + OriginalPosition?: number[]; + + /** + *Position defined as [longitude, latitude]
.
Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: RouteSideOfStreet; + + /** + *Index of the waypoint in the request.
+ * @public + */ + WaypointIndex?: number; +} + +/** + *Details corresponding to the arrival for a leg.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
The place details.
+ * @public + */ + Place: RoutePedestrianPlace | undefined; + + /** + *The time.
+ * @public + */ + Time?: string; +} + +/** + *Details corresponding to the departure for a leg.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
The place details.
+ * @public + */ + Place: RoutePedestrianPlace | undefined; + + /** + *The time.
+ * @public + */ + Time?: string; +} + +/** + * @public + * @enum + */ +export const RoutePedestrianNoticeCode = { + ACCURATE_POLYLINE_UNAVAILABLE: "AccuratePolylineUnavailable", + OTHER: "Other", + VIOLATED_AVOID_DIRT_ROAD: "ViolatedAvoidDirtRoad", + VIOLATED_AVOID_TUNNEL: "ViolatedAvoidTunnel", + VIOLATED_PEDESTRIAN_OPTION: "ViolatedPedestrianOption", +} as const; + +/** + * @public + */ +export type RoutePedestrianNoticeCode = (typeof RoutePedestrianNoticeCode)[keyof typeof RoutePedestrianNoticeCode]; + +/** + *Notices are additional information returned that indicate issues that occurred during route calculation.
+ * @public + */ +export interface RoutePedestrianNotice { + /** + *Code corresponding to the issue.
+ * @public + */ + Code: RoutePedestrianNoticeCode | undefined; + + /** + *Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.
+ * @public + */ + Impact?: RouteNoticeImpact; +} + +/** + *Details about the dynamic speed.
+ *
+ * Unit: KilometersPerHour
+ *
Estimated speed while traversing the span without traffic congestion.
+ *
+ * Unit: KilometersPerHour
+ *
Estimated time to turn from this span into the next.
+ *
+ * Unit: seconds
+ *
Estimated speed while traversing the span under typical traffic congestion.
+ *
+ * Unit: KilometersPerHour
+ *
The route number.
+ * @public + */ +export interface RouteNumber { + /** + *Directional identifier of the route.
+ * @public + */ + Direction?: RouteDirection; + + /** + *List of languages for instructions corresponding to the route number.
+ * @public + */ + Language?: string; + + /** + *The route number.
+ * @public + */ + Value: string | undefined; +} + +/** + *Details about the speed limit corresponding to the span.
+ *
+ * Unit: KilometersPerHour
+ *
Maximum speed.
+ *
+ * Unit: KilometersPerHour
+ *
If the span doesn't have a speed limit like the Autobahn.
+ * @public + */ + Unlimited?: boolean; +} + +/** + *Span computed for the requested SpanAdditionalFeatures.
+ * @public + */ +export interface RoutePedestrianSpan { + /** + *Duration of the computed span without traffic congestion.
+ *
+ * Unit: seconds
+ *
3 letter Country code corresponding to the Span.
+ * @public + */ + Country?: string; + + /** + *Distance of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
+ * @public + */ + Distance?: number; + + /** + *Duration of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
+ *
+ * Unit: seconds
+ *
Dynamic speed details corresponding to the span.
+ *
+ * Unit: KilometersPerHour
+ *
Functional classification of the road segment corresponding to the span.
+ * @public + */ + FunctionalClassification?: number; + + /** + *Offset in the leg geometry corresponding to the start of this span.
+ * @public + */ + GeometryOffset?: number; + + /** + *Incidents corresponding to the span. These index into the Incidents in the parent Leg.
+ * @public + */ + Incidents?: number[]; + + /** + *Provides an array of names of the pedestrian span in available languages.
+ * @public + */ + Names?: LocalizedString[]; + + /** + *Access attributes for a pedestrian corresponding to the span.
+ * @public + */ + PedestrianAccess?: RouteSpanPedestrianAccessAttribute[]; + + /** + *2-3 letter Region code corresponding to the Span. This is either a province or a state.
+ * @public + */ + Region?: string; + + /** + *Attributes for the road segment corresponding to the span.
+ * @public + */ + RoadAttributes?: RouteSpanRoadAttribute[]; + + /** + *Designated route name or number corresponding to the span.
+ * @public + */ + RouteNumbers?: RouteNumber[]; + + /** + *Speed limit details corresponding to the span.
+ *
+ * Unit: KilometersPerHour
+ *
Duration of the computed span under typical traffic congestion.
+ *
+ * Unit: seconds
+ *
Provides a summary of a pedestrian route step.
+ * @public + */ +export interface RoutePedestrianOverviewSummary { + /** + *Distance of the step.
+ * @public + */ + Distance: number | undefined; + + /** + *Duration of the step.
+ * @public + */ + Duration: number | undefined; +} + +/** + *Summarized details for the leg including travel steps.
+ * @public + */ +export interface RoutePedestrianTravelOnlySummary { + /** + *Duration of the step.
+ *
+ * Unit: seconds
+ *
Summarized details for the leg including before travel, travel and after travel steps.
+ * @public + */ +export interface RoutePedestrianSummary { + /** + *Summarized details for the leg including before travel, travel and after travel steps.
+ * @public + */ + Overview?: RoutePedestrianOverviewSummary; + + /** + *Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is in meters
+ * @public + */ + TravelOnly?: RoutePedestrianTravelOnlySummary; +} + +/** + *Details related to the continue step.
+ * @public + */ +export interface RouteContinueStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; +} + +/** + * @public + * @enum + */ +export const RouteRoadType = { + HIGHWAY: "Highway", + RURAL: "Rural", + URBAN: "Urban", +} as const; + +/** + * @public + */ +export type RouteRoadType = (typeof RouteRoadType)[keyof typeof RouteRoadType]; + +/** + *The road on the route.
+ * @public + */ +export interface RouteRoad { + /** + *Name of the road (localized).
+ * @public + */ + RoadName: LocalizedString[] | undefined; + + /** + *Route number of the road.
+ * @public + */ + RouteNumber: RouteNumber[] | undefined; + + /** + *Names of destinations that can be reached when traveling on the road.
+ * @public + */ + Towards: LocalizedString[] | undefined; + + /** + *The type of road.
+ * @public + */ + Type?: RouteRoadType; +} + +/** + * @public + * @enum + */ +export const RouteSteeringDirection = { + LEFT: "Left", + RIGHT: "Right", + STRAIGHT: "Straight", +} as const; + +/** + * @public + */ +export type RouteSteeringDirection = (typeof RouteSteeringDirection)[keyof typeof RouteSteeringDirection]; + +/** + * @public + * @enum + */ +export const RouteTurnIntensity = { + SHARP: "Sharp", + SLIGHT: "Slight", + TYPICAL: "Typical", +} as const; + +/** + * @public + */ +export type RouteTurnIntensity = (typeof RouteTurnIntensity)[keyof typeof RouteTurnIntensity]; + +/** + *Details that are specific to a Keep step.
+ * @public + */ +export interface RouteKeepStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; + + /** + *Steering direction for the step.
+ * @public + */ + SteeringDirection?: RouteSteeringDirection; + + /** + *Angle of the turn.
+ * @public + */ + TurnAngle?: number; + + /** + *Intensity of the turn.
+ * @public + */ + TurnIntensity?: RouteTurnIntensity; +} + +/** + *Details about the roundabout leg.
+ * @public + */ +export interface RouteRoundaboutEnterStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; + + /** + *Steering direction for the step.
+ * @public + */ + SteeringDirection?: RouteSteeringDirection; + + /** + *Angle of the turn.
+ * @public + */ + TurnAngle?: number; + + /** + *Intensity of the turn.
+ * @public + */ + TurnIntensity?: RouteTurnIntensity; +} + +/** + *Details about the roundabout step.
+ * @public + */ +export interface RouteRoundaboutExitStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; + + /** + *Exit to be taken.
+ * @public + */ + RelativeExit?: number; + + /** + *Angle of the roundabout.
+ * @public + */ + RoundaboutAngle?: number; + + /** + *Steering direction for the step.
+ * @public + */ + SteeringDirection?: RouteSteeringDirection; +} + +/** + *Details about the step.
+ * @public + */ +export interface RouteRoundaboutPassStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; + + /** + *Steering direction for the step.
+ * @public + */ + SteeringDirection?: RouteSteeringDirection; + + /** + *Angle of the turn.
+ * @public + */ + TurnAngle?: number; + + /** + *Intensity of the turn.
+ * @public + */ + TurnIntensity?: RouteTurnIntensity; +} + +/** + *Labels presented on the sign post.
+ * @public + */ +export interface RouteSignpostLabel { + /** + *Route number of the road.
+ * @public + */ + RouteNumber?: RouteNumber; + + /** + *The Signpost text.
+ * @public + */ + Text?: LocalizedString; +} + +/** + *Sign post information of the action, applicable only for TurnByTurn steps. See RouteSignpost for details of sub-attributes.
+ * @public + */ +export interface RouteSignpost { + /** + *Labels present on the sign post.
+ * @public + */ + Labels: RouteSignpostLabel[] | undefined; +} + +/** + *Details related to the turn step.
+ * @public + */ +export interface RouteTurnStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; + + /** + *Steering direction for the step.
+ * @public + */ + SteeringDirection?: RouteSteeringDirection; + + /** + *Angle of the turn.
+ * @public + */ + TurnAngle?: number; + + /** + *Intensity of the turn.
+ * @public + */ + TurnIntensity?: RouteTurnIntensity; +} + +/** + * @public + * @enum + */ +export const RoutePedestrianTravelStepType = { + ARRIVE: "Arrive", + CONTINUE: "Continue", + DEPART: "Depart", + EXIT: "Exit", + KEEP: "Keep", + RAMP: "Ramp", + ROUNDABOUT_ENTER: "RoundaboutEnter", + ROUNDABOUT_EXIT: "RoundaboutExit", + ROUNDABOUT_PASS: "RoundaboutPass", + TURN: "Turn", + U_TURN: "UTurn", +} as const; + +/** + * @public + */ +export type RoutePedestrianTravelStepType = + (typeof RoutePedestrianTravelStepType)[keyof typeof RoutePedestrianTravelStepType]; + +/** + *Steps of a leg that must be performed during the travel portion of the leg.
+ * @public + */ +export interface RoutePedestrianTravelStep { + /** + *Details related to the continue step.
+ * @public + */ + ContinueStepDetails?: RouteContinueStepDetails; + + /** + *Details of the current road. See RouteRoad for details of sub-attributes.
+ * @public + */ + CurrentRoad?: RouteRoad; + + /** + *Distance of the step.
+ * @public + */ + Distance?: number; + + /** + *Duration of the step.
+ *
+ * Unit: seconds
+ *
Exit number of the road exit, if applicable.
+ * @public + */ + ExitNumber?: LocalizedString[]; + + /** + *Offset in the leg geometry corresponding to the start of this step.
+ * @public + */ + GeometryOffset?: number; + + /** + *Brief description of the step in the requested language.
+ *Only available when the TravelStepType is Default.
+ *Details that are specific to a Keep step.
+ * @public + */ + KeepStepDetails?: RouteKeepStepDetails; + + /** + *Details of the next road. See RouteRoad for details of sub-attributes.
+ * @public + */ + NextRoad?: RouteRoad; + + /** + *Details that are specific to a Roundabout Enter step.
+ * @public + */ + RoundaboutEnterStepDetails?: RouteRoundaboutEnterStepDetails; + + /** + *Details that are specific to a Roundabout Exit step.
+ * @public + */ + RoundaboutExitStepDetails?: RouteRoundaboutExitStepDetails; + + /** + *Details that are specific to a Roundabout Pass step.
+ * @public + */ + RoundaboutPassStepDetails?: RouteRoundaboutPassStepDetails; + + /** + *Sign post information of the action, applicable only for TurnByTurn steps. See RouteSignpost for details of sub-attributes.
+ * @public + */ + Signpost?: RouteSignpost; + + /** + *Details that are specific to a turn step.
+ * @public + */ + TurnStepDetails?: RouteTurnStepDetails; + + /** + *Type of the step.
+ * @public + */ + Type: RoutePedestrianTravelStepType | undefined; +} + +/** + *Details that are specific to a pedestrian leg.
+ * @public + */ +export interface RoutePedestrianLegDetails { + /** + *Details corresponding to the arrival for the leg.
+ * @public + */ + Arrival: RoutePedestrianArrival | undefined; + + /** + *Details corresponding to the departure for the leg.
+ * @public + */ + Departure: RoutePedestrianDeparture | undefined; + + /** + *Notices are additional information returned that indicate issues that occurred during route calculation.
+ * @public + */ + Notices: RoutePedestrianNotice[] | undefined; + + /** + *Waypoints that were passed through during the leg. This includes the waypoints that were configured with the PassThrough option.
+ * @public + */ + PassThroughWaypoints: RoutePassThroughWaypoint[] | undefined; + + /** + *Spans that were computed for the requested SpanAdditionalFeatures.
+ * @public + */ + Spans: RoutePedestrianSpan[] | undefined; + + /** + *Summarized details of the leg.
+ * @public + */ + Summary?: RoutePedestrianSummary; + + /** + *Steps of a leg that must be performed before the travel portion of the leg.
+ * @public + */ + TravelSteps: RoutePedestrianTravelStep[] | undefined; +} + +/** + * @public + * @enum + */ +export const RouteLegTravelMode = { + CAR: "Car", + FERRY: "Ferry", + PEDESTRIAN: "Pedestrian", + SCOOTER: "Scooter", + TRUCK: "Truck", +} as const; + +/** + * @public + */ +export type RouteLegTravelMode = (typeof RouteLegTravelMode)[keyof typeof RouteLegTravelMode]; + +/** + * @public + * @enum + */ +export const RouteLegType = { + FERRY: "Ferry", + PEDESTRIAN: "Pedestrian", + VEHICLE: "Vehicle", +} as const; + +/** + * @public + */ +export type RouteLegType = (typeof RouteLegType)[keyof typeof RouteLegType]; + +/** + *Place details corresponding to the arrival or departure.
+ * @public + */ +export interface RouteVehiclePlace { + /** + *The name of the place.
+ * @public + */ + Name?: string; + + /** + *Position provided in the request.
+ * @public + */ + OriginalPosition?: number[]; + + /** + *Position defined as [longitude, latitude]
.
Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: RouteSideOfStreet; + + /** + *Index of the waypoint in the request.
+ * @public + */ + WaypointIndex?: number; +} + +/** + *Details corresponding to the arrival for a leg.
+ * @public + */ +export interface RouteVehicleArrival { + /** + *The place details.
+ * @public + */ + Place: RouteVehiclePlace | undefined; + + /** + *The time.
+ * @public + */ + Time?: string; +} + +/** + *Details corresponding to the departure for the leg.
+ * @public + */ +export interface RouteVehicleDeparture { + /** + *The place details.
+ * @public + */ + Place: RouteVehiclePlace | undefined; + + /** + *The departure time.
+ * @public + */ + Time?: string; +} + +/** + * @public + * @enum + */ +export const RouteVehicleIncidentSeverity = { + CRITICAL: "Critical", + HIGH: "High", + LOW: "Low", + MEDIUM: "Medium", +} as const; + +/** + * @public + */ +export type RouteVehicleIncidentSeverity = + (typeof RouteVehicleIncidentSeverity)[keyof typeof RouteVehicleIncidentSeverity]; + +/** + * @public + * @enum + */ +export const RouteVehicleIncidentType = { + ACCIDENT: "Accident", + CONGESTION: "Congestion", + CONSTRUCTION: "Construction", + DISABLED_VEHICLE: "DisabledVehicle", + LANE_RESTRICTION: "LaneRestriction", + MASS_TRANSIT: "MassTransit", + OTHER: "Other", + PLANNED_EVENT: "PlannedEvent", + ROAD_CLOSURE: "RoadClosure", + ROAD_HAZARD: "RoadHazard", + WEATHER: "Weather", +} as const; + +/** + * @public + */ +export type RouteVehicleIncidentType = (typeof RouteVehicleIncidentType)[keyof typeof RouteVehicleIncidentType]; + +/** + *Incidents corresponding to this leg of the route.
+ * @public + */ +export interface RouteVehicleIncident { + /** + *Brief readable description of the incident.
+ * @public + */ + Description?: string; + + /** + *End timestamp of the incident.
+ * @public + */ + EndTime?: string; + + /** + *Severity of the incident + * Critical - The part of the route the incident affects is unusable. + * Major- Major impact on the leg duration, for example stop and go + * Minor- Minor impact on the leg duration, for example traffic jam + * Low - Low on duration, for example slightly increased traffic
+ * @public + */ + Severity?: RouteVehicleIncidentSeverity; + + /** + *Start time of the incident.
+ * @public + */ + StartTime?: string; + + /** + *Type of the incident.
+ * @public + */ + Type?: RouteVehicleIncidentType; +} + +/** + * @public + * @enum + */ +export const RouteVehicleNoticeCode = { + ACCURATE_POLYLINE_UNAVAILABLE: "AccuratePolylineUnavailable", + OTHER: "Other", + POTENTIAL_VIOLATED_AVOID_TOLL_ROAD_USAGE: "PotentialViolatedAvoidTollRoadUsage", + POTENTIAL_VIOLATED_CARPOOL_USAGE: "PotentialViolatedCarpoolUsage", + POTENTIAL_VIOLATED_TURN_RESTRICTION_USAGE: "PotentialViolatedTurnRestrictionUsage", + POTENTIAL_VIOLATED_VEHICLE_RESTRICTION_USAGE: "PotentialViolatedVehicleRestrictionUsage", + POTENTIAL_VIOLATED_ZONE_RESTRICTION_USAGE: "PotentialViolatedZoneRestrictionUsage", + SEASONAL_CLOSURE: "SeasonalClosure", + TOLLS_DATA_TEMPORARILY_UNAVAILABLE: "TollsDataTemporarilyUnavailable", + TOLLS_DATA_UNAVAILABLE: "TollsDataUnavailable", + TOLL_TRANSPONDER: "TollTransponder", + VIOLATED_AVOID_CONTROLLED_ACCESS_HIGHWAY: "ViolatedAvoidControlledAccessHighway", + VIOLATED_AVOID_DIFFICULT_TURNS: "ViolatedAvoidDifficultTurns", + VIOLATED_AVOID_DIRT_ROAD: "ViolatedAvoidDirtRoad", + VIOLATED_AVOID_SEASONAL_CLOSURE: "ViolatedAvoidSeasonalClosure", + VIOLATED_AVOID_TOLL_ROAD: "ViolatedAvoidTollRoad", + VIOLATED_AVOID_TOLL_TRANSPONDER: "ViolatedAvoidTollTransponder", + VIOLATED_AVOID_TRUCK_ROAD_TYPE: "ViolatedAvoidTruckRoadType", + VIOLATED_AVOID_TUNNEL: "ViolatedAvoidTunnel", + VIOLATED_AVOID_U_TURNS: "ViolatedAvoidUTurns", + VIOLATED_BLOCKED_ROAD: "ViolatedBlockedRoad", + VIOLATED_CARPOOL: "ViolatedCarpool", + VIOLATED_EMERGENCY_GATE: "ViolatedEmergencyGate", + VIOLATED_START_DIRECTION: "ViolatedStartDirection", + VIOLATED_TURN_RESTRICTION: "ViolatedTurnRestriction", + VIOLATED_VEHICLE_RESTRICTION: "ViolatedVehicleRestriction", + VIOLATED_ZONE_RESTRICTION: "ViolatedZoneRestriction", +} as const; + +/** + * @public + */ +export type RouteVehicleNoticeCode = (typeof RouteVehicleNoticeCode)[keyof typeof RouteVehicleNoticeCode]; + +/** + *Notice Detail that is a range.
+ * @public + */ +export interface RouteNoticeDetailRange { + /** + *Minimum value for the range.
+ * @public + */ + Min?: number; + + /** + *Maximum value for the range.
+ * @public + */ + Max?: number; +} + +/** + * @public + * @enum + */ +export const RouteWeightConstraintType = { + CURRENT: "Current", + GROSS: "Gross", + UNKNOWN: "Unknown", +} as const; + +/** + * @public + */ +export type RouteWeightConstraintType = (typeof RouteWeightConstraintType)[keyof typeof RouteWeightConstraintType]; + +/** + *The weight constraint for the route.
+ *
+ * Unit: Kilograms
+ *
The type of constraint.
+ * @public + */ + Type: RouteWeightConstraintType | undefined; + + /** + *The constraint value.
+ *
+ * Unit: Kilograms
+ *
This property contains a + * summary of violated constraints.
+ * @public + */ +export interface RouteViolatedConstraints { + /** + *This restriction applies to truck cargo, where the resulting route excludes roads on which hazardous materials are prohibited from being transported.
+ * @public + */ + AllHazardsRestricted?: boolean; + + /** + *Total number of axles of the vehicle.
+ * @public + */ + AxleCount?: RouteNoticeDetailRange; + + /** + *List of Hazardous cargo contained in the vehicle.
+ * @public + */ + HazardousCargos: RouteHazardousCargoType[] | undefined; + + /** + *The maximum height of the vehicle.
+ * @public + */ + MaxHeight?: number; + + /** + *The maximum Kpra length of the vehicle.
+ *
+ * Unit: centimeters
+ *
The maximum length of the vehicle.
+ * @public + */ + MaxLength?: number; + + /** + *The maximum load capacity of the vehicle.
+ *
+ * Unit: kilograms
+ *
The maximum weight of the route.
+ *
+ * Unit: Kilograms
+ *
The maximum weight per axle of the vehicle.
+ *
+ * Unit: Kilograms
+ *
The maximum weight per axle group of the vehicle.
+ *
+ * Unit: Kilograms
+ *
The maximum width of the vehicle.
+ * @public + */ + MaxWidth?: number; + + /** + *The number of occupants in the vehicle.
+ *Default Value: 1
+ *
Access radius restrictions based on time.
+ * @public + */ + RestrictedTimes?: string; + + /** + *The time dependent constraint.
+ * @public + */ + TimeDependent?: boolean; + + /** + *Number of trailers attached to the vehicle.
+ *Default Value: 0
+ *
Travel mode corresponding to the leg.
+ * @public + */ + TravelMode?: boolean; + + /** + *Truck road type identifiers. BK1
through BK4
apply only to Sweden.
+ * A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
+ *Type of the truck.
+ * @public + */ + TruckType?: RouteTruckType; + + /** + *The tunnel restriction code.
+ *Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. + * They relate to the types of dangerous goods that can be transported through them.
+ *+ * Tunnel Category B + *
+ *+ * Risk Level: Limited risk
+ *+ * Restrictions: Few restrictions
+ *+ * Tunnel Category C + *
+ *+ * Risk Level: Medium risk
+ *+ * Restrictions: Some restrictions
+ *+ * Tunnel Category D + *
+ *+ * Risk Level: High risk
+ *+ * Restrictions: Many restrictions occur
+ *+ * Tunnel Category E + *
+ *+ * Risk Level: Very high risk
+ *+ * Restrictions: Restricted tunnel
+ *Additional details of the notice.
+ * @public + */ +export interface RouteVehicleNoticeDetail { + /** + *The notice title.
+ * @public + */ + Title?: string; + + /** + *Any violated constraints.
+ * @public + */ + ViolatedConstraints?: RouteViolatedConstraints; +} + +/** + *Notices are additional information returned that indicate issues that occurred during route calculation.
+ * @public + */ +export interface RouteVehicleNotice { + /** + *Code corresponding to the issue.
+ * @public + */ + Code: RouteVehicleNoticeCode | undefined; + + /** + *Additional details of the notice.
+ * @public + */ + Details: RouteVehicleNoticeDetail[] | undefined; + + /** + *Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.
+ * @public + */ + Impact?: RouteNoticeImpact; +} + +/** + * @public + * @enum + */ +export const RouteSpanCarAccessAttribute = { + ALLOWED: "Allowed", + NO_THROUGH_TRAFFIC: "NoThroughTraffic", + TOLL_ROAD: "TollRoad", +} as const; + +/** + * @public + */ +export type RouteSpanCarAccessAttribute = + (typeof RouteSpanCarAccessAttribute)[keyof typeof RouteSpanCarAccessAttribute]; + +/** + * @public + * @enum + */ +export const RouteSpanGateAttribute = { + EMERGENCY: "Emergency", + KEY_ACCESS: "KeyAccess", + PERMISSION_REQUIRED: "PermissionRequired", +} as const; + +/** + * @public + */ +export type RouteSpanGateAttribute = (typeof RouteSpanGateAttribute)[keyof typeof RouteSpanGateAttribute]; + +/** + * @public + * @enum + */ +export const RouteSpanRailwayCrossingAttribute = { + PROTECTED: "Protected", + UNPROTECTED: "Unprotected", +} as const; + +/** + * @public + */ +export type RouteSpanRailwayCrossingAttribute = + (typeof RouteSpanRailwayCrossingAttribute)[keyof typeof RouteSpanRailwayCrossingAttribute]; + +/** + * @public + * @enum + */ +export const RouteSpanScooterAccessAttribute = { + ALLOWED: "Allowed", + NO_THROUGH_TRAFFIC: "NoThroughTraffic", + TOLL_ROAD: "TollRoad", +} as const; + +/** + * @public + */ +export type RouteSpanScooterAccessAttribute = + (typeof RouteSpanScooterAccessAttribute)[keyof typeof RouteSpanScooterAccessAttribute]; + +/** + * @public + * @enum + */ +export const RouteSpanTruckAccessAttribute = { + ALLOWED: "Allowed", + NO_THROUGH_TRAFFIC: "NoThroughTraffic", + TOLL_ROAD: "TollRoad", +} as const; + +/** + * @public + */ +export type RouteSpanTruckAccessAttribute = + (typeof RouteSpanTruckAccessAttribute)[keyof typeof RouteSpanTruckAccessAttribute]; + +/** + *Span computed for the requested SpanAdditionalFeatures.
+ * @public + */ +export interface RouteVehicleSpan { + /** + *Duration of the computed span without traffic congestion.
+ *
+ * Unit: seconds
+ *
Access attributes for a car corresponding to the span.
+ * @public + */ + CarAccess?: RouteSpanCarAccessAttribute[]; + + /** + *3 letter Country code corresponding to the Span.
+ * @public + */ + Country?: string; + + /** + *Distance of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
+ * @public + */ + Distance?: number; + + /** + *Duration of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
+ *
+ * Unit: seconds
+ *
Dynamic speed details corresponding to the span.
+ *
+ * Unit: KilometersPerHour
+ *
Functional classification of the road segment corresponding to the span.
+ * @public + */ + FunctionalClassification?: number; + + /** + *Attributes corresponding to a gate. The gate is present at the end of the returned span.
+ * @public + */ + Gate?: RouteSpanGateAttribute; + + /** + *Offset in the leg geometry corresponding to the start of this span.
+ * @public + */ + GeometryOffset?: number; + + /** + *Incidents corresponding to the span. These index into the Incidents in the parent Leg.
+ * @public + */ + Incidents?: number[]; + + /** + *Provides an array of names of the vehicle span in available languages.
+ * @public + */ + Names?: LocalizedString[]; + + /** + *Notices are additional information returned that indicate issues that occurred during route calculation.
+ * @public + */ + Notices?: number[]; + + /** + *Attributes corresponding to a railway crossing. The gate is present at the end of the returned span.
+ * @public + */ + RailwayCrossing?: RouteSpanRailwayCrossingAttribute; + + /** + *2-3 letter Region code corresponding to the Span. This is either a province or a state.
+ * @public + */ + Region?: string; + + /** + *Attributes for the road segment corresponding to the span.
+ * @public + */ + RoadAttributes?: RouteSpanRoadAttribute[]; + + /** + *Designated route name or number corresponding to the span.
+ * @public + */ + RouteNumbers?: RouteNumber[]; + + /** + *Access attributes for a scooter corresponding to the span.
+ * @public + */ + ScooterAccess?: RouteSpanScooterAccessAttribute[]; + + /** + *Speed limit details corresponding to the span.
+ *
+ * Unit: KilometersPerHour
+ *
Toll systems are authorities that collect payments for the toll.
+ * @public + */ + TollSystems?: number[]; + + /** + *Access attributes for a truck corresponding to the span.
+ * @public + */ + TruckAccess?: RouteSpanTruckAccessAttribute[]; + + /** + *Truck road type identifiers. BK1
through BK4
apply only to Sweden.
+ * A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
+ *Duration of the computed span under typical traffic congestion.
+ *
+ * Unit: seconds
+ *
Zones corresponding to this leg of the route.
+ * @public + */ + Zones?: number[]; +} + +/** + *Summarized details of the leg.
+ * @public + */ +export interface RouteVehicleOverviewSummary { + /** + *Total duration in free flowing traffic, which is the best case or shortest duration possible to cover the leg.
+ *
+ * Unit: seconds
+ *
Distance of the step.
+ * @public + */ + Distance: number | undefined; + + /** + *Duration of the step.
+ *
+ * Unit: seconds
+ *
Duration of the computed span under typical traffic congestion.
+ *
+ * Unit: seconds
+ *
Summarized details of the route.
+ * @public + */ +export interface RouteVehicleTravelOnlySummary { + /** + *Total duration in free flowing traffic, which is the best case or shortest duration possible to cover the leg.
+ *
+ * Unit: seconds
+ *
Duration of the step.
+ *
+ * Unit: seconds
+ *
Duration of the computed span under typical traffic congestion.
+ *
+ * Unit: seconds
+ *
Summarized details of the route.
+ * @public + */ +export interface RouteVehicleSummary { + /** + *Summarized details for the leg including before travel, travel and after travel steps.
+ * @public + */ + Overview?: RouteVehicleOverviewSummary; + + /** + *Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is in meters
+ * @public + */ + TravelOnly?: RouteVehicleTravelOnlySummary; +} + +/** + *Locations or sites where the toll fare is collected.
+ * @public + */ +export interface RouteTollPaymentSite { + /** + *Name of the payment site.
+ * @public + */ + Name?: string; + + /** + *Position defined as [longitude, latitude]
.
Price range with a minimum and maximum value, if a range.
+ * @public + */ +export interface RouteTollPriceValueRange { + /** + *Minimum price.
+ * @public + */ + Min: number | undefined; + + /** + *Maximum price.
+ * @public + */ + Max: number | undefined; +} + +/** + *The toll price.
+ * @public + */ +export interface RouteTollPrice { + /** + *Currency code corresponding to the price. This is the same as Currency specified in the request.
+ * @public + */ + Currency: string | undefined; + + /** + *If the price is an estimate or an exact value.
+ * @public + */ + Estimate: boolean | undefined; + + /** + *Duration for which the price corresponds to.
+ *
+ * Unit: seconds
+ *
If the price is a range or an exact value. If any of the toll fares making up the route is a range, the overall price is also a range.
+ * @public + */ + Range: boolean | undefined; + + /** + *Price range with a minimum and maximum value, if a range.
+ * @public + */ + RangeValue?: RouteTollPriceValueRange; + + /** + *Exact price, if not a range.
+ * @public + */ + Value: number | undefined; +} + +/** + * @public + * @enum + */ +export const RouteTollPassValidityPeriodType = { + ANNUAL: "Annual", + DAYS: "Days", + EXTENDED_ANNUAL: "ExtendedAnnual", + MINUTES: "Minutes", + MONTHS: "Months", +} as const; + +/** + * @public + */ +export type RouteTollPassValidityPeriodType = + (typeof RouteTollPassValidityPeriodType)[keyof typeof RouteTollPassValidityPeriodType]; + +/** + *Period for which the pass is valid.
+ * @public + */ +export interface RouteTollPassValidityPeriod { + /** + *Validity period.
+ * @public + */ + Period: RouteTollPassValidityPeriodType | undefined; + + /** + *Counts for the validity period.
+ * @public + */ + PeriodCount?: number; +} + +/** + *Details if the toll rate can be a pass that supports multiple trips.
+ * @public + */ +export interface RouteTollPass { + /** + *If the pass includes the rate for the return leg of the trip.
+ * @public + */ + IncludesReturnTrip?: boolean; + + /** + *If the pass is only valid for senior persons.
+ * @public + */ + SeniorPass?: boolean; + + /** + *If the toll pass can be transferred, and how many times.
+ * @public + */ + TransferCount?: number; + + /** + *Number of trips the pass is valid for.
+ * @public + */ + TripCount?: number; + + /** + *Period for which the pass is valid.
+ * @public + */ + ValidityPeriod?: RouteTollPassValidityPeriod; +} + +/** + * @public + * @enum + */ +export const RouteTollPaymentMethod = { + BANK_CARD: "BankCard", + CASH: "Cash", + CASH_EXACT: "CashExact", + CREDIT_CARD: "CreditCard", + PASS_SUBSCRIPTION: "PassSubscription", + TRANSPONDER: "Transponder", + TRAVEL_CARD: "TravelCard", + VIDEO_TOLL: "VideoToll", +} as const; + +/** + * @public + */ +export type RouteTollPaymentMethod = (typeof RouteTollPaymentMethod)[keyof typeof RouteTollPaymentMethod]; + +/** + *Transponders for which this toll can be applied.
+ * @public + */ +export interface RouteTransponder { + /** + *Names of the toll system collecting the toll.
+ * @public + */ + SystemName?: string; +} + +/** + *The toll rate.
+ * @public + */ +export interface RouteTollRate { + /** + *Time when the rate is valid.
+ * @public + */ + ApplicableTimes?: string; + + /** + *Price in the converted currency as specified in the request.
+ * @public + */ + ConvertedPrice?: RouteTollPrice; + + /** + *The Toll rate Id.
+ * @public + */ + Id: string | undefined; + + /** + *Price in the local regional currency.
+ * @public + */ + LocalPrice: RouteTollPrice | undefined; + + /** + *The name of the toll.
+ * @public + */ + Name: string | undefined; + + /** + *Details if the toll rate can be a pass that supports multiple trips.
+ * @public + */ + Pass?: RouteTollPass; + + /** + *Accepted payment methods at the toll.
+ * @public + */ + PaymentMethods: RouteTollPaymentMethod[] | undefined; + + /** + *Transponders for which this toll can be applied.
+ * @public + */ + Transponders: RouteTransponder[] | undefined; +} + +/** + *Provides details about toll information along a route, including the payment sites, applicable toll rates, toll systems, and the country associated with the toll collection.
+ * @public + */ +export interface RouteToll { + /** + *The alpha-2 or alpha-3 character code for the country.
+ * @public + */ + Country?: string; + + /** + *Locations or sites where the toll fare is collected.
+ * @public + */ + PaymentSites: RouteTollPaymentSite[] | undefined; + + /** + *Toll rates that need to be paid to travel this leg of the route.
+ * @public + */ + Rates: RouteTollRate[] | undefined; + + /** + *Toll systems are authorities that collect payments for the toll.
+ * @public + */ + Systems: number[] | undefined; +} + +/** + *Toll systems are authorities that collect payments for the toll.
+ * @public + */ +export interface RouteTollSystem { + /** + *The toll system name.
+ * @public + */ + Name?: string; +} + +/** + *Details related to the continue highway step.
+ * @public + */ +export interface RouteContinueHighwayStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; + + /** + *Steering direction for the step.
+ * @public + */ + SteeringDirection?: RouteSteeringDirection; + + /** + *Angle of the turn.
+ * @public + */ + TurnAngle?: number; + + /** + *Intensity of the turn.
+ * @public + */ + TurnIntensity?: RouteTurnIntensity; +} + +/** + *Details related to the enter highway step.
+ * @public + */ +export interface RouteEnterHighwayStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; + + /** + *Steering direction for the step.
+ * @public + */ + SteeringDirection?: RouteSteeringDirection; + + /** + *Angle of the turn.
+ * @public + */ + TurnAngle?: number; + + /** + *Intensity of the turn.
+ * @public + */ + TurnIntensity?: RouteTurnIntensity; +} + +/** + *Details related to the exit step.
+ * @public + */ +export interface RouteExitStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; + + /** + *Exit to be taken.
+ * @public + */ + RelativeExit?: number; + + /** + *Steering direction for the step.
+ * @public + */ + SteeringDirection?: RouteSteeringDirection; + + /** + *Angle of the turn.
+ * @public + */ + TurnAngle?: number; + + /** + *Intensity of the turn.
+ * @public + */ + TurnIntensity?: RouteTurnIntensity; +} + +/** + *Details that are specific to a ramp step.
+ * @public + */ +export interface RouteRampStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; + + /** + *Steering direction for the step.
+ * @public + */ + SteeringDirection?: RouteSteeringDirection; + + /** + *Angle of the turn.
+ * @public + */ + TurnAngle?: number; + + /** + *Intensity of the turn.
+ * @public + */ + TurnIntensity?: RouteTurnIntensity; +} + +/** + * @public + * @enum + */ +export const RouteVehicleTravelStepType = { + ARRIVE: "Arrive", + CONTINUE: "Continue", + CONTINUE_HIGHWAY: "ContinueHighway", + DEPART: "Depart", + ENTER_HIGHWAY: "EnterHighway", + EXIT: "Exit", + KEEP: "Keep", + RAMP: "Ramp", + ROUNDABOUT_ENTER: "RoundaboutEnter", + ROUNDABOUT_EXIT: "RoundaboutExit", + ROUNDABOUT_PASS: "RoundaboutPass", + TURN: "Turn", + U_TURN: "UTurn", +} as const; + +/** + * @public + */ +export type RouteVehicleTravelStepType = (typeof RouteVehicleTravelStepType)[keyof typeof RouteVehicleTravelStepType]; + +/** + *Details related to the U-turn step.
+ * @public + */ +export interface RouteUTurnStepDetails { + /** + *Name of the intersection, if applicable to the step.
+ * @public + */ + Intersection: LocalizedString[] | undefined; + + /** + *Steering direction for the step.
+ * @public + */ + SteeringDirection?: RouteSteeringDirection; + + /** + *Angle of the turn.
+ * @public + */ + TurnAngle?: number; + + /** + *Intensity of the turn.
+ * @public + */ + TurnIntensity?: RouteTurnIntensity; +} + +/** + *Steps of a leg that correspond to the travel portion of the leg.
+ * @public + */ +export interface RouteVehicleTravelStep { + /** + *Details that are specific to a Continue Highway step.
+ * @public + */ + ContinueHighwayStepDetails?: RouteContinueHighwayStepDetails; + + /** + *Details that are specific to a Continue step.
+ * @public + */ + ContinueStepDetails?: RouteContinueStepDetails; + + /** + *Details of the current road.
+ * @public + */ + CurrentRoad?: RouteRoad; + + /** + *Distance of the step.
+ * @public + */ + Distance?: number; + + /** + *Duration of the step.
+ *
+ * Unit: seconds
+ *
Details that are specific to a Enter Highway step.
+ * @public + */ + EnterHighwayStepDetails?: RouteEnterHighwayStepDetails; + + /** + *Exit number of the road exit, if applicable.
+ * @public + */ + ExitNumber?: LocalizedString[]; + + /** + *Details that are specific to a Roundabout Exit step.
+ * @public + */ + ExitStepDetails?: RouteExitStepDetails; + + /** + *Offset in the leg geometry corresponding to the start of this step.
+ * @public + */ + GeometryOffset?: number; + + /** + *Brief description of the step in the requested language.
+ *Only available when the TravelStepType is Default.
+ *Details that are specific to a Keep step.
+ * @public + */ + KeepStepDetails?: RouteKeepStepDetails; + + /** + *Details of the next road. See RouteRoad for details of sub-attributes.
+ * @public + */ + NextRoad?: RouteRoad; + + /** + *Details that are specific to a Ramp step.
+ * @public + */ + RampStepDetails?: RouteRampStepDetails; + + /** + *Details that are specific to a Roundabout Enter step.
+ * @public + */ + RoundaboutEnterStepDetails?: RouteRoundaboutEnterStepDetails; + + /** + *Details that are specific to a Roundabout Exit step.
+ * @public + */ + RoundaboutExitStepDetails?: RouteRoundaboutExitStepDetails; + + /** + *Details that are specific to a Roundabout Pass step.
+ * @public + */ + RoundaboutPassStepDetails?: RouteRoundaboutPassStepDetails; + + /** + *Sign post information of the action, applicable only for TurnByTurn steps. See RouteSignpost for details of sub-attributes.
+ * @public + */ + Signpost?: RouteSignpost; + + /** + *Details that are specific to a Turn step.
+ * @public + */ + TurnStepDetails?: RouteTurnStepDetails; + + /** + *Type of the step.
+ * @public + */ + Type: RouteVehicleTravelStepType | undefined; + + /** + *Details that are specific to a Turn step.
+ * @public + */ + UTurnStepDetails?: RouteUTurnStepDetails; +} + +/** + *The zone.
+ * @public + */ +export interface RouteZone { + /** + *The zone category.
+ * @public + */ + Category?: RouteZoneCategory; + + /** + *The name of the zone.
+ * @public + */ + Name?: string; +} + +/** + *Steps of a leg that correspond to the travel portion of the leg.
+ * @public + */ +export interface RouteVehicleLegDetails { + /** + *Details corresponding to the arrival for the leg.
+ * @public + */ + Arrival: RouteVehicleArrival | undefined; + + /** + *Details corresponding to the departure for the leg.
+ * @public + */ + Departure: RouteVehicleDeparture | undefined; + + /** + *Incidents corresponding to this leg of the route.
+ * @public + */ + Incidents: RouteVehicleIncident[] | undefined; + + /** + *Notices are additional information returned that indicate issues that occurred during route calculation.
+ * @public + */ + Notices: RouteVehicleNotice[] | undefined; + + /** + *Waypoints that were passed through during the leg. This includes the waypoints that were configured with the PassThrough option.
+ * @public + */ + PassThroughWaypoints: RoutePassThroughWaypoint[] | undefined; + + /** + *Spans that were computed for the requested SpanAdditionalFeatures.
+ * @public + */ + Spans: RouteVehicleSpan[] | undefined; + + /** + *Summarized details of the leg.
+ * @public + */ + Summary?: RouteVehicleSummary; + + /** + *Toll related options.
+ * @public + */ + Tolls: RouteToll[] | undefined; + + /** + *Toll systems are authorities that collect payments for the toll.
+ * @public + */ + TollSystems: RouteTollSystem[] | undefined; + + /** + *Steps of a leg that must be performed before the travel portion of the leg.
+ * @public + */ + TravelSteps: RouteVehicleTravelStep[] | undefined; + + /** + *Truck road type identifiers. BK1
through BK4
apply only to Sweden.
+ * A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
+ *Zones corresponding to this leg of the route.
+ * @public + */ + Zones: RouteZone[] | undefined; +} + +/** + *A leg is a section of a route from one waypoint to the next. A leg could be of type Vehicle, Pedestrian or Ferry. + * Legs of different types could occur together within a single route. For example, a car employing the use of a Ferry will contain Vehicle legs corresponding to journey on land, and Ferry legs corresponding to the journey via Ferry.
+ * @public + */ +export interface RouteLeg { + /** + *FerryLegDetails is populated when the Leg type is Ferry, and provides additional + * information that is specific
+ * @public + */ + FerryLegDetails?: RouteFerryLegDetails; + + /** + *Geometry of the area to be avoided.
+ * @public + */ + Geometry: RouteLegGeometry | undefined; + + /** + *List of languages for instructions within steps in the response.
+ * @public + */ + Language?: string; + + /** + *Details related to the pedestrian leg.
+ * @public + */ + PedestrianLegDetails?: RoutePedestrianLegDetails; + + /** + *Specifies the mode of transport when calculating a route. + * Used in estimating the speed of travel and road compatibility.
+ *Default Value: Car
+ *
Type of the leg.
+ * @public + */ + Type: RouteLegType | undefined; + + /** + *Details related to the vehicle leg.
+ * @public + */ + VehicleLegDetails?: RouteVehicleLegDetails; +} + +/** + *Important labels including names and route numbers that differentiate the current route from the alternatives presented.
+ * @public + */ +export interface RouteMajorRoadLabel { + /** + *Name of the road (localized).
+ * @public + */ + RoadName?: LocalizedString; + + /** + *Route number of the road.
+ * @public + */ + RouteNumber?: RouteNumber; +} + +/** + *Summary of the route and toll price.
+ * @public + */ +export interface RouteTollPriceSummary { + /** + *Currency code corresponding to the price. This is the same as Currency specified in the request.
+ * @public + */ + Currency: string | undefined; + + /** + *If the price is an estimate or an exact value.
+ * @public + */ + Estimate: boolean | undefined; + + /** + *If the price is a range or an exact value. If any of the toll fares making up the route is a range, the overall price is also a range.
+ * @public + */ + Range: boolean | undefined; + + /** + *Price range with a minimum and maximum value, if a range.
+ * @public + */ + RangeValue?: RouteTollPriceValueRange; + + /** + *Exact price, if not a range.
+ * @public + */ + Value: number | undefined; +} + +/** + *The toll summary for the complete route.
+ * @public + */ +export interface RouteTollSummary { + /** + *Total toll summary for the complete route. Total is the only summary available + * today.
+ * @public + */ + Total?: RouteTollPriceSummary; +} + +/** + *Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is the same as the Distance within the Overview summary.
+ * @public + */ +export interface RouteSummary { + /** + *Distance of the route.
+ * @public + */ + Distance?: number; + + /** + *Duration of the route.
+ *
+ * Unit: seconds
+ *
Toll summary for the complete route.
+ * @public + */ + Tolls?: RouteTollSummary; +} + +/** + *The route.
+ * @public + */ +export interface Route { + /** + *A leg is a section of a route from one waypoint to the next. A leg could be of type Vehicle, Pedestrian or Ferry. + * Legs of different types could occur together within a single route. For example, a car employing the use of a Ferry will contain Vehicle legs corresponding to journey on land, and Ferry legs corresponding to the journey via Ferry.
+ * @public + */ + Legs: RouteLeg[] | undefined; + + /** + *Important labels including names and route numbers that differentiate the current route from the alternatives presented.
+ * @public + */ + MajorRoadLabels: RouteMajorRoadLabel[] | undefined; + + /** + *Summarized details of the leg.
+ * @public + */ + Summary?: RouteSummary; +} + +/** + * @public + */ +export interface CalculateRoutesResponse { + /** + *Specifies the format of the geometry returned for each leg of the route.
+ * @public + */ + LegGeometryFormat: GeometryFormat | undefined; + + /** + *Notices are additional information returned that indicate issues that occurred during route calculation.
+ * @public + */ + Notices: RouteResponseNotice[] | undefined; + + /** + *The pricing bucket for which the query is charged at.
+ * @public + */ + PricingBucket: string | undefined; + + /** + *The path from the origin to the destination.
+ * @public + */ + Routes: Route[] | undefined; +} + +/** + * @public + * @enum + */ +export const DayOfWeek = { + FRIDAY: "Friday", + MONDAY: "Monday", + SATURDAY: "Saturday", + SUNDAY: "Sunday", + THURSDAY: "Thursday", + TUESDAY: "Tuesday", + WEDNESDAY: "Wednesday", +} as const; + +/** + * @public + */ +export type DayOfWeek = (typeof DayOfWeek)[keyof typeof DayOfWeek]; + +/** + *Geometry of the area to be avoided.
+ * @public + */ +export interface WaypointOptimizationAvoidanceAreaGeometry { + /** + *Geometry defined as a bounding box. The first pair represents the X and Y coordinates + * (longitude and latitude,) of the southwest corner of the bounding box; the second pair + * represents the X and Y coordinates (longitude and latitude) of the northeast corner.
+ * @public + */ + BoundingBox?: number[]; +} + +/** + *The area to be avoided.
+ * @public + */ +export interface WaypointOptimizationAvoidanceArea { + /** + *Geometry of the area to be avoided.
+ * @public + */ + Geometry: WaypointOptimizationAvoidanceAreaGeometry | undefined; +} + +/** + *Options for WaypointOptimizationAvoidance.
+ * @public + */ +export interface WaypointOptimizationAvoidanceOptions { + /** + *Areas to be avoided.
+ * @public + */ + Areas?: WaypointOptimizationAvoidanceArea[]; + + /** + *Avoidance options for cars-shuttles-trains.
+ * @public + */ + CarShuttleTrains?: boolean; + + /** + *Avoid controlled access highways while calculating the route.
+ * @public + */ + ControlledAccessHighways?: boolean; + + /** + *Avoid dirt roads while calculating the route.
+ * @public + */ + DirtRoads?: boolean; + + /** + *Avoidance options for ferries.
+ * @public + */ + Ferries?: boolean; + + /** + *Avoids roads where the specified toll transponders are the only mode of payment.
+ * @public + */ + TollRoads?: boolean; + + /** + *Avoid tunnels while calculating the route.
+ * @public + */ + Tunnels?: boolean; + + /** + *Avoid U-turns for calculation on highways and motorways.
+ * @public + */ + UTurns?: boolean; +} + +/** + *Hours of entry.
+ * @public + */ +export interface WaypointOptimizationAccessHoursEntry { + /** + *Day of the week.
+ * @public + */ + DayOfWeek: DayOfWeek | undefined; + + /** + *Time of the day.
+ * @public + */ + TimeOfDay: string | undefined; +} + +/** + *Access hours corresponding to when a destination can be visited.
+ * @public + */ +export interface WaypointOptimizationAccessHours { + /** + *Contains the ID of the starting waypoint in this connection.
+ * @public + */ + From: WaypointOptimizationAccessHoursEntry | undefined; + + /** + *Contains the ID of the ending waypoint in this connection.
+ * @public + */ + To: WaypointOptimizationAccessHoursEntry | undefined; +} + +/** + *Options to configure matching the provided position to a side of the street.
+ * @public + */ +export interface WaypointOptimizationSideOfStreetOptions { + /** + *Position defined as [longitude, latitude]
.
Strategy that defines when the side of street position should be used. AnyStreet will always use the provided position.
+ *Default Value: DividedStreetOnly
+ *
Destination related options.
+ * @public + */ +export interface WaypointOptimizationDestinationOptions { + /** + *Access hours corresponding to when a waypoint can be visited.
+ * @public + */ + AccessHours?: WaypointOptimizationAccessHours; + + /** + *Appointment time at the destination.
+ * @public + */ + AppointmentTime?: string; + + /** + *GPS Heading at the position.
+ * @public + */ + Heading?: number; + + /** + *The waypoint Id.
+ * @public + */ + Id?: string; + + /** + *Service time spent at the destination. At an appointment, the service time should be the appointment duration.
+ *
+ * Unit: seconds
+ *
Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: WaypointOptimizationSideOfStreetOptions; +} + +/** + *Driver work-rest schedules defined by a short and long cycle. A rest needs to be taken after the short work duration. The short cycle can be repeated until you hit the long work duration, at which point the long rest duration should be taken before restarting.
+ *
+ * Unit: seconds
+ *
Resting phase of the cycle.
+ *
+ * Unit: seconds
+ *
Working phase of the cycle.
+ *
+ * Unit: seconds
+ *
Resting phase of the cycle.
+ * @public + */ +export interface WaypointOptimizationRestCycles { + /** + *Long cycle for a driver work-rest schedule.
+ * @public + */ + LongCycle: WaypointOptimizationRestCycleDurations | undefined; + + /** + *Short cycle for a driver work-rest schedule
+ * @public + */ + ShortCycle: WaypointOptimizationRestCycleDurations | undefined; +} + +/** + *Pre defined rest profiles for a driver schedule. The only currently supported profile is + * EU.
+ * @public + */ +export interface WaypointOptimizationRestProfile { + /** + *Pre defined rest profiles for a driver schedule. The only currently supported profile is + * EU.
+ * @public + */ + Profile: string | undefined; +} + +/** + * @public + * @enum + */ +export const WaypointOptimizationServiceTimeTreatment = { + REST: "Rest", + WORK: "Work", +} as const; + +/** + * @public + */ +export type WaypointOptimizationServiceTimeTreatment = + (typeof WaypointOptimizationServiceTimeTreatment)[keyof typeof WaypointOptimizationServiceTimeTreatment]; + +/** + *Driver related options.
+ * @public + */ +export interface WaypointOptimizationDriverOptions { + /** + *Driver work-rest schedules defined by a short and long cycle. A rest needs to be taken after the short work duration. The short cycle can be repeated until you hit the long work duration, at which point the long rest duration should be taken before restarting.
+ * @public + */ + RestCycles?: WaypointOptimizationRestCycles; + + /** + *Pre defined rest profiles for a driver schedule. The only currently supported profile is + * EU.
+ * @public + */ + RestProfile?: WaypointOptimizationRestProfile; + + /** + *If the service time provided at a waypoint/destination should be considered as rest or work. This contributes to the total time breakdown returned within the response.
+ * @public + */ + TreatServiceTimeAs?: WaypointOptimizationServiceTimeTreatment; +} + +/** + *Exclusion options.
+ * @public + */ +export interface WaypointOptimizationExclusionOptions { + /** + *List of countries to be avoided defined by two-letter or three-letter country codes.
+ * @public + */ + Countries: string[] | undefined; +} + +/** + * @public + * @enum + */ +export const WaypointOptimizationSequencingObjective = { + FASTEST_ROUTE: "FastestRoute", + SHORTEST_ROUTE: "ShortestRoute", +} as const; + +/** + * @public + */ +export type WaypointOptimizationSequencingObjective = + (typeof WaypointOptimizationSequencingObjective)[keyof typeof WaypointOptimizationSequencingObjective]; + +/** + *Options related to the origin.
+ * @public + */ +export interface WaypointOptimizationOriginOptions { + /** + *The Origin Id.
+ * @public + */ + Id?: string; +} + +/** + *Options related to traffic.
+ * @public + */ +export interface WaypointOptimizationTrafficOptions { + /** + *Determines if traffic should be used or ignored while calculating the route.
+ *Default Value: UseTrafficData
+ *
Options related to a pedestrian.
+ * @public + */ +export interface WaypointOptimizationPedestrianOptions { + /** + *Walking speed.
+ *
+ * Unit: KilometersPerHour
+ *
Trailer options corresponding to the vehicle.
+ * @public + */ +export interface WaypointOptimizationTrailerOptions { + /** + *Number of trailers attached to the vehicle.
+ *Default Value: 0
+ *
Travel mode options when the provided travel mode is "Truck"
+ * @public + */ +export interface WaypointOptimizationTruckOptions { + /** + *Gross weight of the vehicle including trailers, and goods at capacity.
+ *
+ * Unit: Kilograms
+ *
List of Hazardous cargo contained in the vehicle.
+ * @public + */ + HazardousCargos?: WaypointOptimizationHazardousCargoType[]; + + /** + *Height of the vehicle.
+ *
+ * Unit: centimeters
+ *
Length of the vehicle.
+ *
+ * Unit: centimeters
+ *
Trailer options corresponding to the vehicle.
+ * @public + */ + Trailer?: WaypointOptimizationTrailerOptions; + + /** + *Type of the truck.
+ * @public + */ + TruckType?: WaypointOptimizationTruckType; + + /** + *The tunnel restriction code.
+ *Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. + * They relate to the types of dangerous goods that can be transported through them.
+ *+ * Tunnel Category B + *
+ *+ * Risk Level: Limited risk
+ *+ * Restrictions: Few restrictions
+ *+ * Tunnel Category C + *
+ *+ * Risk Level: Medium risk
+ *+ * Restrictions: Some restrictions
+ *+ * Tunnel Category D + *
+ *+ * Risk Level: High risk
+ *+ * Restrictions: Many restrictions occur
+ *+ * Tunnel Category E + *
+ *+ * Risk Level: Very high risk
+ *+ * Restrictions: Restricted tunnel
+ *Heaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.
+ *
+ * Unit: Kilograms
+ *
Width of the vehicle.
+ *
+ * Unit: centimeters
+ *
Travel mode related options for the provided travel mode.
+ * @public + */ +export interface WaypointOptimizationTravelModeOptions { + /** + *Travel mode options when the provided travel mode is "Pedestrian"
+ * @public + */ + Pedestrian?: WaypointOptimizationPedestrianOptions; + + /** + *Travel mode options when the provided travel mode is "Truck"
+ * @public + */ + Truck?: WaypointOptimizationTruckOptions; +} + +/** + *Waypoint between the Origin and Destination.
+ * @public + */ +export interface WaypointOptimizationWaypoint { + /** + *Access hours corresponding to when a waypoint can be visited.
+ * @public + */ + AccessHours?: WaypointOptimizationAccessHours; + + /** + *Appointment time at the waypoint.
+ * @public + */ + AppointmentTime?: string; + + /** + *Constraint defining what waypoints are to be visited after this waypoint.
+ * @public + */ + Before?: number[]; + + /** + *GPS Heading at the position.
+ * @public + */ + Heading?: number; + + /** + *The waypoint Id.
+ * @public + */ + Id?: string; + + /** + *Position defined as [longitude, latitude]
.
Service time spent at the waypoint. At an appointment, the service time should be the appointment duration.
+ *
+ * Unit: seconds
+ *
Options to configure matching the provided position to a side of the street.
+ * @public + */ + SideOfStreet?: WaypointOptimizationSideOfStreetOptions; +} + +/** + * @public + */ +export interface OptimizeWaypointsRequest { + /** + *Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an + * avoidance can't be satisfied for a particular case, this setting is ignored.
+ * @public + */ + Avoid?: WaypointOptimizationAvoidanceOptions; + + /** + *Departure time from the waypoint.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
The final position for the route in the World Geodetic System (WGS 84) format:
+ * [longitude, latitude]
.
Destination related options.
+ * @public + */ + DestinationOptions?: WaypointOptimizationDestinationOptions; + + /** + *Driver related options.
+ * @public + */ + Driver?: WaypointOptimizationDriverOptions; + + /** + *Features to be strictly excluded while calculating the route.
+ * @public + */ + Exclude?: WaypointOptimizationExclusionOptions; + + /** + *Optional: The API key to be used for authorization. Either an API key or valid SigV4 + * signature must be provided when making a request.
+ * @public + */ + Key?: string; + + /** + *Specifies the optimization criteria for the calculated sequence.
+ *Default Value: FastestRoute
.
The start position for the route.
+ * @public + */ + Origin: number[] | undefined; + + /** + *Origin related options.
+ * @public + */ + OriginOptions?: WaypointOptimizationOriginOptions; + + /** + *Traffic-related options.
+ * @public + */ + Traffic?: WaypointOptimizationTrafficOptions; + + /** + *Specifies the mode of transport when calculating a route. + * Used in estimating the speed of travel and road compatibility.
+ *Default Value: Car
+ *
Travel mode related options for the provided travel mode.
+ * @public + */ + TravelModeOptions?: WaypointOptimizationTravelModeOptions; + + /** + *List of waypoints between the Origin
and Destination
.
This contains information such as distance and duration from one waypoint to the next waypoint in the sequence.
+ * @public + */ +export interface WaypointOptimizationConnection { + /** + *Distance of the step.
+ * @public + */ + Distance: number | undefined; + + /** + *contains the ID of the starting waypoint in this connection.
+ * @public + */ + From: string | undefined; + + /** + *Resting time before the driver can continue driving.
+ * @public + */ + RestDuration: number | undefined; + + /** + *Contains the ID of the ending waypoint in this connection.
+ * @public + */ + To: string | undefined; + + /** + *Total duration.
+ *
+ * Unit: seconds
+ *
Duration of a wait step.
+ *
+ * Unit: seconds
+ *
The failed constraint.
+ * @public + */ +export interface WaypointOptimizationFailedConstraint { + /** + *The failed constraint.
+ * @public + */ + Constraint?: WaypointOptimizationConstraint; + + /** + *Reason for the failed constraint.
+ * @public + */ + Reason?: string; +} + +/** + *The impeding waypoint.
+ * @public + */ +export interface WaypointOptimizationImpedingWaypoint { + /** + *Failed constraints for an impeding waypoint.
+ * @public + */ + FailedConstraints: WaypointOptimizationFailedConstraint[] | undefined; + + /** + *The waypoint Id.
+ * @public + */ + Id: string | undefined; + + /** + *Position defined as [longitude, latitude]
.
The optimized waypoint.
+ * @public + */ +export interface WaypointOptimizationOptimizedWaypoint { + /** + *Estimated time of arrival at the destination.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
Estimated time of departure from thr origin.
+ *Time format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
+ *
Examples:
+ *
+ * 2020-04-22T17:57:24Z
+ *
+ * 2020-04-22T17:57:24+02:00
+ *
The waypoint Id.
+ * @public + */ + Id: string | undefined; + + /** + *Position defined as [longitude, latitude]
.
Time breakdown for the sequence.
+ * @public + */ +export interface WaypointOptimizationTimeBreakdown { + /** + *Resting phase of the cycle.
+ *
+ * Unit: seconds
+ *
Service time spent at the destination. At an appointment, the service time should be the appointment duration.
+ *
+ * Unit: seconds
+ *
Traveling phase of the cycle.
+ *
+ * Unit: seconds
+ *
Waiting phase of the cycle.
+ *
+ * Unit: seconds
+ *
Details about the connection from one waypoint to the next, within the optimized sequence.
+ * @public + */ + Connections: WaypointOptimizationConnection[] | undefined; + + /** + *Overall distance to travel the whole sequence.
+ * @public + */ + Distance: number | undefined; + + /** + *Overall duration to travel the whole sequence.
+ *
+ * Unit: seconds
+ *
Returns waypoints that caused the optimization problem to fail, and the constraints that were unsatisfied leading to the failure.
+ * @public + */ + ImpedingWaypoints: WaypointOptimizationImpedingWaypoint[] | undefined; + + /** + *Waypoints in the order of the optimized sequence.
+ * @public + */ + OptimizedWaypoints: WaypointOptimizationOptimizedWaypoint[] | undefined; + + /** + *The pricing bucket for which the query is charged at.
+ * @public + */ + PricingBucket: string | undefined; + + /** + *Time breakdown for the sequence.
+ * @public + */ + TimeBreakdown: WaypointOptimizationTimeBreakdown | undefined; +} + +/** + *TracePoint indices for which the provided notice code corresponds to.
+ * @public + */ +export interface RoadSnapTracePoint { + /** + *GPS Heading at the position.
+ * @public + */ + Heading?: number; + + /** + *Position defined as [longitude, latitude]
.
Speed at the specified trace point .
+ *
+ * Unit: KilometersPerHour
+ *
Timestamp of the event.
+ * @public + */ + Timestamp?: string; +} + +/** + * @public + * @enum + */ +export const RoadSnapTravelMode = { + CAR: "Car", + PEDESTRIAN: "Pedestrian", + SCOOTER: "Scooter", + TRUCK: "Truck", +} as const; + +/** + * @public + */ +export type RoadSnapTravelMode = (typeof RoadSnapTravelMode)[keyof typeof RoadSnapTravelMode]; + +/** + * @public + * @enum + */ +export const RoadSnapHazardousCargoType = { + COMBUSTIBLE: "Combustible", + CORROSIVE: "Corrosive", + EXPLOSIVE: "Explosive", + FLAMMABLE: "Flammable", + GAS: "Gas", + HARMFUL_TO_WATER: "HarmfulToWater", + ORGANIC: "Organic", + OTHER: "Other", + POISON: "Poison", + POISONOUS_INHALATION: "PoisonousInhalation", + RADIOACTIVE: "Radioactive", +} as const; + +/** + * @public + */ +export type RoadSnapHazardousCargoType = (typeof RoadSnapHazardousCargoType)[keyof typeof RoadSnapHazardousCargoType]; + +/** + *Trailer options corresponding to the vehicle.
+ * @public + */ +export interface RoadSnapTrailerOptions { + /** + *Number of trailers attached to the vehicle.
+ *Default Value: 0
+ *
Travel mode options when the provided travel mode is "Truck".
+ * @public + */ +export interface RoadSnapTruckOptions { + /** + *Gross weight of the vehicle including trailers, and goods at capacity.
+ *
+ * Unit: Kilograms
+ *
List of Hazardous cargos contained in the vehicle.
+ * @public + */ + HazardousCargos?: RoadSnapHazardousCargoType[]; + + /** + *Height of the vehicle.
+ *
+ * Unit: centimeters
+ *
Length of the vehicle.
+ *
+ * Unit: centimeters
+ *
Trailer options corresponding to the vehicle.
+ * @public + */ + Trailer?: RoadSnapTrailerOptions; + + /** + *The tunnel restriction code.
+ *Tunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. + * They relate to the types of dangerous goods that can be transported through them.
+ *+ * Tunnel Category B + *
+ *+ * Risk Level: Limited risk
+ *+ * Restrictions: Few restrictions
+ *+ * Tunnel Category C + *
+ *+ * Risk Level: Medium risk
+ *+ * Restrictions: Some restrictions
+ *+ * Tunnel Category D + *
+ *+ * Risk Level: High risk
+ *+ * Restrictions: Many restrictions occur
+ *+ * Tunnel Category E + *
+ *+ * Risk Level: Very high risk
+ *+ * Restrictions: Restricted tunnel
+ *Width of the vehicle in centimenters.
+ * @public + */ + Width?: number; +} + +/** + *Travel mode related options for the provided travel mode.
+ * @public + */ +export interface RoadSnapTravelModeOptions { + /** + *Travel mode options when the provided travel mode is "Truck".
+ * @public + */ + Truck?: RoadSnapTruckOptions; +} + +/** + * @public + */ +export interface SnapToRoadsRequest { + /** + *Optional: The API key to be used for authorization. Either an API key or valid SigV4 + * signature must be provided when making a request.
+ * @public + */ + Key?: string; + + /** + *Chooses what the returned SnappedGeometry format should be.
+ *Default Value: FlexiblePolyline
+ *
The radius around the provided tracepoint that is considered for snapping.
+ *
+ * Unit: meters
+ *
Default value: 300
+ *
List of trace points to be snapped onto the road network.
+ * @public + */ + TracePoints: RoadSnapTracePoint[] | undefined; + + /** + *Specifies the mode of transport when calculating a route. + * Used in estimating the speed of travel and road compatibility.
+ *Default Value: Car
+ *
Travel mode related options for the provided travel mode.
+ * @public + */ + TravelModeOptions?: RoadSnapTravelModeOptions; +} + +/** + * @public + * @enum + */ +export const RoadSnapNoticeCode = { + TRACE_POINTS_HEADING_IGNORED: "TracePointsHeadingIgnored", + TRACE_POINTS_IGNORED: "TracePointsIgnored", + TRACE_POINTS_MOVED_BY_LARGE_DISTANCE: "TracePointsMovedByLargeDistance", + TRACE_POINTS_NOT_MATCHED: "TracePointsNotMatched", + TRACE_POINTS_OUT_OF_SEQUENCE: "TracePointsOutOfSequence", + TRACE_POINTS_SPEED_ESTIMATED: "TracePointsSpeedEstimated", + TRACE_POINTS_SPEED_IGNORED: "TracePointsSpeedIgnored", +} as const; + +/** + * @public + */ +export type RoadSnapNoticeCode = (typeof RoadSnapNoticeCode)[keyof typeof RoadSnapNoticeCode]; + +/** + *Notices provide information around factors that may have influenced snapping in a manner atypical to the standard use cases.
+ * @public + */ +export interface RoadSnapNotice { + /** + *Code corresponding to the issue.
+ * @public + */ + Code: RoadSnapNoticeCode | undefined; + + /** + *The notice title.
+ * @public + */ + Title: string | undefined; + + /** + *TracePoint indices for which the provided notice code corresponds to.
+ * @public + */ + TracePointIndexes: number[] | undefined; +} + +/** + *Interpolated geometry for the snapped route that is overlay-able onto a map.
+ * @public + */ +export interface RoadSnapSnappedGeometry { + /** + *An ordered list of positions used to plot a route on a map.
+ *LineString and Polyline are mutually exclusive properties.
+ *An ordered list of positions used to plot a route on a map in a lossy compression format.
+ *LineString and Polyline are mutually exclusive properties.
+ *TracePoints snapped onto the road network.
+ * @public + */ +export interface RoadSnapSnappedTracePoint { + /** + *Confidence value for the correctness of this point match.
+ * @public + */ + Confidence: number | undefined; + + /** + *Position of the TracePoint provided within the request, at the same index.
+ * @public + */ + OriginalPosition: number[] | undefined; + + /** + *Snapped position of the TracePoint provided within the request, at the same index.
+ * @public + */ + SnappedPosition: number[] | undefined; +} + +/** + * @public + */ +export interface SnapToRoadsResponse { + /** + *Notices are additional information returned that indicate issues that occurred during route calculation.
+ * @public + */ + Notices: RoadSnapNotice[] | undefined; + + /** + *The pricing bucket for which the query is charged at.
+ * @public + */ + PricingBucket: string | undefined; + + /** + *The interpolated geometry for the snapped route onto the road network.
+ * @public + */ + SnappedGeometry?: RoadSnapSnappedGeometry; + + /** + *Specifies the format of the geometry returned for each leg of the route.
+ * @public + */ + SnappedGeometryFormat: GeometryFormat | undefined; + + /** + *The trace points snapped onto the road network.
+ * @public + */ + SnappedTracePoints: RoadSnapSnappedTracePoint[] | undefined; +} + +/** + * @internal + */ +export const CorridorFilterSensitiveLog = (obj: Corridor): any => ({ + ...obj, + ...(obj.LineString && { LineString: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const PolylineCorridorFilterSensitiveLog = (obj: PolylineCorridor): any => ({ + ...obj, + ...(obj.Polyline && { Polyline: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const IsolineAvoidanceAreaGeometryFilterSensitiveLog = (obj: IsolineAvoidanceAreaGeometry): any => ({ + ...obj, + ...(obj.BoundingBox && { BoundingBox: SENSITIVE_STRING }), + ...(obj.Corridor && { Corridor: SENSITIVE_STRING }), + ...(obj.Polygon && { Polygon: obj.Polygon.map((item) => SENSITIVE_STRING) }), + ...(obj.PolylineCorridor && { PolylineCorridor: SENSITIVE_STRING }), + ...(obj.PolylinePolygon && { PolylinePolygon: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const IsolineAvoidanceAreaFilterSensitiveLog = (obj: IsolineAvoidanceArea): any => ({ + ...obj, + ...(obj.Except && { Except: obj.Except.map((item) => IsolineAvoidanceAreaGeometryFilterSensitiveLog(item)) }), + ...(obj.Geometry && { Geometry: IsolineAvoidanceAreaGeometryFilterSensitiveLog(obj.Geometry) }), +}); + +/** + * @internal + */ +export const IsolineAvoidanceOptionsFilterSensitiveLog = (obj: IsolineAvoidanceOptions): any => ({ + ...obj, + ...(obj.Areas && { Areas: obj.Areas.map((item) => IsolineAvoidanceAreaFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const IsolineMatchingOptionsFilterSensitiveLog = (obj: IsolineMatchingOptions): any => ({ + ...obj, + ...(obj.NameHint && { NameHint: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const IsolineSideOfStreetOptionsFilterSensitiveLog = (obj: IsolineSideOfStreetOptions): any => ({ + ...obj, + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const IsolineDestinationOptionsFilterSensitiveLog = (obj: IsolineDestinationOptions): any => ({ + ...obj, + ...(obj.Matching && { Matching: IsolineMatchingOptionsFilterSensitiveLog(obj.Matching) }), + ...(obj.SideOfStreet && { SideOfStreet: IsolineSideOfStreetOptionsFilterSensitiveLog(obj.SideOfStreet) }), +}); + +/** + * @internal + */ +export const IsolineOriginOptionsFilterSensitiveLog = (obj: IsolineOriginOptions): any => ({ + ...obj, + ...(obj.Matching && { Matching: IsolineMatchingOptionsFilterSensitiveLog(obj.Matching) }), + ...(obj.SideOfStreet && { SideOfStreet: IsolineSideOfStreetOptionsFilterSensitiveLog(obj.SideOfStreet) }), +}); + +/** + * @internal + */ +export const CalculateIsolinesRequestFilterSensitiveLog = (obj: CalculateIsolinesRequest): any => ({ + ...obj, + ...(obj.Avoid && { Avoid: IsolineAvoidanceOptionsFilterSensitiveLog(obj.Avoid) }), + ...(obj.Destination && { Destination: SENSITIVE_STRING }), + ...(obj.DestinationOptions && { + DestinationOptions: IsolineDestinationOptionsFilterSensitiveLog(obj.DestinationOptions), + }), + ...(obj.Key && { Key: SENSITIVE_STRING }), + ...(obj.Origin && { Origin: SENSITIVE_STRING }), + ...(obj.OriginOptions && { OriginOptions: IsolineOriginOptionsFilterSensitiveLog(obj.OriginOptions) }), +}); + +/** + * @internal + */ +export const IsolineConnectionGeometryFilterSensitiveLog = (obj: IsolineConnectionGeometry): any => ({ + ...obj, + ...(obj.LineString && { LineString: SENSITIVE_STRING }), + ...(obj.Polyline && { Polyline: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const IsolineConnectionFilterSensitiveLog = (obj: IsolineConnection): any => ({ + ...obj, + ...(obj.Geometry && { Geometry: IsolineConnectionGeometryFilterSensitiveLog(obj.Geometry) }), +}); + +/** + * @internal + */ +export const IsolineShapeGeometryFilterSensitiveLog = (obj: IsolineShapeGeometry): any => ({ + ...obj, + ...(obj.Polygon && { Polygon: obj.Polygon.map((item) => SENSITIVE_STRING) }), + ...(obj.PolylinePolygon && { PolylinePolygon: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const IsolineFilterSensitiveLog = (obj: Isoline): any => ({ + ...obj, + ...(obj.Connections && { Connections: obj.Connections.map((item) => IsolineConnectionFilterSensitiveLog(item)) }), + ...(obj.Geometries && { Geometries: obj.Geometries.map((item) => IsolineShapeGeometryFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const CalculateIsolinesResponseFilterSensitiveLog = (obj: CalculateIsolinesResponse): any => ({ + ...obj, + ...(obj.SnappedDestination && { SnappedDestination: SENSITIVE_STRING }), + ...(obj.SnappedOrigin && { SnappedOrigin: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteMatrixAvoidanceAreaGeometryFilterSensitiveLog = (obj: RouteMatrixAvoidanceAreaGeometry): any => ({ + ...obj, + ...(obj.BoundingBox && { BoundingBox: SENSITIVE_STRING }), + ...(obj.Polygon && { Polygon: obj.Polygon.map((item) => SENSITIVE_STRING) }), + ...(obj.PolylinePolygon && { PolylinePolygon: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteMatrixAvoidanceAreaFilterSensitiveLog = (obj: RouteMatrixAvoidanceArea): any => ({ + ...obj, + ...(obj.Geometry && { Geometry: RouteMatrixAvoidanceAreaGeometryFilterSensitiveLog(obj.Geometry) }), +}); + +/** + * @internal + */ +export const RouteMatrixAvoidanceOptionsFilterSensitiveLog = (obj: RouteMatrixAvoidanceOptions): any => ({ + ...obj, + ...(obj.Areas && { Areas: obj.Areas.map((item) => RouteMatrixAvoidanceAreaFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const RouteMatrixMatchingOptionsFilterSensitiveLog = (obj: RouteMatrixMatchingOptions): any => ({ + ...obj, + ...(obj.NameHint && { NameHint: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteMatrixSideOfStreetOptionsFilterSensitiveLog = (obj: RouteMatrixSideOfStreetOptions): any => ({ + ...obj, + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteMatrixDestinationOptionsFilterSensitiveLog = (obj: RouteMatrixDestinationOptions): any => ({ + ...obj, + ...(obj.Matching && { Matching: RouteMatrixMatchingOptionsFilterSensitiveLog(obj.Matching) }), + ...(obj.SideOfStreet && { SideOfStreet: RouteMatrixSideOfStreetOptionsFilterSensitiveLog(obj.SideOfStreet) }), +}); + +/** + * @internal + */ +export const RouteMatrixDestinationFilterSensitiveLog = (obj: RouteMatrixDestination): any => ({ + ...obj, + ...(obj.Options && { Options: RouteMatrixDestinationOptionsFilterSensitiveLog(obj.Options) }), + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteMatrixOriginOptionsFilterSensitiveLog = (obj: RouteMatrixOriginOptions): any => ({ + ...obj, + ...(obj.Matching && { Matching: RouteMatrixMatchingOptionsFilterSensitiveLog(obj.Matching) }), + ...(obj.SideOfStreet && { SideOfStreet: RouteMatrixSideOfStreetOptionsFilterSensitiveLog(obj.SideOfStreet) }), +}); + +/** + * @internal + */ +export const RouteMatrixOriginFilterSensitiveLog = (obj: RouteMatrixOrigin): any => ({ + ...obj, + ...(obj.Options && { Options: RouteMatrixOriginOptionsFilterSensitiveLog(obj.Options) }), + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const CircleFilterSensitiveLog = (obj: Circle): any => ({ + ...obj, + ...(obj.Center && { Center: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteMatrixBoundaryGeometryFilterSensitiveLog = (obj: RouteMatrixBoundaryGeometry): any => ({ + ...obj, + ...(obj.Circle && { Circle: SENSITIVE_STRING }), + ...(obj.BoundingBox && { BoundingBox: SENSITIVE_STRING }), + ...(obj.Polygon && { Polygon: obj.Polygon.map((item) => SENSITIVE_STRING) }), +}); + +/** + * @internal + */ +export const RouteMatrixBoundaryFilterSensitiveLog = (obj: RouteMatrixBoundary): any => ({ + ...obj, + ...(obj.Geometry && { Geometry: RouteMatrixBoundaryGeometryFilterSensitiveLog(obj.Geometry) }), +}); + +/** + * @internal + */ +export const CalculateRouteMatrixRequestFilterSensitiveLog = (obj: CalculateRouteMatrixRequest): any => ({ + ...obj, + ...(obj.Avoid && { Avoid: RouteMatrixAvoidanceOptionsFilterSensitiveLog(obj.Avoid) }), + ...(obj.Destinations && { + Destinations: obj.Destinations.map((item) => RouteMatrixDestinationFilterSensitiveLog(item)), + }), + ...(obj.Key && { Key: SENSITIVE_STRING }), + ...(obj.Origins && { Origins: obj.Origins.map((item) => RouteMatrixOriginFilterSensitiveLog(item)) }), + ...(obj.RoutingBoundary && { RoutingBoundary: RouteMatrixBoundaryFilterSensitiveLog(obj.RoutingBoundary) }), +}); + +/** + * @internal + */ +export const CalculateRouteMatrixResponseFilterSensitiveLog = (obj: CalculateRouteMatrixResponse): any => ({ + ...obj, + ...(obj.RoutingBoundary && { RoutingBoundary: RouteMatrixBoundaryFilterSensitiveLog(obj.RoutingBoundary) }), +}); + +/** + * @internal + */ +export const RouteAvoidanceAreaGeometryFilterSensitiveLog = (obj: RouteAvoidanceAreaGeometry): any => ({ + ...obj, + ...(obj.Corridor && { Corridor: SENSITIVE_STRING }), + ...(obj.BoundingBox && { BoundingBox: SENSITIVE_STRING }), + ...(obj.Polygon && { Polygon: obj.Polygon.map((item) => SENSITIVE_STRING) }), + ...(obj.PolylineCorridor && { PolylineCorridor: SENSITIVE_STRING }), + ...(obj.PolylinePolygon && { PolylinePolygon: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteAvoidanceAreaFilterSensitiveLog = (obj: RouteAvoidanceArea): any => ({ + ...obj, + ...(obj.Except && { Except: obj.Except.map((item) => RouteAvoidanceAreaGeometryFilterSensitiveLog(item)) }), + ...(obj.Geometry && { Geometry: RouteAvoidanceAreaGeometryFilterSensitiveLog(obj.Geometry) }), +}); + +/** + * @internal + */ +export const RouteAvoidanceOptionsFilterSensitiveLog = (obj: RouteAvoidanceOptions): any => ({ + ...obj, + ...(obj.Areas && { Areas: obj.Areas.map((item) => RouteAvoidanceAreaFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const RouteMatchingOptionsFilterSensitiveLog = (obj: RouteMatchingOptions): any => ({ + ...obj, + ...(obj.NameHint && { NameHint: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteSideOfStreetOptionsFilterSensitiveLog = (obj: RouteSideOfStreetOptions): any => ({ + ...obj, + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteDestinationOptionsFilterSensitiveLog = (obj: RouteDestinationOptions): any => ({ + ...obj, + ...(obj.Matching && { Matching: RouteMatchingOptionsFilterSensitiveLog(obj.Matching) }), + ...(obj.SideOfStreet && { SideOfStreet: RouteSideOfStreetOptionsFilterSensitiveLog(obj.SideOfStreet) }), +}); + +/** + * @internal + */ +export const RouteOriginOptionsFilterSensitiveLog = (obj: RouteOriginOptions): any => ({ + ...obj, + ...(obj.Matching && { Matching: RouteMatchingOptionsFilterSensitiveLog(obj.Matching) }), + ...(obj.SideOfStreet && { SideOfStreet: RouteSideOfStreetOptionsFilterSensitiveLog(obj.SideOfStreet) }), +}); + +/** + * @internal + */ +export const RouteWaypointFilterSensitiveLog = (obj: RouteWaypoint): any => ({ + ...obj, + ...(obj.Matching && { Matching: RouteMatchingOptionsFilterSensitiveLog(obj.Matching) }), + ...(obj.Position && { Position: SENSITIVE_STRING }), + ...(obj.SideOfStreet && { SideOfStreet: RouteSideOfStreetOptionsFilterSensitiveLog(obj.SideOfStreet) }), +}); + +/** + * @internal + */ +export const CalculateRoutesRequestFilterSensitiveLog = (obj: CalculateRoutesRequest): any => ({ + ...obj, + ...(obj.Avoid && { Avoid: RouteAvoidanceOptionsFilterSensitiveLog(obj.Avoid) }), + ...(obj.Destination && { Destination: SENSITIVE_STRING }), + ...(obj.DestinationOptions && { + DestinationOptions: RouteDestinationOptionsFilterSensitiveLog(obj.DestinationOptions), + }), + ...(obj.Key && { Key: SENSITIVE_STRING }), + ...(obj.Origin && { Origin: SENSITIVE_STRING }), + ...(obj.OriginOptions && { OriginOptions: RouteOriginOptionsFilterSensitiveLog(obj.OriginOptions) }), + ...(obj.Waypoints && { Waypoints: obj.Waypoints.map((item) => RouteWaypointFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const RouteFerryPlaceFilterSensitiveLog = (obj: RouteFerryPlace): any => ({ + ...obj, + ...(obj.OriginalPosition && { OriginalPosition: SENSITIVE_STRING }), + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteFerryArrivalFilterSensitiveLog = (obj: RouteFerryArrival): any => ({ + ...obj, + ...(obj.Place && { Place: RouteFerryPlaceFilterSensitiveLog(obj.Place) }), +}); + +/** + * @internal + */ +export const RouteFerryDepartureFilterSensitiveLog = (obj: RouteFerryDeparture): any => ({ + ...obj, + ...(obj.Place && { Place: RouteFerryPlaceFilterSensitiveLog(obj.Place) }), +}); + +/** + * @internal + */ +export const RoutePassThroughPlaceFilterSensitiveLog = (obj: RoutePassThroughPlace): any => ({ + ...obj, + ...(obj.OriginalPosition && { OriginalPosition: SENSITIVE_STRING }), + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RoutePassThroughWaypointFilterSensitiveLog = (obj: RoutePassThroughWaypoint): any => ({ + ...obj, + ...(obj.Place && { Place: RoutePassThroughPlaceFilterSensitiveLog(obj.Place) }), +}); + +/** + * @internal + */ +export const RouteFerryLegDetailsFilterSensitiveLog = (obj: RouteFerryLegDetails): any => ({ + ...obj, + ...(obj.Arrival && { Arrival: RouteFerryArrivalFilterSensitiveLog(obj.Arrival) }), + ...(obj.Departure && { Departure: RouteFerryDepartureFilterSensitiveLog(obj.Departure) }), + ...(obj.PassThroughWaypoints && { + PassThroughWaypoints: obj.PassThroughWaypoints.map((item) => RoutePassThroughWaypointFilterSensitiveLog(item)), + }), +}); + +/** + * @internal + */ +export const RouteLegGeometryFilterSensitiveLog = (obj: RouteLegGeometry): any => ({ + ...obj, + ...(obj.LineString && { LineString: SENSITIVE_STRING }), + ...(obj.Polyline && { Polyline: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RoutePedestrianPlaceFilterSensitiveLog = (obj: RoutePedestrianPlace): any => ({ + ...obj, + ...(obj.OriginalPosition && { OriginalPosition: SENSITIVE_STRING }), + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RoutePedestrianArrivalFilterSensitiveLog = (obj: RoutePedestrianArrival): any => ({ + ...obj, + ...(obj.Place && { Place: RoutePedestrianPlaceFilterSensitiveLog(obj.Place) }), +}); + +/** + * @internal + */ +export const RoutePedestrianDepartureFilterSensitiveLog = (obj: RoutePedestrianDeparture): any => ({ + ...obj, + ...(obj.Place && { Place: RoutePedestrianPlaceFilterSensitiveLog(obj.Place) }), +}); + +/** + * @internal + */ +export const RoutePedestrianLegDetailsFilterSensitiveLog = (obj: RoutePedestrianLegDetails): any => ({ + ...obj, + ...(obj.Arrival && { Arrival: RoutePedestrianArrivalFilterSensitiveLog(obj.Arrival) }), + ...(obj.Departure && { Departure: RoutePedestrianDepartureFilterSensitiveLog(obj.Departure) }), + ...(obj.PassThroughWaypoints && { + PassThroughWaypoints: obj.PassThroughWaypoints.map((item) => RoutePassThroughWaypointFilterSensitiveLog(item)), + }), +}); + +/** + * @internal + */ +export const RouteVehiclePlaceFilterSensitiveLog = (obj: RouteVehiclePlace): any => ({ + ...obj, + ...(obj.OriginalPosition && { OriginalPosition: SENSITIVE_STRING }), + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteVehicleArrivalFilterSensitiveLog = (obj: RouteVehicleArrival): any => ({ + ...obj, + ...(obj.Place && { Place: RouteVehiclePlaceFilterSensitiveLog(obj.Place) }), +}); + +/** + * @internal + */ +export const RouteVehicleDepartureFilterSensitiveLog = (obj: RouteVehicleDeparture): any => ({ + ...obj, + ...(obj.Place && { Place: RouteVehiclePlaceFilterSensitiveLog(obj.Place) }), +}); + +/** + * @internal + */ +export const RouteTollPaymentSiteFilterSensitiveLog = (obj: RouteTollPaymentSite): any => ({ + ...obj, + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RouteTollFilterSensitiveLog = (obj: RouteToll): any => ({ + ...obj, + ...(obj.PaymentSites && { + PaymentSites: obj.PaymentSites.map((item) => RouteTollPaymentSiteFilterSensitiveLog(item)), + }), +}); + +/** + * @internal + */ +export const RouteVehicleLegDetailsFilterSensitiveLog = (obj: RouteVehicleLegDetails): any => ({ + ...obj, + ...(obj.Arrival && { Arrival: RouteVehicleArrivalFilterSensitiveLog(obj.Arrival) }), + ...(obj.Departure && { Departure: RouteVehicleDepartureFilterSensitiveLog(obj.Departure) }), + ...(obj.PassThroughWaypoints && { + PassThroughWaypoints: obj.PassThroughWaypoints.map((item) => RoutePassThroughWaypointFilterSensitiveLog(item)), + }), +}); + +/** + * @internal + */ +export const RouteLegFilterSensitiveLog = (obj: RouteLeg): any => ({ + ...obj, + ...(obj.FerryLegDetails && { FerryLegDetails: RouteFerryLegDetailsFilterSensitiveLog(obj.FerryLegDetails) }), + ...(obj.Geometry && { Geometry: RouteLegGeometryFilterSensitiveLog(obj.Geometry) }), + ...(obj.PedestrianLegDetails && { + PedestrianLegDetails: RoutePedestrianLegDetailsFilterSensitiveLog(obj.PedestrianLegDetails), + }), + ...(obj.VehicleLegDetails && { VehicleLegDetails: RouteVehicleLegDetailsFilterSensitiveLog(obj.VehicleLegDetails) }), +}); + +/** + * @internal + */ +export const RouteFilterSensitiveLog = (obj: Route): any => ({ + ...obj, + ...(obj.Legs && { Legs: obj.Legs.map((item) => RouteLegFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const CalculateRoutesResponseFilterSensitiveLog = (obj: CalculateRoutesResponse): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const WaypointOptimizationAvoidanceAreaGeometryFilterSensitiveLog = ( + obj: WaypointOptimizationAvoidanceAreaGeometry +): any => ({ + ...obj, + ...(obj.BoundingBox && { BoundingBox: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const WaypointOptimizationAvoidanceAreaFilterSensitiveLog = (obj: WaypointOptimizationAvoidanceArea): any => ({ + ...obj, + ...(obj.Geometry && { Geometry: WaypointOptimizationAvoidanceAreaGeometryFilterSensitiveLog(obj.Geometry) }), +}); + +/** + * @internal + */ +export const WaypointOptimizationAvoidanceOptionsFilterSensitiveLog = ( + obj: WaypointOptimizationAvoidanceOptions +): any => ({ + ...obj, + ...(obj.Areas && { Areas: obj.Areas.map((item) => WaypointOptimizationAvoidanceAreaFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const WaypointOptimizationSideOfStreetOptionsFilterSensitiveLog = ( + obj: WaypointOptimizationSideOfStreetOptions +): any => ({ + ...obj, + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const WaypointOptimizationDestinationOptionsFilterSensitiveLog = ( + obj: WaypointOptimizationDestinationOptions +): any => ({ + ...obj, + ...(obj.SideOfStreet && { + SideOfStreet: WaypointOptimizationSideOfStreetOptionsFilterSensitiveLog(obj.SideOfStreet), + }), +}); + +/** + * @internal + */ +export const WaypointOptimizationWaypointFilterSensitiveLog = (obj: WaypointOptimizationWaypoint): any => ({ + ...obj, + ...(obj.Position && { Position: SENSITIVE_STRING }), + ...(obj.SideOfStreet && { + SideOfStreet: WaypointOptimizationSideOfStreetOptionsFilterSensitiveLog(obj.SideOfStreet), + }), +}); + +/** + * @internal + */ +export const OptimizeWaypointsRequestFilterSensitiveLog = (obj: OptimizeWaypointsRequest): any => ({ + ...obj, + ...(obj.Avoid && { Avoid: WaypointOptimizationAvoidanceOptionsFilterSensitiveLog(obj.Avoid) }), + ...(obj.Destination && { Destination: SENSITIVE_STRING }), + ...(obj.DestinationOptions && { + DestinationOptions: WaypointOptimizationDestinationOptionsFilterSensitiveLog(obj.DestinationOptions), + }), + ...(obj.Key && { Key: SENSITIVE_STRING }), + ...(obj.Origin && { Origin: SENSITIVE_STRING }), + ...(obj.Waypoints && { + Waypoints: obj.Waypoints.map((item) => WaypointOptimizationWaypointFilterSensitiveLog(item)), + }), +}); + +/** + * @internal + */ +export const WaypointOptimizationImpedingWaypointFilterSensitiveLog = ( + obj: WaypointOptimizationImpedingWaypoint +): any => ({ + ...obj, + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const WaypointOptimizationOptimizedWaypointFilterSensitiveLog = ( + obj: WaypointOptimizationOptimizedWaypoint +): any => ({ + ...obj, + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const OptimizeWaypointsResponseFilterSensitiveLog = (obj: OptimizeWaypointsResponse): any => ({ + ...obj, + ...(obj.ImpedingWaypoints && { + ImpedingWaypoints: obj.ImpedingWaypoints.map((item) => + WaypointOptimizationImpedingWaypointFilterSensitiveLog(item) + ), + }), + ...(obj.OptimizedWaypoints && { + OptimizedWaypoints: obj.OptimizedWaypoints.map((item) => + WaypointOptimizationOptimizedWaypointFilterSensitiveLog(item) + ), + }), +}); + +/** + * @internal + */ +export const RoadSnapTracePointFilterSensitiveLog = (obj: RoadSnapTracePoint): any => ({ + ...obj, + ...(obj.Position && { Position: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const SnapToRoadsRequestFilterSensitiveLog = (obj: SnapToRoadsRequest): any => ({ + ...obj, + ...(obj.Key && { Key: SENSITIVE_STRING }), + ...(obj.TracePoints && { TracePoints: obj.TracePoints.map((item) => RoadSnapTracePointFilterSensitiveLog(item)) }), +}); + +/** + * @internal + */ +export const RoadSnapSnappedGeometryFilterSensitiveLog = (obj: RoadSnapSnappedGeometry): any => ({ + ...obj, + ...(obj.LineString && { LineString: SENSITIVE_STRING }), + ...(obj.Polyline && { Polyline: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const RoadSnapSnappedTracePointFilterSensitiveLog = (obj: RoadSnapSnappedTracePoint): any => ({ + ...obj, + ...(obj.OriginalPosition && { OriginalPosition: SENSITIVE_STRING }), + ...(obj.SnappedPosition && { SnappedPosition: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const SnapToRoadsResponseFilterSensitiveLog = (obj: SnapToRoadsResponse): any => ({ + ...obj, + ...(obj.SnappedGeometry && { SnappedGeometry: RoadSnapSnappedGeometryFilterSensitiveLog(obj.SnappedGeometry) }), + ...(obj.SnappedTracePoints && { + SnappedTracePoints: obj.SnappedTracePoints.map((item) => RoadSnapSnappedTracePointFilterSensitiveLog(item)), + }), +}); diff --git a/clients/client-geo-routes/src/protocols/Aws_restJson1.ts b/clients/client-geo-routes/src/protocols/Aws_restJson1.ts new file mode 100644 index 0000000000000..3f55a019b6404 --- /dev/null +++ b/clients/client-geo-routes/src/protocols/Aws_restJson1.ts @@ -0,0 +1,2674 @@ +// smithy-typescript generated code +import { loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody } from "@aws-sdk/core"; +import { requestBuilder as rb } from "@smithy/core"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { + _json, + collectBody, + decorateServiceException as __decorateServiceException, + expectBoolean as __expectBoolean, + expectInt32 as __expectInt32, + expectLong as __expectLong, + expectNonNull as __expectNonNull, + expectObject as __expectObject, + expectString as __expectString, + extendedEncodeURIComponent as __extendedEncodeURIComponent, + limitedParseDouble as __limitedParseDouble, + map, + serializeFloat as __serializeFloat, + take, + withBaseException, +} from "@smithy/smithy-client"; +import { + Endpoint as __Endpoint, + ResponseMetadata as __ResponseMetadata, + SerdeContext as __SerdeContext, +} from "@smithy/types"; + +import { CalculateIsolinesCommandInput, CalculateIsolinesCommandOutput } from "../commands/CalculateIsolinesCommand"; +import { + CalculateRouteMatrixCommandInput, + CalculateRouteMatrixCommandOutput, +} from "../commands/CalculateRouteMatrixCommand"; +import { CalculateRoutesCommandInput, CalculateRoutesCommandOutput } from "../commands/CalculateRoutesCommand"; +import { OptimizeWaypointsCommandInput, OptimizeWaypointsCommandOutput } from "../commands/OptimizeWaypointsCommand"; +import { SnapToRoadsCommandInput, SnapToRoadsCommandOutput } from "../commands/SnapToRoadsCommand"; +import { GeoRoutesServiceException as __BaseException } from "../models/GeoRoutesServiceException"; +import { + AccessDeniedException, + Circle, + Corridor, + InternalServerException, + Isoline, + IsolineAllowOptions, + IsolineAvoidanceArea, + IsolineAvoidanceAreaGeometry, + IsolineAvoidanceOptions, + IsolineAvoidanceZoneCategory, + IsolineCarOptions, + IsolineConnection, + IsolineConnectionGeometry, + IsolineDestinationOptions, + IsolineGranularityOptions, + IsolineHazardousCargoType, + IsolineMatchingOptions, + IsolineOriginOptions, + IsolineScooterOptions, + IsolineShapeGeometry, + IsolineSideOfStreetOptions, + IsolineThresholds, + IsolineTrafficOptions, + IsolineTrailerOptions, + IsolineTravelModeOptions, + IsolineTruckOptions, + IsolineVehicleLicensePlate, + PolylineCorridor, + RoadSnapHazardousCargoType, + RoadSnapSnappedGeometry, + RoadSnapSnappedTracePoint, + RoadSnapTracePoint, + RoadSnapTrailerOptions, + RoadSnapTravelModeOptions, + RoadSnapTruckOptions, + Route, + RouteAllowOptions, + RouteAvoidanceArea, + RouteAvoidanceAreaGeometry, + RouteAvoidanceOptions, + RouteAvoidanceZoneCategory, + RouteCarOptions, + RouteContinueHighwayStepDetails, + RouteDestinationOptions, + RouteDriverOptions, + RouteDriverScheduleInterval, + RouteEmissionType, + RouteEnterHighwayStepDetails, + RouteExclusionOptions, + RouteExitStepDetails, + RouteFerryArrival, + RouteFerryDeparture, + RouteFerryLegDetails, + RouteFerryPlace, + RouteHazardousCargoType, + RouteKeepStepDetails, + RouteLeg, + RouteLegAdditionalFeature, + RouteLegGeometry, + RouteMatchingOptions, + RouteMatrixAllowOptions, + RouteMatrixAutoCircle, + RouteMatrixAvoidanceArea, + RouteMatrixAvoidanceAreaGeometry, + RouteMatrixAvoidanceOptions, + RouteMatrixAvoidanceZoneCategory, + RouteMatrixBoundary, + RouteMatrixBoundaryGeometry, + RouteMatrixCarOptions, + RouteMatrixDestination, + RouteMatrixDestinationOptions, + RouteMatrixExclusionOptions, + RouteMatrixHazardousCargoType, + RouteMatrixMatchingOptions, + RouteMatrixOrigin, + RouteMatrixOriginOptions, + RouteMatrixScooterOptions, + RouteMatrixSideOfStreetOptions, + RouteMatrixTrafficOptions, + RouteMatrixTrailerOptions, + RouteMatrixTravelModeOptions, + RouteMatrixTruckOptions, + RouteMatrixVehicleLicensePlate, + RouteOriginOptions, + RoutePassThroughPlace, + RoutePassThroughWaypoint, + RoutePedestrianArrival, + RoutePedestrianDeparture, + RoutePedestrianLegDetails, + RoutePedestrianOptions, + RoutePedestrianPlace, + RoutePedestrianSpan, + RoutePedestrianTravelStep, + RouteRampStepDetails, + RouteRoundaboutEnterStepDetails, + RouteRoundaboutExitStepDetails, + RouteRoundaboutPassStepDetails, + RouteScooterOptions, + RouteSideOfStreetOptions, + RouteSpanAdditionalFeature, + RouteSpanDynamicSpeedDetails, + RouteSpanSpeedLimitDetails, + RouteSummary, + RouteToll, + RouteTollOptions, + RouteTollPaymentSite, + RouteTollPrice, + RouteTollPriceSummary, + RouteTollPriceValueRange, + RouteTollRate, + RouteTollSummary, + RouteTrafficOptions, + RouteTrailerOptions, + RouteTravelModeOptions, + RouteTruckOptions, + RouteTurnStepDetails, + RouteUTurnStepDetails, + RouteVehicleArrival, + RouteVehicleDeparture, + RouteVehicleLegDetails, + RouteVehicleLicensePlate, + RouteVehiclePlace, + RouteVehicleSpan, + RouteVehicleTravelStep, + RouteWaypoint, + ThrottlingException, + ValidationException, + ValidationExceptionField, + WaypointOptimizationAccessHours, + WaypointOptimizationAccessHoursEntry, + WaypointOptimizationAvoidanceArea, + WaypointOptimizationAvoidanceAreaGeometry, + WaypointOptimizationAvoidanceOptions, + WaypointOptimizationDestinationOptions, + WaypointOptimizationDriverOptions, + WaypointOptimizationExclusionOptions, + WaypointOptimizationHazardousCargoType, + WaypointOptimizationImpedingWaypoint, + WaypointOptimizationOptimizedWaypoint, + WaypointOptimizationOriginOptions, + WaypointOptimizationPedestrianOptions, + WaypointOptimizationRestCycleDurations, + WaypointOptimizationRestCycles, + WaypointOptimizationRestProfile, + WaypointOptimizationSideOfStreetOptions, + WaypointOptimizationTrafficOptions, + WaypointOptimizationTrailerOptions, + WaypointOptimizationTravelModeOptions, + WaypointOptimizationTruckOptions, + WaypointOptimizationWaypoint, + WeightPerAxleGroup, +} from "../models/models_0"; + +/** + * serializeAws_restJson1CalculateIsolinesCommand + */ +export const se_CalculateIsolinesCommand = async ( + input: CalculateIsolinesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/isolines"); + const query: any = map({ + [_k]: [, input[_K]!], + }); + let body: any; + body = JSON.stringify( + take(input, { + Allow: (_) => _json(_), + ArrivalTime: [], + Avoid: (_) => se_IsolineAvoidanceOptions(_, context), + DepartNow: [], + DepartureTime: [], + Destination: (_) => se_Position(_, context), + DestinationOptions: (_) => se_IsolineDestinationOptions(_, context), + IsolineGeometryFormat: [], + IsolineGranularity: (_) => _json(_), + OptimizeIsolineFor: [], + OptimizeRoutingFor: [], + Origin: (_) => se_Position(_, context), + OriginOptions: (_) => se_IsolineOriginOptions(_, context), + Thresholds: (_) => _json(_), + Traffic: (_) => _json(_), + TravelMode: [], + TravelModeOptions: (_) => se_IsolineTravelModeOptions(_, context), + }) + ); + b.m("POST").h(headers).q(query).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1CalculateRouteMatrixCommand + */ +export const se_CalculateRouteMatrixCommand = async ( + input: CalculateRouteMatrixCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/route-matrix"); + const query: any = map({ + [_k]: [, input[_K]!], + }); + let body: any; + body = JSON.stringify( + take(input, { + Allow: (_) => _json(_), + Avoid: (_) => se_RouteMatrixAvoidanceOptions(_, context), + DepartNow: [], + DepartureTime: [], + Destinations: (_) => se_RouteMatrixDestinationList(_, context), + Exclude: (_) => _json(_), + OptimizeRoutingFor: [], + Origins: (_) => se_RouteMatrixOriginList(_, context), + RoutingBoundary: (_) => se_RouteMatrixBoundary(_, context), + Traffic: (_) => _json(_), + TravelMode: [], + TravelModeOptions: (_) => se_RouteMatrixTravelModeOptions(_, context), + }) + ); + b.m("POST").h(headers).q(query).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1CalculateRoutesCommand + */ +export const se_CalculateRoutesCommand = async ( + input: CalculateRoutesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/routes"); + const query: any = map({ + [_k]: [, input[_K]!], + }); + let body: any; + body = JSON.stringify( + take(input, { + Allow: (_) => _json(_), + ArrivalTime: [], + Avoid: (_) => se_RouteAvoidanceOptions(_, context), + DepartNow: [], + DepartureTime: [], + Destination: (_) => se_Position(_, context), + DestinationOptions: (_) => se_RouteDestinationOptions(_, context), + Driver: (_) => _json(_), + Exclude: (_) => _json(_), + InstructionsMeasurementSystem: [], + Languages: (_) => _json(_), + LegAdditionalFeatures: (_) => _json(_), + LegGeometryFormat: [], + MaxAlternatives: [], + OptimizeRoutingFor: [], + Origin: (_) => se_Position(_, context), + OriginOptions: (_) => se_RouteOriginOptions(_, context), + SpanAdditionalFeatures: (_) => _json(_), + Tolls: (_) => _json(_), + Traffic: (_) => _json(_), + TravelMode: [], + TravelModeOptions: (_) => se_RouteTravelModeOptions(_, context), + TravelStepType: [], + Waypoints: (_) => se_RouteWaypointList(_, context), + }) + ); + b.m("POST").h(headers).q(query).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1OptimizeWaypointsCommand + */ +export const se_OptimizeWaypointsCommand = async ( + input: OptimizeWaypointsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/optimize-waypoints"); + const query: any = map({ + [_k]: [, input[_K]!], + }); + let body: any; + body = JSON.stringify( + take(input, { + Avoid: (_) => se_WaypointOptimizationAvoidanceOptions(_, context), + DepartureTime: [], + Destination: (_) => se_Position(_, context), + DestinationOptions: (_) => se_WaypointOptimizationDestinationOptions(_, context), + Driver: (_) => _json(_), + Exclude: (_) => _json(_), + OptimizeSequencingFor: [], + Origin: (_) => se_Position(_, context), + OriginOptions: (_) => _json(_), + Traffic: (_) => _json(_), + TravelMode: [], + TravelModeOptions: (_) => se_WaypointOptimizationTravelModeOptions(_, context), + Waypoints: (_) => se_WaypointOptimizationWaypointList(_, context), + }) + ); + b.m("POST").h(headers).q(query).b(body); + return b.build(); +}; + +/** + * serializeAws_restJson1SnapToRoadsCommand + */ +export const se_SnapToRoadsCommand = async ( + input: SnapToRoadsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/snap-to-roads"); + const query: any = map({ + [_k]: [, input[_K]!], + }); + let body: any; + body = JSON.stringify( + take(input, { + SnapRadius: [], + SnappedGeometryFormat: [], + TracePoints: (_) => se_RoadSnapTracePointList(_, context), + TravelMode: [], + TravelModeOptions: (_) => _json(_), + }) + ); + b.m("POST").h(headers).q(query).b(body); + return b.build(); +}; + +/** + * deserializeAws_restJson1CalculateIsolinesCommand + */ +export const de_CalculateIsolinesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): PromiseYou don't have sufficient access to perform this action.
", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.georoutes#ApiKey": { + "type": "string", + "traits": { + "smithy.api#externalDocumentation": { + "Implementation Guide": "https://github.com/paseto-standard/paseto-spec/blob/master/docs/02-Implementation-Guide/03-Algorithm-Lucidity.md" + }, + "smithy.api#length": { + "max": 1000 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.georoutes#BeforeWaypointsList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#WaypointIndex" + } + }, + "com.amazonaws.georoutes#BoundingBox": { + "type": "list", + "member": { + "target": "smithy.api#Double" + }, + "traits": { + "smithy.api#externalDocumentation": { + "Documentation": "https://tools.ietf.org/html/rfc7946#section-5" + }, + "smithy.api#length": { + "min": 4, + "max": 4 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.georoutes#CalculateIsolines": { + "type": "operation", + "input": { + "target": "com.amazonaws.georoutes#CalculateIsolinesRequest" + }, + "output": { + "target": "com.amazonaws.georoutes#CalculateIsolinesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.georoutes#AccessDeniedException" + }, + { + "target": "com.amazonaws.georoutes#InternalServerException" + }, + { + "target": "com.amazonaws.georoutes#ThrottlingException" + }, + { + "target": "com.amazonaws.georoutes#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "smithy.api#documentation": "Use the CalculateIsolines
action to find service areas that can be reached\n in a given threshold of time, distance.
Features that are allowed while calculating. a route
" + } + }, + "ArrivalTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Time of arrival at the destination.
\nTime format: YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an\n avoidance can't be satisfied for a particular case, it violates the avoidance and the\n returned response produces a notice for the violation.
" + } + }, + "DepartNow": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Uses the current time as the time of departure.
" + } + }, + "DepartureTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Time of departure from thr origin.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
The final position for the route. In the World Geodetic System (WGS 84) format: [longitude, latitude]
.
Destination related options.
" + } + }, + "IsolineGeometryFormat": { + "target": "com.amazonaws.georoutes#GeometryFormat", + "traits": { + "smithy.api#documentation": "The format of the returned IsolineGeometry.
\nDefault Value:FlexiblePolyline
\n
Defines the granularity of the returned Isoline
" + } + }, + "Key": { + "target": "com.amazonaws.georoutes#ApiKey", + "traits": { + "smithy.api#documentation": "Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.
", + "smithy.api#httpQuery": "key" + } + }, + "OptimizeIsolineFor": { + "target": "com.amazonaws.georoutes#IsolineOptimizationObjective", + "traits": { + "smithy.api#documentation": "Specifies the optimization criteria for when calculating an isoline. AccurateCalculation generates an isoline of higher granularity that is more precise. \nFastCalculation generates an isoline faster by reducing the granularity, and in turn the quality of the isoline. BalancedCalculation generates an isoline by balancing between quality and performance. \n
\nDefault Value: BalancedCalculation
\n
Specifies the optimization criteria for calculating a route.
\nDefault Value: FastestRoute
\n
The start position for the route.
" + } + }, + "OriginOptions": { + "target": "com.amazonaws.georoutes#IsolineOriginOptions", + "traits": { + "smithy.api#documentation": "Origin related options.
" + } + }, + "Thresholds": { + "target": "com.amazonaws.georoutes#IsolineThresholds", + "traits": { + "smithy.api#documentation": "Threshold to be used for the isoline calculation. Up to \n 3 thresholds per provided type can be requested.
", + "smithy.api#required": {} + } + }, + "Traffic": { + "target": "com.amazonaws.georoutes#IsolineTrafficOptions", + "traits": { + "smithy.api#documentation": "Traffic related options.
" + } + }, + "TravelMode": { + "target": "com.amazonaws.georoutes#IsolineTravelMode", + "traits": { + "smithy.api#documentation": "Specifies the mode of transport when calculating a route. \n Used in estimating the speed of travel and road compatibility.
\n The mode Scooter
also applies to motorcycles, set to Scooter
when wanted to calculate options for motorcycles.
Default Value: Car
\n
Travel mode related options for the provided travel mode.
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.georoutes#CalculateIsolinesResponse": { + "type": "structure", + "members": { + "ArrivalTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Time of arrival at the destination. This parameter is returned only if the Destination parameters was provided in the request.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
Time of departure from thr origin.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
The format of the returned IsolineGeometry.
\nDefault Value:FlexiblePolyline
\n
Calculated isolines and associated properties.
", + "smithy.api#required": {} + } + }, + "PricingBucket": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The pricing bucket for which the query is charged at.
", + "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", + "smithy.api#required": {} + } + }, + "SnappedDestination": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Snapped destination that was used for the Isoline calculation.
" + } + }, + "SnappedOrigin": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Snapped origin that was used for the Isoline calculation.
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.georoutes#CalculateRouteMatrix": { + "type": "operation", + "input": { + "target": "com.amazonaws.georoutes#CalculateRouteMatrixRequest" + }, + "output": { + "target": "com.amazonaws.georoutes#CalculateRouteMatrixResponse" + }, + "errors": [ + { + "target": "com.amazonaws.georoutes#AccessDeniedException" + }, + { + "target": "com.amazonaws.georoutes#InternalServerException" + }, + { + "target": "com.amazonaws.georoutes#ThrottlingException" + }, + { + "target": "com.amazonaws.georoutes#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "smithy.api#documentation": "Calculates route matrix containing the results for all pairs of \n Origins to Destinations. Each row corresponds to one entry in Origins. \n Each entry in the row corresponds to the route from that entry in Origins to an entry in Destinations positions.
", + "smithy.api#http": { + "uri": "/route-matrix", + "method": "POST" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "CalculateRouteMatrixSuccess", + "params": { + "Origins": [ + { + "Position": [-123.11679, 49.28147] + } + ], + "Destinations": [ + { + "Position": [-123.11231, 49.28897192166] + } + ], + "RoutingBoundary": { + "Unbounded": true + } + }, + "expect": { + "success": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-west-2" + } + } + ] + } + }, + "com.amazonaws.georoutes#CalculateRouteMatrixRequest": { + "type": "structure", + "members": { + "Allow": { + "target": "com.amazonaws.georoutes#RouteMatrixAllowOptions", + "traits": { + "smithy.api#documentation": "Features that are allowed while calculating. a route
" + } + }, + "Avoid": { + "target": "com.amazonaws.georoutes#RouteMatrixAvoidanceOptions", + "traits": { + "smithy.api#documentation": "Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an\n avoidance can't be satisfied for a particular case, it violates the avoidance and the\n returned response produces a notice for the violation.
" + } + }, + "DepartNow": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Uses the current time as the time of departure.
" + } + }, + "DepartureTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Time of departure from thr origin.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
List of destinations for the route.
", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "Exclude": { + "target": "com.amazonaws.georoutes#RouteMatrixExclusionOptions", + "traits": { + "smithy.api#documentation": "Features to be strictly excluded while calculating the route.
" + } + }, + "Key": { + "target": "com.amazonaws.georoutes#ApiKey", + "traits": { + "smithy.api#documentation": "Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.
", + "smithy.api#httpQuery": "key" + } + }, + "OptimizeRoutingFor": { + "target": "com.amazonaws.georoutes#RoutingObjective", + "traits": { + "smithy.api#documentation": "Specifies the optimization criteria for calculating a route.
\nDefault Value: FastestRoute
\n
The position in longitude and latitude for the origin.
", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "RoutingBoundary": { + "target": "com.amazonaws.georoutes#RouteMatrixBoundary", + "traits": { + "smithy.api#documentation": "Boundary within which the matrix is to be calculated. \n All data, origins and destinations outside the boundary are considered invalid.
\nWhen request routing boundary was set as AutoCircle, the response routing boundary will return Circle derived from the AutoCircle settings.
\nTraffic related options.
" + } + }, + "TravelMode": { + "target": "com.amazonaws.georoutes#RouteMatrixTravelMode", + "traits": { + "smithy.api#documentation": "Specifies the mode of transport when calculating a route. \n Used in estimating the speed of travel and road compatibility.
\nDefault Value: Car
\n
Travel mode related options for the provided travel mode.
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.georoutes#CalculateRouteMatrixResponse": { + "type": "structure", + "members": { + "ErrorCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "The count of error results in the route matrix. If this number is 0, all routes were calculated successfully.
", + "smithy.api#range": { + "min": 0 + }, + "smithy.api#required": {} + } + }, + "PricingBucket": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The pricing bucket for which the query is charged at.
", + "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", + "smithy.api#required": {} + } + }, + "RouteMatrix": { + "target": "com.amazonaws.georoutes#RouteMatrix", + "traits": { + "smithy.api#documentation": "The calculated route matrix containing the results for all pairs of Origins to Destination positions. Each row corresponds to one entry in Origins. Each entry in the row corresponds to the route from that entry in Origins to an entry in Destination positions.
", + "smithy.api#required": {} + } + }, + "RoutingBoundary": { + "target": "com.amazonaws.georoutes#RouteMatrixBoundary", + "traits": { + "smithy.api#documentation": "Boundary within which the matrix is to be calculated. All data, origins and destinations outside the boundary are considered invalid.
\nWhen request routing boundary was set as AutoCircle, the response routing boundary will return Circle derived from the AutoCircle settings.
\nCalculates a route given the following required parameters: \n Origin
and Destination
.
Features that are allowed while calculating. a route
" + } + }, + "ArrivalTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Time of arrival at the destination.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an\n avoidance can't be satisfied for a particular case, it violates the avoidance and the\n returned response produces a notice for the violation.
" + } + }, + "DepartNow": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Uses the current time as the time of departure.
" + } + }, + "DepartureTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Time of departure from thr origin.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
The final position for the route. In the World Geodetic System (WGS 84) format: [longitude, latitude]
.
Destination related options.
" + } + }, + "Driver": { + "target": "com.amazonaws.georoutes#RouteDriverOptions", + "traits": { + "smithy.api#documentation": "Driver related options.
" + } + }, + "Exclude": { + "target": "com.amazonaws.georoutes#RouteExclusionOptions", + "traits": { + "smithy.api#documentation": "Features to be strictly excluded while calculating the route.
" + } + }, + "InstructionsMeasurementSystem": { + "target": "com.amazonaws.georoutes#MeasurementSystem", + "traits": { + "smithy.api#documentation": "Measurement system to be used for instructions within steps in the response.
" + } + }, + "Key": { + "target": "com.amazonaws.georoutes#ApiKey", + "traits": { + "smithy.api#documentation": "Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.
", + "smithy.api#httpQuery": "key" + } + }, + "Languages": { + "target": "com.amazonaws.georoutes#LanguageTagList", + "traits": { + "smithy.api#documentation": "List of languages for instructions within steps in the response.
\nInstructions in the requested language are returned only if they are available.
\nA list of optional additional parameters such as timezone that can be requested for each result.
\n\n Elevation
: Retrieves the elevation information for each location.
\n Incidents
: Provides information on traffic incidents along the route.
\n PassThroughWaypoints
: Indicates waypoints that are passed through without stopping.
\n Summary
: Returns a summary of the route, including distance and duration.
\n Tolls
: Supplies toll cost information along the route.
\n TravelStepInstructions
: Provides step-by-step instructions for travel along the route.
\n TruckRoadTypes
: Returns information about road types suitable for trucks.
\n TypicalDuration
: Gives typical travel duration based on historical data.
\n Zones
: Specifies the time zone information for each waypoint.
Specifies the format of the geometry returned for each leg of the route. You can \n choose between two different geometry encoding formats.
\n\n FlexiblePolyline
: A compact and precise encoding format for the \n leg geometry. For more information on the format, see the GitHub repository for \n FlexiblePolyline
\n .
\n Simple
: A less compact encoding,\n which is easier to decode but may be less precise and result in larger payloads.
Maximum number of alternative routes to be provided in the response, if available.
", + "smithy.api#range": { + "min": 0, + "max": 5 + } + } + }, + "OptimizeRoutingFor": { + "target": "com.amazonaws.georoutes#RoutingObjective", + "traits": { + "smithy.api#documentation": "Specifies the optimization criteria for calculating a route.
\nDefault Value: FastestRoute
\n
The start position for the route.
", + "smithy.api#required": {} + } + }, + "OriginOptions": { + "target": "com.amazonaws.georoutes#RouteOriginOptions", + "traits": { + "smithy.api#documentation": "Origin related options.
" + } + }, + "SpanAdditionalFeatures": { + "target": "com.amazonaws.georoutes#RouteSpanAdditionalFeatureList", + "traits": { + "smithy.api#documentation": "A list of optional features such as SpeedLimit that can be requested for a Span. A span is a section of a Leg for which the requested features have the same values.
" + } + }, + "Tolls": { + "target": "com.amazonaws.georoutes#RouteTollOptions", + "traits": { + "smithy.api#documentation": "Toll related options.
" + } + }, + "Traffic": { + "target": "com.amazonaws.georoutes#RouteTrafficOptions", + "traits": { + "smithy.api#documentation": "Traffic related options.
" + } + }, + "TravelMode": { + "target": "com.amazonaws.georoutes#RouteTravelMode", + "traits": { + "smithy.api#documentation": "Specifies the mode of transport when calculating a route. \n Used in estimating the speed of travel and road compatibility.
\nDefault Value: Car
\n
Travel mode related options for the provided travel mode.
" + } + }, + "TravelStepType": { + "target": "com.amazonaws.georoutes#RouteTravelStepType", + "traits": { + "smithy.api#documentation": "Type of step returned by the response.\nDefault provides basic steps intended for web based applications.\nTurnByTurn provides detailed instructions with more granularity intended for a turn based naviagtion system.
" + } + }, + "Waypoints": { + "target": "com.amazonaws.georoutes#RouteWaypointList", + "traits": { + "smithy.api#documentation": "List of waypoints between the Origin and Destination.
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.georoutes#CalculateRoutesResponse": { + "type": "structure", + "members": { + "LegGeometryFormat": { + "target": "com.amazonaws.georoutes#GeometryFormat", + "traits": { + "smithy.api#documentation": "Specifies the format of the geometry returned for each leg of the route.
", + "smithy.api#required": {} + } + }, + "Notices": { + "target": "com.amazonaws.georoutes#RouteResponseNoticeList", + "traits": { + "smithy.api#documentation": "Notices are additional information returned that indicate issues that occurred during route calculation.
", + "smithy.api#required": {} + } + }, + "PricingBucket": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The pricing bucket for which the query is charged at.
", + "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", + "smithy.api#required": {} + } + }, + "Routes": { + "target": "com.amazonaws.georoutes#RouteList", + "traits": { + "smithy.api#documentation": "The path from the origin to the destination.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.georoutes#Circle": { + "type": "structure", + "members": { + "Center": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Center of the Circle defined in longitude and latitude coordinates.
\nExample: [-123.1174, 49.2847]
represents the position with longitude -123.1174
and latitude 49.2847
.
Radius of the Circle.
\n\n Unit: meters
\n
Geometry defined as a circle. When request routing boundary was set as AutoCircle
, the response routing boundary will return Circle
derived from the AutoCircle
settings.
An ordered list of positions used to plot a route on a map.
\nLineString and Polyline are mutually exclusive properties.
\nRadius that defines the width of the corridor.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Geometry defined as a corridor - a LineString with a radius that defines the width of the corridor.
", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.georoutes#CountryCode": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 3 + }, + "smithy.api#pattern": "^([A-Z]{2}|[A-Z]{3})$" + } + }, + "com.amazonaws.georoutes#CountryCode3": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 3 + }, + "smithy.api#pattern": "^[A-Z]{3}$" + } + }, + "com.amazonaws.georoutes#CountryCodeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#CountryCode" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#CurrencyCode": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 3, + "max": 3 + }, + "smithy.api#pattern": "^[A-Z]{3}$" + } + }, + "com.amazonaws.georoutes#DayOfWeek": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "MONDAY", + "value": "Monday" + }, + { + "name": "TUESDAY", + "value": "Tuesday" + }, + { + "name": "WEDNESDAY", + "value": "Wednesday" + }, + { + "name": "THURSDAY", + "value": "Thursday" + }, + { + "name": "FRIDAY", + "value": "Friday" + }, + { + "name": "SATURDAY", + "value": "Saturday" + }, + { + "name": "SUNDAY", + "value": "Sunday" + } + ] + } + }, + "com.amazonaws.georoutes#DimensionCentimeters": { + "type": "long", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 4294967295 + } + } + }, + "com.amazonaws.georoutes#DistanceMeters": { + "type": "long", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 4294967295 + } + } + }, + "com.amazonaws.georoutes#DistanceThresholdList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 300000 + } + } + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, + "com.amazonaws.georoutes#DurationSeconds": { + "type": "long", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 4294967295 + } + } + }, + "com.amazonaws.georoutes#GeometryFormat": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "FLEXIBLE_POLYLINE", + "value": "FlexiblePolyline" + }, + { + "name": "SIMPLE", + "value": "Simple" + } + ] + } + }, + "com.amazonaws.georoutes#Heading": { + "type": "double", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0.0, + "max": 360.0 + } + } + }, + "com.amazonaws.georoutes#IndexList": { + "type": "list", + "member": { + "target": "smithy.api#Integer" + } + }, + "com.amazonaws.georoutes#InternalServerException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#jsonName": "message", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The request processing has failed because of an unknown error, exception or failure.
", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.georoutes#Isoline": { + "type": "structure", + "members": { + "Connections": { + "target": "com.amazonaws.georoutes#IsolineConnectionList", + "traits": { + "smithy.api#documentation": "Isolines may contain multiple components, if these components are connected by ferry links. These components are returned as separate polygons while the ferry links are returned as connections.
", + "smithy.api#required": {} + } + }, + "DistanceThreshold": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Distance threshold corresponding to the calculated Isoline.
" + } + }, + "Geometries": { + "target": "com.amazonaws.georoutes#IsolineShapeGeometryList", + "traits": { + "smithy.api#documentation": "Geometries for the Calculated isolines.
", + "smithy.api#required": {} + } + }, + "TimeThreshold": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Time threshold corresponding to the calculated isoline.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Calculated isolines and associated properties.
" + } + }, + "com.amazonaws.georoutes#IsolineAllowOptions": { + "type": "structure", + "members": { + "Hot": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Allow Hot (High Occupancy Toll) lanes while calculating the route.
" + } + }, + "Hov": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Allow Hov (High Occupancy vehicle) lanes while calculating the route.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Features that are allowed while calculating. a route
" + } + }, + "com.amazonaws.georoutes#IsolineAvoidanceArea": { + "type": "structure", + "members": { + "Except": { + "target": "com.amazonaws.georoutes#IsolineAvoidanceAreaGeometryList", + "traits": { + "smithy.api#documentation": "Exceptions to the provided avoidance geometry, to be included while calculating the route.
" + } + }, + "Geometry": { + "target": "com.amazonaws.georoutes#IsolineAvoidanceAreaGeometry", + "traits": { + "smithy.api#documentation": "Geometry of the area to be avoided.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The area to be avoided.
" + } + }, + "com.amazonaws.georoutes#IsolineAvoidanceAreaGeometry": { + "type": "structure", + "members": { + "BoundingBox": { + "target": "com.amazonaws.georoutes#BoundingBox", + "traits": { + "smithy.api#documentation": "Geometry defined as a bounding box. The first pair represents the X and Y coordinates\n (longitude and latitude,) of the southwest corner of the bounding box; the second pair\n represents the X and Y coordinates (longitude and latitude) of the northeast corner.
" + } + }, + "Corridor": { + "target": "com.amazonaws.georoutes#Corridor", + "traits": { + "smithy.api#documentation": "Geometry defined as a corridor - a LineString with a radius that defines the width of the corridor.
" + } + }, + "Polygon": { + "target": "com.amazonaws.georoutes#LinearRings", + "traits": { + "smithy.api#documentation": "A list of Polygon will be excluded for calculating isolines, the list can only contain 1 polygon.
", + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "PolylineCorridor": { + "target": "com.amazonaws.georoutes#PolylineCorridor", + "traits": { + "smithy.api#documentation": "Geometry defined as an encoded corridor – a polyline with a radius that defines the width of the corridor. For more information on polyline \nencoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.
" + } + }, + "PolylinePolygon": { + "target": "com.amazonaws.georoutes#PolylineRingList", + "traits": { + "smithy.api#documentation": "A list of PolylinePolygon's that are excluded for calculating isolines, the list can only contain 1 polygon. For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md. \n
", + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + } + }, + "traits": { + "smithy.api#documentation": "The avoidance geometry, to be included while calculating the route.
" + } + }, + "com.amazonaws.georoutes#IsolineAvoidanceAreaGeometryList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#IsolineAvoidanceAreaGeometry" + } + }, + "com.amazonaws.georoutes#IsolineAvoidanceAreaList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#IsolineAvoidanceArea" + } + }, + "com.amazonaws.georoutes#IsolineAvoidanceOptions": { + "type": "structure", + "members": { + "Areas": { + "target": "com.amazonaws.georoutes#IsolineAvoidanceAreaList", + "traits": { + "smithy.api#documentation": "Areas to be avoided.
" + } + }, + "CarShuttleTrains": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid car-shuttle-trains while calculating the route.
" + } + }, + "ControlledAccessHighways": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid controlled access highways while calculating the route.
" + } + }, + "DirtRoads": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid dirt roads while calculating the route.
" + } + }, + "Ferries": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid ferries while calculating the route.
" + } + }, + "SeasonalClosure": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid roads that have seasonal closure while calculating the route.
" + } + }, + "TollRoads": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoids roads where the specified toll transponders are the only mode of payment.
" + } + }, + "TollTransponders": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoids roads where the specified toll transponders are the only mode of payment.
" + } + }, + "TruckRoadTypes": { + "target": "com.amazonaws.georoutes#TruckRoadTypeList", + "traits": { + "smithy.api#documentation": "Truck road type identifiers. BK1
through BK4
apply only to Sweden. \nA2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
\nAvoid tunnels while calculating the route.
" + } + }, + "UTurns": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid U-turns for calculation on highways and motorways.
" + } + }, + "ZoneCategories": { + "target": "com.amazonaws.georoutes#IsolineAvoidanceZoneCategoryList", + "traits": { + "smithy.api#documentation": "Zone categories to be avoided.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an\n avoidance can't be satisfied for a particular case, it violates the avoidance and the\n returned response produces a notice for the violation.
" + } + }, + "com.amazonaws.georoutes#IsolineAvoidanceZoneCategory": { + "type": "structure", + "members": { + "Category": { + "target": "com.amazonaws.georoutes#IsolineZoneCategory", + "traits": { + "smithy.api#documentation": "Zone category to be avoided.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Zone category to be avoided.
" + } + }, + "com.amazonaws.georoutes#IsolineAvoidanceZoneCategoryList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#IsolineAvoidanceZoneCategory" + }, + "traits": { + "smithy.api#length": { + "max": 3 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#IsolineCarOptions": { + "type": "structure", + "members": { + "EngineType": { + "target": "com.amazonaws.georoutes#IsolineEngineType", + "traits": { + "smithy.api#documentation": "Engine type of the vehicle.
" + } + }, + "LicensePlate": { + "target": "com.amazonaws.georoutes#IsolineVehicleLicensePlate", + "traits": { + "smithy.api#documentation": "The vehicle License Plate.
" + } + }, + "MaxSpeed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Maximum speed.
\n\n Unit: KilometersPerHour
\n
The number of occupants in the vehicle.
\nDefault Value: 1
\n
Options for vehicles.
" + } + }, + "com.amazonaws.georoutes#IsolineConnection": { + "type": "structure", + "members": { + "FromPolygonIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Index of the polygon corresponding to the \"from\" component of the connection. The polygon is available from Isoline[].Geometries
.
The isoline geometry.
", + "smithy.api#required": {} + } + }, + "ToPolygonIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Index of the polygon corresponding to the \"to\" component of the connection. The polygon is available from Isoline[].Geometries
.
Isolines may contain multiple components, if these components are connected by ferry links. These components are returned as separate polygons while the ferry links are returned as connections.
" + } + }, + "com.amazonaws.georoutes#IsolineConnectionGeometry": { + "type": "structure", + "members": { + "LineString": { + "target": "com.amazonaws.georoutes#LineString", + "traits": { + "smithy.api#documentation": "An ordered list of positions used to plot a route on a map.
\nLineString and Polyline are mutually exclusive properties.
\nAn ordered list of positions used to plot a route on a map in a lossy compression format.
\nLineString and Polyline are mutually exclusive properties.
\nGeometry of the connection between different Isoline components.
" + } + }, + "com.amazonaws.georoutes#IsolineConnectionList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#IsolineConnection" + } + }, + "com.amazonaws.georoutes#IsolineDestinationOptions": { + "type": "structure", + "members": { + "AvoidActionsForDistance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
" + } + }, + "Heading": { + "target": "com.amazonaws.georoutes#Heading", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "GPS Heading at the position.
" + } + }, + "Matching": { + "target": "com.amazonaws.georoutes#IsolineMatchingOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to the road network.
" + } + }, + "SideOfStreet": { + "target": "com.amazonaws.georoutes#IsolineSideOfStreetOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to a side of the street.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Destination related options.
" + } + }, + "com.amazonaws.georoutes#IsolineEngineType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ELECTRIC", + "value": "Electric" + }, + { + "name": "INTERNAL_COMBUSTION", + "value": "InternalCombustion" + }, + { + "name": "PLUGIN_HYBRID", + "value": "PluginHybrid" + } + ] + } + }, + "com.amazonaws.georoutes#IsolineGranularityOptions": { + "type": "structure", + "members": { + "MaxPoints": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Maximum number of points of returned Isoline.
", + "smithy.api#range": { + "min": 31 + } + } + }, + "MaxResolution": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Maximum resolution of the returned isoline.
\n\n Unit: centimeters
\n
Isoline granularity related options.
" + } + }, + "com.amazonaws.georoutes#IsolineHazardousCargoType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "COMBUSTIBLE", + "value": "Combustible" + }, + { + "name": "CORROSIVE", + "value": "Corrosive" + }, + { + "name": "EXPLOSIVE", + "value": "Explosive" + }, + { + "name": "FLAMMABLE", + "value": "Flammable" + }, + { + "name": "GAS", + "value": "Gas" + }, + { + "name": "HARMFUL_TO_WATER", + "value": "HarmfulToWater" + }, + { + "name": "ORGANIC", + "value": "Organic" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "POISON", + "value": "Poison" + }, + { + "name": "POISONOUS_INHALATION", + "value": "PoisonousInhalation" + }, + { + "name": "RADIOACTIVE", + "value": "Radioactive" + } + ] + } + }, + "com.amazonaws.georoutes#IsolineHazardousCargoTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#IsolineHazardousCargoType" + }, + "traits": { + "smithy.api#length": { + "max": 11 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#IsolineList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#Isoline" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, + "com.amazonaws.georoutes#IsolineMatchingOptions": { + "type": "structure", + "members": { + "NameHint": { + "target": "com.amazonaws.georoutes#SensitiveString", + "traits": { + "smithy.api#documentation": "Attempts to match the provided position to a road similar to the provided name.
" + } + }, + "OnRoadThreshold": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "If the distance to a highway/bridge/tunnel/sliproad is within threshold, the waypoint will be snapped to the highway/bridge/tunnel/sliproad.
\n\n Unit: meters
\n
Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.
\n\n Unit: Meters
\n
Strategy that defines matching of the position onto the road network. MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches to the most significant road.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Isoline matching related options.
" + } + }, + "com.amazonaws.georoutes#IsolineOptimizationObjective": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ACCURATE_CALCULATION", + "value": "AccurateCalculation" + }, + { + "name": "BALANCED_CALCULATION", + "value": "BalancedCalculation" + }, + { + "name": "FAST_CALCULATION", + "value": "FastCalculation" + } + ] + } + }, + "com.amazonaws.georoutes#IsolineOriginOptions": { + "type": "structure", + "members": { + "AvoidActionsForDistance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
" + } + }, + "Heading": { + "target": "com.amazonaws.georoutes#Heading", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "GPS Heading at the position.
" + } + }, + "Matching": { + "target": "com.amazonaws.georoutes#IsolineMatchingOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to the road network.
" + } + }, + "SideOfStreet": { + "target": "com.amazonaws.georoutes#IsolineSideOfStreetOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to a side of the street.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Options for the property.
" + } + }, + "com.amazonaws.georoutes#IsolineScooterOptions": { + "type": "structure", + "members": { + "EngineType": { + "target": "com.amazonaws.georoutes#IsolineEngineType", + "traits": { + "smithy.api#documentation": "Engine type of the vehicle.
" + } + }, + "LicensePlate": { + "target": "com.amazonaws.georoutes#IsolineVehicleLicensePlate", + "traits": { + "smithy.api#documentation": "The vehicle License Plate.
" + } + }, + "MaxSpeed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Maximum speed specified.
\n\n Unit: KilometersPerHour
\n
The number of occupants in the vehicle.
\nDefault Value: 1
\n
Options for the property.
" + } + }, + "com.amazonaws.georoutes#IsolineShapeGeometry": { + "type": "structure", + "members": { + "Polygon": { + "target": "com.amazonaws.georoutes#LinearRings", + "traits": { + "smithy.api#documentation": "A list of Isoline Polygons, for each isoline polygon, it contains polygons of the first linear ring (the outer ring) and from 2nd item to the last item (the inner rings).
" + } + }, + "PolylinePolygon": { + "target": "com.amazonaws.georoutes#PolylineRingList", + "traits": { + "smithy.api#documentation": "A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it contains PolylinePolygon \n of the first linear ring (the outer ring) and from 2nd item to the last item (the inner rings). \n For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Geometry of the connection between different Isoline components.
" + } + }, + "com.amazonaws.georoutes#IsolineShapeGeometryList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#IsolineShapeGeometry" + } + }, + "com.amazonaws.georoutes#IsolineSideOfStreetOptions": { + "type": "structure", + "members": { + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Strategy that defines when the side of street position should be used. AnyStreet will always use the provided position.
\nDefault Value: DividedStreetOnly
\n
Options to configure matching the provided position to a side of the street.
" + } + }, + "com.amazonaws.georoutes#IsolineThresholds": { + "type": "structure", + "members": { + "Distance": { + "target": "com.amazonaws.georoutes#DistanceThresholdList", + "traits": { + "smithy.api#documentation": "Distance to be used for the isoline calculation.
" + } + }, + "Time": { + "target": "com.amazonaws.georoutes#TimeThresholdList", + "traits": { + "smithy.api#documentation": "Time to be used for the isoline calculation.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Threshold to be used for the isoline calculation. Up to 3 thresholds per provided type\n can be requested.
" + } + }, + "com.amazonaws.georoutes#IsolineTrafficOptions": { + "type": "structure", + "members": { + "FlowEventThresholdOverride": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration for which flow traffic is considered valid. For this period, the flow traffic is used over historical traffic data. Flow traffic refers to congestion, which changes very quickly. Duration in seconds for which flow traffic event would be considered valid. While flow traffic event is valid it will be used over the historical traffic data.
\n\n Unit: seconds
\n
Determines if traffic should be used or ignored while calculating the route.
\nDefault Value: UseTrafficData
\n
Options related to traffic.
" + } + }, + "com.amazonaws.georoutes#IsolineTrailerOptions": { + "type": "structure", + "members": { + "AxleCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Total number of axles of the vehicle.
", + "smithy.api#range": { + "min": 1 + } + } + }, + "TrailerCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Number of trailers attached to the vehicle.
\nDefault Value: 0
\n
Trailer options corresponding to the vehicle.
" + } + }, + "com.amazonaws.georoutes#IsolineTravelMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CAR", + "value": "Car" + }, + { + "name": "PEDESTRIAN", + "value": "Pedestrian" + }, + { + "name": "SCOOTER", + "value": "Scooter" + }, + { + "name": "TRUCK", + "value": "Truck" + } + ] + } + }, + "com.amazonaws.georoutes#IsolineTravelModeOptions": { + "type": "structure", + "members": { + "Car": { + "target": "com.amazonaws.georoutes#IsolineCarOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Car\"
" + } + }, + "Scooter": { + "target": "com.amazonaws.georoutes#IsolineScooterOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Scooter\"
" + } + }, + "Truck": { + "target": "com.amazonaws.georoutes#IsolineTruckOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Truck\"
" + } + } + }, + "traits": { + "smithy.api#documentation": "Travel mode related options for the provided travel mode.
" + } + }, + "com.amazonaws.georoutes#IsolineTruckOptions": { + "type": "structure", + "members": { + "AxleCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Total number of axles of the vehicle.
", + "smithy.api#range": { + "min": 2, + "max": 255 + } + } + }, + "EngineType": { + "target": "com.amazonaws.georoutes#IsolineEngineType", + "traits": { + "smithy.api#documentation": "Engine type of the vehicle.
" + } + }, + "GrossWeight": { + "target": "com.amazonaws.georoutes#WeightKilograms", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Gross weight of the vehicle including trailers, and goods at capacity.
\n\n Unit: Kilograms
\n
List of Hazardous cargo contained in the vehicle.
" + } + }, + "Height": { + "target": "com.amazonaws.georoutes#DimensionCentimeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Height of the vehicle.
\n\n Unit: centimeters
\n
Height of the vehicle above its first axle.
\n\n Unit: centimeters
\n
Kingpin to rear axle length of the vehicle.
\n\n Unit: centimeters
\n
Length of the vehicle.
\n\n Unit: centimeters
\n
The vehicle License Plate.
" + } + }, + "MaxSpeed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Maximum speed specified.
\n\n Unit: KilometersPerHour
\n
The number of occupants in the vehicle.
\nDefault Value: 1
\n
Payload capacity of the vehicle and trailers attached.
\n\n Unit: kilograms
\n
Number of tires on the vehicle.
", + "smithy.api#range": { + "min": 1, + "max": 255 + } + } + }, + "Trailer": { + "target": "com.amazonaws.georoutes#IsolineTrailerOptions", + "traits": { + "smithy.api#documentation": "Trailer options corresponding to the vehicle.
" + } + }, + "TruckType": { + "target": "com.amazonaws.georoutes#IsolineTruckType", + "traits": { + "smithy.api#documentation": "Type of the truck.
" + } + }, + "TunnelRestrictionCode": { + "target": "com.amazonaws.georoutes#TunnelRestrictionCode", + "traits": { + "smithy.api#documentation": "The tunnel restriction code.
\nTunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. \n They relate to the types of dangerous goods that can be transported through them.
\n\n Tunnel Category B\n
\n\n Risk Level: Limited risk
\n\n Restrictions: Few restrictions
\n\n Tunnel Category C\n
\n\n Risk Level: Medium risk
\n\n Restrictions: Some restrictions
\n\n Tunnel Category D\n
\n\n Risk Level: High risk
\n\n Restrictions: Many restrictions occur
\n\n Tunnel Category E\n
\n\n Risk Level: Very high risk
\n\n Restrictions: Restricted tunnel
\nHeaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.
\n\n Unit: Kilograms
\n
Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.
\n\n Unit: Kilograms
\n
Width of the vehicle.
\n\n Unit: centimeters
\n
Travel mode options when the provided travel mode is \"Truck\"
" + } + }, + "com.amazonaws.georoutes#IsolineTruckType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "LIGHT_TRUCK", + "value": "LightTruck" + }, + { + "name": "STRAIGHT_TRUCK", + "value": "StraightTruck" + }, + { + "name": "TRACTOR", + "value": "Tractor" + } + ] + } + }, + "com.amazonaws.georoutes#IsolineVehicleLicensePlate": { + "type": "structure", + "members": { + "LastCharacter": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The last character of the License Plate.
", + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + } + }, + "traits": { + "smithy.api#documentation": "The vehicle license plate.
" + } + }, + "com.amazonaws.georoutes#IsolineZoneCategory": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CONGESTION_PRICING", + "value": "CongestionPricing" + }, + { + "name": "ENVIRONMENTAL", + "value": "Environmental" + }, + { + "name": "VIGNETTE", + "value": "Vignette" + } + ] + } + }, + "com.amazonaws.georoutes#LanguageTag": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 35 + } + } + }, + "com.amazonaws.georoutes#LanguageTagList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#LanguageTag" + } + }, + "com.amazonaws.georoutes#LineString": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#Position" + }, + "traits": { + "smithy.api#externalDocumentation": { + "Documentation": "https://tools.ietf.org/html/rfc7946#section-3.1.4" + }, + "smithy.api#length": { + "min": 2 + } + } + }, + "com.amazonaws.georoutes#LinearRing": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#Position" + }, + "traits": { + "smithy.api#externalDocumentation": { + "Documentation": "https://tools.ietf.org/html/rfc7946#section-3.1.6" + }, + "smithy.api#length": { + "min": 4 + } + } + }, + "com.amazonaws.georoutes#LinearRings": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#LinearRing" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.georoutes#LocalizedString": { + "type": "structure", + "members": { + "Language": { + "target": "com.amazonaws.georoutes#LanguageTag", + "traits": { + "smithy.api#documentation": "A list of BCP 47 compliant language codes for the results to be rendered in. The request\n uses the regional default as the fallback if the requested language can't be\n provided.
" + } + }, + "Value": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The value of the localized string.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The localized string.
" + } + }, + "com.amazonaws.georoutes#LocalizedStringList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#LocalizedString" + } + }, + "com.amazonaws.georoutes#MatchingStrategy": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "MATCH_ANY", + "value": "MatchAny" + }, + { + "name": "MATCH_MOST_SIGNIFICANT_ROAD", + "value": "MatchMostSignificantRoad" + } + ] + } + }, + "com.amazonaws.georoutes#MeasurementSystem": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "METRIC", + "value": "Metric" + }, + { + "name": "IMPERIAL", + "value": "Imperial" + } + ] + } + }, + "com.amazonaws.georoutes#OptimizeWaypoints": { + "type": "operation", + "input": { + "target": "com.amazonaws.georoutes#OptimizeWaypointsRequest" + }, + "output": { + "target": "com.amazonaws.georoutes#OptimizeWaypointsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.georoutes#AccessDeniedException" + }, + { + "target": "com.amazonaws.georoutes#InternalServerException" + }, + { + "target": "com.amazonaws.georoutes#ThrottlingException" + }, + { + "target": "com.amazonaws.georoutes#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "smithy.api#documentation": "Calculates the optimal order to travel between a set of waypoints to minimize either the\n travel time or the distance travelled during the journey, based on road network\n restrictions and the traffic pattern data.
", + "smithy.api#http": { + "uri": "/optimize-waypoints", + "method": "POST" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "OptimizeWaypointsSuccess", + "params": { + "Origin": [-123.253374, 49.351673], + "Destination": [-123.930756, 49.1314] + }, + "expect": { + "success": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-west-2" + } + } + ] + } + }, + "com.amazonaws.georoutes#OptimizeWaypointsRequest": { + "type": "structure", + "members": { + "Avoid": { + "target": "com.amazonaws.georoutes#WaypointOptimizationAvoidanceOptions", + "traits": { + "smithy.api#documentation": "Features that are avoided while calculating a route. Avoidance is on a best-case basis. If an\n avoidance can't be satisfied for a particular case, this setting is ignored.
" + } + }, + "DepartureTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Departure time from the waypoint.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
The final position for the route in the World Geodetic System (WGS 84) format:\n [longitude, latitude]
.
Destination related options.
" + } + }, + "Driver": { + "target": "com.amazonaws.georoutes#WaypointOptimizationDriverOptions", + "traits": { + "smithy.api#documentation": "Driver related options.
" + } + }, + "Exclude": { + "target": "com.amazonaws.georoutes#WaypointOptimizationExclusionOptions", + "traits": { + "smithy.api#documentation": "Features to be strictly excluded while calculating the route.
" + } + }, + "Key": { + "target": "com.amazonaws.georoutes#ApiKey", + "traits": { + "smithy.api#documentation": "Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.
", + "smithy.api#httpQuery": "key" + } + }, + "OptimizeSequencingFor": { + "target": "com.amazonaws.georoutes#WaypointOptimizationSequencingObjective", + "traits": { + "smithy.api#documentation": "Specifies the optimization criteria for the calculated sequence.
\nDefault Value: FastestRoute
.
The start position for the route.
", + "smithy.api#required": {} + } + }, + "OriginOptions": { + "target": "com.amazonaws.georoutes#WaypointOptimizationOriginOptions", + "traits": { + "smithy.api#documentation": "Origin related options.
" + } + }, + "Traffic": { + "target": "com.amazonaws.georoutes#WaypointOptimizationTrafficOptions", + "traits": { + "smithy.api#documentation": "Traffic-related options.
" + } + }, + "TravelMode": { + "target": "com.amazonaws.georoutes#WaypointOptimizationTravelMode", + "traits": { + "smithy.api#documentation": "Specifies the mode of transport when calculating a route. \n Used in estimating the speed of travel and road compatibility.
\nDefault Value: Car
\n
Travel mode related options for the provided travel mode.
" + } + }, + "Waypoints": { + "target": "com.amazonaws.georoutes#WaypointOptimizationWaypointList", + "traits": { + "smithy.api#documentation": "List of waypoints between the Origin
and Destination
.
Details about the connection from one waypoint to the next, within the optimized sequence.
", + "smithy.api#required": {} + } + }, + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Overall distance to travel the whole sequence.
", + "smithy.api#required": {} + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Overall duration to travel the whole sequence.
\n\n Unit: seconds
\n
Returns waypoints that caused the optimization problem to fail, and the constraints that were unsatisfied leading to the failure.
", + "smithy.api#required": {} + } + }, + "OptimizedWaypoints": { + "target": "com.amazonaws.georoutes#WaypointOptimizationOptimizedWaypointList", + "traits": { + "smithy.api#documentation": "Waypoints in the order of the optimized sequence.
", + "smithy.api#required": {} + } + }, + "PricingBucket": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The pricing bucket for which the query is charged at.
", + "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", + "smithy.api#required": {} + } + }, + "TimeBreakdown": { + "target": "com.amazonaws.georoutes#WaypointOptimizationTimeBreakdown", + "traits": { + "smithy.api#documentation": "Time breakdown for the sequence.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.georoutes#Polyline": { + "type": "string", + "traits": { + "smithy.api#externalDocumentation": { + "Documentation": "https://developers.google.com/maps/documentation/utilities/polylinealgorithm" + }, + "smithy.api#length": { + "min": 1 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.georoutes#PolylineCorridor": { + "type": "structure", + "members": { + "Polyline": { + "target": "com.amazonaws.georoutes#Polyline", + "traits": { + "smithy.api#documentation": "An ordered list of positions used to plot a route on a map in a lossy compression format.
\nLineString and Polyline are mutually exclusive properties.
\nConsiders all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.
\n\n Unit: Meters
\n
Geometry defined as an encoded corridor - an encoded polyline with a radius that defines\n the width of the corridor.
", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.georoutes#PolylineRing": { + "type": "string", + "traits": { + "smithy.api#externalDocumentation": { + "Documentation": "https://tools.ietf.org/html/rfc7946#section-3.1.6" + }, + "smithy.api#length": { + "min": 1 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.georoutes#PolylineRingList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#PolylineRing" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.georoutes#Position": { + "type": "list", + "member": { + "target": "smithy.api#Double" + }, + "traits": { + "smithy.api#externalDocumentation": { + "Documentation": "https://tools.ietf.org/html/rfc7946#section-3.1.1" + }, + "smithy.api#length": { + "min": 2, + "max": 2 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.georoutes#Position23": { + "type": "list", + "member": { + "target": "smithy.api#Double" + }, + "traits": { + "smithy.api#externalDocumentation": { + "Documentation": "https://tools.ietf.org/html/rfc7946#section-3.1.1" + }, + "smithy.api#length": { + "min": 2, + "max": 3 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.georoutes#ProviderResource": { + "type": "resource", + "operations": [ + { + "target": "com.amazonaws.georoutes#CalculateIsolines" + }, + { + "target": "com.amazonaws.georoutes#CalculateRouteMatrix" + }, + { + "target": "com.amazonaws.georoutes#CalculateRoutes" + }, + { + "target": "com.amazonaws.georoutes#OptimizeWaypoints" + }, + { + "target": "com.amazonaws.georoutes#SnapToRoads" + } + ] + }, + "com.amazonaws.georoutes#RoadSnapHazardousCargoType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "COMBUSTIBLE", + "value": "Combustible" + }, + { + "name": "CORROSIVE", + "value": "Corrosive" + }, + { + "name": "EXPLOSIVE", + "value": "Explosive" + }, + { + "name": "FLAMMABLE", + "value": "Flammable" + }, + { + "name": "GAS", + "value": "Gas" + }, + { + "name": "HARMFUL_TO_WATER", + "value": "HarmfulToWater" + }, + { + "name": "ORGANIC", + "value": "Organic" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "POISON", + "value": "Poison" + }, + { + "name": "POISONOUS_INHALATION", + "value": "PoisonousInhalation" + }, + { + "name": "RADIOACTIVE", + "value": "Radioactive" + } + ] + } + }, + "com.amazonaws.georoutes#RoadSnapHazardousCargoTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RoadSnapHazardousCargoType" + }, + "traits": { + "smithy.api#length": { + "max": 11 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#RoadSnapNotice": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.georoutes#RoadSnapNoticeCode", + "traits": { + "smithy.api#documentation": "Code corresponding to the issue.
", + "smithy.api#required": {} + } + }, + "Title": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The notice title.
", + "smithy.api#required": {} + } + }, + "TracePointIndexes": { + "target": "com.amazonaws.georoutes#RoadSnapTracePointIndexList", + "traits": { + "smithy.api#documentation": "TracePoint indices for which the provided notice code corresponds to.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Notices provide information around factors that may have influenced snapping in a manner atypical to the standard use cases.
" + } + }, + "com.amazonaws.georoutes#RoadSnapNoticeCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "TRACE_POINTS_HEADING_IGNORED", + "value": "TracePointsHeadingIgnored" + }, + { + "name": "TRACE_POINTS_IGNORED", + "value": "TracePointsIgnored" + }, + { + "name": "TRACE_POINTS_MOVED_BY_LARGE_DISTANCE", + "value": "TracePointsMovedByLargeDistance" + }, + { + "name": "TRACE_POINTS_NOT_MATCHED", + "value": "TracePointsNotMatched" + }, + { + "name": "TRACE_POINTS_OUT_OF_SEQUENCE", + "value": "TracePointsOutOfSequence" + }, + { + "name": "TRACE_POINTS_SPEED_ESTIMATED", + "value": "TracePointsSpeedEstimated" + }, + { + "name": "TRACE_POINTS_SPEED_IGNORED", + "value": "TracePointsSpeedIgnored" + } + ] + } + }, + "com.amazonaws.georoutes#RoadSnapNoticeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RoadSnapNotice" + } + }, + "com.amazonaws.georoutes#RoadSnapSnappedGeometry": { + "type": "structure", + "members": { + "LineString": { + "target": "com.amazonaws.georoutes#LineString", + "traits": { + "smithy.api#documentation": "An ordered list of positions used to plot a route on a map.
\nLineString and Polyline are mutually exclusive properties.
\nAn ordered list of positions used to plot a route on a map in a lossy compression format.
\nLineString and Polyline are mutually exclusive properties.
\nInterpolated geometry for the snapped route that is overlay-able onto a map.
" + } + }, + "com.amazonaws.georoutes#RoadSnapSnappedTracePoint": { + "type": "structure", + "members": { + "Confidence": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "Confidence value for the correctness of this point match.
", + "smithy.api#range": { + "min": 0, + "max": 1 + }, + "smithy.api#required": {} + } + }, + "OriginalPosition": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position of the TracePoint provided within the request, at the same index.
", + "smithy.api#required": {} + } + }, + "SnappedPosition": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Snapped position of the TracePoint provided within the request, at the same index.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "TracePoints snapped onto the road network.
" + } + }, + "com.amazonaws.georoutes#RoadSnapSnappedTracePointList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RoadSnapSnappedTracePoint" + } + }, + "com.amazonaws.georoutes#RoadSnapTracePoint": { + "type": "structure", + "members": { + "Heading": { + "target": "com.amazonaws.georoutes#Heading", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "GPS Heading at the position.
" + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Speed at the specified trace point .
\n\n Unit: KilometersPerHour
\n
Timestamp of the event.
" + } + } + }, + "traits": { + "smithy.api#documentation": "TracePoint indices for which the provided notice code corresponds to.
" + } + }, + "com.amazonaws.georoutes#RoadSnapTracePointIndexList": { + "type": "list", + "member": { + "target": "smithy.api#Integer" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.georoutes#RoadSnapTracePointList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RoadSnapTracePoint" + } + }, + "com.amazonaws.georoutes#RoadSnapTrailerOptions": { + "type": "structure", + "members": { + "TrailerCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Number of trailers attached to the vehicle.
\nDefault Value: 0
\n
Trailer options corresponding to the vehicle.
" + } + }, + "com.amazonaws.georoutes#RoadSnapTravelMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CAR", + "value": "Car" + }, + { + "name": "PEDESTRIAN", + "value": "Pedestrian" + }, + { + "name": "SCOOTER", + "value": "Scooter" + }, + { + "name": "TRUCK", + "value": "Truck" + } + ] + } + }, + "com.amazonaws.georoutes#RoadSnapTravelModeOptions": { + "type": "structure", + "members": { + "Truck": { + "target": "com.amazonaws.georoutes#RoadSnapTruckOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Truck\".
" + } + } + }, + "traits": { + "smithy.api#documentation": "Travel mode related options for the provided travel mode.
" + } + }, + "com.amazonaws.georoutes#RoadSnapTruckOptions": { + "type": "structure", + "members": { + "GrossWeight": { + "target": "com.amazonaws.georoutes#WeightKilograms", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Gross weight of the vehicle including trailers, and goods at capacity.
\n\n Unit: Kilograms
\n
List of Hazardous cargos contained in the vehicle.
" + } + }, + "Height": { + "target": "com.amazonaws.georoutes#DimensionCentimeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Height of the vehicle.
\n\n Unit: centimeters
\n
Length of the vehicle.
\n\n Unit: centimeters
\n
Trailer options corresponding to the vehicle.
" + } + }, + "TunnelRestrictionCode": { + "target": "com.amazonaws.georoutes#TunnelRestrictionCode", + "traits": { + "smithy.api#documentation": "The tunnel restriction code.
\nTunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. \n They relate to the types of dangerous goods that can be transported through them.
\n\n Tunnel Category B\n
\n\n Risk Level: Limited risk
\n\n Restrictions: Few restrictions
\n\n Tunnel Category C\n
\n\n Risk Level: Medium risk
\n\n Restrictions: Some restrictions
\n\n Tunnel Category D\n
\n\n Risk Level: High risk
\n\n Restrictions: Many restrictions occur
\n\n Tunnel Category E\n
\n\n Risk Level: Very high risk
\n\n Restrictions: Restricted tunnel
\nWidth of the vehicle in centimenters.
", + "smithy.api#range": { + "min": 0, + "max": 5000 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Truck\".
" + } + }, + "com.amazonaws.georoutes#RoundaboutAngle": { + "type": "double", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": -360, + "max": 360 + } + } + }, + "com.amazonaws.georoutes#Route": { + "type": "structure", + "members": { + "Legs": { + "target": "com.amazonaws.georoutes#RouteLegList", + "traits": { + "smithy.api#documentation": "A leg is a section of a route from one waypoint to the next. A leg could be of type Vehicle, Pedestrian or Ferry.\nLegs of different types could occur together within a single route. For example, a car employing the use of a Ferry will contain Vehicle legs corresponding to journey on land, and Ferry legs corresponding to the journey via Ferry.
", + "smithy.api#required": {} + } + }, + "MajorRoadLabels": { + "target": "com.amazonaws.georoutes#RouteMajorRoadLabelList", + "traits": { + "smithy.api#documentation": "Important labels including names and route numbers that differentiate the current route from the alternatives presented.
", + "smithy.api#length": { + "min": 0, + "max": 2 + }, + "smithy.api#required": {} + } + }, + "Summary": { + "target": "com.amazonaws.georoutes#RouteSummary", + "traits": { + "smithy.api#documentation": "Summarized details of the leg.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The route.
" + } + }, + "com.amazonaws.georoutes#RouteAllowOptions": { + "type": "structure", + "members": { + "Hot": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Allow Hot (High Occupancy Toll) lanes while calculating the route.
" + } + }, + "Hov": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Allow Hov (High Occupancy vehicle) lanes while calculating the route.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Features that are allowed while calculating. a route
" + } + }, + "com.amazonaws.georoutes#RouteAvoidanceArea": { + "type": "structure", + "members": { + "Except": { + "target": "com.amazonaws.georoutes#RouteAvoidanceAreaGeometryList", + "traits": { + "smithy.api#documentation": "Exceptions to the provided avoidance geometry, to be included while calculating the route.
" + } + }, + "Geometry": { + "target": "com.amazonaws.georoutes#RouteAvoidanceAreaGeometry", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Areas to be avoided.
" + } + }, + "com.amazonaws.georoutes#RouteAvoidanceAreaGeometry": { + "type": "structure", + "members": { + "Corridor": { + "target": "com.amazonaws.georoutes#Corridor", + "traits": { + "smithy.api#documentation": "Geometry defined as a corridor - a LineString with a radius that defines the width of the corridor.
" + } + }, + "BoundingBox": { + "target": "com.amazonaws.georoutes#BoundingBox", + "traits": { + "smithy.api#documentation": "Geometry defined as a bounding box. The first pair represents the X and Y coordinates\n (longitude and latitude,) of the southwest corner of the bounding box; the second pair\n represents the X and Y coordinates (longitude and latitude) of the northeast corner.
" + } + }, + "Polygon": { + "target": "com.amazonaws.georoutes#LinearRings", + "traits": { + "smithy.api#documentation": "Geometry defined as a polygon with only one linear ring.
", + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "PolylineCorridor": { + "target": "com.amazonaws.georoutes#PolylineCorridor", + "traits": { + "smithy.api#documentation": "Geometry defined as an encoded corridor - an encoded polyline with a radius that defines\n the width of the corridor.
" + } + }, + "PolylinePolygon": { + "target": "com.amazonaws.georoutes#PolylineRingList", + "traits": { + "smithy.api#documentation": "A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it contains PolylinePolygon \n of the first linear ring (the outer ring) and from 2nd item to the last item (the inner rings). \n For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.
", + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Geometry of the area to be avoided.
" + } + }, + "com.amazonaws.georoutes#RouteAvoidanceAreaGeometryList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteAvoidanceAreaGeometry" + } + }, + "com.amazonaws.georoutes#RouteAvoidanceAreaList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteAvoidanceArea" + } + }, + "com.amazonaws.georoutes#RouteAvoidanceOptions": { + "type": "structure", + "members": { + "Areas": { + "target": "com.amazonaws.georoutes#RouteAvoidanceAreaList", + "traits": { + "smithy.api#documentation": "Areas to be avoided.
" + } + }, + "CarShuttleTrains": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid car-shuttle-trains while calculating the route.
" + } + }, + "ControlledAccessHighways": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid controlled access highways while calculating the route.
" + } + }, + "DirtRoads": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid dirt roads while calculating the route.
" + } + }, + "Ferries": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid ferries while calculating the route.
" + } + }, + "SeasonalClosure": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid roads that have seasonal closure while calculating the route.
" + } + }, + "TollRoads": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoids roads where the specified toll transponders are the only mode of payment.
" + } + }, + "TollTransponders": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoids roads where the specified toll transponders are the only mode of payment.
" + } + }, + "TruckRoadTypes": { + "target": "com.amazonaws.georoutes#TruckRoadTypeList", + "traits": { + "smithy.api#documentation": "Truck road type identifiers. BK1
through BK4
apply only to Sweden. \n A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
\nAvoid tunnels while calculating the route.
" + } + }, + "UTurns": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid U-turns for calculation on highways and motorways.
" + } + }, + "ZoneCategories": { + "target": "com.amazonaws.georoutes#RouteAvoidanceZoneCategoryList", + "traits": { + "smithy.api#documentation": "Zone categories to be avoided.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Options related to areas to be avoided.
" + } + }, + "com.amazonaws.georoutes#RouteAvoidanceZoneCategory": { + "type": "structure", + "members": { + "Category": { + "target": "com.amazonaws.georoutes#RouteZoneCategory", + "traits": { + "smithy.api#documentation": "Zone category to be avoided.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Zone categories to be avoided.
" + } + }, + "com.amazonaws.georoutes#RouteAvoidanceZoneCategoryList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteAvoidanceZoneCategory" + }, + "traits": { + "smithy.api#length": { + "max": 3 + } + } + }, + "com.amazonaws.georoutes#RouteCarOptions": { + "type": "structure", + "members": { + "EngineType": { + "target": "com.amazonaws.georoutes#RouteEngineType", + "traits": { + "smithy.api#documentation": "Engine type of the vehicle.
" + } + }, + "LicensePlate": { + "target": "com.amazonaws.georoutes#RouteVehicleLicensePlate", + "traits": { + "smithy.api#documentation": "The vehicle License Plate.
" + } + }, + "MaxSpeed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Maximum speed specified.
\n\n Unit: KilometersPerHour
\n
The number of occupants in the vehicle.
\nDefault Value: 1
\n
Travel mode options when the provided travel mode is \"Car\"
" + } + }, + "com.amazonaws.georoutes#RouteContinueHighwayStepDetails": { + "type": "structure", + "members": { + "Intersection": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + }, + "SteeringDirection": { + "target": "com.amazonaws.georoutes#RouteSteeringDirection", + "traits": { + "smithy.api#documentation": "Steering direction for the step.
" + } + }, + "TurnAngle": { + "target": "com.amazonaws.georoutes#TurnAngle", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Angle of the turn.
" + } + }, + "TurnIntensity": { + "target": "com.amazonaws.georoutes#RouteTurnIntensity", + "traits": { + "smithy.api#documentation": "Intensity of the turn.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details related to the continue highway step.
" + } + }, + "com.amazonaws.georoutes#RouteContinueStepDetails": { + "type": "structure", + "members": { + "Intersection": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details related to the continue step.
" + } + }, + "com.amazonaws.georoutes#RouteDestinationOptions": { + "type": "structure", + "members": { + "AvoidActionsForDistance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
", + "smithy.api#range": { + "max": 2000 + } + } + }, + "AvoidUTurns": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid U-turns for calculation on highways and motorways.
" + } + }, + "Heading": { + "target": "com.amazonaws.georoutes#Heading", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "GPS Heading at the position.
" + } + }, + "Matching": { + "target": "com.amazonaws.georoutes#RouteMatchingOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to the road network.
" + } + }, + "SideOfStreet": { + "target": "com.amazonaws.georoutes#RouteSideOfStreetOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to a side of the street.
" + } + }, + "StopDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the stop.
\n\n Unit: seconds
\n
Options related to the destination.
" + } + }, + "com.amazonaws.georoutes#RouteDirection": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "EAST", + "value": "East" + }, + { + "name": "NORTH", + "value": "North" + }, + { + "name": "SOUTH", + "value": "South" + }, + { + "name": "WEST", + "value": "West" + } + ] + } + }, + "com.amazonaws.georoutes#RouteDriverOptions": { + "type": "structure", + "members": { + "Schedule": { + "target": "com.amazonaws.georoutes#RouteDriverScheduleIntervalList", + "traits": { + "smithy.api#documentation": "Driver work-rest schedule. Stops are added to fulfil the provided rest schedule.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Driver related options.
" + } + }, + "com.amazonaws.georoutes#RouteDriverScheduleInterval": { + "type": "structure", + "members": { + "DriveDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Maximum allowed driving time before stopping to rest.
\n\n Unit: seconds
\n
Resting time before the driver can continue driving.
\n\n Unit: seconds
\n
Interval of the driver work-rest schedule. \n Stops are added to fulfil the provided rest schedule.
" + } + }, + "com.amazonaws.georoutes#RouteDriverScheduleIntervalList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteDriverScheduleInterval" + } + }, + "com.amazonaws.georoutes#RouteEmissionType": { + "type": "structure", + "members": { + "Co2EmissionClass": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The CO 2 emission classes.
" + } + }, + "Type": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Type of the emission.
\n\n Valid values: Euro1, Euro2, Euro3, Euro4, Euro5, Euro6, EuroEev
\n
Type of the emission.
\n\n Valid values: Euro1, Euro2, Euro3, Euro4, Euro5, Euro6, EuroEev
\n
Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + }, + "SteeringDirection": { + "target": "com.amazonaws.georoutes#RouteSteeringDirection", + "traits": { + "smithy.api#documentation": "Steering direction for the step.
" + } + }, + "TurnAngle": { + "target": "com.amazonaws.georoutes#TurnAngle", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Angle of the turn.
" + } + }, + "TurnIntensity": { + "target": "com.amazonaws.georoutes#RouteTurnIntensity", + "traits": { + "smithy.api#documentation": "Intensity of the turn.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details related to the enter highway step.
" + } + }, + "com.amazonaws.georoutes#RouteExclusionOptions": { + "type": "structure", + "members": { + "Countries": { + "target": "com.amazonaws.georoutes#CountryCodeList", + "traits": { + "smithy.api#documentation": "List of countries to be avoided defined by two-letter or three-letter country codes.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Exclusion options for the route.
" + } + }, + "com.amazonaws.georoutes#RouteExitStepDetails": { + "type": "structure", + "members": { + "Intersection": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + }, + "RelativeExit": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Exit to be taken.
", + "smithy.api#range": { + "min": 1, + "max": 12 + } + } + }, + "SteeringDirection": { + "target": "com.amazonaws.georoutes#RouteSteeringDirection", + "traits": { + "smithy.api#documentation": "Steering direction for the step.
" + } + }, + "TurnAngle": { + "target": "com.amazonaws.georoutes#TurnAngle", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Angle of the turn.
" + } + }, + "TurnIntensity": { + "target": "com.amazonaws.georoutes#RouteTurnIntensity", + "traits": { + "smithy.api#documentation": "Intensity of the turn.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details related to the exit step.
" + } + }, + "com.amazonaws.georoutes#RouteFerryAfterTravelStep": { + "type": "structure", + "members": { + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the step.
\n\n Unit: seconds
\n
Brief description of the step in the requested language.
\nOnly available when the TravelStepType is Default.
\nType of the step.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Steps of a leg that must be performed after the travel portion of the leg.
" + } + }, + "com.amazonaws.georoutes#RouteFerryAfterTravelStepList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteFerryAfterTravelStep" + } + }, + "com.amazonaws.georoutes#RouteFerryAfterTravelStepType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "DEBOARD", + "value": "Deboard" + } + ] + } + }, + "com.amazonaws.georoutes#RouteFerryArrival": { + "type": "structure", + "members": { + "Place": { + "target": "com.amazonaws.georoutes#RouteFerryPlace", + "traits": { + "smithy.api#documentation": "The place details.
", + "smithy.api#required": {} + } + }, + "Time": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "The time.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details corresponding to the arrival for the leg.
" + } + }, + "com.amazonaws.georoutes#RouteFerryBeforeTravelStep": { + "type": "structure", + "members": { + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the step.
\n\n Unit: seconds
\n
Brief description of the step in the requested language.
\nOnly available when the TravelStepType is Default.
\nType of the step.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Steps of a leg that must be performed before the travel portion of the leg.
" + } + }, + "com.amazonaws.georoutes#RouteFerryBeforeTravelStepList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteFerryBeforeTravelStep" + } + }, + "com.amazonaws.georoutes#RouteFerryBeforeTravelStepType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "BOARD", + "value": "Board" + } + ] + } + }, + "com.amazonaws.georoutes#RouteFerryDeparture": { + "type": "structure", + "members": { + "Place": { + "target": "com.amazonaws.georoutes#RouteFerryPlace", + "traits": { + "smithy.api#documentation": "The place details.
", + "smithy.api#required": {} + } + }, + "Time": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "The time.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details corresponding to the departure for the leg.
" + } + }, + "com.amazonaws.georoutes#RouteFerryLegDetails": { + "type": "structure", + "members": { + "AfterTravelSteps": { + "target": "com.amazonaws.georoutes#RouteFerryAfterTravelStepList", + "traits": { + "smithy.api#documentation": "Steps of a leg that must be performed after the travel portion of the leg.
", + "smithy.api#required": {} + } + }, + "Arrival": { + "target": "com.amazonaws.georoutes#RouteFerryArrival", + "traits": { + "smithy.api#documentation": "Details corresponding to the arrival for the leg.
", + "smithy.api#required": {} + } + }, + "BeforeTravelSteps": { + "target": "com.amazonaws.georoutes#RouteFerryBeforeTravelStepList", + "traits": { + "smithy.api#documentation": "Steps of a leg that must be performed before the travel portion of the leg.
", + "smithy.api#required": {} + } + }, + "Departure": { + "target": "com.amazonaws.georoutes#RouteFerryDeparture", + "traits": { + "smithy.api#documentation": "Details corresponding to the departure for the leg.
", + "smithy.api#required": {} + } + }, + "Notices": { + "target": "com.amazonaws.georoutes#RouteFerryNoticeList", + "traits": { + "smithy.api#documentation": "Notices are additional information returned that indicate issues that occurred during route calculation.
", + "smithy.api#required": {} + } + }, + "PassThroughWaypoints": { + "target": "com.amazonaws.georoutes#RoutePassThroughWaypointList", + "traits": { + "smithy.api#documentation": "Waypoints that were passed through during the leg. This includes the waypoints that were configured with the PassThrough option.
", + "smithy.api#required": {} + } + }, + "RouteName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Route name of the ferry line.
" + } + }, + "Spans": { + "target": "com.amazonaws.georoutes#RouteFerrySpanList", + "traits": { + "smithy.api#documentation": "Spans that were computed for the requested SpanAdditionalFeatures.
", + "smithy.api#required": {} + } + }, + "Summary": { + "target": "com.amazonaws.georoutes#RouteFerrySummary", + "traits": { + "smithy.api#documentation": "Summarized details of the leg.
" + } + }, + "TravelSteps": { + "target": "com.amazonaws.georoutes#RouteFerryTravelStepList", + "traits": { + "smithy.api#documentation": "Steps of a leg that must be performed before the travel portion of the leg.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "FerryLegDetails is populated when the Leg type is Ferry, and provides additional\n information that is specific
" + } + }, + "com.amazonaws.georoutes#RouteFerryNotice": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.georoutes#RouteFerryNoticeCode", + "traits": { + "smithy.api#documentation": "Code corresponding to the issue.
", + "smithy.api#required": {} + } + }, + "Impact": { + "target": "com.amazonaws.georoutes#RouteNoticeImpact", + "traits": { + "smithy.api#documentation": "Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Notices are additional information returned that indicate issues that occurred during route calculation.
" + } + }, + "com.amazonaws.georoutes#RouteFerryNoticeCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ACCURATE_POLYLINE_UNAVAILABLE", + "value": "AccuratePolylineUnavailable" + }, + { + "name": "NO_SCHEDULE", + "value": "NoSchedule" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "VIOLATED_AVOID_FERRY", + "value": "ViolatedAvoidFerry" + }, + { + "name": "VIOLATED_AVOID_RAIL_FERRY", + "value": "ViolatedAvoidRailFerry" + } + ] + } + }, + "com.amazonaws.georoutes#RouteFerryNoticeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteFerryNotice" + } + }, + "com.amazonaws.georoutes#RouteFerryOverviewSummary": { + "type": "structure", + "members": { + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Distance of the step.
", + "smithy.api#required": {} + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the step.
\n\n Unit: seconds
\n
Summarized details of the leg.
" + } + }, + "com.amazonaws.georoutes#RouteFerryPlace": { + "type": "structure", + "members": { + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The name of the place.
" + } + }, + "OriginalPosition": { + "target": "com.amazonaws.georoutes#Position23", + "traits": { + "smithy.api#documentation": "Position provided in the request.
" + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position23", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Index of the waypoint in the request.
", + "smithy.api#range": { + "min": 0 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Position provided in the request.
" + } + }, + "com.amazonaws.georoutes#RouteFerrySpan": { + "type": "structure", + "members": { + "Country": { + "target": "com.amazonaws.georoutes#CountryCode3", + "traits": { + "smithy.api#documentation": "3 letter Country code corresponding to the Span.
" + } + }, + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Distance of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
" + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
\n\n Unit: seconds
\n
Offset in the leg geometry corresponding to the start of this span.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "Names": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Provides an array of names of the ferry span in available languages.
" + } + }, + "Region": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "2-3 letter Region code corresponding to the Span. This is either a province or a state.
", + "smithy.api#length": { + "min": 0, + "max": 3 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Span computed for the requested SpanAdditionalFeatures.
" + } + }, + "com.amazonaws.georoutes#RouteFerrySpanList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteFerrySpan" + } + }, + "com.amazonaws.georoutes#RouteFerrySummary": { + "type": "structure", + "members": { + "Overview": { + "target": "com.amazonaws.georoutes#RouteFerryOverviewSummary", + "traits": { + "smithy.api#documentation": "Summarized details for the leg including before travel, travel and after travel steps.
" + } + }, + "TravelOnly": { + "target": "com.amazonaws.georoutes#RouteFerryTravelOnlySummary", + "traits": { + "smithy.api#documentation": "Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is in meters
" + } + } + }, + "traits": { + "smithy.api#documentation": "Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is the same as the Distance within the Overview summary.
" + } + }, + "com.amazonaws.georoutes#RouteFerryTravelOnlySummary": { + "type": "structure", + "members": { + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Total duration in free flowing traffic, which is the best case or shortest duration possible to cover the leg.
\n\n Unit: seconds
\n
Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is the same as the Distance within the Overview summary.
" + } + }, + "com.amazonaws.georoutes#RouteFerryTravelStep": { + "type": "structure", + "members": { + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Distance of the step.
" + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the step.
\n\n Unit: seconds
\n
Offset in the leg geometry corresponding to the start of this step.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "Instruction": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Brief description of the step in the requested language.
\nOnly available when the TravelStepType is Default.
\nType of the step.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Steps of a leg that must be performed during the travel portion of the leg.
" + } + }, + "com.amazonaws.georoutes#RouteFerryTravelStepList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteFerryTravelStep" + } + }, + "com.amazonaws.georoutes#RouteFerryTravelStepType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "DEPART", + "value": "Depart" + }, + { + "name": "CONTINUE", + "value": "Continue" + }, + { + "name": "ARRIVE", + "value": "Arrive" + } + ] + } + }, + "com.amazonaws.georoutes#RouteHazardousCargoType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "COMBUSTIBLE", + "value": "Combustible" + }, + { + "name": "CORROSIVE", + "value": "Corrosive" + }, + { + "name": "EXPLOSIVE", + "value": "Explosive" + }, + { + "name": "FLAMMABLE", + "value": "Flammable" + }, + { + "name": "GAS", + "value": "Gas" + }, + { + "name": "HARMFUL_TO_WATER", + "value": "HarmfulToWater" + }, + { + "name": "ORGANIC", + "value": "Organic" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "POISON", + "value": "Poison" + }, + { + "name": "POISONOUS_INHALATION", + "value": "PoisonousInhalation" + }, + { + "name": "RADIOACTIVE", + "value": "Radioactive" + } + ] + } + }, + "com.amazonaws.georoutes#RouteHazardousCargoTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteHazardousCargoType" + }, + "traits": { + "smithy.api#length": { + "max": 11 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#RouteKeepStepDetails": { + "type": "structure", + "members": { + "Intersection": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + }, + "SteeringDirection": { + "target": "com.amazonaws.georoutes#RouteSteeringDirection", + "traits": { + "smithy.api#documentation": "Steering direction for the step.
" + } + }, + "TurnAngle": { + "target": "com.amazonaws.georoutes#TurnAngle", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Angle of the turn.
" + } + }, + "TurnIntensity": { + "target": "com.amazonaws.georoutes#RouteTurnIntensity", + "traits": { + "smithy.api#documentation": "Intensity of the turn.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details that are specific to a Keep step.
" + } + }, + "com.amazonaws.georoutes#RouteLeg": { + "type": "structure", + "members": { + "FerryLegDetails": { + "target": "com.amazonaws.georoutes#RouteFerryLegDetails", + "traits": { + "smithy.api#documentation": "FerryLegDetails is populated when the Leg type is Ferry, and provides additional\n information that is specific
" + } + }, + "Geometry": { + "target": "com.amazonaws.georoutes#RouteLegGeometry", + "traits": { + "smithy.api#documentation": "Geometry of the area to be avoided.
", + "smithy.api#required": {} + } + }, + "Language": { + "target": "com.amazonaws.georoutes#LanguageTag", + "traits": { + "smithy.api#documentation": "List of languages for instructions within steps in the response.
" + } + }, + "PedestrianLegDetails": { + "target": "com.amazonaws.georoutes#RoutePedestrianLegDetails", + "traits": { + "smithy.api#documentation": "Details related to the pedestrian leg.
" + } + }, + "TravelMode": { + "target": "com.amazonaws.georoutes#RouteLegTravelMode", + "traits": { + "smithy.api#documentation": "Specifies the mode of transport when calculating a route. \n Used in estimating the speed of travel and road compatibility.
\nDefault Value: Car
\n
Type of the leg.
", + "smithy.api#required": {} + } + }, + "VehicleLegDetails": { + "target": "com.amazonaws.georoutes#RouteVehicleLegDetails", + "traits": { + "smithy.api#documentation": "Details related to the vehicle leg.
" + } + } + }, + "traits": { + "smithy.api#documentation": "A leg is a section of a route from one waypoint to the next. A leg could be of type Vehicle, Pedestrian or Ferry.\nLegs of different types could occur together within a single route. For example, a car employing the use of a Ferry will contain Vehicle legs corresponding to journey on land, and Ferry legs corresponding to the journey via Ferry.
" + } + }, + "com.amazonaws.georoutes#RouteLegAdditionalFeature": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ELEVATION", + "value": "Elevation" + }, + { + "name": "INCIDENTS", + "value": "Incidents" + }, + { + "name": "PASS_THROUGH_WAYPOINTS", + "value": "PassThroughWaypoints" + }, + { + "name": "SUMMARY", + "value": "Summary" + }, + { + "name": "TOLLS", + "value": "Tolls" + }, + { + "name": "TRAVEL_STEP_INSTRUCTIONS", + "value": "TravelStepInstructions" + }, + { + "name": "TRUCK_ROAD_TYPES", + "value": "TruckRoadTypes" + }, + { + "name": "TYPICAL_DURATION", + "value": "TypicalDuration" + }, + { + "name": "ZONES", + "value": "Zones" + } + ] + } + }, + "com.amazonaws.georoutes#RouteLegAdditionalFeatureList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteLegAdditionalFeature" + }, + "traits": { + "smithy.api#length": { + "max": 9 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#RouteLegGeometry": { + "type": "structure", + "members": { + "LineString": { + "target": "com.amazonaws.georoutes#LineString", + "traits": { + "smithy.api#documentation": "An ordered list of positions used to plot a route on a map.
\nLineString and Polyline are mutually exclusive properties.
\nAn ordered list of positions used to plot a route on a map in a lossy compression format.
\nLineString and Polyline are mutually exclusive properties.
\nThe returned Route leg geometry.
" + } + }, + "com.amazonaws.georoutes#RouteLegList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteLeg" + } + }, + "com.amazonaws.georoutes#RouteLegTravelMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CAR", + "value": "Car" + }, + { + "name": "FERRY", + "value": "Ferry" + }, + { + "name": "PEDESTRIAN", + "value": "Pedestrian" + }, + { + "name": "SCOOTER", + "value": "Scooter" + }, + { + "name": "TRUCK", + "value": "Truck" + } + ] + } + }, + "com.amazonaws.georoutes#RouteLegType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "FERRY", + "value": "Ferry" + }, + { + "name": "PEDESTRIAN", + "value": "Pedestrian" + }, + { + "name": "VEHICLE", + "value": "Vehicle" + } + ] + } + }, + "com.amazonaws.georoutes#RouteList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#Route" + } + }, + "com.amazonaws.georoutes#RouteMajorRoadLabel": { + "type": "structure", + "members": { + "RoadName": { + "target": "com.amazonaws.georoutes#LocalizedString", + "traits": { + "smithy.api#documentation": "Name of the road (localized).
" + } + }, + "RouteNumber": { + "target": "com.amazonaws.georoutes#RouteNumber", + "traits": { + "smithy.api#documentation": "Route number of the road.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Important labels including names and route numbers that differentiate the current route from the alternatives presented.
" + } + }, + "com.amazonaws.georoutes#RouteMajorRoadLabelList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteMajorRoadLabel" + } + }, + "com.amazonaws.georoutes#RouteMatchingOptions": { + "type": "structure", + "members": { + "NameHint": { + "target": "com.amazonaws.georoutes#SensitiveString", + "traits": { + "smithy.api#documentation": "Attempts to match the provided position to a road similar to the provided name.
", + "smithy.api#length": { + "max": 100 + } + } + }, + "OnRoadThreshold": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "If the distance to a highway/bridge/tunnel/sliproad is within threshold, the waypoint will be snapped to the highway/bridge/tunnel/sliproad.
\n\n Unit: meters
\n
Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.
\n\n Unit: Meters
\n
Strategy that defines matching of the position onto the road network. MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches to the most significant road.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Options related to route matching.
" + } + }, + "com.amazonaws.georoutes#RouteMatrix": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteMatrixRow" + } + }, + "com.amazonaws.georoutes#RouteMatrixAllowOptions": { + "type": "structure", + "members": { + "Hot": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Allow Hot (High Occupancy Toll) lanes while calculating the route.
" + } + }, + "Hov": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Allow Hov (High Occupancy vehicle) lanes while calculating the route.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Allow Options related to the route matrix.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixAutoCircle": { + "type": "structure", + "members": { + "Margin": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The margin provided for the calculation.
", + "smithy.api#range": { + "min": 0, + "max": 200000 + } + } + }, + "MaxRadius": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The maximum size of the radius provided for the calculation.
", + "smithy.api#range": { + "min": 0, + "max": 200000 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Provides the circle that was used while calculating the route.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixAvoidanceArea": { + "type": "structure", + "members": { + "Geometry": { + "target": "com.amazonaws.georoutes#RouteMatrixAvoidanceAreaGeometry", + "traits": { + "smithy.api#documentation": "Geometry of the area to be avoided.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Area to be avoided.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixAvoidanceAreaGeometry": { + "type": "structure", + "members": { + "BoundingBox": { + "target": "com.amazonaws.georoutes#BoundingBox", + "traits": { + "smithy.api#documentation": "Geometry defined as a bounding box. The first pair represents the X and Y coordinates\n (longitude and latitude,) of the southwest corner of the bounding box; the second pair\n represents the X and Y coordinates (longitude and latitude) of the northeast corner.
" + } + }, + "Polygon": { + "target": "com.amazonaws.georoutes#LinearRings", + "traits": { + "smithy.api#documentation": "Geometry defined as a polygon with only one linear ring.
", + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "PolylinePolygon": { + "target": "com.amazonaws.georoutes#PolylineRingList", + "traits": { + "smithy.api#documentation": "A list of Isoline PolylinePolygon, for each isoline PolylinePolygon, it contains\n PolylinePolygon of the first linear ring (the outer ring) and from second item to the last\n item (the inner rings). For more information on polyline encoding, see https://github.com/heremaps/flexiblepolyline/blob/master/README.md.
", + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Geometry of the area to be avoided.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixAvoidanceAreaList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteMatrixAvoidanceArea" + } + }, + "com.amazonaws.georoutes#RouteMatrixAvoidanceOptions": { + "type": "structure", + "members": { + "Areas": { + "target": "com.amazonaws.georoutes#RouteMatrixAvoidanceAreaList", + "traits": { + "smithy.api#documentation": "Areas to be avoided.
", + "smithy.api#length": { + "max": 250 + } + } + }, + "CarShuttleTrains": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid car-shuttle-trains while calculating the route.
" + } + }, + "ControlledAccessHighways": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid controlled access highways while calculating the route.
" + } + }, + "DirtRoads": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid dirt roads while calculating the route.
" + } + }, + "Ferries": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid ferries while calculating the route.
" + } + }, + "TollRoads": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoids roads where the specified toll transponders are the only mode of payment.
" + } + }, + "TollTransponders": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoids roads where the specified toll transponders are the only mode of payment.
" + } + }, + "TruckRoadTypes": { + "target": "com.amazonaws.georoutes#TruckRoadTypeList", + "traits": { + "smithy.api#documentation": "Truck road type identifiers. BK1
through BK4
apply only to Sweden. \n A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
\nAvoid tunnels while calculating the route.
" + } + }, + "UTurns": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid U-turns for calculation on highways and motorways.
" + } + }, + "ZoneCategories": { + "target": "com.amazonaws.georoutes#RouteMatrixAvoidanceZoneCategoryList", + "traits": { + "smithy.api#documentation": "Zone categories to be avoided.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Options related to the route matrix.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixAvoidanceZoneCategory": { + "type": "structure", + "members": { + "Category": { + "target": "com.amazonaws.georoutes#RouteMatrixZoneCategory", + "traits": { + "smithy.api#documentation": "Zone category to be avoided.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Zone categories to be avoided.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixAvoidanceZoneCategoryList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteMatrixAvoidanceZoneCategory" + }, + "traits": { + "smithy.api#length": { + "max": 3 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#RouteMatrixBoundary": { + "type": "structure", + "members": { + "Geometry": { + "target": "com.amazonaws.georoutes#RouteMatrixBoundaryGeometry", + "traits": { + "smithy.api#documentation": "Geometry of the area to be avoided.
" + } + }, + "Unbounded": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "No restrictions in terms of a routing boundary, and is typically used for longer routes.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Boundary within which the matrix is to be calculated. All data, origins and destinations outside the boundary are considered invalid.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixBoundaryGeometry": { + "type": "structure", + "members": { + "AutoCircle": { + "target": "com.amazonaws.georoutes#RouteMatrixAutoCircle", + "traits": { + "smithy.api#documentation": "Provides the circle that was used while calculating the route.
" + } + }, + "Circle": { + "target": "com.amazonaws.georoutes#Circle", + "traits": { + "smithy.api#documentation": "Geometry defined as a circle. When request routing boundary was set as AutoCircle
, the response routing boundary will return Circle
derived from the AutoCircle
settings.
Geometry defined as a bounding box. The first pair represents the X and Y coordinates\n (longitude and latitude,) of the southwest corner of the bounding box; the second pair\n represents the X and Y coordinates (longitude and latitude) of the northeast corner.
" + } + }, + "Polygon": { + "target": "com.amazonaws.georoutes#LinearRings", + "traits": { + "smithy.api#documentation": "Geometry defined as a polygon with only one linear ring.
", + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Geometry of the routing boundary.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixCarOptions": { + "type": "structure", + "members": { + "LicensePlate": { + "target": "com.amazonaws.georoutes#RouteMatrixVehicleLicensePlate", + "traits": { + "smithy.api#documentation": "The vehicle License Plate.
" + } + }, + "MaxSpeed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Maximum speed
\n\n Unit: KilometersPerHour
\n
The number of occupants in the vehicle.
\nDefault Value: 1
\n
Options related to the car.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixDestination": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.georoutes#RouteMatrixDestinationOptions", + "traits": { + "smithy.api#documentation": "Destination related options.
" + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
The route destination.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixDestinationList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteMatrixDestination" + } + }, + "com.amazonaws.georoutes#RouteMatrixDestinationOptions": { + "type": "structure", + "members": { + "AvoidActionsForDistance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "Heading": { + "target": "com.amazonaws.georoutes#Heading", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "GPS Heading at the position.
" + } + }, + "Matching": { + "target": "com.amazonaws.georoutes#RouteMatrixMatchingOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to the road network.
" + } + }, + "SideOfStreet": { + "target": "com.amazonaws.georoutes#RouteMatrixSideOfStreetOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to a side of the street.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Options related to the destination.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixEntry": { + "type": "structure", + "members": { + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The total distance of travel for the route.
", + "smithy.api#required": {} + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The expected duration of travel for the route.
\n\n Unit: seconds
\n
Error code that occurred during calculation of the route.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The calculated route matrix containing the results for all pairs of Origins to Destination positions. Each row corresponds to one entry in Origins. Each entry in the row corresponds to the route from that entry in Origins to an entry in Destination positions.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixErrorCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "NO_MATCH", + "value": "NoMatch" + }, + { + "name": "NO_MATCH_DESTINATION", + "value": "NoMatchDestination" + }, + { + "name": "NO_MATCH_ORIGIN", + "value": "NoMatchOrigin" + }, + { + "name": "NO_ROUTE", + "value": "NoRoute" + }, + { + "name": "OUT_OF_BOUNDS", + "value": "OutOfBounds" + }, + { + "name": "OUT_OF_BOUNDS_DESTINATION", + "value": "OutOfBoundsDestination" + }, + { + "name": "OUT_OF_BOUNDS_ORIGIN", + "value": "OutOfBoundsOrigin" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "VIOLATION", + "value": "Violation" + } + ] + } + }, + "com.amazonaws.georoutes#RouteMatrixExclusionOptions": { + "type": "structure", + "members": { + "Countries": { + "target": "com.amazonaws.georoutes#CountryCodeList", + "traits": { + "smithy.api#documentation": "List of countries to be avoided defined by two-letter or three-letter country codes.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Exclusion options.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixHazardousCargoType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "COMBUSTIBLE", + "value": "Combustible" + }, + { + "name": "CORROSIVE", + "value": "Corrosive" + }, + { + "name": "EXPLOSIVE", + "value": "Explosive" + }, + { + "name": "FLAMMABLE", + "value": "Flammable" + }, + { + "name": "GAS", + "value": "Gas" + }, + { + "name": "HARMFUL_TO_WATER", + "value": "HarmfulToWater" + }, + { + "name": "ORGANIC", + "value": "Organic" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "POISON", + "value": "Poison" + }, + { + "name": "POISONOUS_INHALATION", + "value": "PoisonousInhalation" + }, + { + "name": "RADIOACTIVE", + "value": "Radioactive" + } + ] + } + }, + "com.amazonaws.georoutes#RouteMatrixHazardousCargoTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteMatrixHazardousCargoType" + }, + "traits": { + "smithy.api#length": { + "max": 11 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#RouteMatrixMatchingOptions": { + "type": "structure", + "members": { + "NameHint": { + "target": "com.amazonaws.georoutes#SensitiveString", + "traits": { + "smithy.api#documentation": "Attempts to match the provided position to a road similar to the provided name.
" + } + }, + "OnRoadThreshold": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "If the distance to a highway/bridge/tunnel/sliproad is within threshold, the waypoint will be snapped to the highway/bridge/tunnel/sliproad.
\n\n Unit: meters
\n
Considers all roads within the provided radius to match the provided destination to. The roads that are considered are determined by the provided Strategy.
\n\n Unit: Meters
\n
Strategy that defines matching of the position onto the road network. MatchAny considers all roads possible, whereas MatchMostSignificantRoad matches to the most significant road.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Matching options.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixOrigin": { + "type": "structure", + "members": { + "Options": { + "target": "com.amazonaws.georoutes#RouteMatrixOriginOptions", + "traits": { + "smithy.api#documentation": "Origin related options.
" + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
The start position for the route.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixOriginList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteMatrixOrigin" + } + }, + "com.amazonaws.georoutes#RouteMatrixOriginOptions": { + "type": "structure", + "members": { + "AvoidActionsForDistance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "Heading": { + "target": "com.amazonaws.georoutes#Heading", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "GPS Heading at the position.
" + } + }, + "Matching": { + "target": "com.amazonaws.georoutes#RouteMatrixMatchingOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to the road network.
" + } + }, + "SideOfStreet": { + "target": "com.amazonaws.georoutes#RouteMatrixSideOfStreetOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to a side of the street.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Origin related options.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixRow": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteMatrixEntry" + } + }, + "com.amazonaws.georoutes#RouteMatrixScooterOptions": { + "type": "structure", + "members": { + "LicensePlate": { + "target": "com.amazonaws.georoutes#RouteMatrixVehicleLicensePlate", + "traits": { + "smithy.api#documentation": "The vehicle License Plate.
" + } + }, + "MaxSpeed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Maximum speed.
\n\n Unit: KilometersPerHour
\n
The number of occupants in the vehicle.
\nDefault Value: 1
\n
Travel mode options when the provided travel mode is \"Scooter\"
" + } + }, + "com.amazonaws.georoutes#RouteMatrixSideOfStreetOptions": { + "type": "structure", + "members": { + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Strategy that defines when the side of street position should be used. AnyStreet will always use the provided position.
\nDefault Value: DividedStreetOnly
\n
Options to configure matching the provided position to a side of the street.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixTrafficOptions": { + "type": "structure", + "members": { + "FlowEventThresholdOverride": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration for which flow traffic is considered valid. \n For this period, the flow traffic is used over historical traffic data. \n Flow traffic refers to congestion, which changes very quickly. \n Duration in seconds for which flow traffic event would be considered valid. \n While flow traffic event is valid it will be used over the historical traffic data.
" + } + }, + "Usage": { + "target": "com.amazonaws.georoutes#TrafficUsage", + "traits": { + "smithy.api#documentation": "Determines if traffic should be used or ignored while calculating the route.
\nDefault Value: UseTrafficData
\n
Traffic related options.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixTrailerOptions": { + "type": "structure", + "members": { + "TrailerCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Number of trailers attached to the vehicle.
\nDefault Value: 0
\n
Trailer options corresponding to the vehicle.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixTravelMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CAR", + "value": "Car" + }, + { + "name": "PEDESTRIAN", + "value": "Pedestrian" + }, + { + "name": "SCOOTER", + "value": "Scooter" + }, + { + "name": "TRUCK", + "value": "Truck" + } + ] + } + }, + "com.amazonaws.georoutes#RouteMatrixTravelModeOptions": { + "type": "structure", + "members": { + "Car": { + "target": "com.amazonaws.georoutes#RouteMatrixCarOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Car\"
" + } + }, + "Scooter": { + "target": "com.amazonaws.georoutes#RouteMatrixScooterOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Scooter\"
" + } + }, + "Truck": { + "target": "com.amazonaws.georoutes#RouteMatrixTruckOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Truck\"
" + } + } + }, + "traits": { + "smithy.api#documentation": "Travel mode related options for the provided travel mode.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixTruckOptions": { + "type": "structure", + "members": { + "AxleCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Total number of axles of the vehicle.
", + "smithy.api#range": { + "min": 2, + "max": 255 + } + } + }, + "GrossWeight": { + "target": "com.amazonaws.georoutes#WeightKilograms", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Gross weight of the vehicle including trailers, and goods at capacity.
\n\n Unit: Kilograms
\n
List of Hazardous cargo contained in the vehicle.
" + } + }, + "Height": { + "target": "com.amazonaws.georoutes#DimensionCentimeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Height of the vehicle.
\n\n Unit: centimeters
\n
Kingpin to rear axle length of the vehicle
\n\n Unit: centimeters
\n
Length of the vehicle.
\n\n Unit: centimeters
\n
The vehicle License Plate.
" + } + }, + "MaxSpeed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Maximum speed
\n\n Unit: KilometersPerHour
\n
The number of occupants in the vehicle.
\nDefault Value: 1
\n
Payload capacity of the vehicle and trailers attached.
\n\n Unit: kilograms
\n
Trailer options corresponding to the vehicle.
" + } + }, + "TruckType": { + "target": "com.amazonaws.georoutes#RouteMatrixTruckType", + "traits": { + "smithy.api#documentation": "Type of the truck.
" + } + }, + "TunnelRestrictionCode": { + "target": "com.amazonaws.georoutes#TunnelRestrictionCode", + "traits": { + "smithy.api#documentation": "The tunnel restriction code.
\nTunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. \n They relate to the types of dangerous goods that can be transported through them.
\n\n Tunnel Category B\n
\n\n Risk Level: Limited risk
\n\n Restrictions: Few restrictions
\n\n Tunnel Category C\n
\n\n Risk Level: Medium risk
\n\n Restrictions: Some restrictions
\n\n Tunnel Category D\n
\n\n Risk Level: High risk
\n\n Restrictions: Many restrictions occur
\n\n Tunnel Category E\n
\n\n Risk Level: Very high risk
\n\n Restrictions: Restricted tunnel
\nHeaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.
\n\n Unit: Kilograms
\n
Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.
" + } + }, + "Width": { + "target": "com.amazonaws.georoutes#DimensionCentimeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Width of the vehicle.
\n\n Unit: centimeters
\n
Travel mode options when the provided travel mode is \"Truck\"
" + } + }, + "com.amazonaws.georoutes#RouteMatrixTruckType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "LIGHT_TRUCK", + "value": "LightTruck" + }, + { + "name": "STRAIGHT_TRUCK", + "value": "StraightTruck" + }, + { + "name": "TRACTOR", + "value": "Tractor" + } + ] + } + }, + "com.amazonaws.georoutes#RouteMatrixVehicleLicensePlate": { + "type": "structure", + "members": { + "LastCharacter": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The last character of the License Plate.
", + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + } + }, + "traits": { + "smithy.api#documentation": "The vehicle License Plate.
" + } + }, + "com.amazonaws.georoutes#RouteMatrixZoneCategory": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CONGESTION_PRICING", + "value": "CongestionPricing" + }, + { + "name": "ENVIRONMENTAL", + "value": "Environmental" + }, + { + "name": "VIGNETTE", + "value": "Vignette" + } + ] + } + }, + "com.amazonaws.georoutes#RouteNoticeDetailRange": { + "type": "structure", + "members": { + "Min": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Minimum value for the range.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "Max": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Maximum value for the range.
", + "smithy.api#range": { + "min": 0 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Notice Detail that is a range.
" + } + }, + "com.amazonaws.georoutes#RouteNoticeImpact": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "HIGH", + "value": "High" + }, + { + "name": "LOW", + "value": "Low" + } + ] + } + }, + "com.amazonaws.georoutes#RouteNumber": { + "type": "structure", + "members": { + "Direction": { + "target": "com.amazonaws.georoutes#RouteDirection", + "traits": { + "smithy.api#documentation": "Directional identifier of the route.
" + } + }, + "Language": { + "target": "com.amazonaws.georoutes#LanguageTag", + "traits": { + "smithy.api#documentation": "List of languages for instructions corresponding to the route number.
" + } + }, + "Value": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The route number.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The route number.
" + } + }, + "com.amazonaws.georoutes#RouteNumberList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteNumber" + } + }, + "com.amazonaws.georoutes#RouteOriginOptions": { + "type": "structure", + "members": { + "AvoidActionsForDistance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
", + "smithy.api#range": { + "max": 2000 + } + } + }, + "AvoidUTurns": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid U-turns for calculation on highways and motorways.
" + } + }, + "Heading": { + "target": "com.amazonaws.georoutes#Heading", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "GPS Heading at the position.
" + } + }, + "Matching": { + "target": "com.amazonaws.georoutes#RouteMatchingOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to the road network.
" + } + }, + "SideOfStreet": { + "target": "com.amazonaws.georoutes#RouteSideOfStreetOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to a side of the street.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Origin related options.
" + } + }, + "com.amazonaws.georoutes#RoutePassThroughPlace": { + "type": "structure", + "members": { + "OriginalPosition": { + "target": "com.amazonaws.georoutes#Position23", + "traits": { + "smithy.api#documentation": "Position provided in the request.
" + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position23", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Index of the waypoint in the request.
", + "smithy.api#range": { + "min": 0 + } + } + } + }, + "traits": { + "smithy.api#documentation": "The place where the waypoint is passed through and not treated as a stop.
" + } + }, + "com.amazonaws.georoutes#RoutePassThroughWaypoint": { + "type": "structure", + "members": { + "GeometryOffset": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Offset in the leg geometry corresponding to the start of this step.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "Place": { + "target": "com.amazonaws.georoutes#RoutePassThroughPlace", + "traits": { + "smithy.api#documentation": "The place details.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "If the waypoint should be treated as a stop. If yes, the route is split up into different legs around the stop.
" + } + }, + "com.amazonaws.georoutes#RoutePassThroughWaypointList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RoutePassThroughWaypoint" + } + }, + "com.amazonaws.georoutes#RoutePedestrianArrival": { + "type": "structure", + "members": { + "Place": { + "target": "com.amazonaws.georoutes#RoutePedestrianPlace", + "traits": { + "smithy.api#documentation": "The place details.
", + "smithy.api#required": {} + } + }, + "Time": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "The time.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details corresponding to the arrival for a leg.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
The place details.
", + "smithy.api#required": {} + } + }, + "Time": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "The time.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details corresponding to the departure for a leg.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
Details corresponding to the arrival for the leg.
", + "smithy.api#required": {} + } + }, + "Departure": { + "target": "com.amazonaws.georoutes#RoutePedestrianDeparture", + "traits": { + "smithy.api#documentation": "Details corresponding to the departure for the leg.
", + "smithy.api#required": {} + } + }, + "Notices": { + "target": "com.amazonaws.georoutes#RoutePedestrianNoticeList", + "traits": { + "smithy.api#documentation": "Notices are additional information returned that indicate issues that occurred during route calculation.
", + "smithy.api#required": {} + } + }, + "PassThroughWaypoints": { + "target": "com.amazonaws.georoutes#RoutePassThroughWaypointList", + "traits": { + "smithy.api#documentation": "Waypoints that were passed through during the leg. This includes the waypoints that were configured with the PassThrough option.
", + "smithy.api#required": {} + } + }, + "Spans": { + "target": "com.amazonaws.georoutes#RoutePedestrianSpanList", + "traits": { + "smithy.api#documentation": "Spans that were computed for the requested SpanAdditionalFeatures.
", + "smithy.api#required": {} + } + }, + "Summary": { + "target": "com.amazonaws.georoutes#RoutePedestrianSummary", + "traits": { + "smithy.api#documentation": "Summarized details of the leg.
" + } + }, + "TravelSteps": { + "target": "com.amazonaws.georoutes#RoutePedestrianTravelStepList", + "traits": { + "smithy.api#documentation": "Steps of a leg that must be performed before the travel portion of the leg.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Details that are specific to a pedestrian leg.
" + } + }, + "com.amazonaws.georoutes#RoutePedestrianNotice": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.georoutes#RoutePedestrianNoticeCode", + "traits": { + "smithy.api#documentation": "Code corresponding to the issue.
", + "smithy.api#required": {} + } + }, + "Impact": { + "target": "com.amazonaws.georoutes#RouteNoticeImpact", + "traits": { + "smithy.api#documentation": "Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Notices are additional information returned that indicate issues that occurred during route calculation.
" + } + }, + "com.amazonaws.georoutes#RoutePedestrianNoticeCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ACCURATE_POLYLINE_UNAVAILABLE", + "value": "AccuratePolylineUnavailable" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "VIOLATED_AVOID_DIRT_ROAD", + "value": "ViolatedAvoidDirtRoad" + }, + { + "name": "VIOLATED_AVOID_TUNNEL", + "value": "ViolatedAvoidTunnel" + }, + { + "name": "VIOLATED_PEDESTRIAN_OPTION", + "value": "ViolatedPedestrianOption" + } + ] + } + }, + "com.amazonaws.georoutes#RoutePedestrianNoticeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RoutePedestrianNotice" + } + }, + "com.amazonaws.georoutes#RoutePedestrianOptions": { + "type": "structure", + "members": { + "Speed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Walking speed in Kilometers per hour.
", + "smithy.api#range": { + "min": 1.8, + "max": 7.2 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Options related to the pedestrian.
" + } + }, + "com.amazonaws.georoutes#RoutePedestrianOverviewSummary": { + "type": "structure", + "members": { + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Distance of the step.
", + "smithy.api#required": {} + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the step.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Provides a summary of a pedestrian route step.
" + } + }, + "com.amazonaws.georoutes#RoutePedestrianPlace": { + "type": "structure", + "members": { + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The name of the place.
" + } + }, + "OriginalPosition": { + "target": "com.amazonaws.georoutes#Position23", + "traits": { + "smithy.api#documentation": "Position provided in the request.
" + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position23", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Options to configure matching the provided position to a side of the street.
" + } + }, + "WaypointIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Index of the waypoint in the request.
", + "smithy.api#range": { + "min": 0 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Place details corresponding to the arrival or departure.
" + } + }, + "com.amazonaws.georoutes#RoutePedestrianSpan": { + "type": "structure", + "members": { + "BestCaseDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the computed span without traffic congestion.
\n\n Unit: seconds
\n
3 letter Country code corresponding to the Span.
" + } + }, + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Distance of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
" + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
\n\n Unit: seconds
\n
Dynamic speed details corresponding to the span.
\n\n Unit: KilometersPerHour
\n
Functional classification of the road segment corresponding to the span.
", + "smithy.api#range": { + "min": 1, + "max": 5 + } + } + }, + "GeometryOffset": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Offset in the leg geometry corresponding to the start of this span.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "Incidents": { + "target": "com.amazonaws.georoutes#IndexList", + "traits": { + "smithy.api#documentation": "Incidents corresponding to the span. These index into the Incidents in the parent Leg.
" + } + }, + "Names": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Provides an array of names of the pedestrian span in available languages.
" + } + }, + "PedestrianAccess": { + "target": "com.amazonaws.georoutes#RouteSpanPedestrianAccessAttributeList", + "traits": { + "smithy.api#documentation": "Access attributes for a pedestrian corresponding to the span.
" + } + }, + "Region": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "2-3 letter Region code corresponding to the Span. This is either a province or a state.
", + "smithy.api#length": { + "min": 0, + "max": 3 + } + } + }, + "RoadAttributes": { + "target": "com.amazonaws.georoutes#RouteSpanRoadAttributeList", + "traits": { + "smithy.api#documentation": "Attributes for the road segment corresponding to the span.
" + } + }, + "RouteNumbers": { + "target": "com.amazonaws.georoutes#RouteNumberList", + "traits": { + "smithy.api#documentation": "Designated route name or number corresponding to the span.
" + } + }, + "SpeedLimit": { + "target": "com.amazonaws.georoutes#RouteSpanSpeedLimitDetails", + "traits": { + "smithy.api#documentation": "Speed limit details corresponding to the span.
\n\n Unit: KilometersPerHour
\n
Duration of the computed span under typical traffic congestion.
\n\n Unit: seconds
\n
Span computed for the requested SpanAdditionalFeatures.
" + } + }, + "com.amazonaws.georoutes#RoutePedestrianSpanList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RoutePedestrianSpan" + } + }, + "com.amazonaws.georoutes#RoutePedestrianSummary": { + "type": "structure", + "members": { + "Overview": { + "target": "com.amazonaws.georoutes#RoutePedestrianOverviewSummary", + "traits": { + "smithy.api#documentation": "Summarized details for the leg including before travel, travel and after travel steps.
" + } + }, + "TravelOnly": { + "target": "com.amazonaws.georoutes#RoutePedestrianTravelOnlySummary", + "traits": { + "smithy.api#documentation": "Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is in meters
" + } + } + }, + "traits": { + "smithy.api#documentation": "Summarized details for the leg including before travel, travel and after travel steps.
" + } + }, + "com.amazonaws.georoutes#RoutePedestrianTravelOnlySummary": { + "type": "structure", + "members": { + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the step.
\n\n Unit: seconds
\n
Summarized details for the leg including travel steps.
" + } + }, + "com.amazonaws.georoutes#RoutePedestrianTravelStep": { + "type": "structure", + "members": { + "ContinueStepDetails": { + "target": "com.amazonaws.georoutes#RouteContinueStepDetails", + "traits": { + "smithy.api#documentation": "Details related to the continue step.
" + } + }, + "CurrentRoad": { + "target": "com.amazonaws.georoutes#RouteRoad", + "traits": { + "smithy.api#documentation": "Details of the current road. See RouteRoad for details of sub-attributes.
" + } + }, + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Distance of the step.
" + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the step.
\n\n Unit: seconds
\n
Exit number of the road exit, if applicable.
" + } + }, + "GeometryOffset": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Offset in the leg geometry corresponding to the start of this step.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "Instruction": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Brief description of the step in the requested language.
\nOnly available when the TravelStepType is Default.
\nDetails that are specific to a Keep step.
" + } + }, + "NextRoad": { + "target": "com.amazonaws.georoutes#RouteRoad", + "traits": { + "smithy.api#documentation": "Details of the next road. See RouteRoad for details of sub-attributes.
" + } + }, + "RoundaboutEnterStepDetails": { + "target": "com.amazonaws.georoutes#RouteRoundaboutEnterStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Roundabout Enter step.
" + } + }, + "RoundaboutExitStepDetails": { + "target": "com.amazonaws.georoutes#RouteRoundaboutExitStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Roundabout Exit step.
" + } + }, + "RoundaboutPassStepDetails": { + "target": "com.amazonaws.georoutes#RouteRoundaboutPassStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Roundabout Pass step.
" + } + }, + "Signpost": { + "target": "com.amazonaws.georoutes#RouteSignpost", + "traits": { + "smithy.api#documentation": "Sign post information of the action, applicable only for TurnByTurn steps. See RouteSignpost for details of sub-attributes.
" + } + }, + "TurnStepDetails": { + "target": "com.amazonaws.georoutes#RouteTurnStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a turn step.
" + } + }, + "Type": { + "target": "com.amazonaws.georoutes#RoutePedestrianTravelStepType", + "traits": { + "smithy.api#documentation": "Type of the step.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Steps of a leg that must be performed during the travel portion of the leg.
" + } + }, + "com.amazonaws.georoutes#RoutePedestrianTravelStepList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RoutePedestrianTravelStep" + } + }, + "com.amazonaws.georoutes#RoutePedestrianTravelStepType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ARRIVE", + "value": "Arrive" + }, + { + "name": "CONTINUE", + "value": "Continue" + }, + { + "name": "DEPART", + "value": "Depart" + }, + { + "name": "KEEP", + "value": "Keep" + }, + { + "name": "ROUNDABOUT_ENTER", + "value": "RoundaboutEnter" + }, + { + "name": "ROUNDABOUT_EXIT", + "value": "RoundaboutExit" + }, + { + "name": "ROUNDABOUT_PASS", + "value": "RoundaboutPass" + }, + { + "name": "TURN", + "value": "Turn" + }, + { + "name": "EXIT", + "value": "Exit" + }, + { + "name": "RAMP", + "value": "Ramp" + }, + { + "name": "U_TURN", + "value": "UTurn" + } + ] + } + }, + "com.amazonaws.georoutes#RouteRampStepDetails": { + "type": "structure", + "members": { + "Intersection": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + }, + "SteeringDirection": { + "target": "com.amazonaws.georoutes#RouteSteeringDirection", + "traits": { + "smithy.api#documentation": "Steering direction for the step.
" + } + }, + "TurnAngle": { + "target": "com.amazonaws.georoutes#TurnAngle", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Angle of the turn.
" + } + }, + "TurnIntensity": { + "target": "com.amazonaws.georoutes#RouteTurnIntensity", + "traits": { + "smithy.api#documentation": "Intensity of the turn.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details that are specific to a ramp step.
" + } + }, + "com.amazonaws.georoutes#RouteResponseNotice": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.georoutes#RouteResponseNoticeCode", + "traits": { + "smithy.api#documentation": "Code corresponding to the issue.
", + "smithy.api#required": {} + } + }, + "Impact": { + "target": "com.amazonaws.georoutes#RouteNoticeImpact", + "traits": { + "smithy.api#documentation": "Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Notices are additional information returned that indicate issues that occurred during route calculation.
" + } + }, + "com.amazonaws.georoutes#RouteResponseNoticeCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "MAIN_LANGUAGE_NOT_FOUND", + "value": "MainLanguageNotFound" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "TRAVEL_TIME_EXCEEDS_DRIVER_WORK_HOURS", + "value": "TravelTimeExceedsDriverWorkHours" + } + ] + } + }, + "com.amazonaws.georoutes#RouteResponseNoticeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteResponseNotice" + } + }, + "com.amazonaws.georoutes#RouteRoad": { + "type": "structure", + "members": { + "RoadName": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the road (localized).
", + "smithy.api#required": {} + } + }, + "RouteNumber": { + "target": "com.amazonaws.georoutes#RouteNumberList", + "traits": { + "smithy.api#documentation": "Route number of the road.
", + "smithy.api#required": {} + } + }, + "Towards": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Names of destinations that can be reached when traveling on the road.
", + "smithy.api#required": {} + } + }, + "Type": { + "target": "com.amazonaws.georoutes#RouteRoadType", + "traits": { + "smithy.api#documentation": "The type of road.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The road on the route.
" + } + }, + "com.amazonaws.georoutes#RouteRoadType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "HIGHWAY", + "value": "Highway" + }, + { + "name": "RURAL", + "value": "Rural" + }, + { + "name": "URBAN", + "value": "Urban" + } + ] + } + }, + "com.amazonaws.georoutes#RouteRoundaboutEnterStepDetails": { + "type": "structure", + "members": { + "Intersection": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + }, + "SteeringDirection": { + "target": "com.amazonaws.georoutes#RouteSteeringDirection", + "traits": { + "smithy.api#documentation": "Steering direction for the step.
" + } + }, + "TurnAngle": { + "target": "com.amazonaws.georoutes#TurnAngle", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Angle of the turn.
" + } + }, + "TurnIntensity": { + "target": "com.amazonaws.georoutes#RouteTurnIntensity", + "traits": { + "smithy.api#documentation": "Intensity of the turn.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the roundabout leg.
" + } + }, + "com.amazonaws.georoutes#RouteRoundaboutExitStepDetails": { + "type": "structure", + "members": { + "Intersection": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + }, + "RelativeExit": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Exit to be taken.
", + "smithy.api#range": { + "min": 1, + "max": 12 + } + } + }, + "RoundaboutAngle": { + "target": "com.amazonaws.georoutes#RoundaboutAngle", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Angle of the roundabout.
" + } + }, + "SteeringDirection": { + "target": "com.amazonaws.georoutes#RouteSteeringDirection", + "traits": { + "smithy.api#documentation": "Steering direction for the step.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the roundabout step.
" + } + }, + "com.amazonaws.georoutes#RouteRoundaboutPassStepDetails": { + "type": "structure", + "members": { + "Intersection": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + }, + "SteeringDirection": { + "target": "com.amazonaws.georoutes#RouteSteeringDirection", + "traits": { + "smithy.api#documentation": "Steering direction for the step.
" + } + }, + "TurnAngle": { + "target": "com.amazonaws.georoutes#TurnAngle", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Angle of the turn.
" + } + }, + "TurnIntensity": { + "target": "com.amazonaws.georoutes#RouteTurnIntensity", + "traits": { + "smithy.api#documentation": "Intensity of the turn.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the step.
" + } + }, + "com.amazonaws.georoutes#RouteScooterOptions": { + "type": "structure", + "members": { + "EngineType": { + "target": "com.amazonaws.georoutes#RouteEngineType", + "traits": { + "smithy.api#documentation": "Engine type of the vehicle.
" + } + }, + "LicensePlate": { + "target": "com.amazonaws.georoutes#RouteVehicleLicensePlate", + "traits": { + "smithy.api#documentation": "The vehicle License Plate.
" + } + }, + "MaxSpeed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Maximum speed
\n\n Unit: KilometersPerHour
\n
The number of occupants in the vehicle.
\nDefault Value: 1
\n
Travel mode options when the provided travel mode is \"Scooter\"
" + } + }, + "com.amazonaws.georoutes#RouteSideOfStreet": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "LEFT", + "value": "Left" + }, + { + "name": "RIGHT", + "value": "Right" + } + ] + } + }, + "com.amazonaws.georoutes#RouteSideOfStreetOptions": { + "type": "structure", + "members": { + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Strategy that defines when the side of street position should be used.
\nDefault Value: DividedStreetOnly
\n
Options to configure matching the provided position to a side of the street.
" + } + }, + "com.amazonaws.georoutes#RouteSignpost": { + "type": "structure", + "members": { + "Labels": { + "target": "com.amazonaws.georoutes#RouteSignpostLabelList", + "traits": { + "smithy.api#documentation": "Labels present on the sign post.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Sign post information of the action, applicable only for TurnByTurn steps. See RouteSignpost for details of sub-attributes.
" + } + }, + "com.amazonaws.georoutes#RouteSignpostLabel": { + "type": "structure", + "members": { + "RouteNumber": { + "target": "com.amazonaws.georoutes#RouteNumber", + "traits": { + "smithy.api#documentation": "Route number of the road.
" + } + }, + "Text": { + "target": "com.amazonaws.georoutes#LocalizedString", + "traits": { + "smithy.api#documentation": "The Signpost text.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Labels presented on the sign post.
" + } + }, + "com.amazonaws.georoutes#RouteSignpostLabelList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteSignpostLabel" + } + }, + "com.amazonaws.georoutes#RouteSpanAdditionalFeature": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "BEST_CASE_DURATION", + "value": "BestCaseDuration" + }, + { + "name": "CAR_ACCESS", + "value": "CarAccess" + }, + { + "name": "COUNTRY", + "value": "Country" + }, + { + "name": "DISTANCE", + "value": "Distance" + }, + { + "name": "DURATION", + "value": "Duration" + }, + { + "name": "DYNAMIC_SPEED", + "value": "DynamicSpeed" + }, + { + "name": "FUNCTIONAL_CLASSIFICATION", + "value": "FunctionalClassification" + }, + { + "name": "GATES", + "value": "Gates" + }, + { + "name": "INCIDENTS", + "value": "Incidents" + }, + { + "name": "NAMES", + "value": "Names" + }, + { + "name": "NOTICES", + "value": "Notices" + }, + { + "name": "PEDESTRIAN_ACCESS", + "value": "PedestrianAccess" + }, + { + "name": "RAILWAY_CROSSINGS", + "value": "RailwayCrossings" + }, + { + "name": "REGION", + "value": "Region" + }, + { + "name": "ROAD_ATTRIBUTES", + "value": "RoadAttributes" + }, + { + "name": "ROUTE_NUMBERS", + "value": "RouteNumbers" + }, + { + "name": "SCOOTER_ACCESS", + "value": "ScooterAccess" + }, + { + "name": "SPEED_LIMIT", + "value": "SpeedLimit" + }, + { + "name": "TOLL_SYSTEMS", + "value": "TollSystems" + }, + { + "name": "TRUCK_ACCESS", + "value": "TruckAccess" + }, + { + "name": "TRUCK_ROAD_TYPES", + "value": "TruckRoadTypes" + }, + { + "name": "TYPICAL_DURATION", + "value": "TypicalDuration" + }, + { + "name": "ZONES", + "value": "Zones" + }, + { + "name": "CONSUMPTION", + "value": "Consumption" + } + ] + } + }, + "com.amazonaws.georoutes#RouteSpanAdditionalFeatureList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteSpanAdditionalFeature" + }, + "traits": { + "smithy.api#length": { + "max": 24 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#RouteSpanCarAccessAttribute": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ALLOWED", + "value": "Allowed" + }, + { + "name": "NO_THROUGH_TRAFFIC", + "value": "NoThroughTraffic" + }, + { + "name": "TOLL_ROAD", + "value": "TollRoad" + } + ] + } + }, + "com.amazonaws.georoutes#RouteSpanCarAccessAttributeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteSpanCarAccessAttribute" + }, + "traits": { + "smithy.api#length": { + "max": 3 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#RouteSpanDynamicSpeedDetails": { + "type": "structure", + "members": { + "BestCaseSpeed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Estimated speed while traversing the span without traffic congestion.
\n\n Unit: KilometersPerHour
\n
Estimated time to turn from this span into the next.
\n\n Unit: seconds
\n
Estimated speed while traversing the span under typical traffic congestion.
\n\n Unit: KilometersPerHour
\n
Details about the dynamic speed.
\n\n Unit: KilometersPerHour
\n
Maximum speed.
\n\n Unit: KilometersPerHour
\n
If the span doesn't have a speed limit like the Autobahn.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details about the speed limit corresponding to the span.
\n\n Unit: KilometersPerHour
\n
Distance of the route.
" + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the route.
\n\n Unit: seconds
\n
Toll summary for the complete route.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is the same as the Distance within the Overview summary.
" + } + }, + "com.amazonaws.georoutes#RouteToll": { + "type": "structure", + "members": { + "Country": { + "target": "com.amazonaws.georoutes#CountryCode3", + "traits": { + "smithy.api#documentation": "The alpha-2 or alpha-3 character code for the country.
" + } + }, + "PaymentSites": { + "target": "com.amazonaws.georoutes#RouteTollPaymentSiteList", + "traits": { + "smithy.api#documentation": "Locations or sites where the toll fare is collected.
", + "smithy.api#required": {} + } + }, + "Rates": { + "target": "com.amazonaws.georoutes#RouteTollRateList", + "traits": { + "smithy.api#documentation": "Toll rates that need to be paid to travel this leg of the route.
", + "smithy.api#required": {} + } + }, + "Systems": { + "target": "com.amazonaws.georoutes#IndexList", + "traits": { + "smithy.api#documentation": "Toll systems are authorities that collect payments for the toll.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Provides details about toll information along a route, including the payment sites, applicable toll rates, toll systems, and the country associated with the toll collection.
" + } + }, + "com.amazonaws.georoutes#RouteTollList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteToll" + } + }, + "com.amazonaws.georoutes#RouteTollOptions": { + "type": "structure", + "members": { + "AllTransponders": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Specifies if the user has valid transponder with access to all toll systems. This\n impacts toll calculation, and if true the price with transponders is used.
" + } + }, + "AllVignettes": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Specifies if the user has valid vignettes with access for all toll roads. If a user has a vignette for a toll road, then toll cost for that road is omitted since no further payment is necessary.
" + } + }, + "Currency": { + "target": "com.amazonaws.georoutes#CurrencyCode", + "traits": { + "smithy.api#documentation": "Currency code corresponding to the price. This is the same as Currency specified in the request.
" + } + }, + "EmissionType": { + "target": "com.amazonaws.georoutes#RouteEmissionType", + "traits": { + "smithy.api#documentation": "Emission type of the vehicle for toll cost calculation.
\n\n Valid values: Euro1, Euro2, Euro3, Euro4, Euro5, Euro6, EuroEev
\n
Vehicle category for toll cost calculation.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Options related to Tolls on a route.
" + } + }, + "com.amazonaws.georoutes#RouteTollPass": { + "type": "structure", + "members": { + "IncludesReturnTrip": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "If the pass includes the rate for the return leg of the trip.
" + } + }, + "SeniorPass": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "If the pass is only valid for senior persons.
" + } + }, + "TransferCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "If the toll pass can be transferred, and how many times.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "TripCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Number of trips the pass is valid for.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "ValidityPeriod": { + "target": "com.amazonaws.georoutes#RouteTollPassValidityPeriod", + "traits": { + "smithy.api#documentation": "Period for which the pass is valid.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details if the toll rate can be a pass that supports multiple trips.
" + } + }, + "com.amazonaws.georoutes#RouteTollPassValidityPeriod": { + "type": "structure", + "members": { + "Period": { + "target": "com.amazonaws.georoutes#RouteTollPassValidityPeriodType", + "traits": { + "smithy.api#documentation": "Validity period.
", + "smithy.api#required": {} + } + }, + "PeriodCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Counts for the validity period.
", + "smithy.api#range": { + "min": 0 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Period for which the pass is valid.
" + } + }, + "com.amazonaws.georoutes#RouteTollPassValidityPeriodType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ANNUAL", + "value": "Annual" + }, + { + "name": "DAYS", + "value": "Days" + }, + { + "name": "EXTENDED_ANNUAL", + "value": "ExtendedAnnual" + }, + { + "name": "MINUTES", + "value": "Minutes" + }, + { + "name": "MONTHS", + "value": "Months" + } + ] + } + }, + "com.amazonaws.georoutes#RouteTollPaymentMethod": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "BANK_CARD", + "value": "BankCard" + }, + { + "name": "CASH", + "value": "Cash" + }, + { + "name": "CASH_EXACT", + "value": "CashExact" + }, + { + "name": "CREDIT_CARD", + "value": "CreditCard" + }, + { + "name": "PASS_SUBSCRIPTION", + "value": "PassSubscription" + }, + { + "name": "TRAVEL_CARD", + "value": "TravelCard" + }, + { + "name": "TRANSPONDER", + "value": "Transponder" + }, + { + "name": "VIDEO_TOLL", + "value": "VideoToll" + } + ] + } + }, + "com.amazonaws.georoutes#RouteTollPaymentMethodList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteTollPaymentMethod" + }, + "traits": { + "smithy.api#length": { + "max": 8 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#RouteTollPaymentSite": { + "type": "structure", + "members": { + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Name of the payment site.
" + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position23", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Locations or sites where the toll fare is collected.
" + } + }, + "com.amazonaws.georoutes#RouteTollPaymentSiteList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteTollPaymentSite" + } + }, + "com.amazonaws.georoutes#RouteTollPrice": { + "type": "structure", + "members": { + "Currency": { + "target": "com.amazonaws.georoutes#CurrencyCode", + "traits": { + "smithy.api#documentation": "Currency code corresponding to the price. This is the same as Currency specified in the request.
", + "smithy.api#required": {} + } + }, + "Estimate": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "If the price is an estimate or an exact value.
", + "smithy.api#required": {} + } + }, + "PerDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration for which the price corresponds to.
\n\n Unit: seconds
\n
If the price is a range or an exact value. If any of the toll fares making up the route is a range, the overall price is also a range.
", + "smithy.api#required": {} + } + }, + "RangeValue": { + "target": "com.amazonaws.georoutes#RouteTollPriceValueRange", + "traits": { + "smithy.api#documentation": "Price range with a minimum and maximum value, if a range.
" + } + }, + "Value": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "Exact price, if not a range.
", + "smithy.api#range": { + "min": 0.0 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The toll price.
" + } + }, + "com.amazonaws.georoutes#RouteTollPriceSummary": { + "type": "structure", + "members": { + "Currency": { + "target": "com.amazonaws.georoutes#CurrencyCode", + "traits": { + "smithy.api#documentation": "Currency code corresponding to the price. This is the same as Currency specified in the request.
", + "smithy.api#required": {} + } + }, + "Estimate": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "If the price is an estimate or an exact value.
", + "smithy.api#required": {} + } + }, + "Range": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "If the price is a range or an exact value. If any of the toll fares making up the route is a range, the overall price is also a range.
", + "smithy.api#required": {} + } + }, + "RangeValue": { + "target": "com.amazonaws.georoutes#RouteTollPriceValueRange", + "traits": { + "smithy.api#documentation": "Price range with a minimum and maximum value, if a range.
" + } + }, + "Value": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "Exact price, if not a range.
", + "smithy.api#range": { + "min": 0.0 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Summary of the route and toll price.
" + } + }, + "com.amazonaws.georoutes#RouteTollPriceValueRange": { + "type": "structure", + "members": { + "Min": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "Minimum price.
", + "smithy.api#range": { + "min": 0.0 + }, + "smithy.api#required": {} + } + }, + "Max": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "Maximum price.
", + "smithy.api#range": { + "min": 0.0 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Price range with a minimum and maximum value, if a range.
" + } + }, + "com.amazonaws.georoutes#RouteTollRate": { + "type": "structure", + "members": { + "ApplicableTimes": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Time when the rate is valid.
" + } + }, + "ConvertedPrice": { + "target": "com.amazonaws.georoutes#RouteTollPrice", + "traits": { + "smithy.api#documentation": "Price in the converted currency as specified in the request.
" + } + }, + "Id": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The Toll rate Id.
", + "smithy.api#required": {} + } + }, + "LocalPrice": { + "target": "com.amazonaws.georoutes#RouteTollPrice", + "traits": { + "smithy.api#documentation": "Price in the local regional currency.
", + "smithy.api#required": {} + } + }, + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The name of the toll.
", + "smithy.api#required": {} + } + }, + "Pass": { + "target": "com.amazonaws.georoutes#RouteTollPass", + "traits": { + "smithy.api#documentation": "Details if the toll rate can be a pass that supports multiple trips.
" + } + }, + "PaymentMethods": { + "target": "com.amazonaws.georoutes#RouteTollPaymentMethodList", + "traits": { + "smithy.api#documentation": "Accepted payment methods at the toll.
", + "smithy.api#required": {} + } + }, + "Transponders": { + "target": "com.amazonaws.georoutes#RouteTransponderList", + "traits": { + "smithy.api#documentation": "Transponders for which this toll can be applied.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The toll rate.
" + } + }, + "com.amazonaws.georoutes#RouteTollRateList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteTollRate" + } + }, + "com.amazonaws.georoutes#RouteTollSummary": { + "type": "structure", + "members": { + "Total": { + "target": "com.amazonaws.georoutes#RouteTollPriceSummary", + "traits": { + "smithy.api#documentation": "Total toll summary for the complete route. Total is the only summary available\n today.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The toll summary for the complete route.
" + } + }, + "com.amazonaws.georoutes#RouteTollSystem": { + "type": "structure", + "members": { + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The toll system name.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Toll systems are authorities that collect payments for the toll.
" + } + }, + "com.amazonaws.georoutes#RouteTollSystemList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteTollSystem" + } + }, + "com.amazonaws.georoutes#RouteTollVehicleCategory": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "MINIBUS", + "value": "Minibus" + } + ] + } + }, + "com.amazonaws.georoutes#RouteTrafficOptions": { + "type": "structure", + "members": { + "FlowEventThresholdOverride": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration for which flow \n traffic is considered valid. \n For this period, the flow traffic is used over historical traffic data. \n Flow traffic refers to congestion, which changes very quickly. \n Duration in seconds for which flow traffic event would be considered valid. \n While flow traffic event is valid it will be used over the historical traffic data.
" + } + }, + "Usage": { + "target": "com.amazonaws.georoutes#TrafficUsage", + "traits": { + "smithy.api#documentation": "Determines if traffic should be used or ignored while calculating the route.
\nDefault Value: UseTrafficData
\n
Traffic options for the route.
" + } + }, + "com.amazonaws.georoutes#RouteTrailerOptions": { + "type": "structure", + "members": { + "AxleCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Total number of axles of the vehicle.
", + "smithy.api#range": { + "min": 1 + } + } + }, + "TrailerCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Number of trailers attached to the vehicle.
\nDefault Value: 0
\n
Trailer options corresponding to the vehicle.
" + } + }, + "com.amazonaws.georoutes#RouteTransponder": { + "type": "structure", + "members": { + "SystemName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Names of the toll system collecting the toll.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Transponders for which this toll can be applied.
" + } + }, + "com.amazonaws.georoutes#RouteTransponderList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteTransponder" + } + }, + "com.amazonaws.georoutes#RouteTravelMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CAR", + "value": "Car" + }, + { + "name": "PEDESTRIAN", + "value": "Pedestrian" + }, + { + "name": "SCOOTER", + "value": "Scooter" + }, + { + "name": "TRUCK", + "value": "Truck" + } + ] + } + }, + "com.amazonaws.georoutes#RouteTravelModeOptions": { + "type": "structure", + "members": { + "Car": { + "target": "com.amazonaws.georoutes#RouteCarOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Car\"
" + } + }, + "Pedestrian": { + "target": "com.amazonaws.georoutes#RoutePedestrianOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Pedestrian\"
" + } + }, + "Scooter": { + "target": "com.amazonaws.georoutes#RouteScooterOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Scooter\"
" + } + }, + "Truck": { + "target": "com.amazonaws.georoutes#RouteTruckOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Truck\"
" + } + } + }, + "traits": { + "smithy.api#documentation": "Travel mode related options for the provided travel mode.
" + } + }, + "com.amazonaws.georoutes#RouteTravelStepType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "DEFAULT", + "value": "Default" + }, + { + "name": "TURN_BY_TURN", + "value": "TurnByTurn" + } + ] + } + }, + "com.amazonaws.georoutes#RouteTruckOptions": { + "type": "structure", + "members": { + "AxleCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Total number of axles of the vehicle.
", + "smithy.api#range": { + "min": 2, + "max": 255 + } + } + }, + "EngineType": { + "target": "com.amazonaws.georoutes#RouteEngineType", + "traits": { + "smithy.api#documentation": "Engine type of the vehicle.
" + } + }, + "GrossWeight": { + "target": "com.amazonaws.georoutes#WeightKilograms", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Gross weight of the vehicle including trailers, and goods at capacity.
\n\n Unit: Kilograms
\n
List of Hazardous cargo contained in the vehicle.
" + } + }, + "Height": { + "target": "com.amazonaws.georoutes#DimensionCentimeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Height of the vehicle.
\n\n Unit: centimeters
\n
Height of the vehicle above its first axle.
\n\n Unit: centimeters
\n
Kingpin to rear axle length of the vehicle.
\n\n Unit: centimeters
\n
Length of the vehicle.
\n\n Unit: c
\n
The vehicle License Plate.
" + } + }, + "MaxSpeed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Maximum speed
\n\n Unit: KilometersPerHour
\n
The number of occupants in the vehicle.
\nDefault Value: 1
\n
Payload capacity of the vehicle and trailers attached.
\n\n Unit: kilograms
\n
Number of tires on the vehicle.
", + "smithy.api#range": { + "min": 1, + "max": 255 + } + } + }, + "Trailer": { + "target": "com.amazonaws.georoutes#RouteTrailerOptions", + "traits": { + "smithy.api#documentation": "Trailer options corresponding to the vehicle.
" + } + }, + "TruckType": { + "target": "com.amazonaws.georoutes#RouteTruckType", + "traits": { + "smithy.api#documentation": "Type of the truck.
" + } + }, + "TunnelRestrictionCode": { + "target": "com.amazonaws.georoutes#TunnelRestrictionCode", + "traits": { + "smithy.api#documentation": "The tunnel restriction code.
\nTunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. \n They relate to the types of dangerous goods that can be transported through them.
\n\n Tunnel Category B\n
\n\n Risk Level: Limited risk
\n\n Restrictions: Few restrictions
\n\n Tunnel Category C\n
\n\n Risk Level: Medium risk
\n\n Restrictions: Some restrictions
\n\n Tunnel Category D\n
\n\n Risk Level: High risk
\n\n Restrictions: Many restrictions occur
\n\n Tunnel Category E\n
\n\n Risk Level: Very high risk
\n\n Restrictions: Restricted tunnel
\nHeaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.
\n\n Unit: Kilograms
\n
Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.
\n\n Unit: Kilograms
\n
Width of the vehicle.
\n\n Unit: centimeters
\n
Travel mode options when the provided travel mode is \"Truck\"
" + } + }, + "com.amazonaws.georoutes#RouteTruckType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "LIGHT_TRUCK", + "value": "LightTruck" + }, + { + "name": "STRAIGHT_TRUCK", + "value": "StraightTruck" + }, + { + "name": "TRACTOR", + "value": "Tractor" + } + ] + } + }, + "com.amazonaws.georoutes#RouteTurnIntensity": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "SHARP", + "value": "Sharp" + }, + { + "name": "SLIGHT", + "value": "Slight" + }, + { + "name": "TYPICAL", + "value": "Typical" + } + ] + } + }, + "com.amazonaws.georoutes#RouteTurnStepDetails": { + "type": "structure", + "members": { + "Intersection": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + }, + "SteeringDirection": { + "target": "com.amazonaws.georoutes#RouteSteeringDirection", + "traits": { + "smithy.api#documentation": "Steering direction for the step.
" + } + }, + "TurnAngle": { + "target": "com.amazonaws.georoutes#TurnAngle", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Angle of the turn.
" + } + }, + "TurnIntensity": { + "target": "com.amazonaws.georoutes#RouteTurnIntensity", + "traits": { + "smithy.api#documentation": "Intensity of the turn.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details related to the turn step.
" + } + }, + "com.amazonaws.georoutes#RouteUTurnStepDetails": { + "type": "structure", + "members": { + "Intersection": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Name of the intersection, if applicable to the step.
", + "smithy.api#required": {} + } + }, + "SteeringDirection": { + "target": "com.amazonaws.georoutes#RouteSteeringDirection", + "traits": { + "smithy.api#documentation": "Steering direction for the step.
" + } + }, + "TurnAngle": { + "target": "com.amazonaws.georoutes#TurnAngle", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Angle of the turn.
" + } + }, + "TurnIntensity": { + "target": "com.amazonaws.georoutes#RouteTurnIntensity", + "traits": { + "smithy.api#documentation": "Intensity of the turn.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details related to the U-turn step.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleArrival": { + "type": "structure", + "members": { + "Place": { + "target": "com.amazonaws.georoutes#RouteVehiclePlace", + "traits": { + "smithy.api#documentation": "The place details.
", + "smithy.api#required": {} + } + }, + "Time": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "The time.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details corresponding to the arrival for a leg.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleDeparture": { + "type": "structure", + "members": { + "Place": { + "target": "com.amazonaws.georoutes#RouteVehiclePlace", + "traits": { + "smithy.api#documentation": "The place details.
", + "smithy.api#required": {} + } + }, + "Time": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "The departure time.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Details corresponding to the departure for the leg.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleIncident": { + "type": "structure", + "members": { + "Description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Brief readable description of the incident.
" + } + }, + "EndTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "End timestamp of the incident.
" + } + }, + "Severity": { + "target": "com.amazonaws.georoutes#RouteVehicleIncidentSeverity", + "traits": { + "smithy.api#documentation": "Severity of the incident\nCritical - The part of the route the incident affects is unusable.\nMajor- Major impact on the leg duration, for example stop and go\nMinor- Minor impact on the leg duration, for example traffic jam\nLow - Low on duration, for example slightly increased traffic
" + } + }, + "StartTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Start time of the incident.
" + } + }, + "Type": { + "target": "com.amazonaws.georoutes#RouteVehicleIncidentType", + "traits": { + "smithy.api#documentation": "Type of the incident.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Incidents corresponding to this leg of the route.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleIncidentList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteVehicleIncident" + } + }, + "com.amazonaws.georoutes#RouteVehicleIncidentSeverity": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CRITICAL", + "value": "Critical" + }, + { + "name": "HIGH", + "value": "High" + }, + { + "name": "MEDIUM", + "value": "Medium" + }, + { + "name": "LOW", + "value": "Low" + } + ] + } + }, + "com.amazonaws.georoutes#RouteVehicleIncidentType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ACCIDENT", + "value": "Accident" + }, + { + "name": "CONGESTION", + "value": "Congestion" + }, + { + "name": "CONSTRUCTION", + "value": "Construction" + }, + { + "name": "DISABLED_VEHICLE", + "value": "DisabledVehicle" + }, + { + "name": "LANE_RESTRICTION", + "value": "LaneRestriction" + }, + { + "name": "MASS_TRANSIT", + "value": "MassTransit" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "PLANNED_EVENT", + "value": "PlannedEvent" + }, + { + "name": "ROAD_CLOSURE", + "value": "RoadClosure" + }, + { + "name": "ROAD_HAZARD", + "value": "RoadHazard" + }, + { + "name": "WEATHER", + "value": "Weather" + } + ] + } + }, + "com.amazonaws.georoutes#RouteVehicleLegDetails": { + "type": "structure", + "members": { + "Arrival": { + "target": "com.amazonaws.georoutes#RouteVehicleArrival", + "traits": { + "smithy.api#documentation": "Details corresponding to the arrival for the leg.
", + "smithy.api#required": {} + } + }, + "Departure": { + "target": "com.amazonaws.georoutes#RouteVehicleDeparture", + "traits": { + "smithy.api#documentation": "Details corresponding to the departure for the leg.
", + "smithy.api#required": {} + } + }, + "Incidents": { + "target": "com.amazonaws.georoutes#RouteVehicleIncidentList", + "traits": { + "smithy.api#documentation": "Incidents corresponding to this leg of the route.
", + "smithy.api#required": {} + } + }, + "Notices": { + "target": "com.amazonaws.georoutes#RouteVehicleNoticeList", + "traits": { + "smithy.api#documentation": "Notices are additional information returned that indicate issues that occurred during route calculation.
", + "smithy.api#required": {} + } + }, + "PassThroughWaypoints": { + "target": "com.amazonaws.georoutes#RoutePassThroughWaypointList", + "traits": { + "smithy.api#documentation": "Waypoints that were passed through during the leg. This includes the waypoints that were configured with the PassThrough option.
", + "smithy.api#required": {} + } + }, + "Spans": { + "target": "com.amazonaws.georoutes#RouteVehicleSpanList", + "traits": { + "smithy.api#documentation": "Spans that were computed for the requested SpanAdditionalFeatures.
", + "smithy.api#required": {} + } + }, + "Summary": { + "target": "com.amazonaws.georoutes#RouteVehicleSummary", + "traits": { + "smithy.api#documentation": "Summarized details of the leg.
" + } + }, + "Tolls": { + "target": "com.amazonaws.georoutes#RouteTollList", + "traits": { + "smithy.api#documentation": "Toll related options.
", + "smithy.api#required": {} + } + }, + "TollSystems": { + "target": "com.amazonaws.georoutes#RouteTollSystemList", + "traits": { + "smithy.api#documentation": "Toll systems are authorities that collect payments for the toll.
", + "smithy.api#required": {} + } + }, + "TravelSteps": { + "target": "com.amazonaws.georoutes#RouteVehicleTravelStepList", + "traits": { + "smithy.api#documentation": "Steps of a leg that must be performed before the travel portion of the leg.
", + "smithy.api#required": {} + } + }, + "TruckRoadTypes": { + "target": "com.amazonaws.georoutes#TruckRoadTypeList", + "traits": { + "smithy.api#documentation": "Truck road type identifiers. BK1
through BK4
apply only to Sweden. \n A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
\nZones corresponding to this leg of the route.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Steps of a leg that correspond to the travel portion of the leg.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleLicensePlate": { + "type": "structure", + "members": { + "LastCharacter": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The last character of the License Plate.
", + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + } + }, + "traits": { + "smithy.api#documentation": "License plate information of the vehicle. Currently, only the last character is used\n where license plate based controlled access is enforced.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleNotice": { + "type": "structure", + "members": { + "Code": { + "target": "com.amazonaws.georoutes#RouteVehicleNoticeCode", + "traits": { + "smithy.api#documentation": "Code corresponding to the issue.
", + "smithy.api#required": {} + } + }, + "Details": { + "target": "com.amazonaws.georoutes#RouteVehicleNoticeDetailList", + "traits": { + "smithy.api#documentation": "Additional details of the notice.
", + "smithy.api#required": {} + } + }, + "Impact": { + "target": "com.amazonaws.georoutes#RouteNoticeImpact", + "traits": { + "smithy.api#documentation": "Impact corresponding to the issue. While Low impact notices can be safely ignored, High impact notices must be evaluated further to determine the impact.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Notices are additional information returned that indicate issues that occurred during route calculation.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleNoticeCode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ACCURATE_POLYLINE_UNAVAILABLE", + "value": "AccuratePolylineUnavailable" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "POTENTIAL_VIOLATED_AVOID_TOLL_ROAD_USAGE", + "value": "PotentialViolatedAvoidTollRoadUsage" + }, + { + "name": "POTENTIAL_VIOLATED_CARPOOL_USAGE", + "value": "PotentialViolatedCarpoolUsage" + }, + { + "name": "POTENTIAL_VIOLATED_TURN_RESTRICTION_USAGE", + "value": "PotentialViolatedTurnRestrictionUsage" + }, + { + "name": "POTENTIAL_VIOLATED_VEHICLE_RESTRICTION_USAGE", + "value": "PotentialViolatedVehicleRestrictionUsage" + }, + { + "name": "POTENTIAL_VIOLATED_ZONE_RESTRICTION_USAGE", + "value": "PotentialViolatedZoneRestrictionUsage" + }, + { + "name": "SEASONAL_CLOSURE", + "value": "SeasonalClosure" + }, + { + "name": "TOLLS_DATA_TEMPORARILY_UNAVAILABLE", + "value": "TollsDataTemporarilyUnavailable" + }, + { + "name": "TOLLS_DATA_UNAVAILABLE", + "value": "TollsDataUnavailable" + }, + { + "name": "TOLL_TRANSPONDER", + "value": "TollTransponder" + }, + { + "name": "VIOLATED_AVOID_CONTROLLED_ACCESS_HIGHWAY", + "value": "ViolatedAvoidControlledAccessHighway" + }, + { + "name": "VIOLATED_AVOID_DIFFICULT_TURNS", + "value": "ViolatedAvoidDifficultTurns" + }, + { + "name": "VIOLATED_AVOID_DIRT_ROAD", + "value": "ViolatedAvoidDirtRoad" + }, + { + "name": "VIOLATED_AVOID_SEASONAL_CLOSURE", + "value": "ViolatedAvoidSeasonalClosure" + }, + { + "name": "VIOLATED_AVOID_TOLL_ROAD", + "value": "ViolatedAvoidTollRoad" + }, + { + "name": "VIOLATED_AVOID_TOLL_TRANSPONDER", + "value": "ViolatedAvoidTollTransponder" + }, + { + "name": "VIOLATED_AVOID_TRUCK_ROAD_TYPE", + "value": "ViolatedAvoidTruckRoadType" + }, + { + "name": "VIOLATED_AVOID_TUNNEL", + "value": "ViolatedAvoidTunnel" + }, + { + "name": "VIOLATED_AVOID_U_TURNS", + "value": "ViolatedAvoidUTurns" + }, + { + "name": "VIOLATED_BLOCKED_ROAD", + "value": "ViolatedBlockedRoad" + }, + { + "name": "VIOLATED_CARPOOL", + "value": "ViolatedCarpool" + }, + { + "name": "VIOLATED_EMERGENCY_GATE", + "value": "ViolatedEmergencyGate" + }, + { + "name": "VIOLATED_START_DIRECTION", + "value": "ViolatedStartDirection" + }, + { + "name": "VIOLATED_TURN_RESTRICTION", + "value": "ViolatedTurnRestriction" + }, + { + "name": "VIOLATED_VEHICLE_RESTRICTION", + "value": "ViolatedVehicleRestriction" + }, + { + "name": "VIOLATED_ZONE_RESTRICTION", + "value": "ViolatedZoneRestriction" + } + ] + } + }, + "com.amazonaws.georoutes#RouteVehicleNoticeDetail": { + "type": "structure", + "members": { + "Title": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The notice title.
" + } + }, + "ViolatedConstraints": { + "target": "com.amazonaws.georoutes#RouteViolatedConstraints", + "traits": { + "smithy.api#documentation": "Any violated constraints.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Additional details of the notice.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleNoticeDetailList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteVehicleNoticeDetail" + } + }, + "com.amazonaws.georoutes#RouteVehicleNoticeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteVehicleNotice" + } + }, + "com.amazonaws.georoutes#RouteVehicleOverviewSummary": { + "type": "structure", + "members": { + "BestCaseDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Total duration in free flowing traffic, which is the best case or shortest duration possible to cover the leg.
\n\n Unit: seconds
\n
Distance of the step.
", + "smithy.api#required": {} + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the step.
\n\n Unit: seconds
\n
Duration of the computed span under typical traffic congestion.
\n\n Unit: seconds
\n
Summarized details of the leg.
" + } + }, + "com.amazonaws.georoutes#RouteVehiclePlace": { + "type": "structure", + "members": { + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The name of the place.
" + } + }, + "OriginalPosition": { + "target": "com.amazonaws.georoutes#Position23", + "traits": { + "smithy.api#documentation": "Position provided in the request.
" + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position23", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Options to configure matching the provided position to a side of the street.
" + } + }, + "WaypointIndex": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Index of the waypoint in the request.
", + "smithy.api#range": { + "min": 0 + } + } + } + }, + "traits": { + "smithy.api#documentation": "Place details corresponding to the arrival or departure.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleSpan": { + "type": "structure", + "members": { + "BestCaseDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the computed span without traffic congestion.
\n\n Unit: seconds
\n
Access attributes for a car corresponding to the span.
" + } + }, + "Country": { + "target": "com.amazonaws.georoutes#CountryCode3", + "traits": { + "smithy.api#documentation": "3 letter Country code corresponding to the Span.
" + } + }, + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Distance of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
" + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the computed span. This feature doesn't split a span, but is always computed on a span split by other properties.
\n\n Unit: seconds
\n
Dynamic speed details corresponding to the span.
\n\n Unit: KilometersPerHour
\n
Functional classification of the road segment corresponding to the span.
", + "smithy.api#range": { + "min": 1, + "max": 5 + } + } + }, + "Gate": { + "target": "com.amazonaws.georoutes#RouteSpanGateAttribute", + "traits": { + "smithy.api#documentation": "Attributes corresponding to a gate. The gate is present at the end of the returned span.
" + } + }, + "GeometryOffset": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Offset in the leg geometry corresponding to the start of this span.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "Incidents": { + "target": "com.amazonaws.georoutes#IndexList", + "traits": { + "smithy.api#documentation": "Incidents corresponding to the span. These index into the Incidents in the parent Leg.
" + } + }, + "Names": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Provides an array of names of the vehicle span in available languages.
" + } + }, + "Notices": { + "target": "com.amazonaws.georoutes#IndexList", + "traits": { + "smithy.api#documentation": "Notices are additional information returned that indicate issues that occurred during route calculation.
" + } + }, + "RailwayCrossing": { + "target": "com.amazonaws.georoutes#RouteSpanRailwayCrossingAttribute", + "traits": { + "smithy.api#documentation": "Attributes corresponding to a railway crossing. The gate is present at the end of the returned span.
" + } + }, + "Region": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "2-3 letter Region code corresponding to the Span. This is either a province or a state.
", + "smithy.api#length": { + "min": 0, + "max": 3 + } + } + }, + "RoadAttributes": { + "target": "com.amazonaws.georoutes#RouteSpanRoadAttributeList", + "traits": { + "smithy.api#documentation": "Attributes for the road segment corresponding to the span.
" + } + }, + "RouteNumbers": { + "target": "com.amazonaws.georoutes#RouteNumberList", + "traits": { + "smithy.api#documentation": "Designated route name or number corresponding to the span.
" + } + }, + "ScooterAccess": { + "target": "com.amazonaws.georoutes#RouteSpanScooterAccessAttributeList", + "traits": { + "smithy.api#documentation": "Access attributes for a scooter corresponding to the span.
" + } + }, + "SpeedLimit": { + "target": "com.amazonaws.georoutes#RouteSpanSpeedLimitDetails", + "traits": { + "smithy.api#documentation": "Speed limit details corresponding to the span.
\n\n Unit: KilometersPerHour
\n
Toll systems are authorities that collect payments for the toll.
" + } + }, + "TruckAccess": { + "target": "com.amazonaws.georoutes#RouteSpanTruckAccessAttributeList", + "traits": { + "smithy.api#documentation": "Access attributes for a truck corresponding to the span.
" + } + }, + "TruckRoadTypes": { + "target": "com.amazonaws.georoutes#IndexList", + "traits": { + "smithy.api#documentation": "Truck road type identifiers. BK1
through BK4
apply only to Sweden. \n A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
\nDuration of the computed span under typical traffic congestion.
\n\n Unit: seconds
\n
Zones corresponding to this leg of the route.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Span computed for the requested SpanAdditionalFeatures.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleSpanList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteVehicleSpan" + } + }, + "com.amazonaws.georoutes#RouteVehicleSummary": { + "type": "structure", + "members": { + "Overview": { + "target": "com.amazonaws.georoutes#RouteVehicleOverviewSummary", + "traits": { + "smithy.api#documentation": "Summarized details for the leg including before travel, travel and after travel steps.
" + } + }, + "TravelOnly": { + "target": "com.amazonaws.georoutes#RouteVehicleTravelOnlySummary", + "traits": { + "smithy.api#documentation": "Summarized details for the leg including travel steps only. The Distance for the travel only portion of the journey is in meters
" + } + } + }, + "traits": { + "smithy.api#documentation": "Summarized details of the route.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleTravelOnlySummary": { + "type": "structure", + "members": { + "BestCaseDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Total duration in free flowing traffic, which is the best case or shortest duration possible to cover the leg.
\n\n Unit: seconds
\n
Duration of the step.
\n\n Unit: seconds
\n
Duration of the computed span under typical traffic congestion.
\n\n Unit: seconds
\n
Summarized details of the route.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleTravelStep": { + "type": "structure", + "members": { + "ContinueHighwayStepDetails": { + "target": "com.amazonaws.georoutes#RouteContinueHighwayStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Continue Highway step.
" + } + }, + "ContinueStepDetails": { + "target": "com.amazonaws.georoutes#RouteContinueStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Continue step.
" + } + }, + "CurrentRoad": { + "target": "com.amazonaws.georoutes#RouteRoad", + "traits": { + "smithy.api#documentation": "Details of the current road.
" + } + }, + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Distance of the step.
" + } + }, + "Duration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the step.
\n\n Unit: seconds
\n
Details that are specific to a Enter Highway step.
" + } + }, + "ExitNumber": { + "target": "com.amazonaws.georoutes#LocalizedStringList", + "traits": { + "smithy.api#documentation": "Exit number of the road exit, if applicable.
" + } + }, + "ExitStepDetails": { + "target": "com.amazonaws.georoutes#RouteExitStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Roundabout Exit step.
" + } + }, + "GeometryOffset": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Offset in the leg geometry corresponding to the start of this step.
", + "smithy.api#range": { + "min": 0 + } + } + }, + "Instruction": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Brief description of the step in the requested language.
\nOnly available when the TravelStepType is Default.
\nDetails that are specific to a Keep step.
" + } + }, + "NextRoad": { + "target": "com.amazonaws.georoutes#RouteRoad", + "traits": { + "smithy.api#documentation": "Details of the next road. See RouteRoad for details of sub-attributes.
" + } + }, + "RampStepDetails": { + "target": "com.amazonaws.georoutes#RouteRampStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Ramp step.
" + } + }, + "RoundaboutEnterStepDetails": { + "target": "com.amazonaws.georoutes#RouteRoundaboutEnterStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Roundabout Enter step.
" + } + }, + "RoundaboutExitStepDetails": { + "target": "com.amazonaws.georoutes#RouteRoundaboutExitStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Roundabout Exit step.
" + } + }, + "RoundaboutPassStepDetails": { + "target": "com.amazonaws.georoutes#RouteRoundaboutPassStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Roundabout Pass step.
" + } + }, + "Signpost": { + "target": "com.amazonaws.georoutes#RouteSignpost", + "traits": { + "smithy.api#documentation": "Sign post information of the action, applicable only for TurnByTurn steps. See RouteSignpost for details of sub-attributes.
" + } + }, + "TurnStepDetails": { + "target": "com.amazonaws.georoutes#RouteTurnStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Turn step.
" + } + }, + "Type": { + "target": "com.amazonaws.georoutes#RouteVehicleTravelStepType", + "traits": { + "smithy.api#documentation": "Type of the step.
", + "smithy.api#required": {} + } + }, + "UTurnStepDetails": { + "target": "com.amazonaws.georoutes#RouteUTurnStepDetails", + "traits": { + "smithy.api#documentation": "Details that are specific to a Turn step.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Steps of a leg that correspond to the travel portion of the leg.
" + } + }, + "com.amazonaws.georoutes#RouteVehicleTravelStepList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteVehicleTravelStep" + } + }, + "com.amazonaws.georoutes#RouteVehicleTravelStepType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ARRIVE", + "value": "Arrive" + }, + { + "name": "CONTINUE", + "value": "Continue" + }, + { + "name": "CONTINUE_HIGHWAY", + "value": "ContinueHighway" + }, + { + "name": "DEPART", + "value": "Depart" + }, + { + "name": "ENTER_HIGHWAY", + "value": "EnterHighway" + }, + { + "name": "EXIT", + "value": "Exit" + }, + { + "name": "KEEP", + "value": "Keep" + }, + { + "name": "RAMP", + "value": "Ramp" + }, + { + "name": "ROUNDABOUT_ENTER", + "value": "RoundaboutEnter" + }, + { + "name": "ROUNDABOUT_EXIT", + "value": "RoundaboutExit" + }, + { + "name": "ROUNDABOUT_PASS", + "value": "RoundaboutPass" + }, + { + "name": "TURN", + "value": "Turn" + }, + { + "name": "U_TURN", + "value": "UTurn" + } + ] + } + }, + "com.amazonaws.georoutes#RouteViolatedConstraints": { + "type": "structure", + "members": { + "AllHazardsRestricted": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "This restriction applies to truck cargo, where the resulting route excludes roads on which hazardous materials are prohibited from being transported.
" + } + }, + "AxleCount": { + "target": "com.amazonaws.georoutes#RouteNoticeDetailRange", + "traits": { + "smithy.api#documentation": "Total number of axles of the vehicle.
" + } + }, + "HazardousCargos": { + "target": "com.amazonaws.georoutes#RouteHazardousCargoTypeList", + "traits": { + "smithy.api#documentation": "List of Hazardous cargo contained in the vehicle.
", + "smithy.api#required": {} + } + }, + "MaxHeight": { + "target": "com.amazonaws.georoutes#DimensionCentimeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The maximum height of the vehicle.
" + } + }, + "MaxKpraLength": { + "target": "com.amazonaws.georoutes#DimensionCentimeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The maximum Kpra length of the vehicle.
\n\n Unit: centimeters
\n
The maximum length of the vehicle.
" + } + }, + "MaxPayloadCapacity": { + "target": "com.amazonaws.georoutes#WeightKilograms", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The maximum load capacity of the vehicle.
\n\n Unit: kilograms
\n
The maximum weight of the route.
\n\n Unit: Kilograms
\n
The maximum weight per axle of the vehicle.
\n\n Unit: Kilograms
\n
The maximum weight per axle group of the vehicle.
\n\n Unit: Kilograms
\n
The maximum width of the vehicle.
" + } + }, + "Occupancy": { + "target": "com.amazonaws.georoutes#RouteNoticeDetailRange", + "traits": { + "smithy.api#documentation": "The number of occupants in the vehicle.
\nDefault Value: 1
\n
Access radius restrictions based on time.
" + } + }, + "TimeDependent": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "The time dependent constraint.
" + } + }, + "TrailerCount": { + "target": "com.amazonaws.georoutes#RouteNoticeDetailRange", + "traits": { + "smithy.api#documentation": "Number of trailers attached to the vehicle.
\nDefault Value: 0
\n
Travel mode corresponding to the leg.
" + } + }, + "TruckRoadType": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Truck road type identifiers. BK1
through BK4
apply only to Sweden. \n A2,A4,B2,B4,C,D,ET2,ET4
apply only to Mexico.
There are currently no other supported values as of 26th April 2024.
\nType of the truck.
" + } + }, + "TunnelRestrictionCode": { + "target": "com.amazonaws.georoutes#TunnelRestrictionCode", + "traits": { + "smithy.api#documentation": "The tunnel restriction code.
\nTunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. \n They relate to the types of dangerous goods that can be transported through them.
\n\n Tunnel Category B\n
\n\n Risk Level: Limited risk
\n\n Restrictions: Few restrictions
\n\n Tunnel Category C\n
\n\n Risk Level: Medium risk
\n\n Restrictions: Some restrictions
\n\n Tunnel Category D\n
\n\n Risk Level: High risk
\n\n Restrictions: Many restrictions occur
\n\n Tunnel Category E\n
\n\n Risk Level: Very high risk
\n\n Restrictions: Restricted tunnel
\nThis property contains a \n summary of violated constraints.
" + } + }, + "com.amazonaws.georoutes#RouteWaypoint": { + "type": "structure", + "members": { + "AvoidActionsForDistance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Avoids actions for the provided distance. This is typically to consider for users in moving vehicles who may not have sufficient time to make an action at an origin or a destination.
", + "smithy.api#range": { + "max": 2000 + } + } + }, + "AvoidUTurns": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid U-turns for calculation on highways and motorways.
" + } + }, + "Heading": { + "target": "com.amazonaws.georoutes#Heading", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "GPS Heading at the position.
" + } + }, + "Matching": { + "target": "com.amazonaws.georoutes#RouteMatchingOptions", + "traits": { + "smithy.api#documentation": "Options to configure matching the provided position to the road network.
" + } + }, + "PassThrough": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "If the waypoint should not be treated as a stop. If yes, the waypoint is passed through and doesn't split the route into different legs.
" + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Options to configure matching the provided position to a side of the street.
" + } + }, + "StopDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Duration of the stop.
\n\n Unit: seconds
\n
Waypoint between the Origin and Destination.
" + } + }, + "com.amazonaws.georoutes#RouteWaypointList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteWaypoint" + } + }, + "com.amazonaws.georoutes#RouteWeightConstraint": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.georoutes#RouteWeightConstraintType", + "traits": { + "smithy.api#documentation": "The type of constraint.
", + "smithy.api#required": {} + } + }, + "Value": { + "target": "com.amazonaws.georoutes#WeightKilograms", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "The constraint value.
\n\n Unit: Kilograms
\n
The weight constraint for the route.
\n\n Unit: Kilograms
\n
The zone category.
" + } + }, + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The name of the zone.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The zone.
" + } + }, + "com.amazonaws.georoutes#RouteZoneCategory": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CONGESTION_PRICING", + "value": "CongestionPricing" + }, + { + "name": "ENVIRONMENTAL", + "value": "Environmental" + }, + { + "name": "VIGNETTE", + "value": "Vignette" + } + ] + } + }, + "com.amazonaws.georoutes#RouteZoneList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#RouteZone" + } + }, + "com.amazonaws.georoutes#RoutesService": { + "type": "service", + "version": "2020-11-19", + "resources": [ + { + "target": "com.amazonaws.georoutes#ProviderResource" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "Geo Routes", + "arnNamespace": "geo-routes", + "cloudTrailEventSource": "geo-routes.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "geo-routes" + }, + "aws.endpoints#standardRegionalEndpoints": { + "partitionSpecialCases": { + "aws": [ + { + "endpoint": "https://routes.geo.{region}.{dnsSuffix}/v2" + }, + { + "endpoint": "https://routes.geo-fips.{region}.{dualStackDnsSuffix}/v2", + "fips": true, + "dualStack": true + }, + { + "endpoint": "https://routes.geo-fips.{region}.{dnsSuffix}/v2", + "fips": true, + "dualStack": false + }, + { + "endpoint": "https://routes.geo.{region}.{dualStackDnsSuffix}/v2", + "fips": false, + "dualStack": true + } + ], + "aws-us-gov": [ + { + "endpoint": "https://routes.geo.{region}.us-gov.{dnsSuffix}/v2" + }, + { + "endpoint": "https://routes.geo-fips.{region}.us-gov.{dualStackDnsSuffix}/v2", + "fips": true, + "dualStack": true + }, + { + "endpoint": "https://routes.geo-fips.{region}.us-gov.{dnsSuffix}/v2", + "fips": true, + "dualStack": false + }, + { + "endpoint": "https://routes.geo.{region}.us-gov.{dualStackDnsSuffix}/v2", + "fips": false, + "dualStack": true + } + ] + } + }, + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "additionalAllowedHeaders": ["x-amz-content-sha256", "x-amz-user-agent", "content-type"] + }, + "smithy.api#documentation": "With the Amazon Location Routes API you can calculate\n routes and estimate travel time based on up-to-date road network and live \n traffic information.
\nCalculate optimal travel routes and estimate travel times using up-to-date road network and traffic data. Key features include:
\nPoint-to-point routing with estimated travel time, distance, and turn-by-turn directions
\nMulti-point route optimization to minimize travel time or distance
\nRoute matrices for efficient multi-destination planning
\nIsoline calculations to determine reachable areas within specified time or distance thresholds
\nMap-matching to align GPS traces with the road network
\nThe SnapToRoads action matches GPS trace to roads most likely traveled on.
", + "smithy.api#http": { + "uri": "/snap-to-roads", + "method": "POST" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "SnapToRoadsSuccess", + "params": { + "TracePoints": [ + { + "Position": [8.53404, 50.16364] + }, + { + "Position": [8.53379056, 50.16352417] + } + ] + }, + "expect": { + "success": {} + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-west-2" + } + } + ] + } + }, + "com.amazonaws.georoutes#SnapToRoadsRequest": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.georoutes#ApiKey", + "traits": { + "smithy.api#documentation": "Optional: The API key to be used for authorization. Either an API key or valid SigV4\n signature must be provided when making a request.
", + "smithy.api#httpQuery": "key" + } + }, + "SnappedGeometryFormat": { + "target": "com.amazonaws.georoutes#GeometryFormat", + "traits": { + "smithy.api#documentation": "Chooses what the returned SnappedGeometry format should be.
\nDefault Value: FlexiblePolyline
\n
The radius around the provided tracepoint that is considered for snapping.
\n\n Unit: meters
\n
Default value: 300
\n
List of trace points to be snapped onto the road network.
", + "smithy.api#length": { + "min": 2, + "max": 5000 + }, + "smithy.api#required": {} + } + }, + "TravelMode": { + "target": "com.amazonaws.georoutes#RoadSnapTravelMode", + "traits": { + "smithy.api#documentation": "Specifies the mode of transport when calculating a route. \n Used in estimating the speed of travel and road compatibility.
\nDefault Value: Car
\n
Travel mode related options for the provided travel mode.
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.georoutes#SnapToRoadsResponse": { + "type": "structure", + "members": { + "Notices": { + "target": "com.amazonaws.georoutes#RoadSnapNoticeList", + "traits": { + "smithy.api#documentation": "Notices are additional information returned that indicate issues that occurred during route calculation.
", + "smithy.api#required": {} + } + }, + "PricingBucket": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The pricing bucket for which the query is charged at.
", + "smithy.api#httpHeader": "x-amz-geo-pricing-bucket", + "smithy.api#required": {} + } + }, + "SnappedGeometry": { + "target": "com.amazonaws.georoutes#RoadSnapSnappedGeometry", + "traits": { + "smithy.api#documentation": "The interpolated geometry for the snapped route onto the road network.
" + } + }, + "SnappedGeometryFormat": { + "target": "com.amazonaws.georoutes#GeometryFormat", + "traits": { + "smithy.api#documentation": "Specifies the format of the geometry returned for each leg of the route.
", + "smithy.api#required": {} + } + }, + "SnappedTracePoints": { + "target": "com.amazonaws.georoutes#RoadSnapSnappedTracePointList", + "traits": { + "smithy.api#documentation": "The trace points snapped onto the road network.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.georoutes#SpeedKilometersPerHour": { + "type": "double", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0.0 + } + } + }, + "com.amazonaws.georoutes#ThrottlingException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#jsonName": "message", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The request was denied due to request throttling.
", + "smithy.api#error": "client", + "smithy.api#httpError": 429, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.georoutes#TimeOfDay": { + "type": "string", + "traits": { + "smithy.api#pattern": "^([0-1]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](Z|[+-]([0-1]?[0-9]|2[0-3]):[0-5][0-9])$" + } + }, + "com.amazonaws.georoutes#TimeThresholdList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#range": { + "min": 0, + "max": 10800 + } + } + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, + "com.amazonaws.georoutes#TimestampWithTimezoneOffset": { + "type": "string", + "traits": { + "smithy.api#pattern": "^([1-2][0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\\.[0-9]{0,9})?(Z|[+-]([01][0-9]|2[0-3]):[0-5][0-9])$" + } + }, + "com.amazonaws.georoutes#TrafficUsage": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "IGNORE_TRAFFIC_DATA", + "value": "IgnoreTrafficData" + }, + { + "name": "USE_TRAFFIC_DATA", + "value": "UseTrafficData" + } + ] + } + }, + "com.amazonaws.georoutes#TruckRoadType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 3 + } + } + }, + "com.amazonaws.georoutes#TruckRoadTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#TruckRoadType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 12 + }, + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#TunnelRestrictionCode": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1 + } + } + }, + "com.amazonaws.georoutes#TurnAngle": { + "type": "double", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": -180, + "max": 180 + } + } + }, + "com.amazonaws.georoutes#ValidationException": { + "type": "structure", + "members": { + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#jsonName": "message", + "smithy.api#required": {} + } + }, + "Reason": { + "target": "com.amazonaws.georoutes#ValidationExceptionReason", + "traits": { + "smithy.api#documentation": "A message with the reason for the validation exception error.
", + "smithy.api#jsonName": "reason", + "smithy.api#required": {} + } + }, + "FieldList": { + "target": "com.amazonaws.georoutes#ValidationExceptionFieldList", + "traits": { + "smithy.api#documentation": "The field where the invalid entry was detected.
", + "smithy.api#jsonName": "fieldList", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The input fails to satisfy the constraints specified by an AWS service.
", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.georoutes#ValidationExceptionField": { + "type": "structure", + "members": { + "Name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The name of the Validation Exception Field.
", + "smithy.api#jsonName": "name", + "smithy.api#required": {} + } + }, + "Message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "The error message.
", + "smithy.api#jsonName": "message", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The input fails to satisfy the constraints specified by the Amazon Location service.
" + } + }, + "com.amazonaws.georoutes#ValidationExceptionFieldList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#ValidationExceptionField" + } + }, + "com.amazonaws.georoutes#ValidationExceptionReason": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "UNKNOWN_OPERATION", + "value": "UnknownOperation", + "documentation": "No such operation is supported." + }, + { + "name": "MISSING", + "value": "Missing", + "documentation": "The required input is missing." + }, + { + "name": "CANNOT_PARSE", + "value": "CannotParse", + "documentation": " The input cannot be parsed. For example a required JSON document, ARN identifier,\n date value, or numeric field cannot be parsed.\n" + }, + { + "name": "FIELD_VALIDATION_FAILED", + "value": "FieldValidationFailed", + "documentation": " The input is present and parsable, but it is otherwise invalid. For example, a\n required numeric argument is outside the allowed range.\n" + }, + { + "name": "OTHER", + "value": "Other", + "documentation": "The input is invalid but no more specific reason is applicable." + }, + { + "name": "UNKNOWN_FIELD", + "value": "UnknownField", + "documentation": "No such field is supported." + } + ] + } + }, + "com.amazonaws.georoutes#WaypointId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.georoutes#WaypointIndex": { + "type": "integer", + "traits": { + "smithy.api#default": 0 + } + }, + "com.amazonaws.georoutes#WaypointOptimizationAccessHours": { + "type": "structure", + "members": { + "From": { + "target": "com.amazonaws.georoutes#WaypointOptimizationAccessHoursEntry", + "traits": { + "smithy.api#documentation": "Contains the ID of the starting waypoint in this connection.
", + "smithy.api#required": {} + } + }, + "To": { + "target": "com.amazonaws.georoutes#WaypointOptimizationAccessHoursEntry", + "traits": { + "smithy.api#documentation": "Contains the ID of the ending waypoint in this connection.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Access hours corresponding to when a destination can be visited.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationAccessHoursEntry": { + "type": "structure", + "members": { + "DayOfWeek": { + "target": "com.amazonaws.georoutes#DayOfWeek", + "traits": { + "smithy.api#documentation": "Day of the week.
", + "smithy.api#required": {} + } + }, + "TimeOfDay": { + "target": "com.amazonaws.georoutes#TimeOfDay", + "traits": { + "smithy.api#documentation": "Time of the day.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Hours of entry.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationAvoidanceArea": { + "type": "structure", + "members": { + "Geometry": { + "target": "com.amazonaws.georoutes#WaypointOptimizationAvoidanceAreaGeometry", + "traits": { + "smithy.api#documentation": "Geometry of the area to be avoided.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The area to be avoided.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationAvoidanceAreaGeometry": { + "type": "structure", + "members": { + "BoundingBox": { + "target": "com.amazonaws.georoutes#BoundingBox", + "traits": { + "smithy.api#documentation": "Geometry defined as a bounding box. The first pair represents the X and Y coordinates\n (longitude and latitude,) of the southwest corner of the bounding box; the second pair\n represents the X and Y coordinates (longitude and latitude) of the northeast corner.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Geometry of the area to be avoided.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationAvoidanceAreaList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#WaypointOptimizationAvoidanceArea" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationAvoidanceOptions": { + "type": "structure", + "members": { + "Areas": { + "target": "com.amazonaws.georoutes#WaypointOptimizationAvoidanceAreaList", + "traits": { + "smithy.api#documentation": "Areas to be avoided.
", + "smithy.api#length": { + "max": 20 + } + } + }, + "CarShuttleTrains": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoidance options for cars-shuttles-trains.
" + } + }, + "ControlledAccessHighways": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid controlled access highways while calculating the route.
" + } + }, + "DirtRoads": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid dirt roads while calculating the route.
" + } + }, + "Ferries": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoidance options for ferries.
" + } + }, + "TollRoads": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoids roads where the specified toll transponders are the only mode of payment.
" + } + }, + "Tunnels": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid tunnels while calculating the route.
" + } + }, + "UTurns": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "Avoid U-turns for calculation on highways and motorways.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Options for WaypointOptimizationAvoidance.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationConnection": { + "type": "structure", + "members": { + "Distance": { + "target": "com.amazonaws.georoutes#DistanceMeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Distance of the step.
", + "smithy.api#required": {} + } + }, + "From": { + "target": "com.amazonaws.georoutes#WaypointId", + "traits": { + "smithy.api#documentation": "contains the ID of the starting waypoint in this connection.
", + "smithy.api#required": {} + } + }, + "RestDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Resting time before the driver can continue driving.
", + "smithy.api#required": {} + } + }, + "To": { + "target": "com.amazonaws.georoutes#WaypointId", + "traits": { + "smithy.api#documentation": "Contains the ID of the ending waypoint in this connection.
", + "smithy.api#required": {} + } + }, + "TravelDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Total duration.
\n\n Unit: seconds
\n
Duration of a wait step.
\n\n Unit: seconds
\n
This contains information such as distance and duration from one waypoint to the next waypoint in the sequence.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationConnectionList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#WaypointOptimizationConnection" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationConstraint": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ACCESS_HOURS", + "value": "AccessHours" + }, + { + "name": "APPOINTMENT_TIME", + "value": "AppointmentTime" + }, + { + "name": "BEFORE", + "value": "Before" + }, + { + "name": "HEADING", + "value": "Heading" + }, + { + "name": "SERVICE_DURATION", + "value": "ServiceDuration" + }, + { + "name": "SIDE_OF_STREET", + "value": "SideOfStreet" + } + ] + } + }, + "com.amazonaws.georoutes#WaypointOptimizationDestinationOptions": { + "type": "structure", + "members": { + "AccessHours": { + "target": "com.amazonaws.georoutes#WaypointOptimizationAccessHours", + "traits": { + "smithy.api#documentation": "Access hours corresponding to when a waypoint can be visited.
" + } + }, + "AppointmentTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Appointment time at the destination.
" + } + }, + "Heading": { + "target": "com.amazonaws.georoutes#Heading", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "GPS Heading at the position.
" + } + }, + "Id": { + "target": "com.amazonaws.georoutes#WaypointId", + "traits": { + "smithy.api#documentation": "The waypoint Id.
" + } + }, + "ServiceDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Service time spent at the destination. At an appointment, the service time should be the appointment duration.
\n\n Unit: seconds
\n
Options to configure matching the provided position to a side of the street.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Destination related options.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationDriverOptions": { + "type": "structure", + "members": { + "RestCycles": { + "target": "com.amazonaws.georoutes#WaypointOptimizationRestCycles", + "traits": { + "smithy.api#documentation": "Driver work-rest schedules defined by a short and long cycle. A rest needs to be taken after the short work duration. The short cycle can be repeated until you hit the long work duration, at which point the long rest duration should be taken before restarting.
" + } + }, + "RestProfile": { + "target": "com.amazonaws.georoutes#WaypointOptimizationRestProfile", + "traits": { + "smithy.api#documentation": "Pre defined rest profiles for a driver schedule. The only currently supported profile is\n EU.
" + } + }, + "TreatServiceTimeAs": { + "target": "com.amazonaws.georoutes#WaypointOptimizationServiceTimeTreatment", + "traits": { + "smithy.api#documentation": "If the service time provided at a waypoint/destination should be considered as rest or work. This contributes to the total time breakdown returned within the response.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Driver related options.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationExclusionOptions": { + "type": "structure", + "members": { + "Countries": { + "target": "com.amazonaws.georoutes#CountryCodeList", + "traits": { + "smithy.api#documentation": "List of countries to be avoided defined by two-letter or three-letter country codes.
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Exclusion options.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationFailedConstraint": { + "type": "structure", + "members": { + "Constraint": { + "target": "com.amazonaws.georoutes#WaypointOptimizationConstraint", + "traits": { + "smithy.api#documentation": "The failed constraint.
" + } + }, + "Reason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Reason for the failed constraint.
" + } + } + }, + "traits": { + "smithy.api#documentation": "The failed constraint.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationFailedConstraintList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#WaypointOptimizationFailedConstraint" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationHazardousCargoType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "COMBUSTIBLE", + "value": "Combustible" + }, + { + "name": "CORROSIVE", + "value": "Corrosive" + }, + { + "name": "EXPLOSIVE", + "value": "Explosive" + }, + { + "name": "FLAMMABLE", + "value": "Flammable" + }, + { + "name": "GAS", + "value": "Gas" + }, + { + "name": "HARMFUL_TO_WATER", + "value": "HarmfulToWater" + }, + { + "name": "ORGANIC", + "value": "Organic" + }, + { + "name": "OTHER", + "value": "Other" + }, + { + "name": "POISON", + "value": "Poison" + }, + { + "name": "POISONOUS_INHALATION", + "value": "PoisonousInhalation" + }, + { + "name": "RADIOACTIVE", + "value": "Radioactive" + } + ] + } + }, + "com.amazonaws.georoutes#WaypointOptimizationHazardousCargoTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#WaypointOptimizationHazardousCargoType" + }, + "traits": { + "smithy.api#uniqueItems": {} + } + }, + "com.amazonaws.georoutes#WaypointOptimizationImpedingWaypoint": { + "type": "structure", + "members": { + "FailedConstraints": { + "target": "com.amazonaws.georoutes#WaypointOptimizationFailedConstraintList", + "traits": { + "smithy.api#documentation": "Failed constraints for an impeding waypoint.
", + "smithy.api#required": {} + } + }, + "Id": { + "target": "com.amazonaws.georoutes#WaypointId", + "traits": { + "smithy.api#documentation": "The waypoint Id.
", + "smithy.api#required": {} + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
The impeding waypoint.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationImpedingWaypointList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#WaypointOptimizationImpedingWaypoint" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationOptimizedWaypoint": { + "type": "structure", + "members": { + "ArrivalTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Estimated time of arrival at the destination.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
Estimated time of departure from thr origin.
\nTime format:YYYY-MM-DDThh:mm:ss.sssZ | YYYY-MM-DDThh:mm:ss.sss+hh:mm
\n
Examples:
\n\n 2020-04-22T17:57:24Z
\n
\n 2020-04-22T17:57:24+02:00
\n
The waypoint Id.
", + "smithy.api#required": {} + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
The optimized waypoint.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationOptimizedWaypointList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#WaypointOptimizationOptimizedWaypoint" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationOriginOptions": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.georoutes#WaypointId", + "traits": { + "smithy.api#documentation": "The Origin Id.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Options related to the origin.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationPedestrianOptions": { + "type": "structure", + "members": { + "Speed": { + "target": "com.amazonaws.georoutes#SpeedKilometersPerHour", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "Walking speed.
\n\n Unit: KilometersPerHour
\n
Options related to a pedestrian.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationRestCycleDurations": { + "type": "structure", + "members": { + "RestDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Resting phase of the cycle.
\n\n Unit: seconds
\n
Working phase of the cycle.
\n\n Unit: seconds
\n
Driver work-rest schedules defined by a short and long cycle. A rest needs to be taken after the short work duration. The short cycle can be repeated until you hit the long work duration, at which point the long rest duration should be taken before restarting.
\n\n Unit: seconds
\n
Long cycle for a driver work-rest schedule.
", + "smithy.api#required": {} + } + }, + "ShortCycle": { + "target": "com.amazonaws.georoutes#WaypointOptimizationRestCycleDurations", + "traits": { + "smithy.api#documentation": "Short cycle for a driver work-rest schedule
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Resting phase of the cycle.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationRestProfile": { + "type": "structure", + "members": { + "Profile": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "Pre defined rest profiles for a driver schedule. The only currently supported profile is\n EU.
", + "smithy.api#length": { + "min": 2, + "max": 2 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Pre defined rest profiles for a driver schedule. The only currently supported profile is\n EU.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationSequencingObjective": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "FASTEST_ROUTE", + "value": "FastestRoute" + }, + { + "name": "SHORTEST_ROUTE", + "value": "ShortestRoute" + } + ] + } + }, + "com.amazonaws.georoutes#WaypointOptimizationServiceTimeTreatment": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "REST", + "value": "Rest" + }, + { + "name": "WORK", + "value": "Work" + } + ] + } + }, + "com.amazonaws.georoutes#WaypointOptimizationSideOfStreetOptions": { + "type": "structure", + "members": { + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Strategy that defines when the side of street position should be used. AnyStreet will always use the provided position.
\nDefault Value: DividedStreetOnly
\n
Options to configure matching the provided position to a side of the street.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationTimeBreakdown": { + "type": "structure", + "members": { + "RestDuration": { + "target": "com.amazonaws.georoutes#DurationSeconds", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Resting phase of the cycle.
\n\n Unit: seconds
\n
Service time spent at the destination. At an appointment, the service time should be the appointment duration.
\n\n Unit: seconds
\n
Traveling phase of the cycle.
\n\n Unit: seconds
\n
Waiting phase of the cycle.
\n\n Unit: seconds
\n
Time breakdown for the sequence.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationTrafficOptions": { + "type": "structure", + "members": { + "Usage": { + "target": "com.amazonaws.georoutes#TrafficUsage", + "traits": { + "smithy.api#documentation": "Determines if traffic should be used or ignored while calculating the route.
\nDefault Value: UseTrafficData
\n
Options related to traffic.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationTrailerOptions": { + "type": "structure", + "members": { + "TrailerCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "Number of trailers attached to the vehicle.
\nDefault Value: 0
\n
Trailer options corresponding to the vehicle.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationTravelMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CAR", + "value": "Car" + }, + { + "name": "PEDESTRIAN", + "value": "Pedestrian" + }, + { + "name": "SCOOTER", + "value": "Scooter" + }, + { + "name": "TRUCK", + "value": "Truck" + } + ] + } + }, + "com.amazonaws.georoutes#WaypointOptimizationTravelModeOptions": { + "type": "structure", + "members": { + "Pedestrian": { + "target": "com.amazonaws.georoutes#WaypointOptimizationPedestrianOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Pedestrian\"
" + } + }, + "Truck": { + "target": "com.amazonaws.georoutes#WaypointOptimizationTruckOptions", + "traits": { + "smithy.api#documentation": "Travel mode options when the provided travel mode is \"Truck\"
" + } + } + }, + "traits": { + "smithy.api#documentation": "Travel mode related options for the provided travel mode.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationTruckOptions": { + "type": "structure", + "members": { + "GrossWeight": { + "target": "com.amazonaws.georoutes#WeightKilograms", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Gross weight of the vehicle including trailers, and goods at capacity.
\n\n Unit: Kilograms
\n
List of Hazardous cargo contained in the vehicle.
" + } + }, + "Height": { + "target": "com.amazonaws.georoutes#DimensionCentimeters", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Height of the vehicle.
\n\n Unit: centimeters
\n
Length of the vehicle.
\n\n Unit: centimeters
\n
Trailer options corresponding to the vehicle.
" + } + }, + "TruckType": { + "target": "com.amazonaws.georoutes#WaypointOptimizationTruckType", + "traits": { + "smithy.api#documentation": "Type of the truck.
" + } + }, + "TunnelRestrictionCode": { + "target": "com.amazonaws.georoutes#TunnelRestrictionCode", + "traits": { + "smithy.api#documentation": "The tunnel restriction code.
\nTunnel categories in this list indicate the restrictions which apply to certain tunnels in Great Britain. \n They relate to the types of dangerous goods that can be transported through them.
\n\n Tunnel Category B\n
\n\n Risk Level: Limited risk
\n\n Restrictions: Few restrictions
\n\n Tunnel Category C\n
\n\n Risk Level: Medium risk
\n\n Restrictions: Some restrictions
\n\n Tunnel Category D\n
\n\n Risk Level: High risk
\n\n Restrictions: Many restrictions occur
\n\n Tunnel Category E\n
\n\n Risk Level: Very high risk
\n\n Restrictions: Restricted tunnel
\nHeaviest weight per axle irrespective of the axle type or the axle group. Meant for usage in countries where the differences in axle types or axle groups are not distinguished.
\n\n Unit: Kilograms
\n
Width of the vehicle.
\n\n Unit: centimeters
\n
Travel mode options when the provided travel mode is \"Truck\"
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationTruckType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "STRAIGHT_TRUCK", + "value": "StraightTruck" + }, + { + "name": "TRACTOR", + "value": "Tractor" + } + ] + } + }, + "com.amazonaws.georoutes#WaypointOptimizationWaypoint": { + "type": "structure", + "members": { + "AccessHours": { + "target": "com.amazonaws.georoutes#WaypointOptimizationAccessHours", + "traits": { + "smithy.api#documentation": "Access hours corresponding to when a waypoint can be visited.
" + } + }, + "AppointmentTime": { + "target": "com.amazonaws.georoutes#TimestampWithTimezoneOffset", + "traits": { + "smithy.api#documentation": "Appointment time at the waypoint.
" + } + }, + "Before": { + "target": "com.amazonaws.georoutes#BeforeWaypointsList", + "traits": { + "smithy.api#documentation": "Constraint defining what waypoints are to be visited after this waypoint.
" + } + }, + "Heading": { + "target": "com.amazonaws.georoutes#Heading", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "GPS Heading at the position.
" + } + }, + "Id": { + "target": "com.amazonaws.georoutes#WaypointId", + "traits": { + "smithy.api#documentation": "The waypoint Id.
" + } + }, + "Position": { + "target": "com.amazonaws.georoutes#Position", + "traits": { + "smithy.api#documentation": "Position defined as [longitude, latitude]
.
Service time spent at the waypoint. At an appointment, the service time should be the appointment duration.
\n\n Unit: seconds
\n
Options to configure matching the provided position to a side of the street.
" + } + } + }, + "traits": { + "smithy.api#documentation": "Waypoint between the Origin and Destination.
" + } + }, + "com.amazonaws.georoutes#WaypointOptimizationWaypointList": { + "type": "list", + "member": { + "target": "com.amazonaws.georoutes#WaypointOptimizationWaypoint" + } + }, + "com.amazonaws.georoutes#WeightKilograms": { + "type": "long", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 4294967295 + } + } + }, + "com.amazonaws.georoutes#WeightPerAxleGroup": { + "type": "structure", + "members": { + "Single": { + "target": "com.amazonaws.georoutes#WeightKilograms", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "Weight for single axle group.
\n\n Unit: Kilograms
\n
Weight for tandem axle group.
\n\n Unit: Kilograms
\n
Weight for triple axle group.
\n\n Unit: Kilograms
\n
Weight for quad axle group.
\n\n Unit: Kilograms
\n
Weight for quad quint group.
\n\n Unit: Kilograms
\n
Specifies the total weight for the specified axle group. Meant for usage in countries that have different regulations based on the axle group type.
\n\n Unit: Kilograms
\n