This page describes the major differences between the official GTFS Realtime and Google Transit’s implementation of the specification in the following areas:
Ignored official specifications: These fields are part of the official GTFS. Google Transit ingests this data without error but doesn't proactively use the data.
Different interpretation: These fields include the parts of the official GTFS that Google Transit interprets differently than the GTFS definition of those parts.
Experimental support: These fields are experimental in Google Transit’s implementation. If you want to implement a new experimental field, contact the Google Transit team.
Google Transit-supported extension: This extension is not part of the official GTFS. The Transit-supported extension includes both public extensions and Google Transit-specific extensions. Any partner can send this information to Transit in their feed.
Realtime transit
The following sections document the major differences between the official GTFS and Google Transit's implementation of the Realtime transit feed.
Ignored official specifications in the realtime feeds
Some ignored specifications are experimental. To learn more, go to gtfs.org.
Table 1 lists the GTFS-defined fields that are ignored by Transit in the realtime feeds.
Message | Ignored field defined in the GTFS | Field type |
---|---|---|
message Alert |
image |
TranslatedImage |
message Alert |
image_alternative_text |
TranslatedString |
message Alert |
severity_level |
Enum |
message Alert |
tts_description_text |
Proto |
message Alert |
tts_header_text |
Proto |
message CarriageDetails |
id |
String |
message CarriageDetails |
occupancy_percentage |
int32 |
message Position |
bearing |
Float |
message Position |
odometer |
Double |
message Position |
speed |
Float |
message Shape |
encoded_polyline |
String |
message Shape |
shape_id |
String |
message StopTimeUpdate (in TripUpdate ) |
arrival.uncertainty |
int32 |
message StopTimeUpdate (in TripUpdate ) |
stop_time_properties |
Proto |
message TripUpdate |
trip_properties |
Proto |
message TripUpdate |
vehicle |
VehicleDescriptor |
message VehicleDescriptor |
license_plate |
String |
message VehicleDescriptor |
wheelchair_accessible |
WheelchairAccessible |
message VehiclePosition |
congestion_level |
Enum |
message VehiclePosition |
current_status |
VehicleStopStatus |
message VehiclePosition |
current_stop_sequence |
uint32 |
message VehiclePosition |
multi_carriage_details.id |
String |
message VehiclePosition |
occupancy_percentage |
uint32 |
message VehiclePosition |
stop_id |
String |
Different interpretation in the realtime feeds
Although Transit accepts certain GTFS fields, Transit interprets them differently than the GTFS.
Table 2 lists GTFS-defined fields in the realtime feeds that are either optional or required conditionally by Transit. For optional fields, the table shows whether or not the enum values are supported by Transit.
Filename | Field defined in the GTFS | Field type | Required by Google Transit? | Google Transit implementation details |
---|---|---|---|---|
message StopTimeUpdate (in TripUpdate ) |
stop_id |
String | Conditionally required | When a
|
message StopTimeUpdate |
schedule_relationship |
Enum | Optional | Google Transit supports the following enum values:
|
message TripDescriptor |
schedule_relationship |
Enum | Optional | Google Transit doesn't support the following enum values:
Google supports the following enum values:
|
Experimental support in realtime feeds
If you need support to integrate new experimental fields, contact Google Transit.
Google Transit-supported extensions in realtime feeds
At the time of publishing this article, no fields belong to this category. If you need any assistance, contact Google Transit.