@azure-rest/maps-route 1.0.0-beta.2 → 1.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,17 @@
1
- import { AzureKeyCredential } from '@azure/core-auth';
1
+ import { AbortSignalLike } from '@azure/abort-controller';
2
+ import type { AzureKeyCredential } from '@azure/core-auth';
3
+ import type { AzureSASCredential } from '@azure/core-auth';
4
+ import { CancelOnProgress } from '@azure/core-lro';
2
5
  import { Client } from '@azure-rest/core-client';
3
6
  import { ClientOptions } from '@azure-rest/core-client';
7
+ import { CreateHttpPollerOptions } from '@azure/core-lro';
4
8
  import { HttpResponse } from '@azure-rest/core-client';
5
- import { LatLon } from '@azure/maps-common';
6
- import { LroEngineOptions } from '@azure/core-lro';
7
- import { PollerLike } from '@azure/core-lro';
8
- import { PollOperationState } from '@azure/core-lro';
9
+ import type { LatLon } from '@azure/maps-common';
10
+ import { OperationState } from '@azure/core-lro';
9
11
  import { RawHttpHeaders } from '@azure/core-rest-pipeline';
10
12
  import { RequestParameters } from '@azure-rest/core-client';
11
13
  import { StreamableMethod } from '@azure-rest/core-client';
12
- import { TokenCredential } from '@azure/core-auth';
14
+ import type { TokenCredential } from '@azure/core-auth';
13
15
 
14
16
  /** This type represents the request body for the Batch service. */
