GTFS Schedule¶
Revision History¶
September 2024¶
- Clarify presence and use of from/to_stop_id & from/to_trip_id fields in transfers.txt. See discussion.
- Added validity rules for polygons in GeoJSON files. See discussion
August 2024¶
- Change stops.txt presence because of demand responsive services. See discussion.
- Clarify intended use for timepoint in stop_times.txt. See discussion.
- Add that headsigns are recommended. See discussion.
July 2024¶
- Update requirement for feed_info.txt. See discussion.
- Add that shapes should be included. See discussion.
May 2024¶
- Added
rule_priority
field infare_leg_rules.txt
. See discussion. - Clarify presence of
stops.zone_id
. See discussion.
April 2024¶
- Clarify fare product definition. See discussion.
March 2024¶
- Added GTFS Flex. See discussion.
November 2023¶
- Best practices: add Dataset Publishing guidelines and Practice Recommendations for all files. See discussion.
- Add networks.txt & route_networks.txt. See discussion.
August 2023¶
- Add fare_media_type=1. See discussion.
July 2023¶
- Forbid subfolders in GTFS files. See discussion.
- Added variable fares by time or day. See discussion.
- Clarify implied timezone in stop_times.txt. See discussion.
- Specify stop times shape_dist_traveled must not exceed the trip shape's maximum distance. See discussion.
- Best practices: add recommended presence. See discussion.
March 14, 2023¶
- Added fare media. See discussion.
July 26, 2022¶
- Added trip-to-trip transfers with in-seat option. See discussion.
May 17, 2022¶
- GTFS-Fares v2 base implementation. See discussion.
Oct 22, 2021¶
- Added Primary and Foreign ID fields. See discussion.
Oct 05, 2021¶
- Added Trip-to-trip and route-to-route transfers. See discussion.
September 15, 2021¶
- Allowed fare gates (pathway_mode=6) to be bidirectional. See discussion.
September 13, 2021¶
- Updated
stop_name
best practices. See discussion.
August 27, 2021¶
- Updated GTFS Schedule to RFC 2119. See discussion.
January 4, 2021¶
- Clarified description of
stop_times.stop_id
. See discussion. - Defined positive and non-zero field signs. See discussion.
October 2, 2020¶
- Changed field type of
frequencies.headway_secs
from non-negative to positive integer. See discussion.
May 25, 2020¶
- Defined
pathways.txt
,levels.txt
andattributions.txt
as translatable tables. Added recommendations for translating multilingualsignposted_as
values. See discussion.
May 13, 2020¶
- Added
continuous_pickup
andcontinuous_drop_off
toroutes.txt
andstop_times.txt
. Changedshape_id
from "Optional" to "Conditionally required". See discussion.
March 24, 2020¶
- Defined text-to-speech field and added
tts_stop_name
tostops.txt
. See discussion.
February 5, 2020¶
- Added trolleybus and monorail
route_types
. See discussion.
January 9, 2020¶
- Added
translations.txt
. See discussion.
December 26, 2019¶
- Updated definitions for cable tram and aerial lift in
route_type
. See discussion.
December 20, 2019¶
- Added
attributions.txt
. See discussion.
August 26, 2019¶
- Specified that
stop_lat
andstop_lon
be positioned where passengers wait to board the vehicle. See discussion.
July 9, 2019¶
- Added arrival and departure time best practices. See discussion.
- Added headsign best practices. See discussion.
- Added
stop_id
best practices. See discussion.
June 25, 2019¶
- Clarified relationship of shape points and stops. See discussion.
April 4, 2019¶
- Added
platform_code
field instops.txt
. See discussion.
March 27, 2019¶
- Added
pathways.txt
andlevels.txt
. See discussion.
February 6, 2019¶
- Editorial and formatting changes for clarity. See discussion.
October 2, 2018¶
- Factorized field types. See discussion.
September 14, 2018¶
- Added "Conditionally required" concept. See discussion.
September 4, 2018¶
- Unified the definitions of
agency_lang
andfeed_lang
. See discussion.
August 27, 2018¶
- Updated
CHANGES.md
and last revised date. See discussion.
August 22, 2018¶
- Added
feed_contact_email
andfeed_contact_url
fields in thefeed_info.txt
file. See discussion.
December 11, 2017¶
- Added
route_sort_order
toroutes.txt
. See discussion.
March 15, 2017¶
- Clarified that a proposer's vote does not count towards total. See discussion.
- Specified that at before calling a vote, at least one GTFS producer and one GTFS consumer should implement the proposed change. See discussion.
February 7, 2017¶
- Clarified relationship of
block_id
andservice_id
. See discussion. - Clarified that frequency-based service begins at vehicle departure. See discussion.
- Clarified descriptions of
stop_id
andstop_code
. See discussion.
December 11, 2017¶
- Added
route_sort_order
field in theroutes.txt
file. See discussion.
November 27, 2016¶
- Added station entrance as a
stops.location_type
. See discussion.
September 2, 2016¶
- Updated documentation to add
agency_id
underfare_attributes.txt
. See discussion.
March 16, 2016¶
- Transition of GTFS documentation to Github at https://github.com/google/transit
February 3, 2016¶
- Added
agency_email
toagency.txt
proposal to spec: discussion
February 2, 2015¶
- Added stop_times.txt 'timepoint' proposal to spec: discussion
February 17, 2014¶
- Added trips.txt 'bikes_allowed' proposal to spec: discussion
October 15, 2012¶
Added trips.txt 'wheelchair_accessible' proposal to spec: discussion
June 20, 2012¶
- Added 'wheelchair_boarding' proposal to spec: discussion
February 2, 2012¶
- Added 'stop_timezone' proposal to spec: discussion
January 18, 2012¶
- Migrated documentation from old code.google.com to their new location at developers.google.com.
September 26, 2011¶
- Added 'feed_info' proposal to spec: discussion
September 6, 2011¶
- Added 'agency_fare_url' proposal to spec: discussion
- Added 'exact_times' proposal to spec: discussion
March 30, 2009¶
- A new section on making a transit feed publicly available. This wasn't previously discussed on the group, because it wasn't strictly a change to how the data is interpreted or written. However, some of the folks at Google thought that it would be informative to include discussion of non-Google uses of GTFS, since there are an increasing number of applications that can make use of GTFS-formatted data.
- CSV format clarifications: discussion.
- Additional guidance on how to pick contrasting colors in the descriptions of the route_color and route_text_color fields.
- trip_short_name, as proposed and tested in these threads: a and b.
- A fix for a minor error in the sample data included at the end of the document (giving stop S7 the parent_station S8).
- Added "agency_lang" information to the sample data at the end of the document, as suggested by Marcy during the comment period: discussion.
- Updated the link to OCTA's GTFS feed in the sidebar
- See original summary.
February 26, 2009¶
- Removed most of the Google-specific feed submission instructions, since there are many other applications that consume GTFS data at this point.
- Fixed a broken link in the sidebar to Orange County OCTA's public feed.
August 7, 2008¶
- Restored the stop_url field, which was accidentally omitted in the August 6 version
- Added agency_phone to sample data
- Added a mention of the data use agreement when submitting a feed to Google
August 6, 2008¶
- Added transfers.txt file, allowing the feed publishers to provide hints on preferred transfer behavior (original proposal)
- Added location_type and parent_station fields to stops.txt, allowing stop points to be grouped into stations (original proposal)
- Added agency_phone field for providing voice telephone number for an agency (original proposal)
- Added "Testing Your Feeds" section mentioning open-source testing tools
- Added clarifications about CSV format, agency_timezone, agency_lang, route_color, route_text_color, arrival_time, departure_time, calendar.txt vs. calendar_dates.txt, fare tables, and frequencies.txt
- Added link to feed history document, and corrected some public feed links
- Updated example images to depict the current Google Maps UI
- Updated/fixed sample data in document
February 29, 2008¶
- Added the stop_code field in stops.txt to allow for the specification of rider-facing stop codes (original proposal)
- Clarified the descriptions of route_short_name and route_long_name in routes.txt
- Clarified the descriptions of arrival_time and departure_time in stop_times.txt
- Fixed typos in the Sample Data section
November 20, 2007¶
- Clarified block_id description
- Changed language to de-emphasize Google Transit (since non-Google applications are using GTFS, and transit routing is now an integrated feature of Google Maps), and to fix assorted typos
- Updated example screenshots to reflect the presentation of GTFS fields in the current Google Maps UI
- Updated the Google contact email address for transit data providers
- Updated formatting
October 5, 2007¶
- Changed stop_sequence and shape_pt_sequence to allow for any increasing non-negative integers
- Clarified descriptions and fixed typos
May 31, 2007¶
- Updated page style, made HTML cleaner and more accessible
- Added links to public feed examples and other useful sites
- Removed examples from individual field descriptions
April 9, 2007¶
- Added section on submitting a feed.
- Added the Example Demo Transit Agency feed.
- Added note that calendar.txt can be omitted if all the service dates are defined in calendar_dates.txt.
- Made the agency_id field optional in feeds containing only one agency. This allows existing feeds without agency_id to remain valid.
- Added fuller specification of agency_url, stop_url, and route_url, and additional example values for those fields.
- Added 6 (Gondola) and 7 (Funicular) as valid route_type values.
March 8, 2007¶
- Minor edit to move the stop_url field from stop_times.txt, where it was incorrectly specified in the Feb. 28 update, to stops.txt, where it belongs.
March 5, 2007¶
- Minor edit to clarify the description of the route_long_name field.
February 28, 2007¶
- Addition of frequencies.txt for headway-based schedule support.
- Multiple agencies now allowed in the the same feed. Also added new agency_id field in both agencies.txt and routes.txt that lets you specify which route is operated by which agency.
- Addition of per-route and per-stop URLs.
- Addition of direction_id field in trips.txt.
- Support for mid-trip headsign changes with addition of stop_headsign field in stop_times.txt.
- Support for route colors with addition of optional route_color and route_text_color in routes.txt.
- Removed the ability to specify stops using street addresses. The previous version of the spec allowed you to give the location of a transit stop using a street address in the stop_street, stop_city, stop_region, stop_postcode, and stop_country fields. Now stop locations must be given using stop_lat for latitude and stop_lon for longitude, which are more useful for most applications.
- Addition of cable car vehicle type for route_type field in routes.txt.
- See the original Headway blog post summary of the changes.
November 29, 2006¶
- Added support for trip shape information via shapes.txt
- Clarified the definition of stop_sequence
- Marked pickup_type and drop_off_type optional
October 31, 2006¶
- Added support for fare information
- Removed dates from individual file names
- Changed the route_type value definitions
- Allowed for multiple feed files to be posted at the same time, as long as their service periods didn't overlap
- Fixed block_id in trips.txt so that it was correctly marked Optional
- Noted that column headers must be included
September 29, 2006¶
- Minor edit to fix a couple errors in the examples.
September 25, 2006¶
- Initial version.