Sept 26, 2016 API Update (v3.00)
BART will be updating the BART API with some new functionality. At this time, all of the changes should be backwards compatible (only new fields/data have been added), but a few items will start to be deprecated. This announcement will provide details about what is changing and what’s going to be going away in the future.
BART is adding some additional fields/information to the QuickPlanner trip results. Some of these are attributes on elements that already exist, while others are new elements.
- New <trip> attributes
- The tripTime will now be filled in with the total scheduled trip time in minutes. This field has been in the feed, but has been blank.
- A new co2 attribute has been added with the CO2 savings for the particular trip. There will still be a <message> at the end of the results with additional information on the CO2 savings, but this will provide quick access to this information at the trip level.
- New <leg> attributes
- A "trainId" attribute has been added to the <leg> element. This is a unique identifier which will eventually also be included in the ETD data, making matching real-time and schedule data much easier. (That project is still in the planning phase, but we're preparing for it in the API.)
- A "load" attribute will be added to the <leg> element. This is the load factor information for that leg. This will preclude having to make a separate call to get load factor information.
- New elements
element has been added with a "level" attribute. Currently this will always be set to "normal", but has been included in case BART decides at some future date to have some other sort of fare schema. (Nothing is currently planned, we’re just trying to provide the most flexibility since we were making changes anyway.)
- Under the <fares> there is now a series of <fare> elements. This element includes an "amount" and a "class" attribute which describes the fare. Currently only "cash" and "clipper" are included, but now it can be expanded with additional fare classes, if required, in the future.
- Route Schedules will now include trainId and trainIdx attributes on the <train> element and the current "index" attribute is deprecated (replaced by trainIdx for consistency).
- Route Schedule <stop> elements will now include "level" and "load" attributes. The "level" determines the fare group, and is currently set to "normal" for all trips. The "load" attribute provides the load factor information for that train.
- Station Schedules will now include "level", "load", and "trainId" attributes on the
- The output of the fare command is changing dramatically. The old output will still be maintained (but deprecated), and a new <fares> element has been added. This matches the output of the new QuickPlanner trip output.
- The Load command will be deprecated. This information will now be included in QuickPlanner and Schedule results directly.
- With the introduction of the new <fares> and <fare> elements, BART will eventually remove the "fare" and "clipper" attributes of the <trip>. This will happen sometime next year.
- Separate Load Factor calls will be removed sometime next year.
- The "index" attribute of the <train> element in Route Schedules will be removed sometime next year.
- BART will provide additional information as well as significant warning before these elements are removed. You are encouraged to migrate to the new data as soon as they are available.