15
17
  export declare interface BatchRequest {
@@ -26,23 +28,25 @@ export declare interface BatchRequestItem {
26
28
  /** An item returned from Batch API. Extend with 'response' property. */
27
29
  export declare interface BatchResultItemOutput {
28
30
  /** HTTP request status code. */
29
- statusCode: number;
31
+ readonly statusCode: number;
30
32
  }
31
33
 
32
34
  /** This object is returned from a successful Batch service call. Extend with 'batchItems' property. */
33
35
  export declare interface BatchResultOutput {
34
36
  /** Summary of the results for the batch request */
35
- summary: BatchResultSummaryOutput;
37
+ readonly summary: BatchResultSummaryOutput;
36
38
  }
37
39
 
38
40
  /** Summary of the results for the batch request */
39
41
  export declare interface BatchResultSummaryOutput {
40
42
  /** Number of successful requests in the batch */
41
- successfulRequests: number;
43
+ readonly successfulRequests: number;
42
44
  /** Total number of requests in the batch */
43
- totalRequests: number;
45
+ readonly totalRequests: number;
44
46
  }
45
47
 
48
+ export declare function buildMultiCollection(items: string[], parameterName: string): string;
49
+
46
50
  /**
47
51
  * Create a batch request body of a bunch of route direction requests.
48
52
  *
@@ -54,17 +58,17 @@ export declare function createRouteDirectionsBatchRequest(queryParamProperties:
54
58
  /** Effective parameter or data used when calling this Route API. */
55
59
  export declare interface EffectiveSettingOutput {
56
60
  /** Name of the parameter used. */
57
- key: string;
61
+ readonly key: string;
58
62
  /** Value of the parameter used. */
59
- value: string;
63
+ readonly value: string;
60
64
  }
61
65
 
62
66
  /** The error detail. */
63
67
  export declare interface ErrorDetailOutput {
64
68
  /** The error code. */
65
- code?: string;
69
+ readonly code?: string;
66
70
  /** The error message. */
67
- message?: string;
71
+ readonly message?: string;
68
72
  }
69
73
 
70
74
  /** Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.). */
@@ -194,25 +198,21 @@ export declare interface GeoJsonPolygonData {
194
198
  * @param options - Options to set a resume state or custom polling interval.
195
199
  * @returns - A poller object to poll for operation state updates and eventually get the final response.
196
200
  */
197
- export declare function getLongRunningPoller<TResult extends HttpResponse>(client: Client, initialResponse: TResult, options?: LroEngineOptions<TResult, PollOperationState<TResult>>): PollerLike<PollOperationState<TResult>, TResult>;
201
+ export declare function getLongRunningPoller<TResult extends HttpResponse>(client: Client, initialResponse: TResult, options?: CreateHttpPollerOptions<TResult, OperationState<TResult>>): Promise<SimplePollerLike<OperationState<TResult>, TResult>>;
198
202
 
199
203
  export declare interface GetRouteDirections {
200
204
  /**
201
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
202
- *
203
205
  *
204
- * Returns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
206
+ * The `Get Route Directions` API is an HTTP `GET` request that returns a route between an origin and a destination, passing through waypoints if specified. The route takes into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
205
207
  *
206
208
  * Information returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.
207
209
  *
208
- * Routing service provides a set of parameters for a detailed description of vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.
210
+ * Routing service provides a set of parameters for a detailed description of a vehicle-specific consumption model. For more information, see [Consumption Model](/azure/azure-maps/consumption-model).
209
211
  */
210
212
  get(options: RouteGetRouteDirectionsParameters): StreamableMethod<RouteGetRouteDirections200Response | RouteGetRouteDirectionsDefaultResponse>;
211
213
  /**
212
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
213
- *
214
214
  *
215
- * Returns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
215
+ * The `Post Route Directions` API is an HTTP `POST` request that returns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
216
216
  *
217
217
  * Information returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.
218
218
  *
@@ -223,14 +223,10 @@ export declare interface GetRouteDirections {
223
223
 
224
224
  export declare interface GetRouteRange {
225
225
  /**
226
- * __Route Range (Isochrone) API__
227
- *
228
- *
229
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
230
226
  *
231
- * This service will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.
227
+ * The `Get Route Range` (Isochrone) API is an HTTP `GET` request that will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.
232
228
  *
233
- * The returned polygon can be used for further processing such as [Search Inside Geometry](https://docs.microsoft.com/rest/api/maps/search/postsearchinsidegeometry) to search for POIs within the provided Isochrone.
229
+ * The returned polygon can be used for further processing such as [Search Inside Geometry](/rest/api/maps/search/post-search-inside-geometry) to search for POIs within the provided isochrone.
234
230
  */
235
231
  get(options: RouteGetRouteRangeParameters): StreamableMethod<RouteGetRouteRange200Response | RouteGetRouteRangeDefaultResponse>;
236
232
  }
@@ -275,7 +271,7 @@ declare function MapsRoute(credential: AzureKeyCredential, options?: ClientOptio
275
271
  *
276
272
  * @example
277
273
  * ```ts
278
- * import MapsRoute from "@azure/maps-route";
274
+ * import MapsRoute from "@azure-rest/maps-route";
279
275
  * import { DefaultAzureCredential } from "@azure/identity";
280
276
  *
281
277
  * const credential = new DefaultAzureCredential();
@@ -287,22 +283,40 @@ declare function MapsRoute(credential: AzureKeyCredential, options?: ClientOptio
287
283
  * @param options - Options used to configure the Route Client
288
284
  */
289
285
  declare function MapsRoute(credential: TokenCredential, mapsAccountClientId: string, options?: ClientOptions): MapsRouteClient;
286
+
287
+ /**
288
+ * Creates an instance of MapsRoute from an Azure Identity `AzureSASCredential`.
289
+ *
290
+ * @example
291
+ * ```ts
292
+ * import MapsRoute from "@azure-rest/maps-route";
293
+ * import { AzureSASCredential } from "@azure/core-auth";
294
+ *
295
+ * const credential = new AzureSASCredential("<SAS Token>");
296
+ * const client = MapsRoute(credential);
297
+ * ```
298
+ *
299
+ * @param credential - An AzureSASCredential instance used to authenticate requests to the service
300
+ * @param options - Options used to configure the Route Client
301
+ */
302
+ declare function MapsRoute(credential: AzureSASCredential, options?: ClientOptions): MapsRouteClient;
290
303
  export default MapsRoute;
291
304
 
292
305
  export declare type MapsRouteClient = Client & {
293
306
  path: Routes;
294
307
  };
295
308
 
309
+ /** The optional parameters for the client */
310
+ export declare interface MapsRouteClientOptions extends ClientOptions {
311
+ /** The api version option of the client */
312
+ apiVersion?: string;
313
+ }
314
+
296
315
  export declare interface RequestRouteDirectionsBatch {
297
316
  /**
298
- * **Route Directions Batch API**
299
- *
300
- *
301
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
302
317
  *
318
+ * The `Post Route Directions Batch` API is an HTTP `POST` request that sends batches of queries to the [Get Route Directions](/rest/api/maps/route/get-route-directions) API using a single asynchronous request. You can call `Route Directions Batch` API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries. To call the `Post Route Directions Batch` API in a synchronous request, see [Post Route Directions Batch Sync](/rest/api/maps/route/post-route-directions-batch-sync).
303
319
  *
304
- *
305
- * The Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.
306
320
  * ### Submit Asynchronous Batch Request
307
321
  * The Asynchronous API is appropriate for processing big volumes of relatively complex route requests
308
322
  * - It allows the retrieval of results in a separate call (multiple downloads are possible).
@@ -310,10 +324,13 @@ export declare interface RequestRouteDirectionsBatch {
310
324
  * - The number of batch items is limited to **700** for this API.
311
325
  *
312
326
  * When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.
313
- * The asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.
327
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
314
328
  *
315
- * Please note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:
316
- * 1. Client sends a Route Directions Batch `POST` request to Azure Maps
329
+ * Please note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:
330
+ * 1. Client sends a Route Directions Batch `POST` request to Azure Maps.
331
+ * ```
332
+ * POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
333
+ * ```
317
334
  * 2. The server will respond with one of the following:
318
335
  *
319
336
  * > HTTP `202 Accepted` - Batch request has been accepted.
@@ -322,9 +339,9 @@ export declare interface RequestRouteDirectionsBatch {
322
339
  *
323
340
  * 3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.
324
341
  * This status URI looks like following:
325
- *
326
- * ``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```
327
- * Note:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it. <br>
342
+ * ```
343
+ * GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
344
+ * ```
328
345
  * 4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.
329
346
  *
330
347
  * ### POST Body for Batch Request
@@ -447,7 +464,8 @@ export declare interface RequestRouteDirectionsBatch {
447
464
  */
448
465
  post(options: RouteRequestRouteDirectionsBatchParameters): StreamableMethod<RouteRequestRouteDirectionsBatch200Response | RouteRequestRouteDirectionsBatch202Response>;
449
466
  /**
450
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
467
+ *
468
+ * The `Get Route Directions Batch` API is an HTTP `GET` request that sends batches of queries to the [Get Route Directions](/rest/api/maps/route/get-route-directions) API using a single request. You can call `Get Route Directions Batch` API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.
451
469
  *
452
470
  * ### Download Asynchronous Batch Results
453
471
  * To download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:
@@ -552,14 +570,8 @@ export declare interface RequestRouteDirectionsBatch {
552
570
 
553
571
  export declare interface RequestRouteDirectionsBatchSync {
554
572
  /**
555
- * **Route Directions Batch API**
556
- *
557
573
  *
558
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
559
- *
560
- *
561
- *
562
- * The Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.
574
+ * The `Post Route Directions Batch Sync` API is an HTTP `POST` request that sends batches of queries to the [Get Route Directions](/rest/api/maps/route/get-route-directions) API using a single synchronous request. You can call `Route Directions Batch` API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries. To call the `Post Route Directions Batch` API in a asynchronous request, see [Post Route Directions Batch](/rest/api/maps/route/post-route-directions-batch).
563
575
  * ### Submit Synchronous Batch Request
564
576
  * The Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.
565
577
  * ```
@@ -653,9 +665,7 @@ export declare interface RequestRouteDirectionsBatchSync {
653
665
  export declare interface RequestRouteMatrix {
654
666
  /**
655
667
  *
656
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
657
- *
658
- * The Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
668
+ * The `Post Route Matrix` API is an HTTP `POST` request that allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) request. To make a synchronous (sync) request, see [Post Route Matrix Sync](/rest/api/maps/route/post-route-matrix-sync). For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
659
669
  *
660
670
  *
661
671
  * For each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.
@@ -663,6 +673,9 @@ export declare interface RequestRouteMatrix {
663
673
  *
664
674
  * The maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).
665
675
  *
676
+ * > [!NOTE]
677
+ * > All origins and destinations should be contained in an axis-aligned 400 km x 400 km bounding box. Otherwise some matrix cells will be resolved as OUT_OF_REGION.
678
+ *
666
679
  *
667
680
  *
668
681
  * ### Submit Synchronous Route Matrix Request
@@ -679,7 +692,7 @@ export declare interface RequestRouteMatrix {
679
692
  * The maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).
680
693
  *
681
694
  *
682
- * The asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.
695
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
683
696
  *
684
697
  *
685
698
  *
@@ -724,9 +737,53 @@ export declare interface RequestRouteMatrix {
724
737
  */
725
738
  post(options: RouteRequestRouteMatrixParameters): StreamableMethod<RouteRequestRouteMatrix200Response | RouteRequestRouteMatrix202Response>;
726
739
  /**
727
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
728
740
  *
729
- * If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:
741
+ * The `Get Route Matrix` API is an HTTP `GET` request that computes the travel time and distance for all possible pairs in a list of origins and destinations. Unlike the [Get Route Directions](/rest/api/maps/route/get-route-directions) API, which provide detailed route instructions, this API focuses on efficiency by giving you the cost (travel time and distance) of routing from each origin to every destination. For more information, see [Best practices for Azure Maps Route service](/azure/azure-maps/how-to-use-best-practices-for-routing).
742
+ *
743
+ * For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
744
+ *
745
+ *
746
+ * For each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.
747
+ *
748
+ *
749
+ * The maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).
750
+ *
751
+ *
752
+ *
753
+ * ### Submit Synchronous Route Matrix Request
754
+ * If your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).
755
+ *
756
+ * ```
757
+ * GET https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}
758
+ * ```
759
+ *
760
+ * ### Submit Asynchronous Route Matrix Request
761
+ * The Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.
762
+ *
763
+ *
764
+ * The maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).
765
+ *
766
+ *
767
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
768
+ *
769
+ *
770
+ *
771
+ *
772
+ * ```
773
+ * GET https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}
774
+ * ```
775
+ *
776
+ * Here's a typical sequence of asynchronous operations:
777
+ * 1. Client sends a Route Matrix GET request to Azure Maps
778
+ *
779
+ * 2. The server will respond with one of the following:
780
+ *
781
+ * > HTTP `202 Accepted` - Route Matrix request has been accepted.
782
+ *
783
+ * > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.
784
+ *
785
+ *
786
+ * 3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:
730
787
  *
731
788
  * ```
732
789
  * GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
@@ -736,7 +793,7 @@ export declare interface RequestRouteMatrix {
736
793
  * 4. Client issues a GET request on the download URL obtained in Step 3 to download the results
737
794
  *
738
795
  * ### Download Sync Results
739
- * When you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.
796
+ * When you make a GET request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.
740
797
  *
741
798
  * ### Download Async Results
742
799
  * When a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:
@@ -756,9 +813,7 @@ export declare interface RequestRouteMatrix {
756
813
  export declare interface RequestRouteMatrixSync {
757
814
  /**
758
815
  *
759
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
760
- *
761
- * The Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
816
+ * The `Post Route Matrix Sync` API is an HTTP `POST` request that allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using a single synchronous (sync) request. To make an asynchronous (async) request, see [Post Route Matrix](/rest/api/maps/route/post-route-matrix). For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
762
817
  *
763
818
  *
764
819
  * For each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.
@@ -782,7 +837,7 @@ export declare interface RequestRouteMatrixSync {
782
837
  * The maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).
783
838
  *
784
839
  *
785
- * The asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.
840
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
786
841
  *
787
842
  *
788
843
  *
@@ -841,9 +896,9 @@ export declare interface RouteDirectionParameters {
841
896
  * ignored for the calculation of the reference route's travel time and traffic delay.
842
897
  */
843
898
  supportingPoints?: Record<string, unknown>;
844
- /** This is a list of 3-character, ISO 3166-1, alpha-3 country codes of countries in which all toll roads with vignettes are to be avoided, e.g. "AUS,CHE". Toll roads with vignettes in countries not in the list are unaffected. Note: It is an error to specify both **avoidVignette** and **allowVignette**. */
899
+ /** This is a list of 3-character, ISO 3166-1, alpha-3 country codes of countries/regions in which all toll roads with vignettes are to be avoided, e.g. "AUS,CHE". Toll roads with vignettes in countries/regions not in the list are unaffected. Note: It is an error to specify both **avoidVignette** and **allowVignette**. */
845
900
  avoidVignette?: Array<string>;
846
- /** This is a list of 3-character, ISO 3166-1, alpha-3 country codes of countries in which toll roads with vignettes are allowed, e.g. "AUS,CHE". Specifying **allowVignette** with some countries X is equivalent to specifying **avoidVignette** with all countries but X. Specifying **allowVignette** with an empty list is the same as avoiding all toll roads with vignettes. Note: It is an error to specify both **avoidVignette** and **allowVignette**. */
901
+ /** This is a list of 3-character, ISO 3166-1, alpha-3 country codes of countries/regions in which toll roads with vignettes are allowed, e.g. "AUS,CHE". Specifying **allowVignette** with some countries/regions X is equivalent to specifying **avoidVignette** with all countries/regions but X. Specifying **allowVignette** with an empty list is the same as avoiding all toll roads with vignettes. Note: It is an error to specify both **avoidVignette** and **allowVignette**. */
847
902
  allowVignette?: Array<string>;
848
903
  /** A GeoJSON MultiPolygon representing list of areas to avoid. Only rectangle polygons are supported. The maximum size of a rectangle is about 160x160 km. Maximum number of avoided areas is **10**. It cannot cross the 180th meridian. It must be between -80 and +80 degrees of latitude. */
849
904
  avoidAreas?: GeoJsonMultiPolygon;
@@ -852,7 +907,7 @@ export declare interface RouteDirectionParameters {
852
907
  /** An item returned from Route Directions Batch service call. */
853
908
  export declare interface RouteDirectionsBatchItemOutput extends BatchResultItemOutput {
854
909
  /** The result of the query. RouteDirections if the query completed successfully, ErrorResponse otherwise. */
855
- response: RouteDirectionsBatchItemResponseOutput;
910
+ readonly response: RouteDirectionsBatchItemResponseOutput;
856
911
  }
857
912
 
858
913
  /** The result of the query. RouteDirections if the query completed successfully, ErrorResponse otherwise. */
@@ -862,15 +917,15 @@ export declare interface RouteDirectionsBatchItemResponseOutput extends RouteDir
862
917
  /** This object is returned from a successful Route Directions Batch service call. */
863
918
  export declare interface RouteDirectionsBatchResultOutput extends BatchResultOutput {
864
919
  /** Array containing the batch results. */
865
- batchItems: Array<RouteDirectionsBatchItemOutput>;
920
+ readonly batchItems: Array<RouteDirectionsBatchItemOutput>;
866
921
  }
867
922
 
868
923
  /** This object is returned from a successful Route Directions call */
869
924
  export declare interface RouteDirectionsOutput {
870
925
  /** Format Version property */
871
- formatVersion?: string;
926
+ readonly formatVersion?: string;
872
927
  /** Routes array */
873
- routes: Array<RouteOutput>;
928
+ readonly routes: Array<RouteOutput>;
874
929
  /**
875
930
  * Optimized sequence of waypoints. It shows the index from the user provided waypoint sequence for the original and optimized list. For instance, a response:
876
931
  *
@@ -884,20 +939,18 @@ export declare interface RouteDirectionsOutput {
884
939
  *
885
940
  * means that the original sequence is [0, 1, 2] and optimized sequence is [1, 2, 0]. Since the index starts by 0 the original is "first, second, third" while the optimized is "second, third, first".
886
941
  */
887
- optimizedWaypoints?: Array<RouteOptimizedWaypointOutput>;
942
+ readonly optimizedWaypoints?: Array<RouteOptimizedWaypointOutput>;
888
943
  /** Reports the effective settings used in the current call. */
889
944
  report?: RouteReportOutput;
890
945
  }
891
946
 
892
947
  /**
893
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
894
- *
895
948
  *
896
- * Returns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
949
+ * The `Get Route Directions` API is an HTTP `GET` request that returns a route between an origin and a destination, passing through waypoints if specified. The route takes into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
897
950
  *
898
951
  * Information returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.
899
952
  *
900
- * Routing service provides a set of parameters for a detailed description of vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.
953
+ * Routing service provides a set of parameters for a detailed description of a vehicle-specific consumption model. For more information, see [Consumption Model](/azure/azure-maps/consumption-model).
901
954
  */
902
955
  export declare interface RouteGetRouteDirections200Response extends HttpResponse {
903
956
  status: "200";
@@ -905,7 +958,8 @@ export declare interface RouteGetRouteDirections200Response extends HttpResponse
905
958
  }
906
959
 
907
960
  /**
908
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
961
+ *
962
+ * The `Get Route Directions Batch` API is an HTTP `GET` request that sends batches of queries to the [Get Route Directions](/rest/api/maps/route/get-route-directions) API using a single request. You can call `Get Route Directions Batch` API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.
909
963
  *
910
964
  * ### Download Asynchronous Batch Results
911
965
  * To download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:
@@ -1011,12 +1065,13 @@ export declare interface RouteGetRouteDirectionsBatch200Response extends HttpRes
1011
1065
  }
1012
1066
 
1013
1067
  export declare interface RouteGetRouteDirectionsBatch202Headers {
1014
- /** New URL to check for the results of the long running process. */
1068
+ /** New URL to check for the results of the long-running operation. */
1015
1069
  location?: string;
1016
1070
  }
1017
1071
 
1018
1072
  /**
1019
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1073
+ *
1074
+ * The `Get Route Directions Batch` API is an HTTP `GET` request that sends batches of queries to the [Get Route Directions](/rest/api/maps/route/get-route-directions) API using a single request. You can call `Get Route Directions Batch` API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.
1020
1075
  *
1021
1076
  * ### Download Asynchronous Batch Results
1022
1077
  * To download the async batch results you will issue a `GET` request to the batch download endpoint. This _download URL_ can be obtained from the `Location` header of a successful `POST` batch request and looks like the following:
@@ -1118,21 +1173,18 @@ export declare interface RouteGetRouteDirectionsBatch202Headers {
1118
1173
  */
1119
1174
  export declare interface RouteGetRouteDirectionsBatch202Response extends HttpResponse {
1120
1175
  status: "202";
1121
- body: Record<string, unknown>;
1122
1176
  headers: RawHttpHeaders & RouteGetRouteDirectionsBatch202Headers;
1123
1177
  }
1124
1178
 
1125
1179
  export declare type RouteGetRouteDirectionsBatchParameters = RequestParameters;
1126
1180
 
1127
1181
  /**
1128
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1129
1182
  *
1130
- *
1131
- * Returns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
1183
+ * The `Get Route Directions` API is an HTTP `GET` request that returns a route between an origin and a destination, passing through waypoints if specified. The route takes into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
1132
1184
  *
1133
1185
  * Information returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.
1134
1186
  *
1135
- * Routing service provides a set of parameters for a detailed description of vehicle-specific Consumption Model. Please check [Consumption Model](https://docs.microsoft.com/azure/azure-maps/consumption-model) for detailed explanation of the concepts and parameters involved.
1187
+ * Routing service provides a set of parameters for a detailed description of a vehicle-specific consumption model. For more information, see [Consumption Model](/azure/azure-maps/consumption-model).
1136
1188
  */
1137
1189
  export declare interface RouteGetRouteDirectionsDefaultResponse extends HttpResponse {
1138
1190
  status: string;
@@ -1154,9 +1206,27 @@ export declare interface RouteGetRouteDirectionsQueryParamProperties {
1154
1206
  alternativeType?: "anyRoute" | "betterRoute";
1155
1207
  /** All alternative routes returned will follow the reference route (see section POST Requests) from the origin point of the calculateRoute request for at least this number of meters. Can only be used when reconstructing a route. The minDeviationDistance parameter cannot be used in conjunction with arriveAt */
1156
1208
  minDeviationDistance?: number;
1157
- /** The date and time of arrival at the destination point. It must be specified as a dateTime. When a time zone offset is not specified it will be assumed to be that of the destination point. The arriveAt value must be in the future. The arriveAt parameter cannot be used in conjunction with departAt, minDeviationDistance or minDeviationTime. */
1209
+ /**
1210
+ * The date and time of arrival at the destination point formatted as a `dateTime` value as defined in [RFC 3339, section 5.6](https://www.rfc-editor.org/rfc/rfc3339#section-5.6), with an optional time zone offset. When a time zone offset is not specified it will be assumed to be that of the destination point.
1211
+ *
1212
+ * Examples:
1213
+ * * 2023-12-19T16:39:57
1214
+ * * 2023-12-19T16:39:57-08:00
1215
+ *
1216
+ * The `arriveAt` parameter cannot be used in conjunction with `departAt`, `minDeviationDistance` or `minDeviationTime`.
1217
+ */
1158
1218
  arriveAt?: Date | string;
1159
- /** The date and time of departure from the origin point. Departure times apart from now must be specified as a dateTime. When a time zone offset is not specified, it will be assumed to be that of the origin point. The departAt value must be in the future in the date-time format (1996-12-19T16:39:57-08:00). */
1219
+ /**
1220
+ * The date and time of departure from the origin point formatted as a `dateTime` value as defined in [RFC 3339, section 5.6](https://www.rfc-editor.org/rfc/rfc3339#section-5.6), with an optional time zone offset. When a time zone offset is not specified, it will be assumed to be that of the origin point.
1221
+ * * Default value: now
1222
+ * * Other value: `dateTime`
1223
+ *
1224
+ * Examples:
1225
+ * * 2023-12-19T16:39:57
1226
+ * * 2023-12-19T16:39:57-08:00
1227
+ *
1228
+ * The `departAt` parameter cannot be used in conjunction with `arriveAt`.
1229
+ */
1160
1230
  departAt?: Date | string;
1161
1231
  /**
1162
1232
  * All alternative routes returned will follow the reference route (see section POST Requests) from the origin point of the calculateRoute request for at least this number of seconds. Can only be used when reconstructing a route. The minDeviationTime parameter cannot be used in conjunction with arriveAt. Default value is 0. Setting )minDeviationTime_ to a value greater than zero has the following consequences:
@@ -1177,7 +1247,7 @@ export declare interface RouteGetRouteDirectionsQueryParamProperties {
1177
1247
  * - The _vehicleHeading_ is ignored.
1178
1248
  */
1179
1249
  minDeviationTime?: number;
1180
- /** If specified, guidance instructions will be returned. Note that the instructionsType parameter cannot be used in conjunction with routeRepresentation=none */
1250
+ /** If specified, guidance instructions will be returned. Note that the instructionsType parameter cannot be used in conjunction with routeRepresentation=none. */
1181
1251
  instructionsType?: "coded" | "text" | "tagged";
1182
1252
  /**
1183
1253
  * The language parameter determines the language of the guidance messages. Proper nouns (the names of streets, plazas, etc.) are returned in the specified language, or if that is not available, they are returned in an available language that is close to it. Allowed values are (a subset of) the IETF language tags. The currently supported languages are listed in the [Supported languages section](https://docs.microsoft.com/azure/azure-maps/supported-languages).
@@ -1187,7 +1257,7 @@ export declare interface RouteGetRouteDirectionsQueryParamProperties {
1187
1257
  language?: string;
1188
1258
  /** Re-order the route waypoints using a fast heuristic algorithm to reduce the route length. Yields best results when used in conjunction with routeType _shortest_. Notice that origin and destination are excluded from the optimized waypoint indices. To include origin and destination in the response, please increase all the indices by 1 to account for the origin, and then add the destination as the final index. Possible values are true or false. True computes a better order if possible, but is not allowed to be used in conjunction with maxAlternatives value greater than 0 or in conjunction with circle waypoints. False will use the locations in the given order and not allowed to be used in conjunction with routeRepresentation _none_. */
1189
1259
  computeBestOrder?: boolean;
1190
- /** Specifies the representation of the set of routes provided as response. This parameter value can only be used in conjunction with computeBestOrder=true. */
1260
+ /** Specifies the representation of the set of routes provided as response. */
1191
1261
  routeRepresentation?: "polyline" | "summaryOnly" | "none";
1192
1262
  /** Specifies whether to return additional travel times using different types of traffic information (none, historic, live) as well as the default best-estimate travel time. */
1193
1263
  computeTravelTimeFor?: "none" | "all";
@@ -1195,8 +1265,8 @@ export declare interface RouteGetRouteDirectionsQueryParamProperties {
1195
1265
  vehicleHeading?: number;
1196
1266
  /** Specifies which data should be reported for diagnosis purposes. The only possible value is _effectiveSettings_. Reports the effective parameters or data used when calling the API. In the case of defaulted parameters the default will be reflected where the parameter was not specified by the caller. */
1197
1267
  report?: "effectiveSettings";
1198
- /** Specifies which of the section types is reported in the route response. <br><br>For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Multiple types can be used. The default sectionType refers to the travelMode input. By default travelMode is set to car */
1199
- sectionType?: "carTrain" | "country" | "ferry" | "motorway" | "pedestrian" | "tollRoad" | "tollVignette" | "traffic" | "travelMode" | "tunnel" | "carpool" | "urban";
1268
+ /** Specifies which of the section types is reported in the route response. <br><br>For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Can be specified multiple times in one request, for example, '&sectionType=carTrain&sectionType=pedestrian&sectionType=motorway'. The default sectionType refers to the travelMode input. By default travelMode is set to car */
1269
+ sectionType?: Array<"carTrain" | "country" | "ferry" | "motorway" | "pedestrian" | "tollRoad" | "tollVignette" | "traffic" | "travelMode" | "tunnel" | "carpool" | "urban">;
1200
1270
  /** Weight per axle of the vehicle in kg. A value of 0 means that weight restrictions per axle are not considered. */
1201
1271
  vehicleAxleWeight?: number;
1202
1272
  /** Width of the vehicle in meters. A value of 0 means that width restrictions are not considered. */
@@ -1233,9 +1303,9 @@ export declare interface RouteGetRouteDirectionsQueryParamProperties {
1233
1303
  windingness?: "low" | "normal" | "high";
1234
1304
  /** Degree of hilliness for thrilling route. This parameter can only be used in conjunction with `routeType`=thrilling. */
1235
1305
  hilliness?: "low" | "normal" | "high";
1236
- /** The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be "other". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. In **calculateReachableRange** requests, the values bicycle and pedestrian must not be used. */
1306
+ /** The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be "other". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. */
1237
1307
  travelMode?: "car" | "truck" | "taxi" | "bus" | "van" | "motorcycle" | "bicycle" | "pedestrian";
1238
- /** Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In calculateReachableRange requests, the value alreadyUsedRoads must not be used. */
1308
+ /** Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In Route Range requests, the value alreadyUsedRoads must not be used. */
1239
1309
  avoid?: Array<"tollRoads" | "motorways" | "ferries" | "unpavedRoads" | "carpools" | "alreadyUsedRoads" | "borderCrossings">;
1240
1310
  /**
1241
1311
  * Possible values:
@@ -1246,7 +1316,7 @@ export declare interface RouteGetRouteDirectionsQueryParamProperties {
1246
1316
  traffic?: boolean;
1247
1317
  /** The type of route requested. */
1248
1318
  routeType?: "fastest" | "shortest" | "eco" | "thrilling";
1249
- /** Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck. */
1319
+ /** Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries/regions. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries/regions. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck. */
1250
1320
  vehicleLoadType?: "USHazmatClass1" | "USHazmatClass2" | "USHazmatClass3" | "USHazmatClass4" | "USHazmatClass5" | "USHazmatClass6" | "USHazmatClass7" | "USHazmatClass8" | "USHazmatClass9" | "otherHazmatExplosive" | "otherHazmatGeneral" | "otherHazmatHarmfulToWater";
1251
1321
  /** Engine type of the vehicle. When a detailed Consumption Model is specified, it must be consistent with the value of **vehicleEngineType**. */
1252
1322
  vehicleEngineType?: "combustion" | "electric";
@@ -1388,10 +1458,8 @@ export declare interface RouteGetRouteDirectionsQueryParamProperties {
1388
1458
  }
1389
1459
 
1390
1460
  /**
1391
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1392
1461
  *
1393
- *
1394
- * Returns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
1462
+ * The `Post Route Directions` API is an HTTP `POST` request that returns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
1395
1463
  *
1396
1464
  * Information returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.
1397
1465
  *
@@ -1418,10 +1486,8 @@ export declare interface RouteGetRouteDirectionsWithAdditionalParametersBodyPara
1418
1486
  }
1419
1487
 
1420
1488
  /**
1421
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1422
- *
1423
1489
  *
1424
- * Returns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
1490
+ * The `Post Route Directions` API is an HTTP `POST` request that returns a route between an origin and a destination, passing through waypoints if they are specified. The route will take into account factors such as current traffic and the typical road speeds on the requested day of the week and time of day.
1425
1491
  *
1426
1492
  * Information returned includes the distance, estimated travel time, and a representation of the route geometry. Additional routing information such as optimized waypoint order or turn by turn instructions is also available, depending on the options selected.
1427
1493
  *
@@ -1471,13 +1537,13 @@ export declare interface RouteGetRouteDirectionsWithAdditionalParametersQueryPar
1471
1537
  * - The _vehicleHeading_ is ignored.
1472
1538
  */
1473
1539
  minDeviationTime?: number;
1474
- /** If specified, guidance instructions will be returned. Note that the instructionsType parameter cannot be used in conjunction with routeRepresentation=none */
1540
+ /** If specified, guidance instructions will be returned. Note that the instructionsType parameter cannot be used in conjunction with routeRepresentation=none. */
1475
1541
  instructionsType?: "coded" | "text" | "tagged";
1476
1542
  /** The language parameter determines the language of the guidance messages. It does not affect proper nouns (the names of streets, plazas, etc.) It has no effect when instructionsType=coded. Allowed values are (a subset of) the IETF language tags described */
1477
1543
  language?: string;
1478
1544
  /** Re-order the route waypoints using a fast heuristic algorithm to reduce the route length. Yields best results when used in conjunction with routeType _shortest_. Notice that origin and destination are excluded from the optimized waypoint indices. To include origin and destination in the response, please increase all the indices by 1 to account for the origin, and then add the destination as the final index. Possible values are true or false. True computes a better order if possible, but is not allowed to be used in conjunction with maxAlternatives value greater than 0 or in conjunction with circle waypoints. False will use the locations in the given order and not allowed to be used in conjunction with routeRepresentation _none_. */
1479
1545
  computeBestOrder?: boolean;
1480
- /** Specifies the representation of the set of routes provided as response. This parameter value can only be used in conjunction with computeBestOrder=true. */
1546
+ /** Specifies the representation of the set of routes provided as response. */
1481
1547
  routeRepresentation?: "polyline" | "summaryOnly" | "none";
1482
1548
  /** Specifies whether to return additional travel times using different types of traffic information (none, historic, live) as well as the default best-estimate travel time. */
1483
1549
  computeTravelTimeFor?: "none" | "all";
@@ -1485,11 +1551,29 @@ export declare interface RouteGetRouteDirectionsWithAdditionalParametersQueryPar
1485
1551
  vehicleHeading?: number;
1486
1552
  /** Specifies which data should be reported for diagnosis purposes. The only possible value is _effectiveSettings_. Reports the effective parameters or data used when calling the API. In the case of defaulted parameters the default will be reflected where the parameter was not specified by the caller. */
1487
1553
  report?: "effectiveSettings";
1488
- /** Specifies which of the section types is reported in the route response. <br><br>For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Multiple types can be used. The default sectionType refers to the travelMode input. By default travelMode is set to car */
1489
- sectionType?: "carTrain" | "country" | "ferry" | "motorway" | "pedestrian" | "tollRoad" | "tollVignette" | "traffic" | "travelMode" | "tunnel" | "carpool" | "urban";
1490
- /** The date and time of arrival at the destination point. It must be specified as a dateTime. When a time zone offset is not specified it will be assumed to be that of the destination point. The arriveAt value must be in the future. The arriveAt parameter cannot be used in conjunction with departAt, minDeviationDistance or minDeviationTime. */
1554
+ /** Specifies which of the section types is reported in the route response. <br><br>For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Can be specified multiple times in one request, for example, '&sectionType=carTrain&sectionType=pedestrian&sectionType=motorway'. The default sectionType refers to the travelMode input. By default travelMode is set to car */
1555
+ sectionType?: Array<"carTrain" | "country" | "ferry" | "motorway" | "pedestrian" | "tollRoad" | "tollVignette" | "traffic" | "travelMode" | "tunnel" | "carpool" | "urban">;
1556
+ /**
1557
+ * The date and time of arrival at the destination point formatted as a `dateTime` value as defined in [RFC 3339, section 5.6](https://www.rfc-editor.org/rfc/rfc3339#section-5.6), with an optional time zone offset. When a time zone offset is not specified it will be assumed to be that of the destination point.
1558
+ *
1559
+ * Examples:
1560
+ * * 2023-12-19T16:39:57
1561
+ * * 2023-12-19T16:39:57-08:00
1562
+ *
1563
+ * The `arriveAt` parameter cannot be used in conjunction with `departAt`, `minDeviationDistance` or `minDeviationTime`.
1564
+ */
1491
1565
  arriveAt?: Date | string;
1492
- /** The date and time of departure from the origin point. Departure times apart from now must be specified as a dateTime. When a time zone offset is not specified, it will be assumed to be that of the origin point. The departAt value must be in the future in the date-time format (1996-12-19T16:39:57-08:00). */
1566
+ /**
1567
+ * The date and time of departure from the origin point formatted as a `dateTime` value as defined in [RFC 3339, section 5.6](https://www.rfc-editor.org/rfc/rfc3339#section-5.6), with an optional time zone offset. When a time zone offset is not specified, it will be assumed to be that of the origin point.
1568
+ * * Default value: now
1569
+ * * Other value: `dateTime`
1570
+ *
1571
+ * Examples:
1572
+ * * 2023-12-19T16:39:57
1573
+ * * 2023-12-19T16:39:57-08:00
1574
+ *
1575
+ * The `departAt` parameter cannot be used in conjunction with `arriveAt`.
1576
+ */
1493
1577
  departAt?: Date | string;
1494
1578
  /** Weight per axle of the vehicle in kg. A value of 0 means that weight restrictions per axle are not considered. */
1495
1579
  vehicleAxleWeight?: number;
@@ -1527,9 +1611,9 @@ export declare interface RouteGetRouteDirectionsWithAdditionalParametersQueryPar
1527
1611
  windingness?: "low" | "normal" | "high";
1528
1612
  /** Degree of hilliness for thrilling route. This parameter can only be used in conjunction with `routeType`=thrilling. */
1529
1613
  hilliness?: "low" | "normal" | "high";
1530
- /** The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be "other". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. In **calculateReachableRange** requests, the values bicycle and pedestrian must not be used. */
1614
+ /** The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be "other". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. */
1531
1615
  travelMode?: "car" | "truck" | "taxi" | "bus" | "van" | "motorcycle" | "bicycle" | "pedestrian";
1532
- /** Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In calculateReachableRange requests, the value alreadyUsedRoads must not be used. */
1616
+ /** Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In Route Range requests, the value alreadyUsedRoads must not be used. */
1533
1617
  avoid?: Array<"tollRoads" | "motorways" | "ferries" | "unpavedRoads" | "carpools" | "alreadyUsedRoads" | "borderCrossings">;
1534
1618
  /**
1535
1619
  * Possible values:
@@ -1540,7 +1624,7 @@ export declare interface RouteGetRouteDirectionsWithAdditionalParametersQueryPar
1540
1624
  traffic?: boolean;
1541
1625
  /** The type of route requested. */
1542
1626
  routeType?: "fastest" | "shortest" | "eco" | "thrilling";
1543
- /** Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck. */
1627
+ /** Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries/regions. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries/regions. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck. */
1544
1628
  vehicleLoadType?: "USHazmatClass1" | "USHazmatClass2" | "USHazmatClass3" | "USHazmatClass4" | "USHazmatClass5" | "USHazmatClass6" | "USHazmatClass7" | "USHazmatClass8" | "USHazmatClass9" | "otherHazmatExplosive" | "otherHazmatGeneral" | "otherHazmatHarmfulToWater";
1545
1629
  /** Engine type of the vehicle. When a detailed Consumption Model is specified, it must be consistent with the value of **vehicleEngineType**. */
1546
1630
  vehicleEngineType?: "combustion" | "electric";
@@ -1682,9 +1766,53 @@ export declare interface RouteGetRouteDirectionsWithAdditionalParametersQueryPar
1682
1766
  }
1683
1767
 
1684
1768
  /**
1685
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1686
1769
  *
1687
- * If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:
1770
+ * The `Get Route Matrix` API is an HTTP `GET` request that computes the travel time and distance for all possible pairs in a list of origins and destinations. Unlike the [Get Route Directions](/rest/api/maps/route/get-route-directions) API, which provide detailed route instructions, this API focuses on efficiency by giving you the cost (travel time and distance) of routing from each origin to every destination. For more information, see [Best practices for Azure Maps Route service](/azure/azure-maps/how-to-use-best-practices-for-routing).
1771
+ *
1772
+ * For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
1773
+ *
1774
+ *
1775
+ * For each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.
1776
+ *
1777
+ *
1778
+ * The maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).
1779
+ *
1780
+ *
1781
+ *
1782
+ * ### Submit Synchronous Route Matrix Request
1783
+ * If your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).
1784
+ *
1785
+ * ```
1786
+ * GET https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}
1787
+ * ```
1788
+ *
1789
+ * ### Submit Asynchronous Route Matrix Request
1790
+ * The Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.
1791
+ *
1792
+ *
1793
+ * The maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).
1794
+ *
1795
+ *
1796
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
1797
+ *
1798
+ *
1799
+ *
1800
+ *
1801
+ * ```
1802
+ * GET https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}
1803
+ * ```
1804
+ *
1805
+ * Here's a typical sequence of asynchronous operations:
1806
+ * 1. Client sends a Route Matrix GET request to Azure Maps
1807
+ *
1808
+ * 2. The server will respond with one of the following:
1809
+ *
1810
+ * > HTTP `202 Accepted` - Route Matrix request has been accepted.
1811
+ *
1812
+ * > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.
1813
+ *
1814
+ *
1815
+ * 3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:
1688
1816
  *
1689
1817
  * ```
1690
1818
  * GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
@@ -1694,7 +1822,7 @@ export declare interface RouteGetRouteDirectionsWithAdditionalParametersQueryPar
1694
1822
  * 4. Client issues a GET request on the download URL obtained in Step 3 to download the results
1695
1823
  *
1696
1824
  * ### Download Sync Results
1697
- * When you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.
1825
+ * When you make a GET request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.
1698
1826
  *
1699
1827
  * ### Download Async Results
1700
1828
  * When a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:
@@ -1714,14 +1842,58 @@ export declare interface RouteGetRouteMatrix200Response extends HttpResponse {
1714
1842
  }
1715
1843
 
1716
1844
  export declare interface RouteGetRouteMatrix202Headers {
1717
- /** New URL to check for the results of the long running process. */
1845
+ /** New URL to check for the results of the long-running operation. */
1718
1846
  location?: string;
1719
1847
  }
1720
1848
 
1721
1849
  /**
1722
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1723
1850
  *
1724
- * If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:
1851
+ * The `Get Route Matrix` API is an HTTP `GET` request that computes the travel time and distance for all possible pairs in a list of origins and destinations. Unlike the [Get Route Directions](/rest/api/maps/route/get-route-directions) API, which provide detailed route instructions, this API focuses on efficiency by giving you the cost (travel time and distance) of routing from each origin to every destination. For more information, see [Best practices for Azure Maps Route service](/azure/azure-maps/how-to-use-best-practices-for-routing).
1852
+ *
1853
+ * For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
1854
+ *
1855
+ *
1856
+ * For each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.
1857
+ *
1858
+ *
1859
+ * The maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).
1860
+ *
1861
+ *
1862
+ *
1863
+ * ### Submit Synchronous Route Matrix Request
1864
+ * If your scenario requires synchronous requests and the maximum size of the matrix is less than or equal to 100, you might want to make synchronous request. The maximum size of a matrix for this API is **100** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 10x10, 6x8, 9x8 (it does not need to be square).
1865
+ *
1866
+ * ```
1867
+ * GET https://atlas.microsoft.com/route/matrix/sync/json?api-version=1.0&subscription-key={subscription-key}
1868
+ * ```
1869
+ *
1870
+ * ### Submit Asynchronous Route Matrix Request
1871
+ * The Asynchronous API is appropriate for processing big volumes of relatively complex routing requests. When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available. If `waitForResults` parameter in the request is set to true, user will get a 200 response if the request is finished under 120 seconds.
1872
+ *
1873
+ *
1874
+ * The maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).
1875
+ *
1876
+ *
1877
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
1878
+ *
1879
+ *
1880
+ *
1881
+ *
1882
+ * ```
1883
+ * GET https://atlas.microsoft.com/route/matrix/json?api-version=1.0&subscription-key={subscription-key}
1884
+ * ```
1885
+ *
1886
+ * Here's a typical sequence of asynchronous operations:
1887
+ * 1. Client sends a Route Matrix GET request to Azure Maps
1888
+ *
1889
+ * 2. The server will respond with one of the following:
1890
+ *
1891
+ * > HTTP `202 Accepted` - Route Matrix request has been accepted.
1892
+ *
1893
+ * > HTTP `Error` - There was an error processing your Route Matrix request. This could either be a 400 Bad Request or any other Error status code.
1894
+ *
1895
+ *
1896
+ * 3. If the Matrix Route request was accepted successfully, the Location header in the response contains the URL to download the results of the request. This status URI looks like the following:
1725
1897
  *
1726
1898
  * ```
1727
1899
  * GET https://atlas.microsoft.com/route/matrix/{matrixId}?api-version=1.0?subscription-key={subscription-key}
@@ -1731,7 +1903,7 @@ export declare interface RouteGetRouteMatrix202Headers {
1731
1903
  * 4. Client issues a GET request on the download URL obtained in Step 3 to download the results
1732
1904
  *
1733
1905
  * ### Download Sync Results
1734
- * When you make a POST request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.
1906
+ * When you make a GET request for Route Matrix Sync API, the service returns 200 response code for successful request and a response array. The response body will contain the data and there will be no possibility to retrieve the results later.
1735
1907
  *
1736
1908
  * ### Download Async Results
1737
1909
  * When a request issues a `202 Accepted` response, the request is being processed using our async pipeline. You will be given a URL to check the progress of your async request in the location header of the response. This status URI looks like the following:
@@ -1747,21 +1919,16 @@ export declare interface RouteGetRouteMatrix202Headers {
1747
1919
  */
1748
1920
  export declare interface RouteGetRouteMatrix202Response extends HttpResponse {
1749
1921
  status: "202";
1750
- body: Record<string, unknown>;
1751
1922
  headers: RawHttpHeaders & RouteGetRouteMatrix202Headers;
1752
1923
  }
1753
1924
 
1754
1925
  export declare type RouteGetRouteMatrixParameters = RequestParameters;
1755
1926
 
1756
1927
  /**
1757
- * __Route Range (Isochrone) API__
1758
1928
  *
1929
+ * The `Get Route Range` (Isochrone) API is an HTTP `GET` request that will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.
1759
1930
  *
1760
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1761
- *
1762
- * This service will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.
1763
- *
1764
- * The returned polygon can be used for further processing such as [Search Inside Geometry](https://docs.microsoft.com/rest/api/maps/search/postsearchinsidegeometry) to search for POIs within the provided Isochrone.
1931
+ * The returned polygon can be used for further processing such as [Search Inside Geometry](/rest/api/maps/search/post-search-inside-geometry) to search for POIs within the provided isochrone.
1765
1932
  */
1766
1933
  export declare interface RouteGetRouteRange200Response extends HttpResponse {
1767
1934
  status: "200";
@@ -1769,14 +1936,10 @@ export declare interface RouteGetRouteRange200Response extends HttpResponse {
1769
1936
  }
1770
1937
 
1771
1938
  /**
1772
- * __Route Range (Isochrone) API__
1773
- *
1774
- *
1775
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
1776
1939
  *
1777
- * This service will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.
1940
+ * The `Get Route Range` (Isochrone) API is an HTTP `GET` request that will calculate a set of locations that can be reached from the origin point based on fuel, energy, time or distance budget that is specified. A polygon boundary (or Isochrone) is returned in a counterclockwise orientation as well as the precise polygon center which was the result of the origin point.
1778
1941
  *
1779
- * The returned polygon can be used for further processing such as [Search Inside Geometry](https://docs.microsoft.com/rest/api/maps/search/postsearchinsidegeometry) to search for POIs within the provided Isochrone.
1942
+ * The returned polygon can be used for further processing such as [Search Inside Geometry](/rest/api/maps/search/post-search-inside-geometry) to search for POIs within the provided isochrone.
1780
1943
  */
1781
1944
  export declare interface RouteGetRouteRangeDefaultResponse extends HttpResponse {
1782
1945
  status: string;
@@ -1800,7 +1963,17 @@ export declare interface RouteGetRouteRangeQueryParamProperties {
1800
1963
  timeBudgetInSec?: number;
1801
1964
  /** Distance budget in meters that determines maximal range which can be travelled using driving distance. The Consumption Model will only affect the range when routeType is eco.<br> Exactly one budget (fuelBudgetInLiters, energyBudgetInkWh, timeBudgetInSec, or distanceBudgetInMeters) must be used. */
1802
1965
  distanceBudgetInMeters?: number;
1803
- /** The date and time of departure from the origin point. Departure times apart from now must be specified as a dateTime. When a time zone offset is not specified, it will be assumed to be that of the origin point. The departAt value must be in the future in the date-time format (1996-12-19T16:39:57-08:00). */
1966
+ /**
1967
+ * The date and time of departure from the origin point formatted as a `dateTime` value as defined in [RFC 3339, section 5.6](https://www.rfc-editor.org/rfc/rfc3339#section-5.6), with an optional time zone offset. When a time zone offset is not specified, it will be assumed to be that of the origin point.
1968
+ * * Default value: now
1969
+ * * Other value: `dateTime`
1970
+ *
1971
+ * Examples:
1972
+ * * 2023-12-19T16:39:57
1973
+ * * 2023-12-19T16:39:57-08:00
1974
+ *
1975
+ * The `departAt` parameter cannot be used in conjunction with `arriveAt`.
1976
+ */
1804
1977
  departAt?: Date | string;
1805
1978
  /** The type of route requested. */
1806
1979
  routeType?: "fastest" | "shortest" | "eco" | "thrilling";
@@ -1811,9 +1984,9 @@ export declare interface RouteGetRouteRangeQueryParamProperties {
1811
1984
  * during routing, the effect of historic traffic on effective road speeds is still incorporated.
1812
1985
  */
1813
1986
  traffic?: boolean;
1814
- /** Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In calculateReachableRange requests, the value alreadyUsedRoads must not be used. */
1987
+ /** Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In Route Range requests, the value alreadyUsedRoads must not be used. */
1815
1988
  avoid?: Array<"tollRoads" | "motorways" | "ferries" | "unpavedRoads" | "carpools" | "alreadyUsedRoads" | "borderCrossings">;
1816
- /** The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be "other". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. In **calculateReachableRange** requests, the values bicycle and pedestrian must not be used. */
1989
+ /** The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be "other". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. */
1817
1990
  travelMode?: "car" | "truck" | "taxi" | "bus" | "van" | "motorcycle" | "bicycle" | "pedestrian";
1818
1991
  /** Degree of hilliness for thrilling route. This parameter can only be used in conjunction with `routeType`=thrilling. */
1819
1992
  hilliness?: "low" | "normal" | "high";
@@ -1851,7 +2024,7 @@ export declare interface RouteGetRouteRangeQueryParamProperties {
1851
2024
  vehicleWeight?: number;
1852
2025
  /** Whether the vehicle is used for commercial purposes. Commercial vehicles may not be allowed to drive on some roads. */
1853
2026
  vehicleCommercial?: boolean;
1854
- /** Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck. */
2027
+ /** Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries/regions. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries/regions. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck. */
1855
2028
  vehicleLoadType?: "USHazmatClass1" | "USHazmatClass2" | "USHazmatClass3" | "USHazmatClass4" | "USHazmatClass5" | "USHazmatClass6" | "USHazmatClass7" | "USHazmatClass8" | "USHazmatClass9" | "otherHazmatExplosive" | "otherHazmatGeneral" | "otherHazmatHarmfulToWater";
1856
2029
  /** Engine type of the vehicle. When a detailed Consumption Model is specified, it must be consistent with the value of **vehicleEngineType**. */
1857
2030
  vehicleEngineType?: "combustion" | "electric";
@@ -1995,49 +2168,49 @@ export declare interface RouteGetRouteRangeQueryParamProperties {
1995
2168
  /** Contains guidance related elements. This field is present only when guidance was requested and is available. */
1996
2169
  export declare interface RouteGuidanceOutput {
1997
2170
  /** A list of instructions describing maneuvers. */
1998
- instructions: Array<RouteInstructionOutput>;
2171
+ readonly instructions: Array<RouteInstructionOutput>;
1999
2172
  /** Groups a sequence of instruction elements which are related to each other. */
2000
- instructionGroups: Array<RouteInstructionGroupOutput>;
2173
+ readonly instructionGroups: Array<RouteInstructionGroupOutput>;
2001
2174
  }
2002
2175
 
2003
2176
  /** Groups a sequence of instruction elements which are related to each other. The sequence range is constrained with firstInstructionIndex and lastInstructionIndex. When human-readable text messages are requested for guidance (instructionType=text or tagged), then the instructionGroup has a summary message returned when available. */
2004
2177
  export declare interface RouteInstructionGroupOutput {
2005
2178
  /** Index of the first instruction in the instructions and belonging to this group. */
2006
- firstInstructionIndex?: number;
2179
+ readonly firstInstructionIndex?: number;
2007
2180
  /** Index of the last instruction in the instructions and belonging to this group. */
2008
- lastInstructionIndex?: number;
2181
+ readonly lastInstructionIndex?: number;
2009
2182
  /** Length of the group. */
2010
- groupLengthInMeters?: number;
2183
+ readonly groupLengthInMeters?: number;
2011
2184
  /** Summary message when human-readable text messages are requested for guidance (instructionType=text or tagged). */
2012
- groupMessage?: string;
2185
+ readonly groupMessage?: string;
2013
2186
  }
2014
2187
 
2015
2188
  /** A set of attributes describing a maneuver, e.g. 'Turn right', 'Keep left', 'Take the ferry', 'Take the motorway', 'Arrive'. */
2016
2189
  export declare interface RouteInstructionOutput {
2017
2190
  /** Distance from the start of the route to the point of the instruction. */
2018
- routeOffsetInMeters?: number;
2191
+ readonly routeOffsetInMeters?: number;
2019
2192
  /** Estimated travel time up to the point corresponding to routeOffsetInMeters. */
2020
- travelTimeInSeconds?: number;
2193
+ readonly travelTimeInSeconds?: number;
2021
2194
  /** A location represented as a latitude and longitude. */
2022
2195
  point?: LatLongPairOutput;
2023
2196
  /** The index of the point in the list of polyline "points" corresponding to the point of the instruction. */
2024
- pointIndex?: number;
2197
+ readonly pointIndex?: number;
2025
2198
  /** Type of the instruction, e.g., turn or change of road form. */
2026
2199
  instructionType?: "TURN" | "ROAD_CHANGE" | "LOCATION_DEPARTURE" | "LOCATION_ARRIVAL" | "DIRECTION_INFO" | "LOCATION_WAYPOINT";
2027
2200
  /** The road number(s) of the next significant road segment(s) after the maneuver, or of the road(s) to be followed. Example: ["E34", "N205"] */
2028
- roadNumbers?: Array<string>;
2201
+ readonly roadNumbers?: Array<string>;
2029
2202
  /** The number(s) of a highway exit taken by the current maneuver. If an exit has multiple exit numbers, they will be separated by "," and possibly aggregated by "-", e.g., "10, 13-15". */
2030
- exitNumber?: string;
2203
+ readonly exitNumber?: string;
2031
2204
  /** Street name of the next significant road segment after the maneuver, or of the street that should be followed. */
2032
- street?: string;
2205
+ readonly street?: string;
2033
2206
  /** The text on a signpost which is most relevant to the maneuver, or to the direction that should be followed. */
2034
- signpostText?: string;
2207
+ readonly signpostText?: string;
2035
2208
  /** 3-character [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html) alpha-3 country code. E.g. USA. */
2036
- countryCode?: string;
2037
- /** A subdivision (e.g., state) of the country, represented by the second part of an [ISO 3166-2](https://www.iso.org/standard/63546.html) code. This is only available for some countries like the US, Canada, and Mexico. */
2038
- stateCode?: string;
2209
+ readonly countryCode?: string;
2210
+ /** A subdivision (e.g., state) of the country, represented by the second part of an [ISO 3166-2](https://www.iso.org/standard/63546.html) code. This is only available for some countries/regions like the US, Canada, and Mexico. */
2211
+ readonly stateCode?: string;
2039
2212
  /** The type of the junction where the maneuver takes place. For larger roundabouts, two separate instructions are generated for entering and leaving the roundabout. */
2040
- junctionType?: "REGULAR" | "ROUNDABOUT" | "BIFURCATION";
2213
+ readonly junctionType?: "REGULAR" | "ROUNDABOUT" | "BIFURCATION";
2041
2214
  /**
2042
2215
  * Indicates the direction of an instruction. If junctionType indicates a turn instruction:
2043
2216
  *
@@ -2051,17 +2224,17 @@ export declare interface RouteInstructionOutput {
2051
2224
  * * <0 - keep left
2052
2225
  * * \>0 - keep right
2053
2226
  */
2054
- turnAngleInDecimalDegrees?: number;
2227
+ readonly turnAngleInDecimalDegrees?: number;
2055
2228
  /** This indicates which exit to take at a roundabout. */
2056
- roundaboutExitNumber?: string;
2229
+ readonly roundaboutExitNumber?: number;
2057
2230
  /** It is possible to optionally combine the instruction with the next one. This can be used to build messages like "Turn left and then turn right". */
2058
- possibleCombineWithNext?: boolean;
2231
+ readonly possibleCombineWithNext?: boolean;
2059
2232
  /** Indicates left-hand vs. right-hand side driving at the point of the maneuver. */
2060
- drivingSide?: "LEFT" | "RIGHT";
2233
+ readonly drivingSide?: "LEFT" | "RIGHT";
2061
2234
  /** A code identifying the maneuver. */
2062
- maneuver?: "ARRIVE" | "ARRIVE_LEFT" | "ARRIVE_RIGHT" | "DEPART" | "STRAIGHT" | "KEEP_RIGHT" | "BEAR_RIGHT" | "TURN_RIGHT" | "SHARP_RIGHT" | "KEEP_LEFT" | "BEAR_LEFT" | "TURN_LEFT" | "SHARP_LEFT" | "MAKE_UTURN" | "ENTER_MOTORWAY" | "ENTER_FREEWAY" | "ENTER_HIGHWAY" | "TAKE_EXIT" | "MOTORWAY_EXIT_LEFT" | "MOTORWAY_EXIT_RIGHT" | "TAKE_FERRY" | "ROUNDABOUT_CROSS" | "ROUNDABOUT_RIGHT" | "ROUNDABOUT_LEFT" | "ROUNDABOUT_BACK" | "TRY_MAKE_UTURN" | "FOLLOW" | "SWITCH_PARALLEL_ROAD" | "SWITCH_MAIN_ROAD" | "ENTRANCE_RAMP" | "WAYPOINT_LEFT" | "WAYPOINT_RIGHT" | "WAYPOINT_REACHED";
2235
+ readonly maneuver?: "ARRIVE" | "ARRIVE_LEFT" | "ARRIVE_RIGHT" | "DEPART" | "STRAIGHT" | "KEEP_RIGHT" | "BEAR_RIGHT" | "TURN_RIGHT" | "SHARP_RIGHT" | "KEEP_LEFT" | "BEAR_LEFT" | "TURN_LEFT" | "SHARP_LEFT" | "MAKE_UTURN" | "ENTER_MOTORWAY" | "ENTER_FREEWAY" | "ENTER_HIGHWAY" | "TAKE_EXIT" | "MOTORWAY_EXIT_LEFT" | "MOTORWAY_EXIT_RIGHT" | "TAKE_FERRY" | "ROUNDABOUT_CROSS" | "ROUNDABOUT_RIGHT" | "ROUNDABOUT_LEFT" | "ROUNDABOUT_BACK" | "TRY_MAKE_UTURN" | "FOLLOW" | "SWITCH_PARALLEL_ROAD" | "SWITCH_MAIN_ROAD" | "ENTRANCE_RAMP" | "WAYPOINT_LEFT" | "WAYPOINT_RIGHT" | "WAYPOINT_REACHED";
2063
2236
  /** A human-readable message for the maneuver. */
2064
- message?: string;
2237
+ readonly message?: string;
2065
2238
  /**
2066
2239
  * A human-readable message for the maneuver combined with the message from the next instruction. Sometimes it is possible to combine two successive instructions into a single instruction making it easier to follow. When this is the case the possibleCombineWithNext flag will be true. For example:
2067
2240
  *
@@ -2077,23 +2250,23 @@ export declare interface RouteInstructionOutput {
2077
2250
  * then follow Einsteinweg/A10/E22 towards Ring Amsterdam.
2078
2251
  * ```
2079
2252
  */
2080
- combinedMessage?: string;
2253
+ readonly combinedMessage?: string;
2081
2254
  }
2082
2255
 
2083
2256
  /** A description of a part of a route, comprised of a list of points. Each additional waypoint provided in the request will result in an additional leg in the returned route. */
2084
2257
  export declare interface RouteLegOutput {
2085
2258
  /** Summary object */
2086
- summary: RouteSummaryOutput;
2259
+ readonly summary: RouteSummaryOutput;
2087
2260
  /** Points array */
2088
- points: Array<LatLongPairOutput>;
2261
+ readonly points: Array<LatLongPairOutput>;
2089
2262
  }
2090
2263
 
2091
2264
  /** Matrix result object */
2092
2265
  export declare interface RouteMatrixOutput {
2093
2266
  /** StatusCode property for the current cell in the input matrix. */
2094
- statusCode: number;
2267
+ readonly statusCode: number;
2095
2268
  /** Response object of the current cell in the input matrix. */
2096
- response?: RouteMatrixResultResponseOutput;
2269
+ readonly response?: RouteMatrixResultResponseOutput;
2097
2270
  }
2098
2271
 
2099
2272
  /** An object with a matrix of coordinates. */
@@ -2107,44 +2280,44 @@ export declare interface RouteMatrixQuery {
2107
2280
  /** This object is returned from a successful Route Matrix call. For ex, if 2 origins and 3 destinations are provided, there are going to 2 arrays with 3 elements in each. Each element's content depends on the options provided in the query. */
2108
2281
  export declare interface RouteMatrixResultOutput {
2109
2282
  /** Format Version property */
2110
- formatVersion?: string;
2283
+ readonly formatVersion?: string;
2111
2284
  /** Results as a 2 dimensional array of route summaries. */
2112
- matrix: Array<Array<RouteMatrixOutput>>;
2285
+ readonly matrix: Array<Array<RouteMatrixOutput>>;
2113
2286
  /** Summary object */
2114
- summary: RouteMatrixSummaryOutput;
2287
+ readonly summary: RouteMatrixSummaryOutput;
2115
2288
  }
2116
2289
 
2117
2290
  /** Response object of the current cell in the input matrix. */
2118
2291
  export declare interface RouteMatrixResultResponseOutput {
2119
2292
  /** Summary object */
2120
- routeSummary?: RouteSummaryOutput;
2293
+ readonly routeSummary?: RouteSummaryOutput;
2121
2294
  }
2122
2295
 
2123
2296
  /** Summary object */
2124
2297
  export declare interface RouteMatrixSummaryOutput {
2125
2298
  /** Number of successful routes in the response. */
2126
- successfulRoutes: number;
2299
+ readonly successfulRoutes: number;
2127
2300
  /** Total number of routes requested. Number of cells in the input matrix. */
2128
- totalRoutes: number;
2301
+ readonly totalRoutes: number;
2129
2302
  }
2130
2303
 
2131
2304
  /** Optimized way point object. */
2132
2305
  export declare interface RouteOptimizedWaypointOutput {
2133
2306
  /** Way point index provided by the user. */
2134
- providedIndex: number;
2307
+ readonly providedIndex: number;
2135
2308
  /** Optimized way point index from the system. */
2136
- optimizedIndex: number;
2309
+ readonly optimizedIndex: number;
2137
2310
  }
2138
2311
 
2139
2312
  export declare interface RouteOutput {
2140
2313
  /** Summary object */
2141
- summary: RouteSummaryOutput;
2314
+ readonly summary: RouteSummaryOutput;
2142
2315
  /** Legs array */
2143
- legs: Array<RouteLegOutput>;
2316
+ readonly legs: Array<RouteLegOutput>;
2144
2317
  /** Sections array */
2145
- sections?: Array<RouteSectionOutput>;
2318
+ readonly sections?: Array<RouteSectionOutput>;
2146
2319
  /** Contains guidance related elements. This field is present only when guidance was requested and is available. */
2147
- guidance?: RouteGuidanceOutput;
2320
+ readonly guidance?: RouteGuidanceOutput;
2148
2321
  }
2149
2322
 
2150
2323
  /** Reachable Range */
@@ -2152,13 +2325,13 @@ export declare interface RouteRangeOutput {
2152
2325
  /** Center point of the reachable range */
2153
2326
  center: LatLongPairOutput;
2154
2327
  /** Polygon boundary of the reachable range represented as a list of points. */
2155
- boundary: Array<LatLongPairOutput>;
2328
+ readonly boundary: Array<LatLongPairOutput>;
2156
2329
  }
2157
2330
 
2158
2331
  /** This object is returned from a successful Route Reachable Range call */
2159
2332
  export declare interface RouteRangeResultOutput {
2160
2333
  /** Format Version property */
2161
- formatVersion?: string;
2334
+ readonly formatVersion?: string;
2162
2335
  /** Reachable Range */
2163
2336
  reachableRange: RouteRangeOutput;
2164
2337
  /** Reports the effective settings used in the current call. */
@@ -2168,18 +2341,13 @@ export declare interface RouteRangeResultOutput {
2168
2341
  /** Reports the effective settings used in the current call. */
2169
2342
  export declare interface RouteReportOutput {
2170
2343
  /** Effective parameters or data used when calling this Route API. */
2171
- effectiveSettings: Array<EffectiveSettingOutput>;
2344
+ readonly effectiveSettings: Array<EffectiveSettingOutput>;
2172
2345
  }
2173
2346
 
2174
2347
  /**
2175
- * **Route Directions Batch API**
2176
2348
  *
2349
+ * The `Post Route Directions Batch` API is an HTTP `POST` request that sends batches of queries to the [Get Route Directions](/rest/api/maps/route/get-route-directions) API using a single asynchronous request. You can call `Route Directions Batch` API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries. To call the `Post Route Directions Batch` API in a synchronous request, see [Post Route Directions Batch Sync](/rest/api/maps/route/post-route-directions-batch-sync).
2177
2350
  *
2178
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
2179
- *
2180
- *
2181
- *
2182
- * The Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.
2183
2351
  * ### Submit Asynchronous Batch Request
2184
2352
  * The Asynchronous API is appropriate for processing big volumes of relatively complex route requests
2185
2353
  * - It allows the retrieval of results in a separate call (multiple downloads are possible).
@@ -2187,10 +2355,13 @@ export declare interface RouteReportOutput {
2187
2355
  * - The number of batch items is limited to **700** for this API.
2188
2356
  *
2189
2357
  * When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.
2190
- * The asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.
2358
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
2191
2359
  *
2192
- * Please note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:
2193
- * 1. Client sends a Route Directions Batch `POST` request to Azure Maps
2360
+ * Please note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:
2361
+ * 1. Client sends a Route Directions Batch `POST` request to Azure Maps.
2362
+ * ```
2363
+ * POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
2364
+ * ```
2194
2365
  * 2. The server will respond with one of the following:
2195
2366
  *
2196
2367
  * > HTTP `202 Accepted` - Batch request has been accepted.
@@ -2199,9 +2370,9 @@ export declare interface RouteReportOutput {
2199
2370
  *
2200
2371
  * 3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.
2201
2372
  * This status URI looks like following:
2202
- *
2203
- * ``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```
2204
- * Note:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it. <br>
2373
+ * ```
2374
+ * GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
2375
+ * ```
2205
2376
  * 4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.
2206
2377
  *
2207
2378
  * ### POST Body for Batch Request
@@ -2328,19 +2499,14 @@ export declare interface RouteRequestRouteDirectionsBatch200Response extends Htt
2328
2499
  }
2329
2500
 
2330
2501
  export declare interface RouteRequestRouteDirectionsBatch202Headers {
2331
- /** New URL to check for the results of the long running process. */
2502
+ /** New URL to check for the results of the long-running operation. */
2332
2503
  location?: string;
2333
2504
  }
2334
2505
 
2335
2506
  /**
2336
- * **Route Directions Batch API**
2337
2507
  *
2508
+ * The `Post Route Directions Batch` API is an HTTP `POST` request that sends batches of queries to the [Get Route Directions](/rest/api/maps/route/get-route-directions) API using a single asynchronous request. You can call `Route Directions Batch` API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries. To call the `Post Route Directions Batch` API in a synchronous request, see [Post Route Directions Batch Sync](/rest/api/maps/route/post-route-directions-batch-sync).
2338
2509
  *
2339
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
2340
- *
2341
- *
2342
- *
2343
- * The Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.
2344
2510
  * ### Submit Asynchronous Batch Request
2345
2511
  * The Asynchronous API is appropriate for processing big volumes of relatively complex route requests
2346
2512
  * - It allows the retrieval of results in a separate call (multiple downloads are possible).
@@ -2348,10 +2514,13 @@ export declare interface RouteRequestRouteDirectionsBatch202Headers {
2348
2514
  * - The number of batch items is limited to **700** for this API.
2349
2515
  *
2350
2516
  * When you make a request by using async request, by default the service returns a 202 response code along a redirect URL in the Location field of the response header. This URL should be checked periodically until the response data or error information is available.
2351
- * The asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.
2517
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
2352
2518
  *
2353
- * Please note that asynchronous batch request is a long-running request. Here's a typical sequence of operations:
2354
- * 1. Client sends a Route Directions Batch `POST` request to Azure Maps
2519
+ * Please note that asynchronous batch request is a long-running operation. Here's a typical sequence of operations:
2520
+ * 1. Client sends a Route Directions Batch `POST` request to Azure Maps.
2521
+ * ```
2522
+ * POST https://atlas.microsoft.com/route/directions/batch/json?api-version=1.0&subscription-key={subscription-key}
2523
+ * ```
2355
2524
  * 2. The server will respond with one of the following:
2356
2525
  *
2357
2526
  * > HTTP `202 Accepted` - Batch request has been accepted.
@@ -2360,9 +2529,9 @@ export declare interface RouteRequestRouteDirectionsBatch202Headers {
2360
2529
  *
2361
2530
  * 3. If the batch request was accepted successfully, the `Location` header in the response contains the URL to download the results of the batch request.
2362
2531
  * This status URI looks like following:
2363
- *
2364
- * ``` GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0 ```
2365
- * Note:- Please remember to add AUTH information (subscription-key/azure_auth - See [Security](#security)) to the _status URI_ before running it. <br>
2532
+ * ```
2533
+ * GET https://atlas.microsoft.com/route/directions/batch/{batch-id}?api-version=1.0&subscription-key={subscription-key}
2534
+ * ```
2366
2535
  * 4. Client issues a `GET` request on the _download URL_ obtained in Step 3 to download the batch results.
2367
2536
  *
2368
2537
  * ### POST Body for Batch Request
@@ -2485,7 +2654,6 @@ export declare interface RouteRequestRouteDirectionsBatch202Headers {
2485
2654
  */
2486
2655
  export declare interface RouteRequestRouteDirectionsBatch202Response extends HttpResponse {
2487
2656
  status: "202";
2488
- body: Record<string, unknown>;
2489
2657
  headers: RawHttpHeaders & RouteRequestRouteDirectionsBatch202Headers;
2490
2658
  }
2491
2659
 
@@ -2502,14 +2670,8 @@ export declare interface RouteRequestRouteDirectionsBatchMediaTypesParam {
2502
2670
  export declare type RouteRequestRouteDirectionsBatchParameters = RouteRequestRouteDirectionsBatchMediaTypesParam & RouteRequestRouteDirectionsBatchBodyParam & RequestParameters;
2503
2671
 
2504
2672
  /**
2505
- * **Route Directions Batch API**
2506
- *
2507
2673
  *
2508
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
2509
- *
2510
- *
2511
- *
2512
- * The Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.
2674
+ * The `Post Route Directions Batch Sync` API is an HTTP `POST` request that sends batches of queries to the [Get Route Directions](/rest/api/maps/route/get-route-directions) API using a single synchronous request. You can call `Route Directions Batch` API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries. To call the `Post Route Directions Batch` API in a asynchronous request, see [Post Route Directions Batch](/rest/api/maps/route/post-route-directions-batch).
2513
2675
  * ### Submit Synchronous Batch Request
2514
2676
  * The Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.
2515
2677
  * ```
@@ -2603,14 +2765,8 @@ export declare interface RouteRequestRouteDirectionsBatchSync200Response extends
2603
2765
  }
2604
2766
 
2605
2767
  /**
2606
- * **Route Directions Batch API**
2607
- *
2608
2768
  *
2609
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
2610
- *
2611
- *
2612
- *
2613
- * The Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.
2769
+ * The `Post Route Directions Batch Sync` API is an HTTP `POST` request that sends batches of queries to the [Get Route Directions](/rest/api/maps/route/get-route-directions) API using a single synchronous request. You can call `Route Directions Batch` API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries. To call the `Post Route Directions Batch` API in a asynchronous request, see [Post Route Directions Batch](/rest/api/maps/route/post-route-directions-batch).
2614
2770
  * ### Submit Synchronous Batch Request
2615
2771
  * The Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.
2616
2772
  * ```
@@ -2709,14 +2865,8 @@ export declare interface RouteRequestRouteDirectionsBatchSyncBodyParam {
2709
2865
  }
2710
2866
 
2711
2867
  /**
2712
- * **Route Directions Batch API**
2713
- *
2714
2868
  *
2715
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
2716
- *
2717
- *
2718
- *
2719
- * The Route Directions Batch API sends batches of queries to [Route Directions API](https://docs.microsoft.com/rest/api/maps/route/getroutedirections) using just a single API call. You can call Route Directions Batch API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries.
2869
+ * The `Post Route Directions Batch Sync` API is an HTTP `POST` request that sends batches of queries to the [Get Route Directions](/rest/api/maps/route/get-route-directions) API using a single synchronous request. You can call `Route Directions Batch` API to run either asynchronously (async) or synchronously (sync). The async API allows caller to batch up to **700** queries and sync API up to **100** queries. To call the `Post Route Directions Batch` API in a asynchronous request, see [Post Route Directions Batch](/rest/api/maps/route/post-route-directions-batch).
2720
2870
  * ### Submit Synchronous Batch Request
2721
2871
  * The Synchronous API is recommended for lightweight batch requests. When the service receives a request, it will respond as soon as the batch items are calculated and there will be no possibility to retrieve the results later. The Synchronous API will return a timeout error (a 408 response) if the request takes longer than 60 seconds. The number of batch items is limited to **100** for this API.
2722
2872
  * ```
@@ -2818,9 +2968,7 @@ export declare type RouteRequestRouteDirectionsBatchSyncParameters = RouteReques
2818
2968
 
2819
2969
  /**
2820
2970
  *
2821
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
2822
- *
2823
- * The Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
2971
+ * The `Post Route Matrix` API is an HTTP `POST` request that allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) request. To make a synchronous (sync) request, see [Post Route Matrix Sync](/rest/api/maps/route/post-route-matrix-sync). For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
2824
2972
  *
2825
2973
  *
2826
2974
  * For each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.
@@ -2828,6 +2976,9 @@ export declare type RouteRequestRouteDirectionsBatchSyncParameters = RouteReques
2828
2976
  *
2829
2977
  * The maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).
2830
2978
  *
2979
+ * > [!NOTE]
2980
+ * > All origins and destinations should be contained in an axis-aligned 400 km x 400 km bounding box. Otherwise some matrix cells will be resolved as OUT_OF_REGION.
2981
+ *
2831
2982
  *
2832
2983
  *
2833
2984
  * ### Submit Synchronous Route Matrix Request
@@ -2844,7 +2995,7 @@ export declare type RouteRequestRouteDirectionsBatchSyncParameters = RouteReques
2844
2995
  * The maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).
2845
2996
  *
2846
2997
  *
2847
- * The asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.
2998
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
2848
2999
  *
2849
3000
  *
2850
3001
  *
@@ -2893,15 +3044,13 @@ export declare interface RouteRequestRouteMatrix200Response extends HttpResponse
2893
3044
  }
2894
3045
 
2895
3046
  export declare interface RouteRequestRouteMatrix202Headers {
2896
- /** New URL to check for the results of the long running process. */
3047
+ /** New URL to check for the results of the long-running operation. */
2897
3048
  location?: string;
2898
3049
  }
2899
3050
 
2900
3051
  /**
2901
3052
  *
2902
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
2903
- *
2904
- * The Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
3053
+ * The `Post Route Matrix` API is an HTTP `POST` request that allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) request. To make a synchronous (sync) request, see [Post Route Matrix Sync](/rest/api/maps/route/post-route-matrix-sync). For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
2905
3054
  *
2906
3055
  *
2907
3056
  * For each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.
@@ -2909,6 +3058,9 @@ export declare interface RouteRequestRouteMatrix202Headers {
2909
3058
  *
2910
3059
  * The maximum size of a matrix for async request is **700** and for sync request it's **100** (the number of origins multiplied by the number of destinations).
2911
3060
  *
3061
+ * > [!NOTE]
3062
+ * > All origins and destinations should be contained in an axis-aligned 400 km x 400 km bounding box. Otherwise some matrix cells will be resolved as OUT_OF_REGION.
3063
+ *
2912
3064
  *
2913
3065
  *
2914
3066
  * ### Submit Synchronous Route Matrix Request
@@ -2925,7 +3077,7 @@ export declare interface RouteRequestRouteMatrix202Headers {
2925
3077
  * The maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).
2926
3078
  *
2927
3079
  *
2928
- * The asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.
3080
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
2929
3081
  *
2930
3082
  *
2931
3083
  *
@@ -2970,7 +3122,6 @@ export declare interface RouteRequestRouteMatrix202Headers {
2970
3122
  */
2971
3123
  export declare interface RouteRequestRouteMatrix202Response extends HttpResponse {
2972
3124
  status: "202";
2973
- body: Record<string, unknown>;
2974
3125
  headers: RawHttpHeaders & RouteRequestRouteMatrix202Headers;
2975
3126
  }
2976
3127
 
@@ -2995,11 +3146,29 @@ export declare interface RouteRequestRouteMatrixQueryParamProperties {
2995
3146
  waitForResults?: boolean;
2996
3147
  /** Specifies whether to return additional travel times using different types of traffic information (none, historic, live) as well as the default best-estimate travel time. */
2997
3148
  computeTravelTimeFor?: "none" | "all";
2998
- /** Specifies which of the section types is reported in the route response. <br><br>For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Multiple types can be used. The default sectionType refers to the travelMode input. By default travelMode is set to car */
2999
- sectionType?: "carTrain" | "country" | "ferry" | "motorway" | "pedestrian" | "tollRoad" | "tollVignette" | "traffic" | "travelMode" | "tunnel" | "carpool" | "urban";
3000
- /** The date and time of arrival at the destination point. It must be specified as a dateTime. When a time zone offset is not specified it will be assumed to be that of the destination point. The arriveAt value must be in the future. The arriveAt parameter cannot be used in conjunction with departAt, minDeviationDistance or minDeviationTime. */
3149
+ /** Specifies which of the section types is reported in the route response. <br><br>For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Can be specified multiple times in one request, for example, '&sectionType=carTrain&sectionType=pedestrian&sectionType=motorway'. The default sectionType refers to the travelMode input. By default travelMode is set to car */
3150
+ sectionType?: Array<"carTrain" | "country" | "ferry" | "motorway" | "pedestrian" | "tollRoad" | "tollVignette" | "traffic" | "travelMode" | "tunnel" | "carpool" | "urban">;
3151
+ /**
3152
+ * The date and time of arrival at the destination point formatted as a `dateTime` value as defined in [RFC 3339, section 5.6](https://www.rfc-editor.org/rfc/rfc3339#section-5.6), with an optional time zone offset. When a time zone offset is not specified it will be assumed to be that of the destination point.
3153
+ *
3154
+ * Examples:
3155
+ * * 2023-12-19T16:39:57
3156
+ * * 2023-12-19T16:39:57-08:00
3157
+ *
3158
+ * The `arriveAt` parameter cannot be used in conjunction with `departAt`, `minDeviationDistance` or `minDeviationTime`.
3159
+ */
3001
3160
  arriveAt?: Date | string;
3002
- /** The date and time of departure from the origin point. Departure times apart from now must be specified as a dateTime. When a time zone offset is not specified, it will be assumed to be that of the origin point. The departAt value must be in the future in the date-time format (1996-12-19T16:39:57-08:00). */
3161
+ /**
3162
+ * The date and time of departure from the origin point formatted as a `dateTime` value as defined in [RFC 3339, section 5.6](https://www.rfc-editor.org/rfc/rfc3339#section-5.6), with an optional time zone offset. When a time zone offset is not specified, it will be assumed to be that of the origin point.
3163
+ * * Default value: now
3164
+ * * Other value: `dateTime`
3165
+ *
3166
+ * Examples:
3167
+ * * 2023-12-19T16:39:57
3168
+ * * 2023-12-19T16:39:57-08:00
3169
+ *
3170
+ * The `departAt` parameter cannot be used in conjunction with `arriveAt`.
3171
+ */
3003
3172
  departAt?: Date | string;
3004
3173
  /** Weight per axle of the vehicle in kg. A value of 0 means that weight restrictions per axle are not considered. */
3005
3174
  vehicleAxleWeight?: number;
@@ -3023,9 +3192,9 @@ export declare interface RouteRequestRouteMatrixQueryParamProperties {
3023
3192
  windingness?: "low" | "normal" | "high";
3024
3193
  /** Degree of hilliness for thrilling route. This parameter can only be used in conjunction with `routeType`=thrilling. */
3025
3194
  hilliness?: "low" | "normal" | "high";
3026
- /** The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be "other". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. In **calculateReachableRange** requests, the values bicycle and pedestrian must not be used. */
3195
+ /** The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be "other". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. */
3027
3196
  travelMode?: "car" | "truck" | "taxi" | "bus" | "van" | "motorcycle" | "bicycle" | "pedestrian";
3028
- /** Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In calculateReachableRange requests, the value alreadyUsedRoads must not be used. */
3197
+ /** Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In Route Range requests, the value alreadyUsedRoads must not be used. */
3029
3198
  avoid?: Array<"tollRoads" | "motorways" | "ferries" | "unpavedRoads" | "carpools" | "alreadyUsedRoads" | "borderCrossings">;
3030
3199
  /**
3031
3200
  * Possible values:
@@ -3036,15 +3205,13 @@ export declare interface RouteRequestRouteMatrixQueryParamProperties {
3036
3205
  traffic?: boolean;
3037
3206
  /** The type of route requested. */
3038
3207
  routeType?: "fastest" | "shortest" | "eco" | "thrilling";
3039
- /** Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck. */
3208
+ /** Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries/regions. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries/regions. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck. */
3040
3209
  vehicleLoadType?: "USHazmatClass1" | "USHazmatClass2" | "USHazmatClass3" | "USHazmatClass4" | "USHazmatClass5" | "USHazmatClass6" | "USHazmatClass7" | "USHazmatClass8" | "USHazmatClass9" | "otherHazmatExplosive" | "otherHazmatGeneral" | "otherHazmatHarmfulToWater";
3041
3210
  }
3042
3211
 
3043
3212
  /**
3044
3213
  *
3045
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
3046
- *
3047
- * The Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
3214
+ * The `Post Route Matrix Sync` API is an HTTP `POST` request that allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using a single synchronous (sync) request. To make an asynchronous (async) request, see [Post Route Matrix](/rest/api/maps/route/post-route-matrix). For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
3048
3215
  *
3049
3216
  *
3050
3217
  * For each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.
@@ -3068,7 +3235,7 @@ export declare interface RouteRequestRouteMatrixQueryParamProperties {
3068
3235
  * The maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).
3069
3236
  *
3070
3237
  *
3071
- * The asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.
3238
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
3072
3239
  *
3073
3240
  *
3074
3241
  *
@@ -3118,9 +3285,7 @@ export declare interface RouteRequestRouteMatrixSync200Response extends HttpResp
3118
3285
 
3119
3286
  /**
3120
3287
  *
3121
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
3122
- *
3123
- * The Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
3288
+ * The `Post Route Matrix Sync` API is an HTTP `POST` request that allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using a single synchronous (sync) request. To make an asynchronous (async) request, see [Post Route Matrix](/rest/api/maps/route/post-route-matrix). For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
3124
3289
  *
3125
3290
  *
3126
3291
  * For each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.
@@ -3144,7 +3309,7 @@ export declare interface RouteRequestRouteMatrixSync200Response extends HttpResp
3144
3309
  * The maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).
3145
3310
  *
3146
3311
  *
3147
- * The asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.
3312
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
3148
3313
  *
3149
3314
  *
3150
3315
  *
@@ -3199,9 +3364,7 @@ export declare interface RouteRequestRouteMatrixSyncBodyParam {
3199
3364
 
3200
3365
  /**
3201
3366
  *
3202
- * **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).
3203
- *
3204
- * The Matrix Routing service allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using an asynchronous (async) or synchronous (sync) POST request. For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
3367
+ * The `Post Route Matrix Sync` API is an HTTP `POST` request that allows calculation of a matrix of route summaries for a set of routes defined by origin and destination locations by using a single synchronous (sync) request. To make an asynchronous (async) request, see [Post Route Matrix](/rest/api/maps/route/post-route-matrix). For every given origin, the service calculates the cost of routing from that origin to every given destination. The set of origins and the set of destinations can be thought of as the column and row headers of a table and each cell in the table contains the costs of routing from the origin to the destination for that cell. As an example, let's say a food delivery company has 20 drivers and they need to find the closest driver to pick up the delivery from the restaurant. To solve this use case, they can call Matrix Route API.
3205
3368
  *
3206
3369
  *
3207
3370
  * For each route, the travel times and distances are returned. You can use the computed costs to determine which detailed routes to calculate using the Route Directions API.
@@ -3225,7 +3388,7 @@ export declare interface RouteRequestRouteMatrixSyncBodyParam {
3225
3388
  * The maximum size of a matrix for this API is **700** (the number of origins multiplied by the number of destinations). With that constraint in mind, examples of possible matrix dimensions are: 50x10, 10x10, 28x25. 10x70 (it does not need to be square).
3226
3389
  *
3227
3390
  *
3228
- * The asynchronous responses are stored for **14** days. The redirect URL returns a 404 response if used after the expiration period.
3391
+ * The asynchronous responses are stored for **24** hours. The redirect URL returns a 404 response if used after the expiration period.
3229
3392
  *
3230
3393
  *
3231
3394
  *
@@ -3289,11 +3452,29 @@ export declare interface RouteRequestRouteMatrixSyncQueryParamProperties {
3289
3452
  waitForResults?: boolean;
3290
3453
  /** Specifies whether to return additional travel times using different types of traffic information (none, historic, live) as well as the default best-estimate travel time. */
3291
3454
  computeTravelTimeFor?: "none" | "all";
3292
- /** Specifies which of the section types is reported in the route response. <br><br>For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Multiple types can be used. The default sectionType refers to the travelMode input. By default travelMode is set to car */
3293
- sectionType?: "carTrain" | "country" | "ferry" | "motorway" | "pedestrian" | "tollRoad" | "tollVignette" | "traffic" | "travelMode" | "tunnel" | "carpool" | "urban";
3294
- /** The date and time of arrival at the destination point. It must be specified as a dateTime. When a time zone offset is not specified it will be assumed to be that of the destination point. The arriveAt value must be in the future. The arriveAt parameter cannot be used in conjunction with departAt, minDeviationDistance or minDeviationTime. */
3455
+ /** Specifies which of the section types is reported in the route response. <br><br>For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Can be specified multiple times in one request, for example, '&sectionType=carTrain&sectionType=pedestrian&sectionType=motorway'. The default sectionType refers to the travelMode input. By default travelMode is set to car */
3456
+ sectionType?: Array<"carTrain" | "country" | "ferry" | "motorway" | "pedestrian" | "tollRoad" | "tollVignette" | "traffic" | "travelMode" | "tunnel" | "carpool" | "urban">;
3457
+ /**
3458
+ * The date and time of arrival at the destination point formatted as a `dateTime` value as defined in [RFC 3339, section 5.6](https://www.rfc-editor.org/rfc/rfc3339#section-5.6), with an optional time zone offset. When a time zone offset is not specified it will be assumed to be that of the destination point.
3459
+ *
3460
+ * Examples:
3461
+ * * 2023-12-19T16:39:57
3462
+ * * 2023-12-19T16:39:57-08:00
3463
+ *
3464
+ * The `arriveAt` parameter cannot be used in conjunction with `departAt`, `minDeviationDistance` or `minDeviationTime`.
3465
+ */
3295
3466
  arriveAt?: Date | string;
3296
- /** The date and time of departure from the origin point. Departure times apart from now must be specified as a dateTime. When a time zone offset is not specified, it will be assumed to be that of the origin point. The departAt value must be in the future in the date-time format (1996-12-19T16:39:57-08:00). */
3467
+ /**
3468
+ * The date and time of departure from the origin point formatted as a `dateTime` value as defined in [RFC 3339, section 5.6](https://www.rfc-editor.org/rfc/rfc3339#section-5.6), with an optional time zone offset. When a time zone offset is not specified, it will be assumed to be that of the origin point.
3469
+ * * Default value: now
3470
+ * * Other value: `dateTime`
3471
+ *
3472
+ * Examples:
3473
+ * * 2023-12-19T16:39:57
3474
+ * * 2023-12-19T16:39:57-08:00
3475
+ *
3476
+ * The `departAt` parameter cannot be used in conjunction with `arriveAt`.
3477
+ */
3297
3478
  departAt?: Date | string;
3298
3479
  /** Weight per axle of the vehicle in kg. A value of 0 means that weight restrictions per axle are not considered. */
3299
3480
  vehicleAxleWeight?: number;
@@ -3317,9 +3498,9 @@ export declare interface RouteRequestRouteMatrixSyncQueryParamProperties {
3317
3498
  windingness?: "low" | "normal" | "high";
3318
3499
  /** Degree of hilliness for thrilling route. This parameter can only be used in conjunction with `routeType`=thrilling. */
3319
3500
  hilliness?: "low" | "normal" | "high";
3320
- /** The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be "other". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. In **calculateReachableRange** requests, the values bicycle and pedestrian must not be used. */
3501
+ /** The mode of travel for the requested route. If not defined, default is 'car'. Note that the requested travelMode may not be available for the entire route. Where the requested travelMode is not available for a particular section, the travelMode element of the response for that section will be "other". Note that travel modes bus, motorcycle, taxi and van are BETA functionality. Full restriction data is not available in all areas. */
3321
3502
  travelMode?: "car" | "truck" | "taxi" | "bus" | "van" | "motorcycle" | "bicycle" | "pedestrian";
3322
- /** Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In calculateReachableRange requests, the value alreadyUsedRoads must not be used. */
3503
+ /** Specifies something that the route calculation should try to avoid when determining the route. Can be specified multiple times in one request, for example, '&avoid=motorways&avoid=tollRoads&avoid=ferries'. In Route Range requests, the value alreadyUsedRoads must not be used. */
3323
3504
  avoid?: Array<"tollRoads" | "motorways" | "ferries" | "unpavedRoads" | "carpools" | "alreadyUsedRoads" | "borderCrossings">;
3324
3505
  /**
3325
3506
  * Possible values:
@@ -3330,7 +3511,7 @@ export declare interface RouteRequestRouteMatrixSyncQueryParamProperties {
3330
3511
  traffic?: boolean;
3331
3512
  /** The type of route requested. */
3332
3513
  routeType?: "fastest" | "shortest" | "eco" | "thrilling";
3333
- /** Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck. */
3514
+ /** Types of cargo that may be classified as hazardous materials and restricted from some roads. Available vehicleLoadType values are US Hazmat classes 1 through 9, plus generic classifications for use in other countries/regions. Values beginning with USHazmat are for US routing while otherHazmat should be used for all other countries/regions. vehicleLoadType can be specified multiple times. This parameter is currently only considered for travelMode=truck. */
3334
3515
  vehicleLoadType?: "USHazmatClass1" | "USHazmatClass2" | "USHazmatClass3" | "USHazmatClass4" | "USHazmatClass5" | "USHazmatClass6" | "USHazmatClass7" | "USHazmatClass8" | "USHazmatClass9" | "otherHazmatExplosive" | "otherHazmatGeneral" | "otherHazmatHarmfulToWater";
3335
3516
  }
3336
3517
 
@@ -3352,21 +3533,21 @@ export declare interface Routes {
3352
3533
  /** Route sections contain additional information about parts of a route. Each section contains at least the elements `startPointIndex`, `endPointIndex`, and `sectionType`. */
3353
3534
  export declare interface RouteSectionOutput {
3354
3535
  /** Index of the first point (offset 0) in the route this section applies to. */
3355
- startPointIndex: number;
3536
+ readonly startPointIndex: number;
3356
3537
  /** Index of the last point (offset 0) in the route this section applies to. */
3357
- endPointIndex: number;
3538
+ readonly endPointIndex: number;
3358
3539
  /** Section types of the reported route response */
3359
- sectionType: "CAR_TRAIN" | "COUNTRY" | "FERRY" | "MOTORWAY" | "PEDESTRIAN" | "TOLL_ROAD" | "TOLL_VIGNETTE" | "TRAFFIC" | "TRAVEL_MODE" | "TUNNEL" | "CARPOOL" | "URBAN";
3540
+ readonly sectionType: "CAR_TRAIN" | "COUNTRY" | "FERRY" | "MOTORWAY" | "PEDESTRIAN" | "TOLL_ROAD" | "TOLL_VIGNETTE" | "TRAFFIC" | "TRAVEL_MODE" | "TUNNEL" | "CARPOOL" | "URBAN";
3360
3541
  /** Travel mode for the calculated route. The value will be set to `other` if the requested mode of transport is not possible in this section */
3361
- travelMode?: "car" | "truck" | "taxi" | "bus" | "van" | "motorcycle" | "bicycle" | "pedestrian" | "other";
3542
+ readonly travelMode?: "car" | "truck" | "taxi" | "bus" | "van" | "motorcycle" | "bicycle" | "pedestrian" | "other";
3362
3543
  /** Type of the incident. Can currently be JAM, ROAD_WORK, ROAD_CLOSURE, or OTHER. See "tec" for detailed information. */
3363
- simpleCategory?: "JAM" | "ROAD_WORK" | "ROAD_CLOSURE" | "OTHER";
3544
+ readonly simpleCategory?: "JAM" | "ROAD_WORK" | "ROAD_CLOSURE" | "OTHER";
3364
3545
  /** Effective speed of the incident in km/h, averaged over its entire length. */
3365
- effectiveSpeedInKmh?: number;
3546
+ readonly effectiveSpeedInKmh?: number;
3366
3547
  /** Delay in seconds caused by the incident. */
3367
- delayInSeconds?: number;
3548
+ readonly delayInSeconds?: number;
3368
3549
  /** The magnitude of delay caused by the incident. These values correspond to the values of the response field ty of the [Get Traffic Incident Detail API](https://docs.microsoft.com/rest/api/maps/traffic/gettrafficincidentdetail). */
3369
- magnitudeOfDelay?: "0" | "1" | "2" | "3" | "4";
3550
+ readonly magnitudeOfDelay?: "0" | "1" | "2" | "3" | "4";
3370
3551
  /** Details of the traffic event, using definitions in the [TPEG2-TEC](https://www.iso.org/standard/63116.html) standard. Can contain effectCode and causes elements. */
3371
3552
  tec?: RouteSectionTecOutput;
3372
3553
  }
@@ -3374,15 +3555,15 @@ export declare interface RouteSectionOutput {
3374
3555
  /** The cause of the traffic event. Can contain mainCauseCode and subCauseCode elements. Can be used to define iconography and descriptions. */
3375
3556
  export declare interface RouteSectionTecCauseOutput {
3376
3557
  /** The main cause of the traffic event. Contains a value in the tec002:CauseCode table, as defined in the [TPEG2-TEC](https://www.iso.org/standard/63116.html) standard. */
3377
- mainCauseCode?: number;
3558
+ readonly mainCauseCode?: number;
3378
3559
  /** The subcause of the traffic event. Contains a value in the sub cause table defined by the mainCauseCode, as defined in the [TPEG2-TEC](https://www.iso.org/standard/63116.html) standard. */
3379
- subCauseCode?: number;
3560
+ readonly subCauseCode?: number;
3380
3561
  }
3381
3562
 
3382
3563
  /** Details of the traffic event, using definitions in the [TPEG2-TEC](https://www.iso.org/standard/63116.html) standard. Can contain effectCode and causes elements. */
3383
3564
  export declare interface RouteSectionTecOutput {
3384
3565
  /** The effect on the traffic flow. Contains a value in the tec001:EffectCode table, as defined in the [TPEG2-TEC](https://www.iso.org/standard/63116.html) standard. Can be used to color-code traffic events according to severity. */
3385
- effectCode?: number;
3566
+ readonly effectCode?: number;
3386
3567
  /** Causes array */
3387
3568
  causes?: Array<RouteSectionTecCauseOutput>;
3388
3569
  }
@@ -3390,15 +3571,80 @@ export declare interface RouteSectionTecOutput {
3390
3571
  /** Summary object */
3391
3572
  export declare interface RouteSummaryOutput {
3392
3573
  /** Length In Meters property */
3393
- lengthInMeters: number;
3574
+ readonly lengthInMeters: number;
3394
3575
  /** Estimated travel time in seconds property that includes the delay due to real-time traffic. Note that even when traffic=false travelTimeInSeconds still includes the delay due to traffic. If DepartAt is in the future, travel time is calculated using time-dependent historic traffic data. */
3395
- travelTimeInSeconds: number;
3576
+ readonly travelTimeInSeconds: number;
3396
3577
  /** Estimated delay in seconds caused by the real-time incident(s) according to traffic information. For routes planned with departure time in the future, delays is always 0. To return additional travel times using different types of traffic information, parameter computeTravelTimeFor=all needs to be added. */
3397
- trafficDelayInSeconds: number;
3398
- /** The estimated departure time for the route or leg. */
3399
- departureTime: string;
3400
- /** The estimated arrival time for the route or leg. */
3401
- arrivalTime: string;
3578
+ readonly trafficDelayInSeconds: number;
3579
+ /** The estimated departure time for the route or leg. Time is in UTC. */
3580
+ readonly departureTime: string;
3581
+ /** The estimated arrival time for the route or leg. Time is in UTC. */
3582
+ readonly arrivalTime: string;
3583
+ }
3584
+
3585
+ /**
3586
+ * A simple poller that can be used to poll a long running operation.
3587
+ */
3588
+ export declare interface SimplePollerLike<TState extends OperationState<TResult>, TResult> {
3589
+ /**
3590
+ * Returns true if the poller has finished polling.
3591
+ */
3592
+ isDone(): boolean;
3593
+ /**
3594
+ * Returns the state of the operation.
3595
+ */
3596
+ getOperationState(): TState;
3597
+ /**
3598
+ * Returns the result value of the operation,
3599
+ * regardless of the state of the poller.
3600
+ * It can return undefined or an incomplete form of the final TResult value
3601
+ * depending on the implementation.
3602
+ */
3603
+ getResult(): TResult | undefined;
3604
+ /**
3605
+ * Returns a promise that will resolve once a single polling request finishes.
3606
+ * It does this by calling the update method of the Poller's operation.
3607
+ */
3608
+ poll(options?: {
3609
+ abortSignal?: AbortSignalLike;
3610
+ }): Promise<TState>;
3611
+ /**
3612
+ * Returns a promise that will resolve once the underlying operation is completed.
3613
+ */
3614
+ pollUntilDone(pollOptions?: {
3615
+ abortSignal?: AbortSignalLike;
3616
+ }): Promise<TResult>;
3617
+ /**
3618
+ * Invokes the provided callback after each polling is completed,
3619
+ * sending the current state of the poller's operation.
3620
+ *
3621
+ * It returns a method that can be used to stop receiving updates on the given callback function.
3622
+ */
3623
+ onProgress(callback: (state: TState) => void): CancelOnProgress;
3624
+ /**
3625
+ * Returns a promise that could be used for serialized version of the poller's operation
3626
+ * by invoking the operation's serialize method.
3627
+ */
3628
+ serialize(): Promise<string>;
3629
+ /**
3630
+ * Wait the poller to be submitted.
3631
+ */
3632
+ submitted(): Promise<void>;
3633
+ /**
3634
+ * Returns a string representation of the poller's operation. Similar to serialize but returns a string.
3635
+ * @deprecated Use serialize() instead.
3636
+ */
3637
+ toString(): string;
3638
+ /**
3639
+ * Stops the poller from continuing to poll. Please note this will only stop the client-side polling
3640
+ * @deprecated Use abortSignal to stop polling instead.
3641
+ */
3642
+ stopPolling(): void;
3643
+ /**
3644
+ * Returns true if the poller is stopped.
3645
+ * @deprecated Use abortSignal status to track this instead.
3646
+ */
3647
+ isStopped(): boolean;
3402
3648
  }
3403
3649
 
3404
3650
  /**