GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-23T14:30:31Z,
for the dataset file:///shared/key-west.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Trillium Solutions, Inc.
Feed Email:
support+test+keywest-fl-us@trilliumtransit.com
Feed Language:
English
Feed Start Date:
2024-09-30
Feed End Date:
2025-01-13

Files included


  1. agency.txt
  2. areas.txt
  3. booking_rules.txt
  4. calendar.txt
  5. calendar_attributes.txt
  6. calendar_dates.txt
  7. directions.txt
  8. fare_attributes.txt
  9. fare_rules.txt
  10. farezone_attributes.txt
  11. feed_info.txt
  12. frequencies.txt
  13. linked_datasets.txt
  14. location_groups.txt
  15. routes.txt
  16. runcut.txt
  17. shapes.txt
  18. stop_attributes.txt
  19. stop_times.txt
  20. stops.txt
  21. timetable_stop_order.txt
  22. timetables.txt
  23. transfers.txt
  24. trips.txt

Counts


  • Agencies: 1
  • Blocks: 6
  • Routes: 3
  • Shapes: 14
  • Stops: 204
  • Trips: 76

Specification Compliance report

133 notices reported (0 errors, 91 warnings, 42 infos)

Notice Code Severity Total
expired_calendar WARNING 1

expired_calendar

Dataset should not contain date ranges for services that have already expired.

This warning takes into account the calendar_dates.txt file as well as the calendar.txt file.

You can see more about this notice here.

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "c_69963_b_81640_d_127"
fast_travel_between_consecutive_stops WARNING 17

fast_travel_between_consecutive_stops

A transit vehicle moves too fast between two consecutive stops.

The speed threshold depends on route type:

