Realtime Transit Trip Updates Added to CalcRoute API

We are announcing the addition of real-time transit trip updates to the CalcRoute API. Real-time transit data is made available by a limited set of transit agencies who provide their data in real-time format. We have coverage provided by 100 agencies in metro areas across the world including New York, Chicago, Boston, Los Angeles, Toronto, Houston, and Baltimore. Currently, the 4 markets where coverage exists are the United States, Canada, Australia, New Zealand, and the Netherlands, the last of which has coverage nationwide. The addition of real-time trip updates means we now 1) recommend better routes that accounts for these updates and 2) expose these updates to developers in the API response’s childItineraryItems object:

 

childItineraryItems:

[

{

compassDirection: "",

details:

[

{

maneuverType: "TransitDepart",

mode: "Transit",

names:

[

"Washington St @ E Newton St"

],

roadType: "None"

}

],

exit: "",

iconType: "None",

instruction:

{

formattedText: null,

maneuverType: "TransitDepart",

text: "Depart: Washington St @ E Newton St"

},

isRealTimeTransit: true,

maneuverPoint:

{

type: "Point",

coordinates:

[

42.338763,

-71.073677

]

},

realTimeTransitDelay: -71,

realTimeTransitTimeOfUpdate: "2018-07-26T17:56:19.0000000-04:00",

sideOfStreet: "Unknown",

time: "/Date(1532639269000-0700)/",

tollZone: "",

transitStopId: 32279,

transitTerminus: "",

travelDistance: 0,

travelDuration: 0,

travelMode: "Transit",

tripId: 94599

},

 

Definitions for the 3 new fields:
  • isRealTimeTransit - Indicates if the trip schedule is from a realtime update or from a static schedule
  • realTimeTransitDelay – Indicates the number of seconds of the delay the train is delayed from the expected arrival time as indicated by the static schedule
  • realTimeTransitTimeOfUpdate – Indicates the time (with local time offset from UTC) when the real time update was last updated by the real time feed provider

If a real time update is provided, this means that the time field has been updated to reflect the real time update. To retrieve the original time scheduled in the static timetable for that leg of the trip, simply subtract the realTimeTransitDelay from time.

You can find a code-sample that leverages real-time trip updates here: https://github.com/v-chrfr/real-time-sample. The sample generates the viewer included below:

Reatime Route Transit Viewer

- Bing Maps Team