Request fields
Use these fields inside the payload of a JSON planTrip request, or in a binary PlanRequest message.
Journey
Section titled “Journey”| Field | What to send | Example |
|---|---|---|
fromPlace | Start as latitude,longitude | 52.0894,5.1102 |
toPlace | Destination as latitude,longitude | 52.0925,5.1813 |
fromPlaceName, toPlaceName | Optional display names for those coordinates | "Utrecht Centraal" |
timestamp | Travel time in ISO 8601, including timezone | A departure or arrival time with an offset or Z |
arriveBy | Use the time as arrival rather than departure | true |
timeSlack | Minutes around the requested time; default 5 | 0 for the specified time |
transferSlack | Extra transfer time in seconds | 120 for two minutes |
Travel choices
Section titled “Travel choices”| Field | Purpose | Example |
|---|---|---|
excludeModes | Exclude transit modes | ["RAIL"] |
excludedFirstMileModes | Exclude alternatives before transit | ["CAR"] |
excludedLastMileModes | Exclude alternatives after transit | ["RENTED_SCOOTER"] |
excludedUnimodalModes | Exclude direct alternatives | ["CAR"] |
lessWalking | Prefer journeys with less walking | true |
allowWorseOptions | Include lower-graded options | true |
useFlexibleRouting | Search flexible-service options | true |
userPreferences | Walking/cycling speed and e-bike choice | See speeds |
Fares and details
Section titled “Fares and details”| Field | Purpose | Example |
|---|---|---|
includePricing | Include available fares | true |
pricingOptions.travelClass | Train fare class; default SECOND_CLASS | "FIRST_CLASS" |
pricingOptions.age | Select the 65+ tariff for flex services with senior pricing | 70 |
includeTownInStopName | Include town in compatible stop names; default true | false for separate town/name |
itineraryHash | Look up a returned itinerary | Copy the hash from the result |
flexOptions.bookingTime | Time at which a flex booking is considered | ISO 8601 timestamp |
Use includePricing: true for standard fares. Add travelClass for first-class train pricing or age for a supported flex senior tariff. General child and senior discounts on regular public transport are not currently applied. See fare examples.
The complete schema contains all wire fields and their support notes.
Fields provided for development
Section titled “Fields provided for development”Some values may only be filled in the future, but are already provided in the Proto for development purposes. A field in the Proto does not by itself guarantee that a request option is supported.
| Field | Current support |
|---|---|
fromId, toId | Reserved identifiers; use fromPlace and toPlace coordinates |
viaPlace, viaId | Via routing is not currently supported; identifier requests may be rejected |
publicTransportOnly | Reserved preference; currently does not suppress alternatives |
includeOnDemandTransit | Deprecated; use useFlexibleRouting for explicit flex candidates |
Use the optional place-name fields for display labels; coordinates remain the routing inputs. See the changelog for additions and compatibility changes.