-
Notifications
You must be signed in to change notification settings - Fork 214
Description
As a transit provider operating in multi-timezones, Amtrak needs GTFS to be more clear (and consistent) on what time zone the values in stop_times.txt refer to.
Current stop_times.arrival_time definition:
Arrival time at a specific stop for a specific trip on a route. If there are not separate times for arrival and departure at a stop, enter the same value for arrival_time and departure_time. For times occurring after midnight on the service day, enter the time as a value greater than 24:00:00 in HH:MM:SS local time for the day on which the trip schedule begins.
The above definition, with use of the word "local" implies that stop_times.txt should use the time zone of the local stop. However, the stop.stop_timezone definition clearly states that if used, that stop_times shoudl refer to agency.agency_timezone.
Excerpt of current stops.stop_timezone definition:
If stop_timezone values are provided, the times in stop_times.txt should be entered as the time since midnight in the timezone specified by agency.agency_timezone.
Example Problem
Amtrak's Southwest Chief Route travels between Kingman AZ (KNG) and Needles CA (NDL):
Amtrak has implemented the following:
agency.agency_timezone is set to Eastern
stops.stop_timezone is set to Mountain for KNG and Pacific for NDL
stop_times.departure_time for KNG is specified as 12:28 AM (Mountain Time)
stop_times.arrival_time for NDL is specified as 12:26 AM (Pacific Time)
...which results in the validator giving a too-fast travel warning (See this issue in the GTFS Validator Repository
Proposed Solution
Clarify definition of arrival_time and departure_time in stop_times.txt and Time term definition as follows
Field Type: Time
Time in the HH:MM:SS format (H:MM:SS is also accepted). The time is measured from "noon minus 12h" of the service day (effectively midnight except for days on which daylight savings time changes occur) in the time zone specified by agency_timezone. in agency.txt For times occurring after midnight, enter the time as a value greater than 24:00:00 in HH:MM:SS local time for the day on which the trip schedule begins.
Example: 14:30:00 for 2:30PM or 25:35:00 for 1:35AM on the next day.
stop_times.arrival_time
Arrival time at a specific stop for a specific trip on a route **in the time zone specified by agency_timezone. ** If there are not separate times for arrival and departure at a stop, enter the same value for arrival_time and departure_time. For times occurring after midnight on the service day, enter the time as a value greater than 24:00:00 in HH:MM:SS local time for the day on which the trip schedule begins....
...and ditto with departure_time