diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json index 5105fdde77ed..34064024fa0d 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetMetroAreaInfo.json @@ -307,7 +307,8 @@ "captionOverride": "Bus" } } - ] + ], + "isFaresSupported": "true" } }, "400": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json index 02fc587bd829..91f2c104f189 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitItinerary.json @@ -2,7 +2,7 @@ "parameters": { "api-version": "1.0", "format": "json", - "query": "68fa6e31-d1a4-4457-a15b-8f5036a76a78---201909167EB6D19458C443BFAD897246FD28DAD4:0---121", + "query": "6f1eb44e-255f-4d06-9491-a35ee7864e19---20200929FF43D18907D24B35A1A7454DE7231C89:0---81", "detailType": [ "geometry" ] @@ -10,148 +10,198 @@ "responses": { "200": { "body": { - "departureTime": "2019-09-16T18:04:53Z", - "arrivalTime": "2019-09-16T18:08:07Z", + "departureTime": "2020-09-29T20:48:05Z", + "arrivalTime": "2020-09-29T20:53:25Z", "legs": [ { - "legType": "Bicycle", - "legStartTime": "2019-09-16T18:04:53Z", - "legEndTime": "2019-09-16T18:08:07Z", - "steps": [ + "legType": "Wait", + "legStartTime": "2020-09-29T20:48:05Z", + "legEndTime": "2020-09-29T20:48:05Z", + "lineGroup": { + "lineGroupId": "0---211457", + "agencyId": "0---321", + "agencyName": "CTA", + "lineNumber": "22", + "caption1": "Clark", + "caption2": "22 Clark", + "color": "565A5C", + "transitType": "Bus" + }, + "line": { + "lineId": "0---1151684", + "lineGroupId": "0---211457", + "direction": "forward", + "agencyId": "0---321", + "lineNumber": "22", + "lineDestination": "Southbound - Harrison" + }, + "stops": [ + { + "stopId": "0---161771", + "stopKey": "1853", + "stopName": "Clark & Oak (South)", + "stopCode": "1853", + "position": { + "latitude": 41.900657, + "longitude": -87.631426 + }, + "mainTransitType": "Bus", + "mainAgencyId": "0---321", + "mainAgencyName": "CTA" + }, + { + "stopId": "0---33004397", + "stopKey": "18255", + "stopName": "Clark & Huron (South)", + "stopCode": "18255", + "position": { + "latitude": 41.894729, + "longitude": -87.631288 + }, + "mainTransitType": "Bus", + "mainAgencyId": "0---321", + "mainAgencyName": "CTA" + } + ], + "waitOnVehicle": "false" + }, + { + "legType": "Bus", + "legStartTime": "2020-09-29T20:48:05Z", + "legEndTime": "2020-09-29T20:51:15Z", + "lineGroup": { + "lineGroupId": "81---211457", + "agencyId": "81---321", + "agencyName": "CTA", + "lineNumber": "22", + "caption1": "Clark", + "caption2": "22 Clark", + "color": "565A5C", + "transitType": "Bus" + }, + "line": { + "lineId": "81---1151684", + "lineGroupId": "81---211457", + "direction": "forward", + "agencyId": "81---321", + "lineNumber": "22", + "lineDestination": "Southbound - Harrison" + }, + "stops": [ { - "direction": { - "relativeDirection": "depart" + "stopId": "81---161771", + "stopKey": "1853", + "stopName": "Clark & Oak (South)", + "stopCode": "1853", + "position": { + "latitude": 41.900657, + "longitude": -87.631426 }, - "streetName": "3rd Avenue" + "mainTransitType": "Bus", + "mainAgencyId": "81---321", + "mainAgencyName": "CTA" }, { - "direction": { - "relativeDirection": "right" + "stopId": "81---161772", + "stopKey": "1854", + "stopName": "Clark & Delaware (South)", + "stopCode": "1854", + "position": { + "latitude": 41.899361, + "longitude": -87.631386 }, - "streetName": "Dean Street" + "mainTransitType": "Bus", + "mainAgencyId": "81---321", + "mainAgencyName": "CTA" }, { - "direction": { - "relativeDirection": "right" + "stopId": "81---33004397", + "stopKey": "18255", + "stopName": "Clark & Huron (South)", + "stopCode": "18255", + "position": { + "latitude": 41.894729, + "longitude": -87.631288 }, - "streetName": "5th Avenue" + "mainTransitType": "Bus", + "mainAgencyId": "81---321", + "mainAgencyName": "CTA" } ], - "origin": { - "position": { - "latitude": 40.680903, - "longitude": -73.983723 - } - }, - "destination": { - "position": { - "latitude": 40.682051, - "longitude": -73.976702 - } - }, "geometry": { "type": "LineString", "coordinates": [ [ - -73.98373, - 40.6809 - ], - [ - -73.98371, - 40.68089 - ], - [ - -73.98328, - 40.68152 - ], - [ - -73.9831, - 40.68179 - ], - [ - -73.98303, - 40.68189 - ], - [ - -73.98302, - 40.68191 - ], - [ - -73.9829, - 40.68208 - ], - [ - -73.98286, - 40.68214 - ], - [ - -73.9828, - 40.68223 + -87.63157, + 41.90064 ], [ - -73.98243, - 40.68278 + -87.63156, + 41.90057 ], [ - -73.98199, - 40.68342 + -87.63153, + 41.90045 ], [ - -73.98161, - 40.68398 + -87.6315, + 41.90029 ], [ - -73.98157, - 40.68405 + -87.63121, + 41.89508 ], [ - -73.9812, - 40.6839 + -87.63121, + 41.89498 ], [ - -73.97984, - 40.68338 + -87.63121, + 41.89487 ], [ - -73.9794, - 40.6832 + -87.63121, + 41.89481 ], [ - -73.97924, - 40.68314 + -87.6312, + 41.89476 ], [ - -73.97912, - 40.68309 + -87.6312, + 41.89473 ], [ - -73.97899, - 40.68304 - ], - [ - -73.97675, - 40.68217 - ], - [ - -73.97659, - 40.68211 - ], - [ - -73.97665, - 40.68203 - ], - [ - -73.97665, - 40.68203 - ], - [ - -73.97671, - 40.68205 + -87.6312, + 41.89472 ] ] + }, + "legFare": { + "fares": [ + { + "price": { + "amount": 225, + "currencyCode": "USD" + }, + "usage": "pay" + } + ] } } - ] + ], + "itineraryFare": { + "price": { + "amount": 225, + "currencyCode": "USD" + }, + "tickets": [ + { + "amount": 225, + "currencyCode": "USD" + } + ] + } } }, "400": { diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json index 9074ad95aaef..280920327153 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/examples/GetTransitRoute.json @@ -2,181 +2,219 @@ "parameters": { "api-version": "1.0", "format": "json", - "origin": "40.680903,-73.983723", + "origin": "41.948437, -87.655334", "originType": "position", - "destination": "40.682051,-73.976702", - "destinationType": "position" + "destination": "41.878876, -87.635918", + "destinationType": "position", + "modeType": "publicTransit", + "transitType": "bus" }, "responses": { "200": { "body": { "results": [ { - "itineraryId": "68fa6e31-d1a4-4457-a15b-8f5036a76a78---201909167EB6D19458C443BFAD897246FD28DAD4:0---121", - "departureTime": "2019-09-16T18:04:53Z", - "arrivalTime": "2019-09-16T18:08:07Z", - "travelTimeInSeconds": 194, - "numberOfLegs": 1, - "legs": [ - { - "legType": "Bicycle", - "legStartTime": "2019-09-16T18:04:53Z", - "legEndTime": "2019-09-16T18:08:07Z", - "lengthInMeters": 877 - } - ] - }, - { - "itineraryId": "68fa6e31-d1a4-4457-a15b-8f5036a76a78---20190916E4C79AA6602341F0973B94A3A79D9D36:0---121", - "departureTime": "2019-09-16T18:04:53Z", - "arrivalTime": "2019-09-16T18:07:57Z", - "travelTimeInSeconds": 184, - "numberOfLegs": 1, - "legs": [ - { - "legType": "Bicycle", - "legStartTime": "2019-09-16T18:04:53Z", - "legEndTime": "2019-09-16T18:07:57Z", - "lengthInMeters": 851 - } - ] - }, - { - "itineraryId": "68fa6e31-d1a4-4457-a15b-8f5036a76a78---201909168C38C8E44DEC41B7B6B7DB3ADE640722:0---121", - "departureTime": "2019-09-16T18:04:53Z", - "arrivalTime": "2019-09-16T18:13:33Z", - "travelTimeInSeconds": 520, - "numberOfLegs": 3, + "itineraryId": "41372ab5-8577-481a-ab24-e84572fe69a5---2020092910DC67FA27034F15A29F4AE5415ADAF2:0---81", + "departureTime": "2020-09-30T00:30:29Z", + "arrivalTime": "2020-09-30T01:18:16Z", + "travelTimeInSeconds": 2867, + "numberOfLegs": 4, "legs": [ { "legType": "Walk", - "legStartTime": "2019-09-16T18:04:53Z", - "legEndTime": "2019-09-16T18:07:12Z", - "caption": "Douglass Street", - "lengthInMeters": 93 + "legStartTime": "2020-09-30T00:30:29Z", + "legEndTime": "2020-09-30T00:34:01Z", + "caption": "North Clark Street", + "lengthInMeters": 196 }, { - "legType": "Bicycle", - "legStartTime": "2019-09-16T18:07:12Z", - "legEndTime": "2019-09-16T18:10:22Z", - "caption": "Dean Street", - "lengthInMeters": 734 + "legType": "Wait", + "legStartTime": "2020-09-30T00:34:01Z", + "legEndTime": "2020-09-30T00:35:02Z", + "caption": "22" + }, + { + "legType": "Bus", + "legStartTime": "2020-09-30T00:35:02Z", + "legEndTime": "2020-09-30T01:12:52Z", + "caption": "22", + "lengthInMeters": 8463, + "legFare": { + "fares": [ + { + "price": { + "amount": 225, + "currencyCode": "USD" + }, + "usage": "pay" + } + ] + } }, { "legType": "Walk", - "legStartTime": "2019-09-16T18:10:22Z", - "legEndTime": "2019-09-16T18:13:33Z", - "lengthInMeters": 212 + "legStartTime": "2020-09-30T01:12:53Z", + "legEndTime": "2020-09-30T01:18:16Z", + "lengthInMeters": 421 } - ] + ], + "itineraryFare": { + "price": { + "amount": 225, + "currencyCode": "USD" + }, + "tickets": [ + { + "amount": 225, + "currencyCode": "USD" + } + ] + } }, { - "itineraryId": "68fa6e31-d1a4-4457-a15b-8f5036a76a78---201909168960D307482847EF9E0A2A59D22A5D2F:0---121", - "departureTime": "2019-09-16T18:04:53Z", - "arrivalTime": "2019-09-16T18:14:00Z", - "travelTimeInSeconds": 547, + "itineraryId": "41372ab5-8577-481a-ab24-e84572fe69a5---2020092910DC67FA27034F15A29F4AE5415ADAF2:1---81", + "departureTime": "2020-09-30T00:32:42Z", + "arrivalTime": "2020-09-30T01:26:29Z", + "travelTimeInSeconds": 3227, "numberOfLegs": 3, "legs": [ { "legType": "Walk", - "legStartTime": "2019-09-16T18:04:53Z", - "legEndTime": "2019-09-16T18:07:12Z", - "caption": "Douglass Street", - "lengthInMeters": 93 + "legStartTime": "2020-09-30T00:32:42Z", + "legEndTime": "2020-09-30T00:39:40Z", + "caption": "West Sheridan Road", + "lengthInMeters": 480 }, { - "legType": "Bicycle", - "legStartTime": "2019-09-16T18:07:12Z", - "legEndTime": "2019-09-16T18:10:22Z", - "caption": "Dean Street", - "lengthInMeters": 734 + "legType": "Wait", + "legStartTime": "2020-09-30T00:39:40Z", + "legEndTime": "2020-09-30T00:40:41Z", + "caption": "151" }, { - "legType": "Walk", - "legStartTime": "2019-09-16T18:10:22Z", - "legEndTime": "2019-09-16T18:14:00Z", - "lengthInMeters": 237 + "legType": "Bus", + "legStartTime": "2020-09-30T00:40:41Z", + "legEndTime": "2020-09-30T01:26:29Z", + "caption": "151", + "lengthInMeters": 10539, + "legFare": { + "fares": [ + { + "price": { + "amount": 225, + "currencyCode": "USD" + }, + "usage": "pay" + } + ] + } } - ] + ], + "itineraryFare": { + "price": { + "amount": 225, + "currencyCode": "USD" + }, + "tickets": [ + { + "amount": 225, + "currencyCode": "USD" + } + ] + } }, { - "itineraryId": "68fa6e31-d1a4-4457-a15b-8f5036a76a78---2019091632031DBD314545E19C0CD726BCE4BCD8:0---121", - "departureTime": "2019-09-16T18:06:17Z", - "arrivalTime": "2019-09-16T18:16:00Z", - "travelTimeInSeconds": 583, - "numberOfLegs": 3, + "itineraryId": "41372ab5-8577-481a-ab24-e84572fe69a5---2020092910DC67FA27034F15A29F4AE5415ADAF2:2---81", + "departureTime": "2020-09-30T00:28:04Z", + "arrivalTime": "2020-09-30T01:24:46Z", + "travelTimeInSeconds": 3402, + "numberOfLegs": 7, "legs": [ { "legType": "Walk", - "legStartTime": "2019-09-16T18:06:17Z", - "legEndTime": "2019-09-16T18:11:56Z", - "caption": "Dean Street", - "lengthInMeters": 429 + "legStartTime": "2020-09-30T00:28:04Z", + "legEndTime": "2020-09-30T00:35:40Z", + "caption": "West Waveland Avenue", + "lengthInMeters": 522 }, { "legType": "Wait", - "legStartTime": "2019-09-16T18:11:56Z", - "legEndTime": "2019-09-16T18:12:57Z", - "caption": "B65" + "legStartTime": "2020-09-30T00:35:40Z", + "legEndTime": "2020-09-30T00:36:41Z", + "caption": "8" }, { "legType": "Bus", - "legStartTime": "2019-09-16T18:12:57Z", - "legEndTime": "2019-09-16T18:16:00Z", - "caption": "B65", - "lengthInMeters": 422 - } - ] - }, - { - "itineraryId": "68fa6e31-d1a4-4457-a15b-8f5036a76a78---2019091632031DBD314545E19C0CD726BCE4BCD8:1---121", - "departureTime": "2019-09-16T18:15:04Z", - "arrivalTime": "2019-09-16T18:24:36Z", - "travelTimeInSeconds": 572, - "numberOfLegs": 4, - "legs": [ + "legStartTime": "2020-09-30T00:36:41Z", + "legEndTime": "2020-09-30T01:09:41Z", + "caption": "8", + "lengthInMeters": 8059, + "legFare": { + "fares": [ + { + "price": { + "amount": 225, + "currencyCode": "USD" + }, + "usage": "pay" + } + ] + } + }, { "legType": "Walk", - "legStartTime": "2019-09-16T18:15:04Z", - "legEndTime": "2019-09-16T18:15:50Z", - "caption": "3rd Avenue", - "lengthInMeters": 51 + "legStartTime": "2020-09-30T01:09:42Z", + "legEndTime": "2020-09-30T01:11:59Z", + "caption": "West Van Buren Street", + "lengthInMeters": 174 }, { "legType": "Wait", - "legStartTime": "2019-09-16T18:15:50Z", - "legEndTime": "2019-09-16T18:16:51Z", - "caption": "B37" + "legStartTime": "2020-09-30T01:11:59Z", + "legEndTime": "2020-09-30T01:18:43Z", + "caption": "126" }, { "legType": "Bus", - "legStartTime": "2019-09-16T18:16:51Z", - "legEndTime": "2019-09-16T18:21:00Z", - "caption": "B37", - "lengthInMeters": 942 + "legStartTime": "2020-09-30T01:18:43Z", + "legEndTime": "2020-09-30T01:22:45Z", + "caption": "126", + "lengthInMeters": 1092, + "legFare": { + "fares": [ + { + "price": { + "amount": 25, + "currencyCode": "USD" + }, + "usage": "pay" + } + ] + } }, { "legType": "Walk", - "legStartTime": "2019-09-16T18:21:01Z", - "legEndTime": "2019-09-16T18:24:36Z", - "lengthInMeters": 278 - } - ] - }, - { - "itineraryId": "68fa6e31-d1a4-4457-a15b-8f5036a76a78---2019091632031DBD314545E19C0CD726BCE4BCD8:2---121", - "departureTime": "2019-09-16T18:04:53Z", - "arrivalTime": "2019-09-16T18:15:38Z", - "travelTimeInSeconds": 645, - "numberOfLegs": 1, - "legs": [ - { - "legType": "Walk", - "legStartTime": "2019-09-16T18:04:53Z", - "legEndTime": "2019-09-16T18:15:38Z", - "lengthInMeters": 829 + "legStartTime": "2020-09-30T01:22:46Z", + "legEndTime": "2020-09-30T01:24:46Z", + "lengthInMeters": 102 } - ] + ], + "itineraryFare": { + "price": { + "amount": 250, + "currencyCode": "USD" + }, + "tickets": [ + { + "amount": 225, + "currencyCode": "USD" + }, + { + "amount": 25, + "currencyCode": "USD" + } + ] + } } ] } diff --git a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json index afeb93435bcf..3af3f353c1f6 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json +++ b/specification/maps/data-plane/Microsoft.Maps/Mobility/preview/1.0/mobility.json @@ -126,6 +126,7 @@ "name": "metroId", "description": "The unique id of the metro area. Can be retrieved via [Get Metro Area API](https://aka.ms/AzureMapsMobilityMetro).", "type": "integer", + "format": "int32", "in": "query", "required": false, "x-ms-parameter-location": "method" @@ -144,7 +145,7 @@ "get": { "x-publish": true, "operationId": "Mobility_GetMetroAreaPreview", - "description": "**Metro Area API**\n\n**Applies to**: S1 pricing tier.\n\nService allows to request metro areas in which the Azure Maps Mobility Service is available. The service supports filtering results by country or coordinate location. Information returned includes Metro Area details such as metro Id, name and a representation of the metro area geometry in GeoJSON format.", + "description": "**Metro Area API**\n\n**Applies to**: S1 pricing tier.\n\nService allows users to request metro areas in which the Azure Maps Mobility Service is available. The service supports filtering results by country or coordinate location. Information returned includes Metro Area details such as metro Id, name and a representation of the metro area geometry in GeoJSON format.", "x-ms-examples": { "MetroArea": { "$ref": "./examples/GetMetroArea.json" @@ -230,7 +231,7 @@ "get": { "x-publish": true, "operationId": "Mobility_GetMetroAreaInfoPreview", - "description": "**Metro Area Info API**\n\n**Applies to**: S1 pricing tier.\n\nService allows to request additional information for metro areas in which the Azure Maps Mobility Service is available. Information such as supported transit types, transit agencies and active alerts is available, depending on the options selected.", + "description": "**Metro Area Info API**\n\n**Applies to**: S1 pricing tier.\n\nService allows users to request additional information for metro areas in which the Azure Maps Mobility services are available. Information such as supported transit types, transit agencies and active alerts is available, depending on the options selected. Also, the service returns information if the public transit fare information is available for the requested metro area.", "x-ms-examples": { "MetroAreaInfo": { "$ref": "./examples/GetMetroAreaInfo.json" @@ -254,7 +255,8 @@ "description": "metroId. The unique id of the metro area. Required parameter specifying the required metro area to search in. Can be retrieved via [Get Metro Area API](https://aka.ms/AzureMapsMobilityTransitRoute).", "in": "query", "required": true, - "type": "integer" + "type": "integer", + "format": "int32" }, { "name": "detailType", @@ -362,14 +364,16 @@ "description": "Maximum number of responses that will be returned. Default is 3, minimum 1 and maximum 100. Sort order is based on distance from input location.", "in": "query", "required": false, - "type": "integer" + "type": "integer", + "format": "int32" }, { "name": "radius", "description": "Specifies the search area to constrain a search. The radius in meters to for the results to be constrained to the defined area. Default value is 30 meters, minimum 1 meter and maximum 5000 meters (5km).", "in": "query", "required": false, - "type": "integer" + "type": "integer", + "format": "int32" }, { "name": "objectType", @@ -649,7 +653,7 @@ "get": { "x-publish": true, "operationId": "Mobility_GetTransitRoutePreview", - "description": "**Transit Route API**\n\n**Applies to**: S1 pricing tier.\n\nGet Transit Route API will allow trip planning returning the best possible route options between an origin and destination by using multi-modal search. Service provides a variety of travel modes, including walk, bike, and public transit. The API supports parameters to request one or multiple public transit types such as bus, tram and subway, and prefer a specific transit agency operating in the area. Also, service provides options to choose optimal route with least walk or transfers and specify arrival or departure times when user need to be at a specific destination by a certain time.", + "description": "**Transit Route API**\n\n**Applies to**: S1 pricing tier.\n\nGet Transit Route API will allow trip planning returning the best possible route options between an origin and destination by using multi-modal search. Service provides a variety of travel modes, including walk, bike, and public transit. The API supports parameters to request one or multiple public transit types such as bus, tram and subway, and prefer a specific transit agency operating in the area. Also, service provides transit fare details and options to choose optimal route with least walk or transfers and specify arrival or departure times when user need to be at a specific destination by a certain time.", "x-ms-examples": { "TransitRoute": { "$ref": "./examples/GetTransitRoute.json" @@ -994,7 +998,7 @@ "get": { "x-publish": true, "operationId": "Mobility_GetTransitItineraryPreview", - "description": "**Transit Itinerary API**\n\n**Applies to**: S1 pricing tier.\n\nReturns data according to an itinerary Id previously returned by [Transit Route API](https://aka.ms/AzureMapsMobilityTransitRoute). The basic info contains data as to the various legs comprising the itinerary, including the locations, public transit lines, start and end times. User can request additional routing information such as the shape of the itinerary and detailed itinerary schedules is also available, depending on the options selected. An itinerary is available up to 24 hours following a search request.", + "description": "**Transit Itinerary API**\n\n**Applies to**: S1 pricing tier.\n\nReturns data according to an itinerary Id previously returned by [Transit Route API](https://aka.ms/AzureMapsMobilityTransitRoute). The basic info contains data as to the various legs comprising the itinerary, including the locations, public transit lines, start and end times and fare information. Users can request additional routing information such as the shape of the itinerary and detailed itinerary schedules is also available, depending on the options selected. An itinerary is available up to 24 hours following a search request.", "x-ms-examples": { "TransitItinerary": { "$ref": "./examples/GetTransitItinerary.json" @@ -1180,13 +1184,15 @@ "description": "The maximum arrivals to return. If not specified, the system default will be used. For stops max number of arrivals per stop. For lines max arrivals per stop on the line. For everything else max arrivals overall.", "in": "query", "required": false, - "type": "integer" + "type": "integer", + "format": "int32" }, { "name": "maxMinutesInFuture", "description": "The maximum time (in minutes) in the future to return arrivals for. If not specified, the system default (30 minutes) will be used. The minimum value is 0 and maximum value is 60 minutes.", "required": false, "type": "integer", + "format": "int32", "in": "query" }, { @@ -1295,7 +1301,8 @@ "description": "Time in seconds within which if the provider doesn’t respond, end point will return static data.", "in": "query", "required": false, - "type": "integer" + "type": "integer", + "format": "int32" }, { "$ref": "#/parameters/MobilityLanguage" @@ -1521,14 +1528,19 @@ } }, "MetroAreaInfoResponse": { - "description": "This object is returned from a successful Metro Area call.", + "description": "This object is returned from a successful Metro Area Info call.", "type": "object", "properties": { "metroName": { "type": "string", "description": "The name of the metro area." }, + "isFaresSupported": { + "type": "string", + "description": "Indicates if public transit fares information is available in the metro area. Fare information is available through [Get Transit Route API](https://aka.ms/AzureMapsMobilityTransitRoute) and [Get Transit Itinerary APIs](https://aka.ms/AzureMapsMobilityTransitItinerary)." + }, "transitTypes": { + "description": "Supported transit types in the metro area. Returned if specified in the request.", "type": "array", "items": { "$ref": "#/definitions/TransitTypeResult" @@ -1604,6 +1616,10 @@ }, "legs": { "$ref": "#/definitions/ItinerarySummary" + }, + "itineraryFare": { + "description": "Itinerary level transit fare information. Returned only if fare information is available for the entire itinerary. [Get Metro Area Info API](https://aka.ms/AzureMapsMobilityMetroAreaInfo) can be requested to confirm if fare information is available in the metro area.", + "$ref": "#/definitions/ItineraryFare" } } }, @@ -1658,7 +1674,8 @@ "properties": { "metroId": { "description": "The metro area's Id for use with other API calls.", - "type": "integer" + "type": "integer", + "format": "int32" }, "metroName": { "description": "The main display name of the metro.", @@ -1852,7 +1869,7 @@ } }, "Alert": { - "description": "Basic information associated with the active alert.", + "description": "Basic information associated with the active alert. Returned if specified in the request and there is an active alert in the metro area.", "type": "object", "properties": { "alertSummary": { @@ -1932,15 +1949,21 @@ }, "travelTimeInSeconds": { "description": "Estimated travel time in seconds.", - "type": "integer" + "type": "integer", + "format": "int32" }, "numberOfLegs": { "description": "Number of legs.", - "type": "integer" + "type": "integer", + "format": "int32" }, "legs": { "description": "An array summarizing the legs of this itinerary.", "$ref": "#/definitions/RouteItinerarySummary" + }, + "itineraryFare": { + "description": "Itinerary level transit fare information. Returned only if fare information is available for the entire itinerary. [Get Metro Area Info API](https://aka.ms/AzureMapsMobilityMetroAreaInfo) can be requested to confirm if fare information is available in the metro area.", + "$ref": "#/definitions/ItineraryFare" } } }, @@ -1957,6 +1980,10 @@ "description": "The travel mode of the leg.", "$ref": "#/definitions/LegType" }, + "legFare": { + "description": "Leg level public transit fare information. Returned only if fare information is available for the entire itinerary.", + "$ref": "#/definitions/LegFare" + }, "legStartTime": { "description": "Start time for the leg in ISO 8601 format, e.g. 1996-12-19T19:39:57-08:00.", "type": "string" @@ -1971,7 +1998,8 @@ }, "lengthInMeters": { "description": "The total distance of the leg in meters.", - "type": "integer" + "type": "integer", + "format": "int32" } } }, @@ -2031,6 +2059,10 @@ "description": "Relevant for Public Transit and Wait legs only", "$ref": "#/definitions/Departures" }, + "legFare": { + "description": "Leg level public transit fare information. Returned only if fare information is available for the entire itinerary.", + "$ref": "#/definitions/LegFare" + }, "waitOnVehicle": { "description": "Indicates whether it’s necessary to wait for the next leg on the same vehicle (i.e. the bus will only change its line number).", "type": "string" @@ -2113,6 +2145,78 @@ ] } }, + "ItineraryFare": { + "description": "Itinerary level transit fare information.", + "type": "object", + "properties": { + "price": { + "description": "The total price for all tickets a user is expected to purchase in order to complete this itinerary.", + "$ref": "#/definitions/Price" + }, + "tickets": { + "description": "An array describing the individual prices of each of the tickets that the user is expected to purchase throughout this itinerary. The list isn’t ordered.", + "type": "array", + "items": { + "$ref": "#/definitions/Tickets" + } + } + } + }, + "Tickets": { + "description": "An array describing the individual prices of each of the tickets that the user is expected to purchase throughout this itinerary. The list isn’t ordered.", + "type": "object", + "properties": { + "amount": { + "description": "Price of the ticket in cents. For example, $5.00 is returned as ‘500’.", + "type": "integer", + "format": "int32" + }, + "currencyCode": { + "description": "Currency code, for example for US dollars “USD”.", + "type": "string" + } + } + }, + "LegFare": { + "description": "Leg level public transit fare information. Returned only if fare information is available for the entire itinerary level and supported by the local transit agency.", + "type": "object", + "properties": { + "fares": { + "type": "array", + "items": { + "$ref": "#/definitions/Fares" + } + } + } + }, + "Fares": { + "description": "Detailed fare information for the leg.", + "type": "object", + "properties": { + "price": { + "description": "The price of the ticket when purchased for the individual leg, not for the entire route at once.", + "$ref": "#/definitions/Price" + }, + "usage": { + "description": "Supported values are:\n\n * pay – user is expected to pay for this ticket in order to consume the current leg\n * transfer – user can use a ticket purchased in a previous leg in order to consume the current leg. In general, when transfer is specified, the number of transfers is counted, and has a limit.\n * continue – user can use a ticket purchased in a previous leg in order to consume the current leg. In general, when continue is specified, the number of transfers isn’t incremented for this leg.\n * upgrade – user is expected to upgrade a ticket purchased in a previous leg in order to consume the current leg.", + "type": "string" + } + } + }, + "Price": { + "type": "object", + "properties": { + "amount": { + "description": "Price of the ticket in cents. For example, $5.00 is returned as ‘500’.", + "type": "integer", + "format": "int32" + }, + "currencyCode": { + "description": "Currency code, for example for US dollars “USD”.", + "type": "string" + } + } + }, "LegPoint": { "type": "object", "properties": { @@ -2332,7 +2436,7 @@ "type": "object", "properties": { "transitType": { - "description": "Supported public transit type.", + "description": "Supported public transit type. Returned if specified in the request.", "$ref": "#/definitions/TransitType" }, "captionOverride": { @@ -2343,7 +2447,7 @@ }, "Agency": { "type": "object", - "description": "Details of the agency.", + "description": "Details of the agency. Returned if specified in the request.", "properties": { "agencyId": { "description": "The Id of the relevant transit agency, for example, '5872'", @@ -2437,7 +2541,8 @@ "properties": { "arrivalMinutes": { "description": "The estimated time of arrival in minutes.", - "type": "integer" + "type": "integer", + "format": "int32" }, "scheduleType": { "description": "Whether the result is based on real-time or static data.", diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json index 91719c1102f1..3b9a123fb0a5 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/1.0/render.json @@ -165,6 +165,7 @@ "description": "X coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" }, "yTileIndex": { @@ -174,6 +175,7 @@ "description": "Y coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" }, "TextFormat": { @@ -208,6 +210,7 @@ "description": "Zoom level for the desired tile. Zoom value must be in the range: 0-18 (inclusive).\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" }, "VectorZoom": { @@ -216,6 +219,7 @@ "description": "Zoom level for the desired tile. Zoom value must be in the range: 0-20 (inclusive).\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" }, "ImageryRasterZoom": { @@ -224,6 +228,7 @@ "description": "Zoom level for the desired tile. Zoom value must be in the range: 1-19 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" }, "RasterVectorNaturalEarthZoom": { @@ -232,6 +237,7 @@ "description": "Zoom level for the desired tile. For _raster_ tiles, value must be in the range: 0-18 (inclusive). Terra raster tiles, values must be in the range 0-6 (inclusive). For _vector_ tiles, value must be in the range: 0-22 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" }, "Text": { @@ -344,6 +350,7 @@ "required": false, "default": 12, "type": "integer", + "format": "int32", "minimum": 0, "maximum": 20 }, @@ -367,6 +374,7 @@ "description": "Height of the resulting image in pixels. Range is 1 to 8192. Default\nis 512. It shouldn’t be used with bbox.", "required": false, "type": "integer", + "format": "int32", "minimum": 1, "maximum": 8192, "default": 512 @@ -377,6 +385,7 @@ "description": "Width of the resulting image in pixels. Range is 1 to 8192. Default is 512. It shouldn’t be used with bbox.", "required": false, "type": "integer", + "format": "int32", "minimum": 1, "maximum": 8192, "default": 512 diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/examples/GetMapTileV2.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/examples/GetMapTileV2.json new file mode 100644 index 000000000000..a7f739006589 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/examples/GetMapTileV2.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2.0", + "tilesetId": "microsoft.base", + "zoom": 6, + "x": 10, + "y": 22, + "subscription-key": "[subscription-key]" + }, + "responses": { + "200": { + "headers": {}, + "body": "binary string image" + }, + "400": { + "headers": {}, + "body": { + "error": { + "code": "400 BadRequest", + "message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive." + } + } + }, + "401": { + "headers": {}, + "body": { + "error": { + "code": "401 Unauthorized", + "message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription." + } + } + }, + "403": { + "headers": {}, + "body": { + "error": { + "code": "403 Forbidden", + "message": "Permission, capacity, or authentication issues." + } + } + }, + "404": { + "headers": {}, + "body": { + "error": { + "code": "404 NotFound", + "message": "Not Found: the requested resource could not be found, but it may be available again in the future." + } + } + }, + "500": { + "headers": {}, + "body": { + "error": { + "code": "500 InternalServerError", + "message": "An error occurred while processing the request. Please try again later." + } + } + } + } +} diff --git a/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json new file mode 100644 index 000000000000..3c5065885532 --- /dev/null +++ b/specification/maps/data-plane/Microsoft.Maps/Render/preview/2.0/render.json @@ -0,0 +1,382 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Maps Render Service", + "version": "2.0", + "description": "Azure Maps Render REST APIs" + }, + "host": "atlas.microsoft.com", + "schemes": [ + "https" + ], + "consumes": [], + "produces": [ + "application/json", + "application/xml" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "These are the [Azure Active Directory OAuth2](https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-overview) Flows. When paired with [Azure Role Based Access](https://docs.microsoft.com/en-us/azure/role-based-access-control/overview) control it can be used to control access to Azure Maps REST APIs. Azure Role based access controls are used to designate access to one or more Azure Maps resource account or sub-resources. Any user, group, or service principal can be granted access via a built in role or a custom role composed of one or more permissions to Azure Maps REST APIs.\n\nTo implement scenarios we recommend viewing [authentication concepts](https://aka.ms/amauth). In summary, this security definition provides a solution for modeling application(s) via objects capable of access control on specific APIs and scopes.\n\n#### Note\n* This security definition **requires** the use of the `x-ms-client-id` header to indicate which Azure Maps resource the application is requesting access to. This can be acquired from the [Maps management API](https://aka.ms/amauthdetails).\n* The `Authorization URL` is specific to the Azure public cloud instance. Sovereign clouds have unique Authorization URLs and Azure Active directory configurations. \n* The Azure role based access control is configured from the [Azure management plane](https://aka.ms/amrbac) via Azure portal, Powershell, CLI, Azure SDKs, or REST APIs.\n* Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for configuration based setup of an application for multiple use cases.\n* Currently Azure Active Directory [v1.0](https://docs.microsoft.com/en-us/azure/active-directory/develop/azure-ad-endpoint-comparison) tokens are supported.", + "scopes": { + "user_impersonation": "Impersonates a user's Azure Active Directory account." + } + }, + "apiKeyQuery": { + "type": "apiKey", + "description": "This is a shared key which is provisioned when creating an [Azure Maps resource](https://aka.ms/amauth) through the Azure management plane via Azure portal, Powershell, CLI, Azure SDKs, or REST APIs. With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account which they are issued for. For publicly exposed applications our recommendation is to use server to server access of Azure Maps REST APIs where this key can be securely stored.", + "name": "subscription-key", + "in": "query" + } + }, + "security": [ + { + "azure_auth": [] + }, + { + "apiKeyQuery": [] + } + ], + "responses": { + "400": { + "description": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive.", + "schema": { + "$ref": "#/definitions/ODataErrorResponse" + } + }, + "401": { + "description": "Access denied due to invalid subscription key or invalid Azure Active Directory bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided AAD bearer token.", + "schema": { + "$ref": "#/definitions/ODataErrorResponse" + }, + "headers": { + "WWW-Authenticate": { + "type": "string", + "description": "Bearer realm=\"https://atlas.microsoft.com/\", error=\"invalid_token\", error_description=\"The access token expired\"" + } + } + }, + "403": { + "description": "Permission, capacity, or authentication issues.", + "schema": { + "$ref": "#/definitions/ODataErrorResponse" + } + }, + "404": { + "description": "Not Found: the requested resource could not be found, but it may be available again in the future.", + "schema": { + "$ref": "#/definitions/ODataErrorResponse" + } + }, + "500": { + "description": "An error occurred while processing the request. Please try again later.", + "schema": { + "$ref": "#/definitions/ODataErrorResponse" + } + } + }, + "parameters": { + "ClientId": { + "name": "x-ms-client-id", + "description": "Specifies which account is intended for usage in conjunction with the Azure AD security model. It represents a unique ID for the Azure Maps account and can be retrieved from Azure Maps management plane Account API. To use Azure AD security in Azure Maps see the following [articles](https://aka.ms/amauthdetails) for guidance.", + "type": "string", + "in": "header", + "required": false, + "x-ms-parameter-location": "client" + }, + "SubscriptionKey": { + "name": "subscription-key", + "description": "One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication.", + "type": "string", + "in": "query", + "required": false, + "x-ms-parameter-location": "client" + }, + "ApiVersion": { + "name": "api-version", + "description": "Version number of Azure Maps API. Current version is 2.0", + "type": "string", + "in": "query", + "required": true, + "default": "2.0", + "x-ms-parameter-location": "client" + }, + "TilesetId_rv2": { + "name": "tilesetId", + "description": "A tileset is a collection of raster or vector data broken up into a uniform grid of square tiles at preset zoom levels. Every tileset has a **tilesetId** to use when making requests. The **tilesetId** for tilesets created using [Azure Maps Creator](https://aka.ms/amcreator) are generated through the [Tileset Create API](https://docs.microsoft.com/en-us/rest/api/maps/tileset). The ready-to-use tilesets supplied by Azure Maps are listed below. For example, microsoft.base.", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "microsoft.base", + "microsoft.base.labels", + "microsoft.base.hybrid", + "microsoft.terra.main", + "microsoft.base.road", + "microsoft.base.darkgrey", + "microsoft.base.labels.road", + "microsoft.base.hybrid.road", + "microsoft.imagery", + "microsoft.weather.radar.main", + "microsoft.weather.infrared.main" + ], + "x-ms-enum": { + "name": "TilesetID", + "modelAsString": false, + "values": [ + { + "value": "microsoft.base", + "description": "A base map is a standard map that displays roads, natural and artificial features along with the labels for those features in a vector tile.
\n\nSupports zoom levels 0 through 22. Format: vector (pbf)." + }, + { + "value": "microsoft.base.labels", + "description": "Displays labels for roads, natural and artificial features in a vector tile.
\n\nSupports zoom levels 0 through 22. Format: vector (pbf)." + }, + { + "value": "microsoft.base.hybrid", + "description": "Displays road, boundary and label data in a vector tile.
\n\nSupports zoom levels 0 through 22. Format: vector (pbf)." + }, + { + "value": "microsoft.terra.main", + "description": "Shaded relief and terra layers.
\n\nSupports zoom levels 0 through 6. Format: raster (png)." + }, + { + "value": "microsoft.base.road", + "description": "All layers with our main style.
\n\nSupports zoom levels 0 through 18. Format: raster (png)." + }, + { + "value": "microsoft.base.darkgrey", + "description": "All layers with our dark grey style.
\n\nSupports zoom levels 0 through 18. Format: raster (png)." + }, + { + "value": "microsoft.base.labels.road", + "description": "Label data in our main style.
\n\nSupports zoom levels 0 through 18. Format: raster (png)." + }, + { + "value": "microsoft.base.hybrid.road", + "description": "Road, boundary and label data in our main style.
\n\nSupports zoom levels 0 through 18. Format: raster (png)." + }, + { + "value": "microsoft.imagery", + "description": "A combination of satellite and aerial imagery. Only available in S1 pricing SKU.
\n\nSupports zoom levels 1 through 19. Format: raster (jpeg)." + }, + { + "value": "microsoft.weather.radar.main", + "description": "Weather radar tiles. Latest weather radar images including areas of rain, snow, ice and mixed conditions. Please see [coverage information](https://aka.ms/AzureMapsWeatherCoverage) for Azure Maps Weather service. To learn more about the Radar data, please see [Weather concepts](https://aka.ms/AzureMapsWeatherConcepts).
\n\nSupports zoom levels 0 through 15. Format: raster (png)." + }, + { + "value": "microsoft.weather.infrared.main", + "description": "Weather infrared tiles. Latest Infrared Satellite images shows clouds by their temperature. Please see [coverage information](https://aka.ms/AzureMapsWeatherCoverage) for Azure Maps Weather service. To learn more about the returned Satellite data, please see [Weather concepts](https://aka.ms/AzureMapsWeatherConcepts).
\n\nSupports zoom levels 0 through 15. Format: raster (png)." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "xTileIndex": { + "name": "x", + "x-ms-client-name": "xTileIndex", + "in": "query", + "description": "X coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "yTileIndex": { + "name": "y", + "x-ms-client-name": "yTileIndex", + "in": "query", + "description": "Y coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "MapTileV2Zoom": { + "name": "zoom", + "in": "query", + "description": "Zoom level for the desired tile. Please find TilesetID list below for more details on supported zoom level for each tilesetId.
\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", + "required": true, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "Language": { + "name": "language", + "in": "query", + "description": "Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.\n\nPlease refer to [Supported Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages) for details.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "Text": { + "name": "text", + "in": "query", + "description": "Yes/no value to exclude textual data from response. Only images and country names will be in response.", + "required": false, + "type": "string", + "enum": [ + "yes", + "no" + ], + "default": "yes", + "x-ms-parameter-location": "method" + }, + "View": { + "name": "view", + "in": "query", + "description": "The View parameter specifies which set of geopolitically disputed content is returned via Azure Maps services, including borders and labels displayed on the map. The View parameter (also referred to as “user region parameter”) will show the correct maps for that country/region. By default, the View parameter is set to “Unified” even if you haven’t defined it in the request. It is your responsibility to determine the location of your users, and then set the View parameter correctly for that location. Alternatively, you have the option to set ‘View=Auto’, which will return the map data based on the IP address of the request. The View parameter in Azure Maps must be used in compliance with applicable laws, including those regarding mapping, of the country where maps, images and other data and third party content that you are authorized to access via Azure Maps is made available. Example: view=IN.\n\nPlease refer to [Supported Views](https://aka.ms/AzureMapsLocalizationViews) for details and to see the available Views.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/map/tile": { + "get": { + "x-publish": true, + "description": "**Applies to**: S0 and S1 pricing tiers.\n\nThe Get Map Tiles API allows users to request map tiles in vector or raster formats typically to be integrated into a map control or SDK. Some example tiles that can be requested are Azure Maps road tiles, real-time Weather Radar tiles or the map tiles created using [Azure Maps Creator](https://aka.ms/amcreator). By default, Azure Maps uses vector tiles for its web map control (Web SDK) and Android SDK.", + "operationId": "RenderV2_GetMapTilePreview", + "x-ms-examples": { + "GetMapTile": { + "$ref": "./examples/GetMapTileV2.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ClientId" + }, + { + "$ref": "#/parameters/SubscriptionKey" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/TilesetId_rv2" + }, + { + "$ref": "#/parameters/MapTileV2Zoom" + }, + { + "$ref": "#/parameters/xTileIndex" + }, + { + "$ref": "#/parameters/yTileIndex" + }, + { + "name": "timeStamp", + "in": "query", + "description": "The desired date and time of the requested tile. This parameter must be specified in the standard date-time format (e.g. 2019-11-14T16:03:00-08:00), as defined by [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601). This parameter is only supported when tilesetId parameter is set to one of the values below.\n \n* microsoft.weather.infrared.main: We provide tiles up to 3 hours in the past. Tiles are available in 10-minute intervals. We round the timeStamp value to the nearest 10-minute time frame.\n* microsoft.weather.radar.main: We provide tiles up to 1.5 hours in the past and up to 2 hours in the future. Tiles are available in 5-minute intervals. We round the timeStamp value to the nearest 5-minute time frame.", + "required": false, + "type": "string" + }, + { + "name": "tileSize", + "in": "query", + "description": "The size of the returned map tile in pixels.", + "required": false, + "type": "string", + "default": "256", + "enum": [ + "256", + "512" + ], + "x-ms-enum": { + "name": "TileSize", + "modelAsString": false, + "values": [ + { + "value": "256", + "description": "Return a 256 by 256 pixel tile. Available for all tilesetIds except for\n* microsoft.terra.main" + }, + { + "value": "512", + "description": "Return a 512 by 512 pixel tile. Available for all tilesetIds except for \n* microsoft.weather.radar.main\n* microsoft.weather.infrared.main\n* microsoft.base.hybrid" + } + ] + } + }, + { + "$ref": "#/parameters/Language" + }, + { + "$ref": "#/parameters/View" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MapTileResultv2" + } + }, + "400": { + "$ref": "#/responses/400" + }, + "401": { + "$ref": "#/responses/401" + }, + "403": { + "$ref": "#/responses/403" + }, + "404": { + "$ref": "#/responses/404" + }, + "500": { + "$ref": "#/responses/500" + } + } + } + } + }, + "definitions": { + "ODataErrorResponse": { + "type": "object", + "description": "This response object is returned when an error occurs in the Maps API.", + "properties": { + "error": { + "$ref": "#/definitions/ODataError" + } + } + }, + "ODataError": { + "type": "object", + "description": "This object is returned when an error occurs in the Maps API.", + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "The ODataError code." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "If available, a human readable description of the error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ODataError" + } + }, + "target": { + "type": "string", + "readOnly": true, + "description": "If available, the target causing the error." + } + } + }, + "MapTileResultv2": { + "description": "The tile returned from a successful API call.", + "type": "string", + "format": "binary", + "readOnly": true + } + } +} diff --git a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json index 5bf252cbddc8..ad56b8206ba0 100644 --- a/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json +++ b/specification/maps/data-plane/Microsoft.Maps/Traffic/preview/1.0/traffic.json @@ -212,6 +212,7 @@ "description": "Zoom level for the desired tile. Zoom value must be in the range: 0-22 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" }, "RasterVectorZoom": { @@ -220,6 +221,7 @@ "description": "Zoom level for the desired tile. For _raster_ tiles, value must be in the range: 0-22 (inclusive). For _vector_ tiles, value must be in the range: 0-22 (inclusive).\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" }, "xTileIndex": { @@ -229,6 +231,7 @@ "description": "X coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" }, "yTileIndex": { @@ -238,6 +241,7 @@ "description": "Y coordinate of the tile on zoom grid. Value must be in the range [0, 2`zoom` -1].\n\nPlease see [Zoom Levels and Tile Grid](https://docs.microsoft.com/en-us/azure/location-based-services/zoom-levels-and-tile-grid) for details.", "required": true, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" } }, @@ -315,6 +319,7 @@ "description": "The value of the width of the line representing traffic. This value is a multiplier and the accepted values range from 1 - 20. The default value is 10. This parameter is not valid when format is pbf.", "required": false, "type": "integer", + "format": "int32", "minimum": 1, "maximum": 20, "default": 10 @@ -429,6 +434,7 @@ "description": "The value of the width of the line representing traffic. This value is a multiplier and the accepted values range from 1 - 20. The default value is 10.", "required": false, "type": "integer", + "format": "int32", "default": 10, "minimum": 1, "maximum": 20 @@ -643,6 +649,7 @@ "description": "Zoom level for desired tile. 0 to 22 for raster tiles, 0 through 22 for vector tiles", "required": true, "type": "integer", + "format": "int32", "minimum": 0, "maximum": 22 }, @@ -774,6 +781,7 @@ "description": "Zoom level of the map viewport. Used to determine whether the view can be zoomed in.", "required": true, "type": "integer", + "format": "int32", "minimum": 0, "maximum": 22 }, @@ -790,6 +798,7 @@ "description": "Zoom level of the overview map. If there is no mini map, use the same zoom level as boundingZoom.", "required": true, "type": "integer", + "format": "int32", "minimum": 0, "maximum": 22 }, @@ -906,21 +915,25 @@ "currentSpeed": { "description": "The current average speed at the selected point, in the units requested. This is calculated from the currentTravelTime and the length of the selected segment.", "type": "integer", + "format": "int32", "readOnly": true }, "freeFlowSpeed": { "description": "The free flow speed expected under ideal conditions, expressed in the units requested. This is related to the freeFlowTravelTime.", "type": "integer", + "format": "int32", "readOnly": true }, "currentTravelTime": { "description": "Current travel time in seconds based on fused real-time measurements between the defined locations in the specified direction.", "type": "integer", + "format": "int32", "readOnly": true }, "freeFlowTravelTime": { "description": "The travel time in seconds which would be expected under ideal free flow conditions.", "type": "integer", + "format": "int32", "readOnly": true }, "confidence": { @@ -1022,11 +1035,13 @@ "ic": { "description": "The icon category associated with this incident. Values are numbers in the range 0-13, with the following meanings -- 0: Unknown, 1: Accident, 2: Fog, 3: Dangerous Conditions, 4: Rain, 5: Ice, 6: Jam, 7: Lane Closed, 8: Road Closed, 9: Road Works, 10: Wind, 11: Flooding, 12: Detour, 13: Cluster", "type": "integer", + "format": "int32", "readOnly": true }, "ty": { "description": "The magnitude of delay associated with incident. These values correspond to incident colors in the traffic tiles", "type": "integer", + "format": "int32", "readOnly": true }, "cbl": { @@ -1066,11 +1081,13 @@ "cs": { "description": "Cluster size: the number of incidents in the cluster", "type": "integer", + "format": "int32", "readOnly": true }, "l": { "description": "Length of the incident in meters", "type": "integer", + "format": "int32", "readOnly": true }, "r": { @@ -1081,6 +1098,7 @@ "dl": { "description": "Delay caused by the incident in seconds (except in road closures)", "type": "integer", + "format": "int32", "readOnly": true }, "t": { @@ -1122,6 +1140,7 @@ "@trafficAge": { "description": "@Traffic Age property", "type": "integer", + "format": "int32", "readOnly": true }, "@trafficModelId": { diff --git a/specification/maps/data-plane/readme.md b/specification/maps/data-plane/readme.md index b31946f65218..aba744cd6897 100644 --- a/specification/maps/data-plane/readme.md +++ b/specification/maps/data-plane/readme.md @@ -52,6 +52,7 @@ input-file: - Microsoft.Maps/Geolocation/preview/1.0/geolocation.json - Microsoft.Maps/Mobility/preview/1.0/mobility.json - Microsoft.Maps/Render/preview/1.0/render.json + - Microsoft.Maps/Render/preview/2.0/render.json - Microsoft.Maps/Route/preview/1.0/route.json - Microsoft.Maps/Search/preview/1.0/search.json - Microsoft.Maps/Spatial/preview/1.0/spatial.json