Route type Description Threshold, km/h
0 Light rail 100
1 Subway 150
2 Rail 500
3 Bus 150
4 Ferry 80
5 Cable tram 30
6 Aerial lift 50
7 Funicular 50
11 Trolleybus 150
12 Monorail 150
- Unknown 200

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the problematic trip. tripId (?) `trip_id` of the problematic trip. routeId (?) `route_id` of the problematic trip. speedKph (?) Travel speed (km/h). distanceKm (?) Distance between stops (km). csvRowNumber1 (?) The row number of the first stop time. stopSequence1 (?) `stop_sequence` of the first stop. stopId1 (?) `stop_id` of the first stop. stopName1 (?) `stop_name` of the first stop. departureTime1 (?) `departure_time` of the first stop. csvRowNumber2 (?) The row number of the second stop time. stopSequence2 (?) `stop_sequence` of the second stop. stopId2 (?) `stop_id` of the second stop. stopName2 (?) `stop_name` of the second stop. arrivalTime2 (?) `arrival_time` of the second stop.
45 "t_5751427_b_81640_tn_0" "4716" 174.43729497159592 2.907288249526599 453 42 "2483968" "Bahia Honda - Past Park Entrance" "06:47:00" 454 43 "2483966" "Sunshine Key - Opposite Park Entrance" "06:47:00"
42 "t_5751436_b_81640_tn_0" "4716" 195.44147083961346 3.257357847326891 917 34 "2484006" "Summerland Key - Before Dion's" "20:37:00" 918 35 "2484002" "Ramrod Key - FKAA MM27" "20:37:00"
54 "t_5751443_b_81640_tn_0" "4716" 153.33927933560022 7.666963966780012 1280 15 "2484081" "Bahia Honda - Opposite Park Entrance" "16:30:00" 1281 16 "2484031" "Big Pine Key - Dions" "16:32:00"
41 "t_5751435_b_81640_tn_0" "4716" 425.9540252753182 14.198467509177272 871 43 "2483966" "Sunshine Key - Opposite Park Entrance" "17:35:00" 872 44 "2483960" "Marathon - 11th Street" "17:36:00"
47 "t_5751429_b_81640_tn_0" "4716" 425.9540252753182 14.198467509177272 564 43 "2483966" "Sunshine Key - Opposite Park Entrance" "13:42:00" 565 44 "2483960" "Marathon - 11th Street" "13:43:00"
59 "t_5751437_b_81640_tn_0" "4716" 153.33927933560022 7.666963966780012 938 15 "2484081" "Bahia Honda - Opposite Park Entrance" "07:57:00" 939 16 "2484031" "Big Pine Key - Dions" "07:59:00"
52 "t_5751441_b_81640_tn_0" "4716" 153.33927933560022 7.666963966780012 1166 15 "2484081" "Bahia Honda - Opposite Park Entrance" "11:44:00" 1167 16 "2484031" "Big Pine Key - Dions" "11:46:00"
44 "t_5751424_b_81640_tn_0" "4716" 425.9540252753182 14.198467509177272 317 11 "2483966" "Sunshine Key - Opposite Park Entrance" "10:55:00" 318 12 "2483960" "Marathon - 11th Street" "10:56:00"
49 "t_5751438_b_81640_tn_0" "4716" 153.33927933560022 7.666963966780012 995 15 "2484081" "Bahia Honda - Opposite Park Entrance" "14:39:00" 996 16 "2484031" "Big Pine Key - Dions" "14:41:00"
53 "t_5751442_b_81640_tn_0" "4716" 153.33927933560022 7.666963966780012 1223 15 "2484081" "Bahia Honda - Opposite Park Entrance" "12:44:00" 1224 16 "2484031" "Big Pine Key - Dions" "12:46:00"
50 "t_5751439_b_81640_tn_0" "4716" 153.33927933560022 7.666963966780012 1052 15 "2484081" "Bahia Honda - Opposite Park Entrance" "18:27:00" 1053 16 "2484031" "Big Pine Key - Dions" "18:29:00"
46 "t_5751428_b_81640_tn_0" "4716" 174.43729497159592 2.907288249526599 508 42 "2483968" "Bahia Honda - Past Park Entrance" "12:34:00" 509 43 "2483966" "Sunshine Key - Opposite Park Entrance" "12:34:00"
51 "t_5751440_b_81640_tn_0" "4716" 153.33927933560022 7.666963966780012 1109 15 "2484081" "Bahia Honda - Opposite Park Entrance" "06:04:00" 1110 16 "2484031" "Big Pine Key - Dions" "06:06:00"
55 "t_5751426_b_81640_tn_0" "4716" 153.33927933560022 7.666963966780012 369 15 "2484081" "Bahia Honda - Opposite Park Entrance" "13:39:00" 370 16 "2484031" "Big Pine Key - Dions" "13:41:00"
37 "t_5751431_b_81640_tn_0" "4716" 174.43729497159592 2.907288249526599 673 42 "2483968" "Bahia Honda - Past Park Entrance" "14:20:00" 674 43 "2483966" "Sunshine Key - Opposite Park Entrance" "14:20:00"
38 "t_5751432_b_81640_tn_0" "4716" 174.43729497159592 2.907288249526599 728 42 "2483968" "Bahia Honda - Past Park Entrance" "15:20:00" 729 43 "2483966" "Sunshine Key - Opposite Park Entrance" "15:20:00"
36 "t_5751430_b_81640_tn_0" "4716" 174.43729497159592 2.907288249526599 618 42 "2483968" "Bahia Honda - Past Park Entrance" "08:40:00" 619 43 "2483966" "Sunshine Key - Opposite Park Entrance" "08:40:00"
fast_travel_between_far_stops WARNING 3

fast_travel_between_far_stops

A transit vehicle moves too fast between two far stops.

Two stops are considered "far" if they are more than 10 km apart. This normally indicates a more serious problem than too fast travel between consecutive stops.

