diff --git a/pom.xml b/pom.xml index ba09375be37..5986f9a0aa1 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ https://opentripplanner.org org.opentripplanner otp - 2.6.0-aubin + 2.6.0-aubin-1 jar diff --git a/src/main/resources/org/opentripplanner/apis/gtfs/schema.graphqls b/src/main/resources/org/opentripplanner/apis/gtfs/schema.graphqls index 927af19f8b1..e9ca7803394 100644 --- a/src/main/resources/org/opentripplanner/apis/gtfs/schema.graphqls +++ b/src/main/resources/org/opentripplanner/apis/gtfs/schema.graphqls @@ -3,6 +3,7 @@ schema { } """ + Use an asynchronous data fetcher on a separate thread for this field. This is useful when adding several queries in the same HTTP request, for example by using a batch: Those @@ -44,6 +45,7 @@ interface FareProduct { "Identifier for the fare product." id: String! """ + The 'medium' that this product applies to, for example "Oyster Card" or "Berlin Ticket App". This communicates to riders that a specific way of buying or keeping this product is required. @@ -78,11 +80,13 @@ union StopPosition = PositionAtStop | PositionBetweenStops "A public transport agency" type Agency implements Node { """ + By default, list of alerts which have an effect on all operations of the agency (e.g. a strike). It's also possible to return other relevant alerts through defining types. """ alerts( """ + Returns alerts for these types that are relevant for the agency. By default only returns alerts that have an effect on all operations of the agency (e.g. a strike). """ @@ -110,6 +114,7 @@ type Agency implements Node { "Alert of a current or upcoming disruption in public transportation" type Alert implements Node { """ + Agency affected by the disruption. Note that this value is present only if the disruption has an effect on all operations of the agency (e.g. in case of a strike). """ @@ -182,6 +187,7 @@ type BikePark implements Node & PlaceInterface { "Bike rental station represents a location where users can rent bicycles for a fee." type BikeRentalStation implements Node & PlaceInterface { """ + If true, bikes can be returned to this station if the station has spaces available or allows overloading. """ @@ -195,6 +201,7 @@ type BikeRentalStation implements Node & PlaceInterface { "If true, bikes can be currently picked up from this station." allowPickupNow: Boolean """ + Number of bikes currently available on the rental station. See field `allowPickupNow` to know if is currently possible to pick up a bike. """ @@ -213,6 +220,7 @@ type BikeRentalStation implements Node & PlaceInterface { "If true, station is on and in service." operative: Boolean """ + If true, values of `bikesAvailable` and `spacesAvailable` are updated from a real-time source. If false, values of `bikesAvailable` and `spacesAvailable` are always the total capacity divided by two. @@ -221,6 +229,7 @@ type BikeRentalStation implements Node & PlaceInterface { "Platform-specific URLs to begin renting a bike from this station." rentalUris: BikeRentalStationUris """ + Number of free spaces currently available on the rental station. Note that this value being 0 does not necessarily indicate that bikes cannot be returned to this station, as for example it might be possible to leave the bike in the vicinity of @@ -236,17 +245,20 @@ type BikeRentalStation implements Node & PlaceInterface { type BikeRentalStationUris { """ + A URI that can be passed to an Android app with an {@code android.intent.action.VIEW} Android intent to support Android Deep Links. May be null if a rental URI does not exist. """ android: String """ + A URI that can be used on iOS to launch the rental app for this station. May be {@code null} if a rental URI does not exist. """ ios: String """ + A URL that can be used by a web browser to show more information about renting a vehicle at this station. May be {@code null} if a rental URL does not exist. @@ -255,6 +267,7 @@ type BikeRentalStationUris { } """ + Booking information for a stop time which has special requirements to use, like calling ahead or using an app. """ @@ -303,6 +316,7 @@ type CarPark implements Node & PlaceInterface { language: String ): String! """ + Opening hours for the selected dates using the local time of the park. Each date can have multiple time spans. """ @@ -350,6 +364,7 @@ type ContactInfo { } """ + Coordinate (often referred as coordinates), which is used to specify a location using in the WGS84 coordinate system. """ @@ -372,6 +387,7 @@ type Currency { "ISO-4217 currency code, for example `USD` or `EUR`." code: String! """ + Fractional digits of this currency. A value of 2 would express that in this currency 100 minor units make up one major unit. @@ -385,6 +401,7 @@ type Currency { } """ + The standard case of a fare product: it only has a single price to be paid by the passenger and no discounts are applied. """ @@ -392,6 +409,7 @@ type DefaultFareProduct implements FareProduct { "Identifier for the fare product." id: String! """ + The 'medium' that this product applies to, for example "Oyster Card" or "Berlin Ticket App". This communicates to riders that a specific way of buying or keeping this product is required. @@ -406,6 +424,7 @@ type DefaultFareProduct implements FareProduct { } """ + Departure row is a combination of a pattern and a stop of that pattern. They are de-duplicated so for each pattern there will only be a single departure row. @@ -455,6 +474,7 @@ type FareMedium { "A container for both a fare product (a ticket) and its relationship to the itinerary." type FareProductUse { """ + Represents the use of a single instance of a fare product throughout the itinerary. It can be used to cross-reference and de-duplicate fare products that are applicable for more than one leg. @@ -540,6 +560,7 @@ type Geometry { "The number of points in the string" length: Int """ + List of coordinates of in a Google encoded polyline format (see https://developers.google.com/maps/documentation/utilities/polylinealgorithm) """ @@ -548,6 +569,7 @@ type Geometry { type Itinerary { """ + Computes a numeric accessibility score between 0 and 1. The closer the value is to 1 the better the wheelchair-accessibility of this itinerary is. @@ -571,6 +593,7 @@ type Itinerary { "Time when the user arrives to the destination. Format: Unix timestamp in milliseconds." endTime: Long @deprecated(reason : "Use `end` instead which includes timezone information.") """ + Information about the fares for this itinerary. This is primarily a GTFS Fares V1 interface and always returns an empty list. Use the leg's `fareProducts` instead. """ @@ -578,6 +601,7 @@ type Itinerary { "Generalized cost of the itinerary. Used for debugging search results." generalizedCost: Int """ + A list of Legs. Each Leg is either a walking (cycling, car) portion of the itinerary, or a transit leg on a particular vehicle. So a itinerary where the user walks to the Q train, transfers to the 6, then walks to their @@ -585,6 +609,7 @@ type Itinerary { """ legs: [Leg]! """ + How many transfers are part of this itinerary. Notes: @@ -597,6 +622,7 @@ type Itinerary { "Time when the user leaves from the origin. Format: Unix timestamp in milliseconds." startTime: Long @deprecated(reason : "Use `start` instead which includes timezone information.") """ + A list of system notices. Contains debug information for itineraries. One use-case is to run a routing search with 'debugItineraryFilter: true'. This will then tag itineraries instead of removing them from the result. @@ -613,6 +639,7 @@ type Itinerary { type Leg { """ + Computes a numeric accessibility score between 0 and 1. The closer the value is to 1 the better the wheelchair-accessibility of this leg is. @@ -626,12 +653,14 @@ type Leg { "Applicable alerts for this leg." alerts: [Alert] """ + For transit leg, the offset from the scheduled arrival time of the alighting stop in this leg, i.e. scheduled time of arrival at alighting stop = `endTime - arrivalDelay` """ arrivalDelay: Int @deprecated(reason : "Use `start.estimated.delay` instead.") """ + For transit leg, the offset from the scheduled departure time of the boarding stop in this leg, i.e. scheduled time of departure at boarding stop = `startTime - departureDelay` @@ -640,6 +669,7 @@ type Leg { "The distance traveled while traversing the leg in meters." distance: Float """ + Special booking information for the drop off stop of this leg if, for example, it needs to be booked in advance. This could be due to a flexible or on-demand service. """ @@ -653,6 +683,7 @@ type Leg { "The date and time when this leg ends. Format: Unix timestamp in milliseconds." endTime: Long @deprecated(reason : "Use `end.estimated.time` instead which contains timezone information.") """ + Fare products are purchasable tickets which may have an optional fare container or rider category that limits who can buy them or how. @@ -665,11 +696,13 @@ type Leg { "Generalized cost of the leg. Used for debugging search results." generalizedCost: Int """ + For transit legs, the headsign that the vehicle shows at the stop where the passenger boards. For non-transit legs, null. """ headsign: String """ + Interlines with previous leg. This is true when the same vehicle is used for the previous leg as for this leg and passenger can stay inside the vehicle. @@ -678,12 +711,14 @@ type Leg { "Whether the destination of this leg (field `to`) is one of the intermediate places specified in the query." intermediatePlace: Boolean """ + For transit legs, intermediate stops between the Place where the leg originates and the Place where the leg ends. For non-transit legs, null. Returns Place type, which has fields for e.g. departure and arrival times """ intermediatePlaces: [Place] """ + For transit legs, intermediate stops between the Place where the leg originates and the Place where the leg ends. For non-transit legs, null. """ @@ -695,22 +730,26 @@ type Leg { "Future legs with same origin and destination stops or stations" nextLegs( """ + Transportation modes for which all stops in the parent station are used as possible destination stops for the next legs. For modes not listed, only the exact destination stop of the leg is considered. """ destinationModesWithParentStation: [TransitMode!], """ + The number of alternative legs searched. If fewer than the requested number are found, then only the found legs are returned. """ numberOfLegs: Int!, """ + Transportation modes for which all stops in the parent station are used as possible origin stops for the next legs. For modes not listed, only the exact origin stop of the leg is considered. """ originModesWithParentStation: [TransitMode!] ): [Leg!] """ + Special booking information for the pick up stop of this leg if, for example, it needs to be booked in advance. This could be due to a flexible or on-demand service. """ @@ -746,6 +785,7 @@ type Leg { } """ + Time information about a passenger at a certain place. May contain real-time information if available. """ @@ -775,6 +815,7 @@ type LocalTimeSpanDate { "An amount of money." type Money { """ + Money in the major currency unit, so 3.10 USD is represented as `3.1`. If you want to get the minor currency unit (310 cents), multiply with @@ -787,6 +828,7 @@ type Money { type OpeningHours { """ + Opening hours for the selected dates using the local time of the parking lot. Each date can have multiple time spans. @@ -797,6 +839,7 @@ type OpeningHours { dates: [String!]! ): [LocalTimeSpanDate] """ + OSM-formatted string of the opening hours. The spec is available at: https://wiki.openstreetmap.org/wiki/Key:opening_hours @@ -817,17 +860,20 @@ type PageInfo { } """ + Pattern is sequence of stops used by trips on a specific direction and variant of a route. Most routes have only two patterns: one for outbound trips and one for inbound trips """ type Pattern implements Node { """ + By default, list of alerts which have directly an effect on just the pattern. It's also possible to return other relevant alerts through defining types. """ alerts( """ + Returns alerts for these types that are relevant for the pattern. By default, list of alerts which have directly an effect on just the pattern. """ @@ -836,6 +882,7 @@ type Pattern implements Node { "ID of the pattern" code: String! """ + Direction of the pattern. Possible values: 0, 1 or -1. -1 indicates that the direction is irrelevant, i.e. the route has patterns only in one direction. """ @@ -846,6 +893,7 @@ type Pattern implements Node { "Global object ID provided by Relay. This value can be used to refetch this object using **node** query." id: ID! """ + Name of the pattern. Pattern name can be just the name of the route or it can include details of destination and origin stops. """ @@ -857,6 +905,7 @@ type Pattern implements Node { "The route this pattern runs on" route: Route! """ + Hash code of the pattern. This value is stable and not dependent on the pattern id, i.e. this value can be used to check whether two patterns are the same, even if their ids have changed. @@ -877,6 +926,7 @@ type Pattern implements Node { type Place { """ + The time the rider will arrive at the place. This also includes real-time information if available. """ @@ -890,6 +940,7 @@ type Place { "The car parking related to the place" carPark: CarPark @deprecated(reason : "carPark is deprecated. Use vehicleParking instead.") """ + The time the rider will depart the place. This also includes real-time information if available. """ @@ -907,6 +958,7 @@ type Place { "The stop related to the place." stop: Stop """ + The position of the stop in the pattern. This is not required to start from 0 or be consecutive - any increasing integer sequence along the stops is valid. @@ -926,6 +978,7 @@ type Place { "The vehicle rental station related to the place" vehicleRentalStation: VehicleRentalStation """ + Type of vertex. (Normal, Bike sharing station, Bike P+R, Transit stop) Mostly used for better localization of bike sharing and P+R station names """ @@ -946,6 +999,7 @@ type Plan { "A list of possible error messages in cleartext" messageStrings: [String]! """ + This is the suggested search time for the "next page" or time window. Insert it together with the searchWindowUsed in the request to get a new set of trips following in the search-window AFTER the current search. No duplicate trips should be returned, unless a trip @@ -953,6 +1007,7 @@ type Plan { """ nextDateTime: Long @deprecated(reason : "Use nextPageCursor instead") """ + Use the cursor to go to the next "page" of itineraries. Copy the cursor from the last response to the pageCursor query parameter and keep the original request as is. This will enable you to search for itineraries in the next search-window. @@ -961,6 +1016,7 @@ type Plan { """ nextPageCursor: String """ + This is the suggested search time for the "previous page" or time window. Insert it together with the searchWindowUsed in the request to get a new set of trips preceding in the search-window BEFORE the current search. No duplicate trips should be returned, unless a trip @@ -968,6 +1024,7 @@ type Plan { """ prevDateTime: Long @deprecated(reason : "Use previousPageCursor instead") """ + Use the cursor to go to the previous "page" of itineraries. Copy the cursor from the last response to the pageCursor query parameter and keep the original request otherwise as is. This will enable you to search for itineraries in the previous search-window. @@ -979,6 +1036,7 @@ type Plan { "A list of routing errors, and fields which caused them" routingErrors: [RoutingError!]! """ + This is the `searchWindow` used by the raptor search. It is provided here for debugging purpousess. @@ -990,16 +1048,19 @@ type Plan { } """ + Plan (result of an itinerary search) that follows [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm). """ type PlanConnection { """ + Edges which contain the itineraries. Part of the [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm). """ edges: [PlanEdge] """ + Contains cursors to continue the search and the information if there are more itineraries available. Part of the [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm). """ @@ -1011,16 +1072,19 @@ type PlanConnection { } """ + Edge outputted by a plan search. Part of the [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm). """ type PlanEdge { """ + The cursor of the edge. Part of the [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm). """ cursor: String! """ + An itinerary suggestion. Part of the [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm). """ @@ -1028,6 +1092,7 @@ type PlanEdge { } """ + Information about pagination in a connection. Part of the [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm). """ @@ -1087,6 +1152,7 @@ type QueryType { "Get all bike rental stations" bikeRentalStations( """ + Return bike rental stations with these ids. **Note:** if an id is invalid (or the bike rental station service is unavailable) the returned list will contain `null` values. @@ -1098,6 +1164,7 @@ type QueryType { "Feed feedIds (e.g. [\"HSL\"])." feeds: [String], """ + Only cancelled trip times that have last stop arrival time at maxArrivalTime or before are returned. Format: seconds since midnight of maxDate. """ @@ -1105,11 +1172,13 @@ type QueryType { "Only cancelled trip times scheduled to run on maxDate or before are returned. Format: \"2019-12-23\" or \"20191223\"." maxDate: String, """ + Only cancelled trip times that have first stop departure time at maxDepartureTime or before are returned. Format: seconds since midnight of maxDate. """ maxDepartureTime: Int, """ + Only cancelled trip times that have last stop arrival time at minArrivalTime or after are returned. Format: seconds since midnight of minDate. """ @@ -1117,6 +1186,7 @@ type QueryType { "Only cancelled trip times scheduled to run on minDate or after are returned. Format: \"2019-12-23\" or \"20191223\"." minDate: String, """ + Only cancelled trip times that have first stop departure time at minDepartureTime or after are returned. Format: seconds since midnight of minDate. """ @@ -1133,6 +1203,7 @@ type QueryType { "Get all car parks" carParks( """ + Return car parks with these ids. **Note:** if an id is invalid (or the car park service is unavailable) the returned list will contain `null` values. """ @@ -1147,6 +1218,7 @@ type QueryType { "Get all available feeds" feeds: [Feed] """ + Finds a trip matching the given parameters. This query type is useful if the id of a trip is not known, but other details uniquely identifying the trip are available from some source (e.g. MQTT vehicle positions). @@ -1155,6 +1227,7 @@ type QueryType { "Departure date of the trip, format: YYYY-MM-DD" date: String!, """ + Direction of the trip, possible values: 0, 1 or -1. -1 indicates that the direction is irrelevant, i.e. in case the route has trips only in one direction. See field `directionId` of Pattern. @@ -1166,6 +1239,7 @@ type QueryType { time: Int! ): Trip """ + Get all places (stops, stations, etc. with coordinates) within the specified radius from a location. The returned type is a Relay connection (see https://facebook.github.io/relay/graphql/connections.htm). The placeAtDistance @@ -1178,6 +1252,7 @@ type QueryType { "Only include places that match one of the given GTFS ids." filterByIds: InputFilters @deprecated(reason : "Not actively maintained"), """ + Only return places that are related to one of these transport modes. This argument can be used to return e.g. only nearest railway stations or only nearest places related to bicycling. @@ -1194,6 +1269,7 @@ type QueryType { "Longitude of the location (WGS 84)" lon: Float!, """ + Maximum distance (in meters) to search for from the specified location. Note that this is walking distance along streets and paths rather than a geographic distance. Default is 2000m @@ -1208,6 +1284,7 @@ type QueryType { id: ID! ): Node """ + Get a single pattern based on its ID, i.e. value of field `code` (format is `FeedId:RouteId:DirectionId:PatternVariantNumber`) """ @@ -1221,6 +1298,7 @@ type QueryType { "Is bike rental allowed? Default value: false" allowBikeRental: Boolean @deprecated(reason : "Rental is specified by modes"), """ + Whether arriving at the destination with a rented (station) bicycle is allowed without dropping it off. Default: false. """ @@ -1228,6 +1306,7 @@ type QueryType { "Which vehicle rental networks can be used. By default, all networks are allowed." allowedBikeRentalNetworks: [String] @deprecated(reason : "Use allowedVehicleRentalNetworks instead"), """ + List of ticket types that are allowed to be used in itineraries. See `ticketTypes` query for list of possible ticket types. """ @@ -1235,6 +1314,7 @@ type QueryType { "Which vehicle rental networks can be used. By default, all networks are allowed." allowedVehicleRentalNetworks: [String], """ + Whether the itinerary should depart at the specified time (false), or arrive to the destination at the specified time (true). Default value: false. """ @@ -1244,16 +1324,19 @@ type QueryType { "Which vehicle rental networks cannot be used. By default, all networks are allowed." bannedVehicleRentalNetworks: [String], """ + This argument has no use for itinerary planning and will be removed later. When true, do not use goal direction or stop at the target, build a full SPT. Default value: false. """ batch: Boolean @deprecated(reason : "Removed in OTP 2"), """ + Separate cost for boarding a vehicle with a bicycle, which is more difficult than on foot. Unit: seconds. Default value: 600 """ bikeBoardCost: Int, """ + A multiplier for how bad biking is, compared to being in transit for equal lengths of time. Default value: 2.0 """ @@ -1265,6 +1348,7 @@ type QueryType { "Time to get on and off your own bike, in seconds. Default value: 0" bikeSwitchTime: Int, """ + A multiplier for how bad walking with a bike is, compared to being in transit for equal lengths of time. Default value: 5.0 """ @@ -1272,16 +1356,19 @@ type QueryType { "Invariant: `boardSlack + alightSlack <= transferSlack`. Default value: 0" boardSlack: Int, """ + How expensive it is to drive a car when car&parking, increase this value to make car driving legs shorter. Default value: 1. """ carParkCarLegWeight: Float @deprecated(reason : "Use `carReluctance` instead."), """ + A multiplier for how bad driving is, compared to being in transit for equal lengths of time. Default value: 3.0 """ carReluctance: Float, """ + No effect on itinerary planning, adjust argument `time` instead to get later departures. ~~The maximum wait time in seconds the user is willing to delay trip start. Only effective in Analyst.~~ """ @@ -1293,16 +1380,19 @@ type QueryType { "Debug the itinerary-filter-chain. The filters will mark itineraries as deleted, but does NOT delete them when this is enabled." debugItineraryFilter: Boolean, """ + If true, the remaining weight heuristic is disabled. Currently only implemented for the long distance path service. """ disableRemainingWeightHeuristic: Boolean @deprecated(reason : "Removed in OTP 2.2"), """ + The geographical location where the itinerary begins. Use either this argument or `fromPlace`, but not both. """ from: InputCoordinates, """ + The place where the itinerary begins in format `name::place`, where `place` is either a lat,lng pair (e.g. `Pasila::60.199041,24.932928`) or a stop id (e.g. `Pasila::HSL:1000202`). @@ -1316,6 +1406,7 @@ type QueryType { "An ordered list of intermediate locations to be visited." intermediatePlaces: [InputCoordinates] @deprecated(reason : "Not implemented in OTP2."), """ + How easily bad itineraries are filtered from results. Value 0 (default) disables filtering. Itineraries are filtered if they are worse than another one in some respect (e.g. more walking) by more than the percentage of @@ -1324,11 +1415,13 @@ type QueryType { """ itineraryFiltering: Float @deprecated(reason : "Removed. Doesn't do anything."), """ + The cost of arriving at the destination with the rented vehicle, to discourage doing so. Default value: 0. """ keepingRentedBicycleAtDestinationCost: Int, """ + Two-letter language code (ISO 639-1) used for returned text. **Note:** only part of the data has translations available and names of stops and POIs are returned in their default language. Due to missing @@ -1336,6 +1429,7 @@ type QueryType { """ locale: String, """ + The maximum time (in seconds) of pre-transit travel when using drive-to-transit (park and ride or kiss and ride). Default value: 1800. """ @@ -1343,6 +1437,7 @@ type QueryType { "Maximum number of transfers. Default value: 2" maxTransfers: Int, """ + The maximum distance (in meters) the user is willing to walk per walking section. If the only transport mode allowed is `WALK`, then the value of this argument is ignored. @@ -1355,6 +1450,7 @@ type QueryType { """ maxWalkDistance: Float @deprecated(reason : "Does nothing. Use walkReluctance instead."), """ + A global minimum transfer time (in seconds) that specifies the minimum amount of time that must pass between exiting one transit vehicle and boarding another. This time is in addition to time it might take to walk @@ -1372,6 +1468,7 @@ type QueryType { "Optimization type for bicycling legs, e.g. prefer flat terrain. Default value: `QUICK`" optimize: OptimizeType, """ + Use the cursor to get the next or previous page of results. The next page is a set of itineraries departing after the last itinerary in this result and the previous page is a set of itineraries departing before the first itinerary. @@ -1383,6 +1480,7 @@ type QueryType { "List of routes and agencies which are given higher preference when planning the itinerary" preferred: InputPreferred, """ + **Consider this argument experimental** – setting this argument to true causes timeouts and unoptimal routes in many cases. When true, reverse optimize (find alternative transportation mode, which @@ -1392,6 +1490,7 @@ type QueryType { """ reverseOptimizeOnTheFly: Boolean @deprecated(reason : "Removed in OTP 2"), """ + The length of the search-window in seconds. This parameter is optional. The search-window is defined as the duration between the earliest-departure-time(EDT) and @@ -1419,12 +1518,14 @@ type QueryType { """ searchWindow: Long, """ + This argument has currently no effect on which itineraries are returned. Use argument `fromPlace` to start the itinerary from a specific stop. ~~A transit stop that this trip must start from~~ """ startTransitStopId: String, """ + ID of the trip on which the itinerary starts. This argument can be used to plan itineraries when the user is already onboard a vehicle. When using this argument, arguments `time` and `from` should be set based on a vehicle @@ -1437,11 +1538,13 @@ type QueryType { "Time of departure or arrival in format hh:mm:ss. Default value: current time" time: String, """ + The geographical location where the itinerary ends. Use either this argument or `toPlace`, but not both. """ to: InputCoordinates, """ + The place where the itinerary ends in format `name::place`, where `place` is either a lat,lng pair (e.g. `Pasila::60.199041,24.932928`) or a stop id (e.g. `Pasila::HSL:1000202`). @@ -1449,6 +1552,7 @@ type QueryType { """ toPlace: String, """ + An extra penalty added on transfers (i.e. all boardings except the first one). Not to be confused with bikeBoardCost and walkBoardCost, which are the cost of boarding a vehicle with and without a bicycle. The boardCosts are @@ -1473,11 +1577,13 @@ type QueryType { "List of routes and agencies which are given lower preference when planning the itinerary" unpreferred: InputUnpreferred, """ + How much less bad is waiting at the beginning of the trip (replaces `waitReluctance` on the first boarding). Default value: 0.4 """ waitAtBeginningFactor: Float @deprecated(reason : "Removed in OTP 2, the timetable-view replaces this functionality."), """ + How much worse is waiting for a transit vehicle than being on a transit vehicle, as a multiplier. The default value treats wait and on-vehicle time as the same. It may be tempting to set this higher than walkReluctance (as @@ -1494,6 +1600,7 @@ type QueryType { "How much more reluctant is the user to walk on streets with car traffic allowed. Default value: 1.0" walkOnStreetReluctance: Float @deprecated(reason : "Use `walkSafetyFactor` instead"), """ + A multiplier for how bad walking is, compared to being in transit for equal lengths of time. Empirically, values between 2 and 4 seem to correspond well to the concept of not wanting to walk too much without asking for @@ -1504,6 +1611,7 @@ type QueryType { """ walkReluctance: Float, """ + Factor for how much the walk safety is considered in routing. Value should be between 0 and 1. If the value is set to be 0, safety is ignored. Default is 1.0. """ @@ -1514,11 +1622,13 @@ type QueryType { wheelchair: Boolean ): Plan @async """ + Plan (itinerary) search that follows [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm). """ planConnection( """ + Takes in cursor from a previous search. Used for forward pagination. If earliest departure time is used in the original query, the new search then returns itineraries that depart after the start time of the last itinerary that was returned, or at the same time if there are multiple @@ -1531,6 +1641,7 @@ type QueryType { """ after: String, """ + Takes in cursor from a previous search. Used for backwards pagination. If earliest departure time is used in the original query, the new search then returns itineraries that depart before that time. If latest arrival time is defined, the new search returns itineraries that arrive after that time. @@ -1539,6 +1650,7 @@ type QueryType { """ before: String, """ + Datetime of the search. It's possible to either define the earliest departure time or the latest arrival time. By default, earliest departure time is set as now. """ @@ -1546,6 +1658,7 @@ type QueryType { "The destination where the search ends. Usually coordinates but can also be a stop location." destination: PlanLabeledLocationInput!, """ + How many new itineraries should at maximum be returned in either the first search or with forward pagination. This parameter is part of the [GraphQL Cursor Connections Specification](https://relay.dev/graphql/connections.htm) @@ -1554,11 +1667,13 @@ type QueryType { """ first: Int, """ + Settings that control the behavior of itinerary filtering. These are advanced settings and should not be set by a user through user preferences. """ itineraryFilter: PlanItineraryFilterInput, """ + How many new itineraries should at maximum be returned in backwards pagination. It's recommended to use the same value as was used for the `first` parameter in the original search for optimal performance. This parameter is part of the @@ -1567,11 +1682,13 @@ type QueryType { """ last: Int, """ + Locale used for translations. Note, there might not necessarily be translations available. It's possible and recommended to use the ´accept-language´ header instead of this parameter. """ locale: Locale, """ + Street and transit modes used during the search. This also includes options to only return an itinerary that contains no transit legs or force transit to be used in all itineraries. By default, all transit modes are usable and `WALK` is used for direct street suggestions, @@ -1583,6 +1700,7 @@ type QueryType { "Preferences that affect what itineraries are returned. Preferences are split into categories." preferences: PlanPreferencesInput, """ + Duration of the search window. This either starts at the defined earliest departure time or ends at the latest arrival time. If this is not provided, a reasonable search window is automatically generated. When searching for earlier or later itineraries @@ -1605,6 +1723,7 @@ type QueryType { "Return only rental vehicles that have this form factor." formFactors: [FormFactor], """ + Return rental vehicles with these ids, i.e. value of field `vehicleId`. **Note:** if an id is invalid (or the rental service is unavailable) the returned list will contain `null` values. @@ -1624,6 +1743,7 @@ type QueryType { "Query routes by this name" name: String, """ + Only include routes whose pattern operates on at least one service date specified by this filter. **Note**: A service date is a technical term useful for transit planning purposes and might not @@ -1668,6 +1788,7 @@ type QueryType { minLon: Float! ): [Stop] """ + Get all stops within the specified radius from a location. The returned type is a Relay connection (see https://facebook.github.io/relay/graphql/connections.htm). The stopAtDistance @@ -1685,6 +1806,7 @@ type QueryType { "Longitude of the location (WGS 84)" lon: Float!, """ + Radius (in meters) to search for from the specified location. Note that this is walking distance along streets and paths rather than a geographic distance. """ @@ -1704,6 +1826,7 @@ type QueryType { "Get all vehicle parkings" vehicleParkings( """ + Return vehicle parkings with these ids. **Note:** if an id is invalid (or the vehicle parking service is unavailable) the returned list will contain `null` values. @@ -1715,6 +1838,7 @@ type QueryType { "Get all vehicle rental stations" vehicleRentalStations( """ + Return vehicle rental stations with these ids, i.e. value of field `stationId`. **Note:** if an id is invalid (or the rental service is unavailable) the returned list will contain `null` values. @@ -1728,6 +1852,7 @@ type QueryType { "Real-time estimates for a vehicle at a certain place." type RealTimeEstimate { """ + The delay or "earliness" of the vehicle at a certain place. If the vehicle is early then this is a negative duration. @@ -1811,6 +1936,7 @@ type RiderCategory { } """ + Route represents a public transportation service, usually from point A to point B and *back*, shown to customers under a single name, e.g. bus 550. Routes contain patterns (see field `patterns`), which describe different variants of @@ -1821,12 +1947,14 @@ type Route implements Node { "Agency operating the route" agency: Agency """ + List of alerts which have an effect on the route directly or indirectly. By default only alerts directly affecting this route are returned. It's also possible to return other relevant alerts through defining types. """ alerts( """ + Returns alerts for these types that are relevant for the route. By default only returns alerts that directly affect this route. """ @@ -1834,6 +1962,7 @@ type Route implements Node { ): [Alert] bikesAllowed: BikesAllowed """ + The color (in hexadecimal format) the agency operating this route would prefer to use on UI elements (e.g. polylines on a map) related to this route. This value is not available for most routes. @@ -1847,6 +1976,7 @@ type Route implements Node { "Long name of the route, e.g. Helsinki-Leppävaara" longName( """ + If translated longName is found from gtfs translation.txt and wanted language is not same as feed's language then returns wanted translation. Otherwise uses name from routes.txt. """ @@ -1857,6 +1987,7 @@ type Route implements Node { "List of patterns which operate on this route" patterns( """ + Filter patterns by the service dates they operate on. **Note**: A service date is a technical term useful for transit planning purposes and might not @@ -1868,6 +1999,7 @@ type Route implements Node { "Short name of the route, usually a line number, e.g. 550" shortName: String """ + Orders the routes in a way which is useful for presentation to passengers. Routes with smaller values should be displayed first. @@ -1884,6 +2016,7 @@ type Route implements Node { "List of stops on this route" stops: [Stop] """ + The color (in hexadecimal format) the agency operating this route would prefer to use when displaying text related to this route. This value is not available for most routes. @@ -1892,6 +2025,7 @@ type Route implements Node { "List of trips which operate on this route" trips: [Trip] """ + The raw GTFS route type as a integer. For the list of possible values, see: https://developers.google.com/transit/gtfs/reference/#routestxt and https://developers.google.com/transit/gtfs/reference/extended-route-types @@ -1901,6 +2035,7 @@ type Route implements Node { } """ + Route type entity which covers all agencies if agency is null, otherwise only relevant for one agency. """ @@ -1908,6 +2043,7 @@ type RouteType { "A public transport agency" agency: Agency """ + GTFS Route type. For the list of possible values, see: https://developers.google.com/transit/gtfs/reference/#routestxt and @@ -1915,6 +2051,7 @@ type RouteType { """ routeType: Int! """ + The routes which have the defined routeType and belong to the agency, if defined. Otherwise all routes of the feed that have the defined routeType. """ @@ -1932,17 +2069,20 @@ type RoutingError { } """ + Stop can represent either a single public transport stop, where passengers can board and/or disembark vehicles, or a station, which contains multiple stops. See field `locationType`. """ type Stop implements Node & PlaceInterface { """ + By default, list of alerts which have directly an effect on just the stop. It's also possible to return other relevant alerts through defining types. """ alerts( """ + Returns alerts for these types that are relevant for the stop. By default, list of alerts which have directly an effect on just the stop. """ @@ -1955,6 +2095,7 @@ type Stop implements Node & PlaceInterface { "Description of the stop, usually a street name" desc( """ + If translated description is found from gtfs translation.txt and wanted language is not same as feed's language then returns wanted translation. Otherwise uses descriptions from stops.txt. """ @@ -1962,6 +2103,7 @@ type Stop implements Node & PlaceInterface { ): String direction: String """ + Representations of this stop's geometry. This is mainly interesting for flex stops which can be a polygon or a group of stops either consisting of either points or polygons. @@ -1988,6 +2130,7 @@ type Stop implements Node & PlaceInterface { "Name of the stop, e.g. Pasilan asema" name( """ + If translated name is found from gtfs translation.txt and wanted language is not same as feed's language then returns wanted translation. Otherwise uses name from stops.txt. E.g. Swedish name for Pasilan asema is Böle station. @@ -2055,6 +2198,7 @@ type Stop implements Node & PlaceInterface { "List of nearby stops which can be used for transfers" transfers( """ + Maximum distance to the transfer stop. Defaults to unlimited. **Note:** only stops that are linked as a transfer stops to this stop are returned, i.e. this does not do a query to search for *all* stops within @@ -2064,12 +2208,14 @@ type Stop implements Node & PlaceInterface { ): [stopAtDistance] url( """ + If translated url is found from gtfs translation.txt and wanted language is not same as feed's language then returns wanted translation. Otherwise uses url from stops.txt. """ language: String ): String """ + Transport mode (e.g. `BUS`) used by routes which pass through this stop or `null` if mode cannot be determined, e.g. in case no routes pass through the stop. Note that also other types of vehicles may use the stop, e.g. tram replacement @@ -2077,6 +2223,7 @@ type Stop implements Node & PlaceInterface { """ vehicleMode: Mode """ + The raw GTFS route type used by routes which pass through this stop. For the list of possible values, see: https://developers.google.com/transit/gtfs/reference/#routestxt and @@ -2093,6 +2240,7 @@ type StopGeometries { "Representation of the stop geometries as GeoJSON (https://geojson.org/)" geoJson: GeoJson """ + Representation of a stop as a series of polylines. Polygons of flex stops are represented as linear rings (lines where the first and last point are the same). @@ -2128,33 +2276,39 @@ type StopRelationship { "Stoptime represents the time when a specific trip arrives to or departs from a specific stop." type Stoptime { """ + The offset from the scheduled arrival time in seconds. Negative values indicate that the trip is running ahead of schedule. """ arrivalDelay: Int """ + The offset from the scheduled departure time in seconds. Negative values indicate that the trip is running ahead of schedule """ departureDelay: Int """ + Whether the vehicle can be disembarked at this stop. This field can also be used to indicate if disembarkation is possible only with special arrangements. """ dropoffType: PickupDropoffType """ + Vehicle headsign of the trip on this stop. Trip headsigns can change during the trip (e.g. on routes which run on loops), so this value should be used instead of `tripHeadsign` to display the headsign relevant to the user. """ headsign( """ + If translated headsign is found from gtfs translation.txt and wanted language is not same as feed's language then returns wanted translation. Otherwise uses name from trip_headsign.txt. """ language: String ): String """ + Whether the vehicle can be boarded at this stop. This field can also be used to indicate if boarding is possible only with special arrangements. """ @@ -2176,6 +2330,7 @@ type Stoptime { "The stop where this arrival/departure happens" stop: Stop """ + The sequence of the stop in the pattern. This is not required to start from 0 or be consecutive - any increasing integer sequence along the stops is valid. @@ -2201,6 +2356,7 @@ type StoptimesInPattern { } """ + A system notice is used to tag elements with system information for debugging or other system related purpose. One use-case is to run a routing search with 'debugItineraryFilter: true'. This will then tag itineraries instead of removing @@ -2220,6 +2376,7 @@ type TicketType implements Node { "ISO 4217 currency code" currency: String """ + Ticket type ID in format `FeedId:TicketTypeId`. Ticket type IDs are usually combination of ticket zones where the ticket is valid. """ @@ -2229,6 +2386,7 @@ type TicketType implements Node { "Price of the ticket in currency that is specified in `currency` field" price: Float """ + List of zones where this ticket is valid. Corresponds to field `zoneId` in **Stop** type. """ @@ -2247,11 +2405,13 @@ type Trip implements Node { "List of dates when this trip is in service. Format: YYYYMMDD" activeDates: [String] """ + By default, list of alerts which have directly an effect on just the trip. It's also possible to return other relevant alerts through defining types. """ alerts( """ + Returns alerts for these types that are relevant for the trip. By default, list of alerts which have directly an effect on just the trip. """ @@ -2260,6 +2420,7 @@ type Trip implements Node { "Arrival time to the final stop" arrivalStoptime( """ + Date for which the arrival time is returned. Format: YYYYMMDD. If this argument is not used, field `serviceDay` in the stoptime will have a value of 0. """ @@ -2271,12 +2432,14 @@ type Trip implements Node { "Departure time from the first stop" departureStoptime( """ + Date for which the departure time is returned. Format: YYYYMMDD. If this argument is not used, field `serviceDay` in the stoptime will have a value of 0. """ serviceDate: String ): Stoptime """ + Direction code of the trip, i.e. is this the outbound or inbound trip of a pattern. Possible values: 0, 1 or `null` if the direction is irrelevant, i.e. the pattern has trips only in one direction. @@ -2289,6 +2452,7 @@ type Trip implements Node { "Global object ID provided by Relay. This value can be used to refetch this object using **node** query." id: ID! """ + The latest real-time occupancy information for the latest occurance of this trip. """ @@ -2316,6 +2480,7 @@ type Trip implements Node { "Headsign of the vehicle when running on this trip" tripHeadsign( """ + If a translated headsign is found from GTFS translation.txt and wanted language is not same as feed's language then returns wanted translation. Otherwise uses name from trip_headsign.txt. """ @@ -2327,6 +2492,7 @@ type Trip implements Node { } """ + Occupancy of a vehicle on a trip. This should include the most recent occupancy information available for a trip. Historic data might not be available. """ @@ -2344,6 +2510,7 @@ type Unknown { "Vehicle parking represents a location where bicycles or cars can be parked." type VehicleParking implements Node & PlaceInterface { """ + Does this vehicle parking have spaces (capacity) for either wheelchair accessible (disabled) or normal cars. """ @@ -2355,6 +2522,7 @@ type VehicleParking implements Node & PlaceInterface { "The capacity (maximum available spaces) of this vehicle parking." capacity: VehicleParkingSpaces """ + Does this vehicle parking have spaces (capacity) for cars excluding wheelchair accessible spaces. Use anyCarPlaces to check if any type of car may use this vehicle parking. """ @@ -2384,11 +2552,13 @@ type VehicleParking implements Node & PlaceInterface { "If true, value of `spacesAvailable` is updated from a real-time source." realtime: Boolean """ + The state of this vehicle parking. Only ones in an OPERATIONAL state may be used for Park and Ride. """ state: VehicleParkingState """ + Source specific tags of the vehicle parking, which describe the available features. For example park_and_ride, bike_lockers, or static_osm_data. """ @@ -2412,6 +2582,7 @@ type VehicleParkingSpaces { "Real-time vehicle position" type VehiclePosition { """ + Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East. This can be the compass bearing, or the direction towards the next stop or intermediate location. """ @@ -2435,12 +2606,14 @@ type VehiclePosition { } """ + Vehicle rental network, which is referred as system in the GBFS terminology. Note, the same operator can operate in multiple regions either with the same network/system or with a different one. This can contain information about either the rental brand or about the operator. """ type VehicleRentalNetwork { """ + ID of the vehicle rental network. In GBFS, this is the `system_id` field from the system information, but it can be overridden in the configuration to have a different value so this field doesn't necessarily match the source data. """ @@ -2452,6 +2625,7 @@ type VehicleRentalNetwork { "Vehicle rental station represents a location where users can rent bicycles etc. for a fee." type VehicleRentalStation implements Node & PlaceInterface { """ + If true, vehicles can be returned to this station if the station has spaces available or allows overloading. """ @@ -2483,6 +2657,7 @@ type VehicleRentalStation implements Node & PlaceInterface { "If true, station is on and in service." operative: Boolean """ + If true, values of `vehiclesAvailable` and `spacesAvailable` are updated from a real-time source. If false, values of `vehiclesAvailable` and `spacesAvailable` are always the total capacity divided by two. @@ -2493,6 +2668,7 @@ type VehicleRentalStation implements Node & PlaceInterface { "Platform-specific URLs to begin renting a vehicle from this station." rentalUris: VehicleRentalUris """ + Number of free spaces currently available on the rental station. Note that this value being 0 does not necessarily indicate that vehicles cannot be returned to this station, as for example it might be possible to leave the vehicle in the vicinity of @@ -2503,6 +2679,7 @@ type VehicleRentalStation implements Node & PlaceInterface { "ID of the vehicle in the format of network:id" stationId: String """ + Number of vehicles currently available on the rental station. See field `allowPickupNow` to know if is currently possible to pick up a vehicle. """ @@ -2511,17 +2688,20 @@ type VehicleRentalStation implements Node & PlaceInterface { type VehicleRentalUris { """ + A URI that can be passed to an Android app with an {@code android.intent.action.VIEW} Android intent to support Android Deep Links. May be null if a rental URI does not exist. """ android: String """ + A URI that can be used on iOS to launch the rental app for this rental network. May be {@code null} if a rental URI does not exist. """ ios: String """ + A URL that can be used by a web browser to show more information about renting a vehicle. May be {@code null} if a rental URL does not exist. """ @@ -2544,11 +2724,13 @@ type elevationProfileComponent { } """ + This type is only here for backwards-compatibility and this API will never return it anymore. Please use the leg's `fareProducts` instead. """ type fare { """ + Fare price in cents. **Note:** this value is dependent on the currency used, as one cent is not necessarily ¹/₁₀₀ of the basic monerary unit. """ @@ -2561,11 +2743,13 @@ type fare { } """ + This type is only here for backwards-compatibility and this API will never return it anymore. Please use the leg's `fareProducts` instead. """ type fareComponent { """ + Fare price in cents. **Note:** this value is dependent on the currency used, as one cent is not necessarily ¹/₁₀₀ of the basic monerary unit. """ @@ -2613,11 +2797,13 @@ type step { "A list of alerts (e.g. construction, detours) applicable to the step." alerts: [Alert] """ + This step is on an open area, such as a plaza or train platform, and thus the directions should say something like "cross". """ area: Boolean """ + The name of this street was generated by the system, so we should only display it once, and generally just display right/left directions """ @@ -2682,6 +2868,7 @@ enum AgencyAlertType { "Alerts affecting agency's routes" ROUTES """ + Alerts affecting the different route types of the agency. Alerts that affect route types on all agencies can be fetched through Feed. """ @@ -2745,12 +2932,14 @@ enum AlertEffectType { "Severity level of a alert" enum AlertSeverityLevelType { """ + Info alerts are used for informational messages that should not have a significant effect on user's journey, for example: A single entrance to a metro station is temporarily closed. """ INFO """ + Severe alerts are used when a significant part of public transport services is affected, for example: All train services are cancelled due to technical problems. """ @@ -2758,6 +2947,7 @@ enum AlertSeverityLevelType { "Severity of alert is unknown" UNKNOWN_SEVERITY """ + Warning alerts are used when a single stop or route has a disruption that can affect user's journey, for example: All trams on a specific route are running with irregular schedules. @@ -2775,6 +2965,7 @@ enum BikesAllowed { } """ + Predefined optimization alternatives for bicycling routing. For more customization, one can use the triangle factors. """ @@ -2782,6 +2973,7 @@ enum CyclingOptimizationType { "Emphasize flatness over safety or duration of the route. This option was previously called `FLAT`." FLAT_STREETS """ + Completely ignore the elevation differences and prefer the streets, that are evaluated to be the safest, even more than with the `SAFE_STREETS` option. Safety can also include other concerns such as convenience and general cyclist preferences @@ -2789,12 +2981,14 @@ enum CyclingOptimizationType { """ SAFEST_STREETS """ + Emphasize cycling safety over flatness or duration of the route. Safety can also include other concerns such as convenience and general cyclist preferences by taking into account road surface etc. This option was previously called `SAFE`. """ SAFE_STREETS """ + Search for routes with the shortest duration while ignoring the cycling safety of the streets (the routes should still follow local regulations). Routes can include steep streets, if they are the fastest alternatives. This option was previously called @@ -2808,6 +3002,7 @@ enum FeedAlertType { "Alerts affecting the feed's agencies" AGENCIES """ + Alerts affecting the route types across the feed. There might be alerts that only affect route types within an agency of the feed, and those can be fetched through the Agency. @@ -2825,11 +3020,13 @@ enum FilterPlaceType { "Departure rows" DEPARTURE_ROW """ + Stations. NOTE: if this is selected at the same time as `STOP`, stops that have a parent station will not be returned but their parent stations will be returned instead. """ STATION """ + Stops. NOTE: if this is selected at the same time as `STATION`, stops that have a parent station will not be returned but their parent stations will be returned instead. """ @@ -2864,11 +3061,13 @@ enum InputField { } """ + Enable this to attach a system notice to itineraries instead of removing them. This is very convenient when tuning the itinerary-filter-chain. """ enum ItineraryFilterDebugProfile { """ + Only return the requested number of itineraries, counting both actual and deleted ones. The top `numItineraries` using the request sort order is returned. This does not work with paging, itineraries after the limit, but inside the search-window are skipped when @@ -2876,6 +3075,7 @@ enum ItineraryFilterDebugProfile { """ LIMIT_TO_NUMBER_OF_ITINERARIES """ + Return all itineraries, including deleted ones, inside the actual search-window used (the requested search-window may differ). """ @@ -2945,6 +3145,7 @@ enum Mode { "Occupancy status of a vehicle." enum OccupancyStatus { """ + The vehicle or carriage can currently accommodate only standing passengers and has limited space for them. There isn't a big difference between this and FULL so it's possible to handle them as the same value, if one wants to limit the number of different values. @@ -2952,6 +3153,7 @@ enum OccupancyStatus { """ CRUSHED_STANDING_ROOM_ONLY """ + The vehicle is considered empty by most measures, and has few or no passengers onboard, but is still accepting passengers. There isn't a big difference between this and MANY_SEATS_AVAILABLE so it's possible to handle them as the same value, if one wants to limit the number of different @@ -2960,6 +3162,7 @@ enum OccupancyStatus { """ EMPTY """ + The vehicle or carriage has a small number of seats available. The amount of free seats out of the total seats available to be considered small enough to fall into this category is determined at the discretion of the producer. @@ -2967,11 +3170,13 @@ enum OccupancyStatus { """ FEW_SEATS_AVAILABLE """ + The vehicle is considered full by most measures, but may still be allowing passengers to board. """ FULL """ + The vehicle or carriage has a large number of seats available. The amount of free seats out of the total seats available to be considered large enough to fall into this category is determined at the discretion of the producer. There isn't a big difference between this and @@ -2981,6 +3186,7 @@ enum OccupancyStatus { """ MANY_SEATS_AVAILABLE """ + The vehicle or carriage is not accepting passengers. SIRI nordic profile: if vehicle/carriage is not in use / unavailable, or passengers are only allowed to alight due to e.g. crowding. @@ -2989,6 +3195,7 @@ enum OccupancyStatus { "Default. There is no occupancy-data on this departure." NO_DATA_AVAILABLE """ + The vehicle or carriage can currently accommodate only standing passengers. SIRI nordic profile: less than ~10% of seats available. """ @@ -3041,6 +3248,7 @@ enum PickupDropoffType { "Street modes that can be used for access to the transit network from origin." enum PlanAccessMode { """ + Cycling to a stop and boarding a vehicle with the bicycle. Note, this can include walking when it's needed to walk the bicycle. Access can use cycling only if the mode used for transfers @@ -3048,12 +3256,14 @@ enum PlanAccessMode { """ BICYCLE """ + Starting the itinerary with a bicycle and parking the bicycle to a parking location. Note, this can include walking after parking the bicycle or when it's needed to walk the bicycle. """ BICYCLE_PARKING """ + Bicycle rental can use either station based systems or "floating" vehicles which are not linked to a rental station. Note, if there are no rental options available, access will include only walking. Also, this @@ -3062,16 +3272,19 @@ enum PlanAccessMode { """ BICYCLE_RENTAL """ + Getting dropped off by a car to a location that is accessible with a car. Note, this can include walking after the drop-off. """ CAR_DROP_OFF """ + Starting the itinerary with a car and parking the car to a parking location. Note, this can include walking after parking the car. """ CAR_PARKING """ + Car rental can use either station based systems or "floating" vehicles which are not linked to a rental station. Note, if there are no rental options available, access will include only walking. Also, this @@ -3080,12 +3293,14 @@ enum PlanAccessMode { """ CAR_RENTAL """ + Flexible transit. This can include different forms of flexible transit that can be defined in GTFS-Flex or in Netex. Note, this can include walking before or after the flexible transit leg. """ FLEX """ + Scooter rental can use either station based systems or "floating" vehicles which are not linked to a rental station. Note, if there are no rental options available, access will include only walking. Also, this @@ -3100,17 +3315,20 @@ enum PlanAccessMode { "Street mode that is used when searching for itineraries that don't use any transit." enum PlanDirectMode { """ + Cycling from the origin to the destination. Note, this can include walking when it's needed to walk the bicycle. """ BICYCLE """ + Starting the itinerary with a bicycle and parking the bicycle to a parking location. Note, this can include walking after parking the bicycle or when it's needed to walk the bicycle. """ BICYCLE_PARKING """ + Bicycle rental can use either station based systems or "floating" vehicles which are not linked to a rental station. Note, if there are no rental options available, itinerary will include only walking. @@ -3121,11 +3339,13 @@ enum PlanDirectMode { "Driving a car from the origin to the destination." CAR """ + Starting the itinerary with a car and parking the car to a parking location. Note, this can include walking after parking the car. """ CAR_PARKING """ + Car rental can use either station based systems or "floating" vehicles which are not linked to a rental station. Note, if there are no rental options available, itinerary will include only walking. Also, this @@ -3134,12 +3354,14 @@ enum PlanDirectMode { """ CAR_RENTAL """ + Flexible transit. This can include different forms of flexible transit that can be defined in GTFS-Flex or in Netex. Note, this can include walking before or after the flexible transit leg. """ FLEX """ + Scooter rental can use either station based systems or "floating" vehicles which are not linked to a rental station. Note, if there are no rental options available, itinerary will include only walking. Also, this @@ -3148,6 +3370,7 @@ enum PlanDirectMode { """ SCOOTER_RENTAL """ + Walking from the origin to the destination. Note, this can include walking when it's needed to walk the bicycle. """ @@ -3157,12 +3380,14 @@ enum PlanDirectMode { "Street modes that can be used for egress from the transit network to destination." enum PlanEgressMode { """ + Cycling from a stop to the destination. Note, this can include walking when it's needed to walk the bicycle. Egress can use cycling only if the mode used for access and transfers is also `BICYCLE`. """ BICYCLE """ + Bicycle rental can use either station based systems or "floating" vehicles which are not linked to a rental station. Note, if there are no rental options available, egress will include only walking. Also, this @@ -3171,11 +3396,13 @@ enum PlanEgressMode { """ BICYCLE_RENTAL """ + Getting picked up by a car from a location that is accessible with a car. Note, this can include walking before the pickup. """ CAR_PICKUP """ + Car rental can use either station based systems or "floating" vehicles which are not linked to a rental station. Note, if there are no rental options available, egress will include only walking. Also, this @@ -3184,12 +3411,14 @@ enum PlanEgressMode { """ CAR_RENTAL """ + Flexible transit. This can include different forms of flexible transit that can be defined in GTFS-Flex or in Netex. Note, this can include walking before or after the flexible transit leg. """ FLEX """ + Scooter rental can use either station based systems or "floating" vehicles which are not linked to a rental station. Note, if there are no rental options available, egress will include only walking. Also, this @@ -3203,6 +3432,7 @@ enum PlanEgressMode { enum PlanTransferMode { """ + Cycling between transit vehicles (typically between stops). Note, this can include walking when it's needed to walk the bicycle. Transfers can only use cycling if the mode used for access and egress is also `BICYCLE`. @@ -3232,6 +3462,7 @@ enum PropulsionType { } """ + Additional qualifier for a transport mode. Note that qualifiers can only be used with certain transport modes. """ @@ -3247,16 +3478,19 @@ enum Qualifier { "Hailing a ride, for example via an app like Uber." HAIL """ + ~~HAVE~~ **Currently not used** """ HAVE @deprecated(reason : "Currently not used") """ + ~~KEEP~~ **Currently not used** """ KEEP @deprecated(reason : "Currently not used") """ + The vehicle used must be left to a parking area before continuing the journey. This qualifier is usable with transport modes `CAR` and `BICYCLE`. Note that the vehicle is only parked if the journey is continued with public @@ -3276,6 +3510,7 @@ enum RealtimeState { "The trip has been canceled by a real-time update." CANCELED """ + The trip information has been updated and resulted in a different trip pattern compared to the trip pattern of the scheduled trip. """ @@ -3326,6 +3561,7 @@ enum RouteAlertType { enum RoutingErrorCode { """ + The specified location is not close to any streets or transit stops currently loaded into the system, even though it is generally within its bounds. @@ -3334,6 +3570,7 @@ enum RoutingErrorCode { """ LOCATION_NOT_FOUND """ + No stops are reachable from the start or end locations specified. You can try searching using a different access or egress mode, for example cycling instead of walking, @@ -3342,21 +3579,25 @@ enum RoutingErrorCode { """ NO_STOPS_IN_RANGE """ + No transit connection was found between the origin and destination within the operating day or the next day, not even sub-optimal ones. """ NO_TRANSIT_CONNECTION """ + A transit connection was found, but it was outside the search window. See the metadata for a token for retrieving the result outside the search window. """ NO_TRANSIT_CONNECTION_IN_SEARCH_WINDOW """ + The coordinates are outside the geographic bounds of the transit and street data currently loaded into the system and therefore cannot return any results. """ OUTSIDE_BOUNDS """ + The date specified is outside the range of data currently loaded into the system as it is too far into the future or the past. @@ -3365,6 +3606,7 @@ enum RoutingErrorCode { """ OUTSIDE_SERVICE_PERIOD """ + Transit connections were requested and found but because it is easier to just walk all the way to the destination they were removed. @@ -3375,6 +3617,7 @@ enum RoutingErrorCode { } """ + Predefined optimization alternatives for scooter routing. For more customization, one can use the triangle factors. """ @@ -3382,6 +3625,7 @@ enum ScooterOptimizationType { "Emphasize flatness over safety or duration of the route. This option was previously called `FLAT`." FLAT_STREETS """ + Completely ignore the elevation differences and prefer the streets, that are evaluated to be safest for scooters, even more than with the `SAFE_STREETS` option. Safety can also include other concerns such as convenience and general preferences by taking @@ -3391,6 +3635,7 @@ enum ScooterOptimizationType { """ SAFEST_STREETS """ + Emphasize scooter safety over flatness or duration of the route. Safety can also include other concerns such as convenience and general preferences by taking into account road surface etc. Note, currently the same criteria is used both for cycling and scooter travel to determine how @@ -3398,6 +3643,7 @@ enum ScooterOptimizationType { """ SAFE_STREETS """ + Search for routes with the shortest duration while ignoring the scooter safety of the streets. The routes should still follow local regulations, but currently scooters are only allowed on the same streets as bicycles which might not be accurate for each country @@ -3426,6 +3672,7 @@ enum StopAlertType { } """ + Transit modes include modes that are used within organized transportation networks run by public transportation authorities, taxi companies etc. Equivalent to GTFS route_type or to NeTEx TransportMode. @@ -3464,6 +3711,7 @@ enum TripAlertType { "Alerts affecting the route type of the trip's route" ROUTE_TYPE """ + Alerts affecting the stops visited on the trip. Some of the alerts can only affect the trip or its route on the stop. """ @@ -3473,6 +3721,7 @@ enum TripAlertType { } """ + The state of the vehicle parking. TEMPORARILY_CLOSED and CLOSED are distinct states so that they may be represented differently to the user. """ @@ -3521,6 +3770,7 @@ enum WheelchairBoarding { scalar CoordinateValue @specifiedBy(url : "https://earth-info.nga.mil/?dir=wgs84&action=wgs84") """ + A static cost that is applied to a certain event or entity. Cost is a positive integer, for example `450`. One cost unit should roughly match a one second travel on transit. """ @@ -3535,6 +3785,7 @@ scalar GeoJson @specifiedBy(url : "https://www.rfcreader.com/#rfc7946") scalar Grams """ + An ISO-8601-formatted local date, i.e. `2024-05-24` for the 24th of May, 2024. ISO-8601 allows many different date formats, however only the most common one - `yyyy-MM-dd` - is accepted. @@ -3548,6 +3799,7 @@ scalar Locale @specifiedBy(url : "https://www.rfcreader.com/#rfc5646") scalar Long """ + An ISO-8601-formatted datetime with offset, i.e. `2023-06-13T14:30+03:00` for 2:30pm on June 13th 2023 at Helsinki's offset from UTC at that time. ISO-8601 allows many different formats but OTP will only return the profile specified in RFC3339. @@ -3561,6 +3813,7 @@ scalar Polyline @specifiedBy(url : "https://developers.google.com/maps/documenta scalar Ratio """ + A cost multiplier for how bad something is compared to being in transit for equal lengths of time. The value should be greater than 0. 1 means neutral and values below 1 mean that something is preferred over transit. @@ -3571,6 +3824,7 @@ scalar Reluctance scalar Speed """ + Plan accessibilty preferences. This can be expanded to contain preferences for various accessibility use cases in the future. Currently only generic wheelchair preferences are available. """ @@ -3588,16 +3842,19 @@ input AlightPreferencesInput { "Preferences for bicycle parking facilities used during the routing." input BicycleParkingPreferencesInput { """ + Selection filters to include or exclude parking facilities. An empty list will include all facilities in the routing search. """ filters: [ParkingFilter!] """ + If non-empty every parking facility that doesn't match this set of conditions will receive an extra cost (defined by `unpreferredCost`) and therefore avoided. """ preferred: [ParkingFilter!] """ + If `preferred` is non-empty, using a parking facility that doesn't contain at least one of the preferred conditions, will receive this extra cost and therefore avoided if preferred options are available. @@ -3618,6 +3875,7 @@ input BicyclePreferencesInput { "Bicycle rental related preferences." rental: BicycleRentalPreferencesInput """ + Maximum speed on flat ground while riding a bicycle. Note, this speed is higher than the average speed will be in itineraries as this is the maximum speed but there are factors that slow down cycling such as crossings, intersections and elevation changes. @@ -3634,6 +3892,7 @@ input BicycleRentalPreferencesInput { "Rental networks which cannot be used as part of an itinerary." bannedNetworks: [String!] """ + Is it possible to arrive to the destination with a rented bicycle and does it come with an extra cost. """ @@ -3643,12 +3902,14 @@ input BicycleRentalPreferencesInput { "Costs related to walking a bicycle." input BicycleWalkPreferencesCostInput { """ + A static cost that is added each time hopping on or off a bicycle to start or end bicycle walking. However, this cost is not applied when getting on a rented bicycle for the first time or when getting off the bicycle when returning the bicycle. """ mountDismountCost: Cost """ + A cost multiplier of bicycle walking travel time. The multiplier is for how bad walking the bicycle is compared to being in transit for equal lengths of time. """ @@ -3660,12 +3921,14 @@ input BicycleWalkPreferencesInput { "Costs related to walking a bicycle." cost: BicycleWalkPreferencesCostInput """ + How long it takes to hop on or off a bicycle when switching to walking the bicycle or when getting on the bicycle again. However, this is not applied when getting on a rented bicycle for the first time or off the bicycle when returning the bicycle. """ mountDismountTime: Duration """ + Maximum walk speed on flat ground. Note, this speed is higher than the average speed will be in itineraries as this is the maximum speed but there are factors that slow down walking such as crossings, intersections and elevation changes. @@ -3674,11 +3937,13 @@ input BicycleWalkPreferencesInput { } """ + Preferences related to boarding a transit vehicle. Note, board costs for each street mode can be found under the street mode preferences. """ input BoardPreferencesInput { """ + What is the required minimum waiting time at a stop. Setting this value as `PT0S`, for example, can lead to passenger missing a connection when the vehicle leaves ahead of time or the passenger arrives to the stop later than expected. @@ -3691,16 +3956,19 @@ input BoardPreferencesInput { "Preferences for car parking facilities used during the routing." input CarParkingPreferencesInput { """ + Selection filters to include or exclude parking facilities. An empty list will include all facilities in the routing search. """ filters: [ParkingFilter!] """ + If non-empty every parking facility that doesn't match this set of conditions will receive an extra cost (defined by `unpreferredCost`) and therefore avoided. """ preferred: [ParkingFilter!] """ + If `preferred` is non-empty, using a parking facility that doesn't contain at least one of the preferred conditions, will receive this extra cost and therefore avoided if preferred options are available. @@ -3735,6 +4003,7 @@ input CyclingOptimizationInput @oneOf { } """ + Is it possible to arrive to the destination with a rented bicycle and does it come with an extra cost. """ @@ -3742,6 +4011,7 @@ input DestinationBicyclePolicyInput { "For networks that require station drop-off, should the routing engine offer results that go directly to the destination without dropping off the rental bicycle first." allowKeeping: Boolean """ + Cost associated with arriving to the destination with a rented bicycle. No cost is applied if arriving to the destination after dropping off the rented bicycle. @@ -3750,6 +4020,7 @@ input DestinationBicyclePolicyInput { } """ + Is it possible to arrive to the destination with a rented scooter and does it come with an extra cost. """ @@ -3757,6 +4028,7 @@ input DestinationScooterPolicyInput { "For networks that require station drop-off, should the routing engine offer results that go directly to the destination without dropping off the rental scooter first." allowKeeping: Boolean """ + Cost associated with arriving to the destination with a rented scooter. No cost is applied if arriving to the destination after dropping off the rented scooter. @@ -3770,12 +4042,14 @@ input InputBanned { "A comma-separated list of banned route ids" routes: String """ + A comma-separated list of banned stop ids. Note that these stops are only banned for boarding and disembarking vehicles — it is possible to get an itinerary where a vehicle stops at one of these stops """ stops: String @deprecated(reason : "Not implemented in OTP2.") """ + A comma-separated list of banned stop ids. Only itineraries where these stops are not travelled through are returned, e.g. if a bus route stops at one of these stops, that route will not be used in the itinerary, even if the stop is @@ -3837,6 +4111,7 @@ input InputPreferred { "A comma-separated list of ids of the agencies preferred by the user." agencies: String """ + Penalty added for using every route that is not preferred if user set any route as preferred. We return number of seconds that we are willing to wait for preferred route. @@ -3847,6 +4122,7 @@ input InputPreferred { } """ + Relative importances of optimization factors. Only effective for bicycling legs. Invariant: `timeFactor + slopeFactor + safetyFactor == 1` """ @@ -3865,6 +4141,7 @@ input InputUnpreferred { "A comma-separated list of ids of the routes unpreferred by the user." routes: String """ + An cost function used to calculate penalty for an unpreferred route/agency. Function should return number of seconds that we are willing to wait for unpreferred route/agency. String must be of the format: @@ -3873,6 +4150,7 @@ input InputUnpreferred { """ unpreferredCost: String """ + Penalty added for using route that is unpreferred, i.e. number of seconds that we are willing to wait for route that is unpreferred. @@ -3884,6 +4162,7 @@ input InputUnpreferred { "Filters an entity by a date range." input LocalDateRangeInput { """ + **Exclusive** end date of the filter. This means that if you want a time window from Sunday to Sunday, `end` must be on Monday. @@ -3892,6 +4171,7 @@ input LocalDateRangeInput { """ end: LocalDate """ + **Inclusive** start date of the filter. If `null` this means that no `start` filter is applied and all dates that are before `end` are selected. """ @@ -3899,6 +4179,7 @@ input LocalDateRangeInput { } """ + The filter definition to include or exclude parking facilities used during routing. Logically, the filter algorithm work as follows: @@ -3914,6 +4195,7 @@ Logically, the filter algorithm work as follows: """ input ParkingFilter { """ + Exclude parking facilities based on their properties. If empty nothing is excluded from the initial set of facilities but may be filtered down @@ -3921,6 +4203,7 @@ input ParkingFilter { """ not: [ParkingFilterOperation!] """ + Include parking facilities based on their properties. If empty everything is included from the initial set of facilities but may be filtered down @@ -3945,6 +4228,7 @@ input PlanCoordinateInput { "Plan date time options. Only one of the values should be defined." input PlanDateTimeInput @oneOf { """ + Earliest departure date time. The returned itineraries should not depart before this instant unless one is using paging to find earlier itineraries. Note, it is not currently possible to define both @@ -3952,6 +4236,7 @@ input PlanDateTimeInput @oneOf { """ earliestDeparture: OffsetDateTime """ + Latest arrival time date time. The returned itineraries should not arrive to the destination after this instant unless one is using paging to find later itineraries. Note, it is not currently possible @@ -3961,11 +4246,13 @@ input PlanDateTimeInput @oneOf { } """ + Settings that control the behavior of itinerary filtering. **These are advanced settings and should not be set by a user through user preferences.** """ input PlanItineraryFilterInput { """ + Pick one itinerary from each group after putting itineraries that are `85%` similar together, if the given value is `0.85`, for example. Itineraries are grouped together based on relative the distance of transit travel that is identical between the itineraries (access, egress and @@ -3973,6 +4260,7 @@ input PlanItineraryFilterInput { """ groupSimilarityKeepOne: Ratio = 0.85 """ + Pick three itineraries from each group after putting itineraries that are `68%` similar together, if the given value is `0.68`, for example. Itineraries are grouped together based on relative the distance of transit travel that is identical between the itineraries (access, egress and @@ -3980,6 +4268,7 @@ input PlanItineraryFilterInput { """ groupSimilarityKeepThree: Ratio = 0.68 """ + Of the itineraries grouped to maximum of three itineraries, how much worse can the non-grouped legs be compared to the lowest cost. `2.0` means that they can be double the cost, and any itineraries having a higher cost will be filtered away. Use a value lower than `1.0` to turn the @@ -3991,11 +4280,13 @@ input PlanItineraryFilterInput { } """ + Plan location settings. Location must be set. Label is optional and used for naming the location. """ input PlanLabeledLocationInput { """ + A label that can be attached to the location. This label is then returned with the location in the itineraries. """ @@ -4009,6 +4300,7 @@ input PlanLocationInput @oneOf { "Coordinate of the location. Note, either a coordinate or a stop location should be defined." coordinate: PlanCoordinateInput """ + Stop, station, a group of stop places or multimodal stop place that should be used as a location for the search. The trip doesn't have to use the given stop location for a transit connection as it's possible to start walking to another stop from the given @@ -4021,6 +4313,7 @@ input PlanLocationInput @oneOf { "Mode selections for the plan search." input PlanModesInput { """ + Street mode that is used when searching for itineraries that don't use any transit. If more than one mode is selected, at least one of them must be used but not necessarily all. There are modes that automatically also use walking such as the rental modes. To force rental @@ -4031,6 +4324,7 @@ input PlanModesInput { "Should only the direct search without any transit be done." directOnly: Boolean = false """ + Modes for different phases of an itinerary when transit is included. Also includes street mode selections related to connecting to the transit network and transfers. By default, all transit modes are usable and `WALK` is used for @@ -4038,6 +4332,7 @@ input PlanModesInput { """ transit: PlanTransitModesInput """ + Should only the transit search be done and never suggest itineraries that don't contain any transit legs. """ @@ -4049,6 +4344,7 @@ input PlanPreferencesInput { "Accessibility preferences that affect both the street and transit routing." accessibility: AccessibilityPreferencesInput """ + Street routing preferences used for ingress, egress and transfers. These do not directly affect the transit legs but can change how preferable walking or cycling, for example, is compared to transit. @@ -4059,6 +4355,7 @@ input PlanPreferencesInput { } """ + Stop, station, a group of stop places or multimodal stop place that should be used as a location for the search. The trip doesn't have to use the given stop location for a transit connection as it's possible to start walking to another stop from the given @@ -4067,6 +4364,7 @@ sense for the journey is picked as the location within the station or group of s """ input PlanStopLocationInput { """ + ID of the stop, station, a group of stop places or multimodal stop place. Format should be `FeedId:StopLocationId`. """ @@ -4074,6 +4372,7 @@ input PlanStopLocationInput { } """ + Street routing preferences used for ingress, egress and transfers. These do not directly affect the transit legs but can change how preferable walking or cycling, for example, is compared to transit. @@ -4082,6 +4381,7 @@ input PlanStreetPreferencesInput { "Cycling related preferences." bicycle: BicyclePreferencesInput """ + Car related preferences. These are not used for car travel as part of transit, such as taxi travel. """ @@ -4089,6 +4389,7 @@ input PlanStreetPreferencesInput { "Scooter (kick or electrical) related preferences." scooter: ScooterPreferencesInput """ + Walk related preferences. These are not used when walking a bicycle or a scooter as they have their own preferences. """ @@ -4104,11 +4405,13 @@ input PlanTransitModePreferenceInput { } """ + Modes for different phases of an itinerary when transit is included. Also includes street mode selections related to connecting to the transit network and transfers. """ input PlanTransitModesInput { """ + Street mode that is used when searching for access to the transit network from origin. If more than one mode is selected, at least one of them must be used but not necessarily all. There are modes that automatically also use walking such as the rental modes. To force rental @@ -4117,6 +4420,7 @@ input PlanTransitModesInput { """ access: [PlanAccessMode!] """ + Street mode that is used when searching for egress to destination from the transit network. If more than one mode is selected, at least one of them must be used but not necessarily all. There are modes that automatically also use walking such as the rental modes. To force rental @@ -4125,11 +4429,13 @@ input PlanTransitModesInput { """ egress: [PlanEgressMode!] """ + Street mode that is used when searching for transfers. Selection of only one allowed for now. The default transfer mode is `WALK`. """ transfer: [PlanTransferMode!] """ + Transit modes and reluctances associated with them. Each defined mode can be used in an itinerary but doesn't have to be. If direct search is not disabled, there can be an itinerary without any transit legs. By default, all transit modes are usable. @@ -4150,6 +4456,7 @@ input ScooterPreferencesInput { "What criteria should be used when optimizing a scooter route." optimization: ScooterOptimizationInput """ + A multiplier for how bad riding a scooter is compared to being in transit for equal lengths of time. """ @@ -4157,6 +4464,7 @@ input ScooterPreferencesInput { "Scooter rental related preferences." rental: ScooterRentalPreferencesInput """ + Maximum speed on flat ground while riding a scooter. Note, this speed is higher than the average speed will be in itineraries as this is the maximum speed but there are factors that slow down the travel such as crossings, intersections and elevation changes. @@ -4171,6 +4479,7 @@ input ScooterRentalPreferencesInput { "Rental networks which cannot be used as part of an itinerary." bannedNetworks: [String!] """ + Is it possible to arrive to the destination with a rented scooter and does it come with an extra cost. """ @@ -4179,6 +4488,7 @@ input ScooterRentalPreferencesInput { input TimetablePreferencesInput { """ + When false, real-time updates are considered during the routing. In practice, when this option is set as true, some of the suggestions might not be realistic as the transfers could be invalid due to delays, @@ -4186,6 +4496,7 @@ input TimetablePreferencesInput { """ excludeRealTimeUpdates: Boolean """ + When true, departures that have been cancelled ahead of time will be included during the routing. This means that an itinerary can include a cancelled departure while some other alternative that contains no cancellations @@ -4194,6 +4505,7 @@ input TimetablePreferencesInput { """ includePlannedCancellations: Boolean """ + When true, departures that have been cancelled through a real-time feed will be included during the routing. This means that an itinerary can include a cancelled departure while some other alternative that contains no cancellations @@ -4208,6 +4520,7 @@ input TransferPreferencesInput { "A static cost that is added for each transfer on top of other costs." cost: Cost """ + How many additional transfers there can be at maximum compared to the itinerary with the least number of transfers. """ @@ -4215,6 +4528,7 @@ input TransferPreferencesInput { "How many transfers there can be at maximum in an itinerary." maximumTransfers: Int """ + A global minimum transfer time (in seconds) that specifies the minimum amount of time that must pass between exiting one transit vehicle and boarding another. This time is in addition to time it might take to walk between transit stops. Setting this value @@ -4235,6 +4549,7 @@ input TransitPreferencesInput { "Preferences related to alighting from a transit vehicle." alight: AlightPreferencesInput """ + Preferences related to boarding a transit vehicle. Note, board costs for each street mode can be found under the street mode preferences. """ @@ -4253,6 +4568,7 @@ input TransportMode { } """ + Relative importance of optimization factors. Only effective for bicycling legs. Invariant: `safety + flatness + time == 1` """ @@ -4260,6 +4576,7 @@ input TriangleCyclingFactorsInput { "Relative importance of flat terrain" flatness: Ratio! """ + Relative importance of cycling safety, but this factor can also include other concerns such as convenience and general cyclist preferences by taking into account road surface etc. @@ -4270,6 +4587,7 @@ input TriangleCyclingFactorsInput { } """ + Relative importance of optimization factors. Only effective for scooter legs. Invariant: `safety + flatness + time == 1` """ @@ -4277,6 +4595,7 @@ input TriangleScooterFactorsInput { "Relative importance of flat terrain" flatness: Ratio! """ + Relative importance of scooter safety, but this factor can also include other concerns such as convenience and general scooter preferences by taking into account road surface etc. @@ -4289,16 +4608,19 @@ input TriangleScooterFactorsInput { "Preferences for parking facilities used during the routing." input VehicleParkingInput { """ + Selection filters to include or exclude parking facilities. An empty list will include all facilities in the routing search. """ filters: [ParkingFilter] """ + If non-empty every parking facility that doesn't match this set of conditions will receive an extra cost (defined by `unpreferredCost`) and therefore avoided. """ preferred: [ParkingFilter] """ + If `preferred` is non-empty, using a parking facility that doesn't contain at least one of the preferred conditions, will receive this extra cost and therefore avoided if preferred options are available. @@ -4313,11 +4635,13 @@ input WalkPreferencesInput { "A multiplier for how bad walking is compared to being in transit for equal lengths of time." reluctance: Reluctance """ + Factor for how much the walk safety is considered in routing. Value should be between 0 and 1. If the value is set to be 0, safety is ignored. """ safetyFactor: Ratio """ + Maximum walk speed on flat ground. Note, this speed is higher than the average speed will be in itineraries as this is the maximum speed but there are factors that slow down walking such as crossings, intersections and elevation changes. @@ -4326,11 +4650,13 @@ input WalkPreferencesInput { } """ + Wheelchair related preferences. Note, this is the only from of accessibilty available currently and is sometimes is used for other accessibility needs as well. """ input WheelchairPreferencesInput { """ + Is wheelchair accessibility considered in routing. Note, this does not guarantee that the itineraries are wheelchair accessible as there can be data issues. """