Routing API Developer's Guide

Public Transport Maneuvers

Public Transport Routing extends maneuvers available in pedestrian mode with the following actions:
  • enter: maneuver to enter a transit station
  • leave: maneuver to either depart the transit station or change public transport lines
  • change: maneuver to change public transport lines, only provided if the combineChange parameter value is set to true, otherwise the enter and leave pairs are used instead

For more information, see PublicTransportActionType, combineChange, TransportModeType.

Typical Logic and Order of Maneuvers

  1. A depart maneuver starts the route in pedestrian mode.
  2. Pedestrian maneuvers follow until the first public transport section. For more information, see PrivateTransportActionType
  3. An enter maneuver starts the public transport section of the route.
  4. Optionally, either change or enter-leave maneuver pair follows to indicate transit line changes.
  5. A leave maneuver ends the public transport section of the route.
  6. A continue maneuver begins a segment in pedestrian mode.
  7. Optionally, additional public transport and pedestrian segments follow.
  8. An arrive maneuver ends the route.

Maneuver Groups

Maneuver groups allow you to organize maneuvers into sections based on TransportModeType, to provide users with an itinerary summary and brief route instructions.

To request maneuver groups, use the group attribute switch in routeAttributes. When requested, groups provide the following:
  • Identifiers of first and last maneuvers in the group
  • Transport mode
  • Type of public transport
  • Summary, arrival, and wait descriptions in localized text, if available

Itinerary Summary using Maneuver Groups

You can use maneuver groups in your routing application to display an itinerary summary with similar actions grouped together:
Figure 1. Itinerary Summary

This information is displayed in the response as shown below:
maneuverGroup : [ 
  <3 elem> 0: {
    firstManeuver : "M1" lastManeuver : "M3"
    mode : "pedestrian"
    summaryDescription : "Walk to Reinickendorfer Straße." 
    arrivalDescription : "Arrive at Reinickendorfer Straße."
  }
  1: {
    firstManeuver : "M4"
    lastManeuver : "M5"
    mode : "publicTransport"
    publicTransportType: "railMetro"
    summaryDescription : "Take the rail U6 towards Alt-Mariendorf." 
    arrivalDescription : "Get off at Tempelhof."
    waitDescription : "3 minutes to connect."
  }
  2: {
    firstManeuver : "M6"
    lastManeuver : "M11"mode : "
    pedestrian"summaryDescription : "Get off at Tempelhof and walk to your destination."
    arrivalDescription :  "Arrive at Hessenring."
  }
]