The speed threshold depends on route type and are the same as fast_travel_between_consecutive_stops.

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the problematic trip. tripId (?) `trip_id` of the problematic trip. routeId (?) `route_id` of the problematic trip. speedKph (?) Travel speed (km/h). distanceKm (?) Distance between stops (km). csvRowNumber1 (?) The row number of the first stop time. stopSequence1 (?) `stop_sequence` of the first stop. stopId1 (?) `stop_id` of the first stop. stopName1 (?) `stop_name` of the first stop. departureTime1 (?) `departure_time` of the first stop. csvRowNumber2 (?) The row number of the second stop time. stopSequence2 (?) `stop_sequence` of the second stop. stopId2 (?) `stop_id` of the second stop. stopName2 (?) `stop_name` of the second stop. arrivalTime2 (?) `arrival_time` of the second stop.
41 "t_5751435_b_81640_tn_0" "4716" 425.9540252753182 14.198467509177272 871 43 "2483966" "Sunshine Key - Opposite Park Entrance" "17:35:00" 872 44 "2483960" "Marathon - 11th Street" "17:36:00"
47 "t_5751429_b_81640_tn_0" "4716" 425.9540252753182 14.198467509177272 564 43 "2483966" "Sunshine Key - Opposite Park Entrance" "13:42:00" 565 44 "2483960" "Marathon - 11th Street" "13:43:00"
44 "t_5751424_b_81640_tn_0" "4716" 425.9540252753182 14.198467509177272 317 11 "2483966" "Sunshine Key - Opposite Park Entrance" "10:55:00" 318 12 "2483960" "Marathon - 11th Street" "10:56:00"
feed_expiration_date7_days WARNING 1

feed_expiration_date7_days

Dataset should be valid for at least the next 7 days.

The dataset expiration date defined in feed_info.txt is in seven days or less. At any time, the published GTFS dataset should be valid for at least the next 7 days.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. currentDate (?) Current date (YYYYMMDD format). feedEndDate (?) Feed end date (YYYYMMDD format). suggestedExpirationDate (?) Suggested expiration date (YYYYMMDD format).
2 "20260123" "20250113" "20260130"
same_stop_and_agency_url WARNING 2

same_stop_and_agency_url

Same stops.stop_url and agency.agency_url.

A stop should not have the same stops.stop_url as a record from agency.txt.

You can see more about this notice here.

stopCsvRowNumber (?) The row number of the faulty record from `stops.txt`. stopId (?) The faulty record's id. agencyName (?) The faulty record's `agency.agency_name`. stopUrl (?) The duplicate URL value. agencyCsvRowNumber (?) The row number of the faulty record from `agency.txt`.
202 "4149114" "Key West Transit" "http://kwtransit.com" 2
203 "4149115" "Key West Transit" "http://kwtransit.com" 2
stop_without_stop_time WARNING 66

stop_without_stop_time

A stop in stops.txt is not referenced by any stop_times.stop_id.

Such stops are not used by any trip and normally do not provide user value. This notice may indicate a typo in stop_times.txt.

You can see more about this notice here.

Only the first 50 of 66 affected records are displayed below.

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
18 "2483957" "Flagler Ave & Grinnell Street"
20 "2483959" "Reynolds & Washington"
40 "2483989" "3rd Street & Laurel Ave"
52 "2484007" "South & Simonton"
55 "2484011" "South Street & Reynolds"
58 "2484016" "Reynolds & Washington"
59 "2484017" "Duck Ave & 16th Street"
61 "2484019" "Kennedy & Flagler Ave"
62 "2484022" "Flagler Ave & Grinnell Street"
65 "2484028" "Flagler Ave & Leon Street"
68 "2484032" "Flagler & Bertha"
69 "2484033" "Bertha Street & Venetia"
71 "2484035" "South Street & Reynolds"
72 "2484036" "Bertha Street - Hockey Rink"
73 "2484037" "South & Simonton"
76 "2484041" "Simonton & United"
80 "2484048" "S Roosevelt - Sheraton"
82 "2484050" "Whitehead & Truman"
85 "2484053" "Truman & Grinnell"
86 "2484054" "S Roosevelt - Key West by the Sea"
87 "2484055" "Amelia & Whitehead"
88 "2484056" "Amelia & Emma"
90 "2484058" "Truman & Jose Marti Drive"
92 "2484060" "Emma & Petronia"
97 "2484066" "Truman & Duval"
102 "2484080" "5th Ave & Shrimp Road (Opposite El Siboney)"
105 "2484083" "S Roosevelt - Hyatt"
108 "2484086" "S Roosevelt - Key Ambassador"
117 "2484099" "College Road - Opposite Key West Transit"
121 "2484104" "Duck Ave & 19th Street"
125 "2484108" "College Road & Botanical Garden"
126 "2484109" "Oceanwalk & Las Salinas"
127 "2484111" "Duck Ave & 14th Street"
128 "2484115" "Kennedy Drive & Northside Drive"
130 "2484123" "Maloney & 1st Street"
131 "2484124" "College Road past botanical"
134 "2484127" "4th Ave & Front Street"
135 "2484128" "Cross Street & US1"
138 "2484134" "Kennedy Drive & KWHS Stadium"
139 "2484137" "Cross Street & 5th Ave"
142 "2484143" "5th Ave & 5th Street"
144 "2484145" "5th Ave & Shrimp Road"
145 "2484148" "Senior Citizen Center"
147 "2484152" "4th Ave & Front Street"
149 "2484156" "Kennedy Drive & Depoo Medical Center"
150 "2484158" "Coconut Mallory"
151 "2484159" "Cross Street & 5th Ave"
152 "2484160" "Maloney Ave & 2nd Ave"
154 "2484164" "Cross Street & US1"
155 "2484165" "Maloney Ave & 2nd Street"
trip_coverage_not_active_for_next7_days WARNING 1

trip_coverage_not_active_for_next7_days

Trips data should be valid for at least the next seven days.

This notice is triggered if the date range where a significant number of trips are running ends in less than 7 days.

You can see more about this notice here.

currentDate (?) Current date (YYYYMMDD format). serviceWindowStartDate (?) The start date of the majority service window. serviceWindowEndDate (?) The end date of the majority service window.
"20260123" "20231001" "20250113"
unknown_column INFO 34

unknown_column

A column name is unknown.

You can see more about this notice here.

filename (?) The name of the faulty file. fieldName (?) The name of the unknown column. index (?) The index of the faulty column.
"areas.txt" "wkt" 2
"agency.txt" "tts_agency_name" 8
"calendar.txt" "service_name" 2
"calendar_dates.txt" "holiday_name" 3
"feed_info.txt" "feed_license" 5
"feed_info.txt" "feed_id" 10
"routes.txt" "min_headway_minutes" 11
"routes.txt" "eligibility_restricted" 12
"routes.txt" "tts_route_short_name" 15
"routes.txt" "tts_route_long_name" 16
"stop_times.txt" "start_service_area_id" 11
"stop_times.txt" "end_service_area_id" 12
"stop_times.txt" "start_service_area_radius" 13
"stop_times.txt" "end_service_area_radius" 14
"stop_times.txt" "mean_duration_factor" 21
"stop_times.txt" "mean_duration_offset" 22
"stop_times.txt" "safe_duration_factor" 23
"stop_times.txt" "safe_duration_offset" 24
"stop_times.txt" "tts_stop_headsign" 25
"stop_times.txt" "min_arrival_time" 26
"stop_times.txt" "max_departure_time" 27
"stops.txt" "position" 13
"stops.txt" "direction" 14
"trips.txt" "trip_type" 11
"trips.txt" "drt_max_travel_time" 12
"trips.txt" "drt_avg_travel_time" 13
"trips.txt" "drt_advance_book_min" 14
"trips.txt" "drt_pickup_message" 15
"trips.txt" "drt_drop_off_message" 16
"trips.txt" "continuous_pickup_message" 17
"trips.txt" "continuous_drop_off_message" 18
"trips.txt" "tts_trip_headsign" 19
"trips.txt" "tts_trip_short_name" 20
"location_groups.txt" "location_id" 2
unknown_file INFO 8

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"calendar_attributes.txt"
"directions.txt"
"farezone_attributes.txt"
"runcut.txt"
"stop_attributes.txt"
"timetable_stop_order.txt"
"timetables.txt"
"linked_datasets.txt"