GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-05T15:35:54Z,
for the dataset file:///shared/lextran.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Busmaps.com
Publisher URL:
https://busmaps.com
Feed Email:
alex@busmaps.com
Feed Language:
English
Feed Start Date:
2025-01-26
Feed End Date:
2025-06-07

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. feed_info.txt
  5. routes.txt
  6. shapes.txt
  7. stop_times.txt
  8. stops.txt
  9. transfers.txt
  10. trips.txt

Counts


  • Agencies: 1
  • Blocks: 329
  • Routes: 24
  • Shapes: 132
  • Stops: 3457
  • Trips: 2858

Specification Compliance report

206 notices reported (0 errors, 206 warnings, 0 infos)

Notice Code Severity Total
expired_calendar WARNING 4

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 "399-182.0.1"
3 "399-182.0.2"
4 "399-182.0.3"
5 "399-merged_c168c74fa83a1145a5d4"
fast_travel_between_consecutive_stops WARNING 187

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.

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

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.
1759 "399-1028750" "399-15" 218.46551181320362 0.24273945757022625 145371 101 "399-8380" "Lagrange @ Lyndon" "14:19:26" 145372 102 "399-8385" "Lagrange @ Lisbon" "14:19:30"
1759 "399-1028750" "399-15" 793.3062280467719 0.22036284112410331 145372 102 "399-8385" "Lagrange @ Lisbon" "14:19:30" 145373 103 "399-8390" "Lagrange @ Falconwood" "14:19:31"
1759 "399-1028750" "399-15" 370.82337172120464 0.10300649214477907 145383 113 "399-8440" "Lagrange @ Jefferson" "14:21:56" 145384 114 "399-8445" "Lagrange @ Roosevelt" "14:21:57"
1936 "399-1031449" "399-23" 202.42873636859704 0.8434530682024877 164400 16 "399-18130" "GE Building 3" "15:54:45" 164401 17 "399-18143" "Cordiner @ Building 6" "15:55:00"
970 "399-1030103" "399-21" 184.4853535230004 0.10249186306833356 80476 5 "399-4475" "Southwestern @ Muhammad Ali" "05:54:57" 80477 6 "399-4480" "Southwestern @ Vermont" "05:54:59"
1786 "399-1030211" "399-21" 184.4853535230004 0.10249186306833356 148287 5 "399-4475" "Southwestern @ Muhammad Ali" "05:54:57" 148288 6 "399-4480" "Southwestern @ Vermont" "05:54:59"
119 "399-1030072" "399-21" 184.4853535230004 0.10249186306833356 8921 5 "399-4475" "Southwestern @ Muhammad Ali" "05:54:57" 8922 6 "399-4480" "Southwestern @ Vermont" "05:54:59"
1800 "399-1030225" "399-21" 184.4853535230004 0.10249186306833356 149983 5 "399-4475" "Southwestern @ Muhammad Ali" "19:54:57" 149984 6 "399-4480" "Southwestern @ Vermont" "19:54:59"
984 "399-1030089" "399-21" 184.4853535230004 0.10249186306833356 82172 5 "399-4475" "Southwestern @ Muhammad Ali" "19:54:57" 82173 6 "399-4480" "Southwestern @ Vermont" "19:54:59"
133 "399-1030058" "399-21" 184.4853535230004 0.10249186306833356 10617 5 "399-4475" "Southwestern @ Muhammad Ali" "19:54:57" 10618 6 "399-4480" "Southwestern @ Vermont" "19:54:59"
1667 "399-1025644" "399-02" 624.8891961334308 0.17358033225928635 139122 31 "399-623" "Phillips @ Southern Heights" "19:37:34" 139123 32 "399-628" "Phillips @ 576" "19:37:35"
13 "399-1025486" "399-02" 624.8891961334308 0.17358033225928635 440 31 "399-623" "Phillips @ Southern Heights" "19:37:34" 441 32 "399-628" "Phillips @ 576" "19:37:35"
864 "399-1025514" "399-02" 624.8891961334308 0.17358033225928635 71995 31 "399-623" "Phillips @ Southern Heights" "19:37:34" 71996 32 "399-628" "Phillips @ 576" "19:37:35"
943 "399-1028612" "399-15" 218.46551181320362 0.24273945757022625 77560 101 "399-8380" "Lagrange @ Lyndon" "14:19:26" 77561 102 "399-8385" "Lagrange @ Lisbon" "14:19:30"
92 "399-1028578" "399-15" 218.46551181320362 0.24273945757022625 6005 101 "399-8380" "Lagrange @ Lyndon" "14:19:26" 6006 102 "399-8385" "Lagrange @ Lisbon" "14:19:30"
943 "399-1028612" "399-15" 793.3062280467719 0.22036284112410331 77561 102 "399-8385" "Lagrange @ Lisbon" "14:19:30" 77562 103 "399-8390" "Lagrange @ Falconwood" "14:19:31"
92 "399-1028578" "399-15" 793.3062280467719 0.22036284112410331 6006 102 "399-8385" "Lagrange @ Lisbon" "14:19:30" 6007 103 "399-8390" "Lagrange @ Falconwood" "14:19:31"
943 "399-1028612" "399-15" 370.82337172120464 0.10300649214477907 77572 113 "399-8440" "Lagrange @ Jefferson" "14:21:56" 77573 114 "399-8445" "Lagrange @ Roosevelt" "14:21:57"
92 "399-1028578" "399-15" 370.82337172120464 0.10300649214477907 6017 113 "399-8440" "Lagrange @ Jefferson" "14:21:56" 6018 114 "399-8445" "Lagrange @ Roosevelt" "14:21:57"
1757 "399-1028748" "399-15" 218.46551181320362 0.24273945757022625 145150 101 "399-8380" "Lagrange @ Lyndon" "12:19:26" 145151 102 "399-8385" "Lagrange @ Lisbon" "12:19:30"
1757 "399-1028748" "399-15" 793.3062280467719 0.22036284112410331 145151 102 "399-8385" "Lagrange @ Lisbon" "12:19:30" 145152 103 "399-8390" "Lagrange @ Falconwood" "12:19:31"
1757 "399-1028748" "399-15" 370.82337172120464 0.10300649214477907 145162 113 "399-8440" "Lagrange @ Jefferson" "12:21:56" 145163 114 "399-8445" "Lagrange @ Roosevelt" "12:21:57"
1791 "399-1030216" "399-21" 184.4853535230004 0.10249186306833356 148917 5 "399-4475" "Southwestern @ Muhammad Ali" "10:52:11" 148918 6 "399-4480" "Southwestern @ Vermont" "10:52:13"
975 "399-1030098" "399-21" 184.4853535230004 0.10249186306833356 81106 5 "399-4475" "Southwestern @ Muhammad Ali" "10:52:11" 81107 6 "399-4480" "Southwestern @ Vermont" "10:52:13"
124 "399-1030067" "399-21" 184.4853535230004 0.10249186306833356 9551 5 "399-4475" "Southwestern @ Muhammad Ali" "10:52:11" 9552 6 "399-4480" "Southwestern @ Vermont" "10:52:13"
941 "399-1028610" "399-15" 218.46551181320362 0.24273945757022625 77339 101 "399-8380" "Lagrange @ Lyndon" "12:19:26" 77340 102 "399-8385" "Lagrange @ Lisbon" "12:19:30"
90 "399-1028576" "399-15" 218.46551181320362 0.24273945757022625 5784 101 "399-8380" "Lagrange @ Lyndon" "12:19:26" 5785 102 "399-8385" "Lagrange @ Lisbon" "12:19:30"
941 "399-1028610" "399-15" 793.3062280467719 0.22036284112410331 77340 102 "399-8385" "Lagrange @ Lisbon" "12:19:30" 77341 103 "399-8390" "Lagrange @ Falconwood" "12:19:31"
90 "399-1028576" "399-15" 793.3062280467719 0.22036284112410331 5785 102 "399-8385" "Lagrange @ Lisbon" "12:19:30" 5786 103 "399-8390" "Lagrange @ Falconwood" "12:19:31"
941 "399-1028610" "399-15" 370.82337172120464 0.10300649214477907 77351 113 "399-8440" "Lagrange @ Jefferson" "12:21:56" 77352 114 "399-8445" "Lagrange @ Roosevelt" "12:21:57"
90 "399-1028576" "399-15" 370.82337172120464 0.10300649214477907 5796 113 "399-8440" "Lagrange @ Jefferson" "12:21:56" 5797 114 "399-8445" "Lagrange @ Roosevelt" "12:21:57"
857 "399-1025521" "399-02" 624.8891961334308 0.17358033225928635 71736 31 "399-623" "Phillips @ Southern Heights" "11:23:56" 71737 32 "399-628" "Phillips @ 576" "11:23:57"
6 "399-1025493" "399-02" 624.8891961334308 0.17358033225928635 181 31 "399-623" "Phillips @ Southern Heights" "11:23:56" 182 32 "399-628" "Phillips @ 576" "11:23:57"
1958 "399-1031448" "399-23" 233.57161888684274 0.8434530682024877 166800 16 "399-18130" "GE Building 3" "22:53:47" 166801 17 "399-18143" "Cordiner @ Building 6" "22:54:00"
1755 "399-1028746" "399-15" 291.2873490842715 0.24273945757022625 144929 101 "399-8380" "Lagrange @ Lyndon" "10:17:17" 144930 102 "399-8385" "Lagrange @ Lisbon" "10:17:20"
1755 "399-1028746" "399-15" 793.3062280467719 0.22036284112410331 144930 102 "399-8385" "Lagrange @ Lisbon" "10:17:20" 144931 103 "399-8390" "Lagrange @ Falconwood" "10:17:21"
1755 "399-1028746" "399-15" 370.82337172120464 0.10300649214477907 144941 113 "399-8440" "Lagrange @ Jefferson" "10:19:30" 144942 114 "399-8445" "Lagrange @ Roosevelt" "10:19:31"
1659 "399-1025633" "399-02" 624.8891961334308 0.17358033225928635 138826 31 "399-623" "Phillips @ Southern Heights" "10:18:56" 138827 32 "399-628" "Phillips @ 576" "10:18:57"
364 "399-1034050" "399-43" 180.97030463569467 0.5026952906547074 33566 100 "399-26545" "Rangeland @ Shepherdsville" "13:24:00" 33567 101 "399-26550" "Poplar Level @ Shepherdsville" "13:24:10"
2162 "399-1034206" "399-43" 180.97030463569467 0.5026952906547074 184064 100 "399-26545" "Rangeland @ Shepherdsville" "13:24:00" 184065 101 "399-26550" "Poplar Level @ Shepherdsville" "13:24:10"
1761 "399-1028752" "399-15" 218.46551181320362 0.24273945757022625 145592 101 "399-8380" "Lagrange @ Lyndon" "16:19:26" 145593 102 "399-8385" "Lagrange @ Lisbon" "16:19:30"
1761 "399-1028752" "399-15" 793.3062280467719 0.22036284112410331 145593 102 "399-8385" "Lagrange @ Lisbon" "16:19:30" 145594 103 "399-8390" "Lagrange @ Falconwood" "16:19:31"
1761 "399-1028752" "399-15" 370.82337172120464 0.10300649214477907 145604 113 "399-8440" "Lagrange @ Jefferson" "16:21:56" 145605 114 "399-8445" "Lagrange @ Roosevelt" "16:21:57"
10 "399-1025489" "399-02" 624.8891961334308 0.17358033225928635 329 31 "399-623" "Phillips @ Southern Heights" "16:03:56" 330 32 "399-628" "Phillips @ 576" "16:03:57"
861 "399-1025517" "399-02" 624.8891961334308 0.17358033225928635 71884 31 "399-623" "Phillips @ Southern Heights" "16:03:56" 71885 32 "399-628" "Phillips @ 576" "16:03:57"
1763 "399-1028754" "399-15" 291.2873490842715 0.24273945757022625 145813 101 "399-8380" "Lagrange @ Lyndon" "18:18:17" 145814 102 "399-8385" "Lagrange @ Lisbon" "18:18:20"
1763 "399-1028754" "399-15" 793.3062280467719 0.22036284112410331 145814 102 "399-8385" "Lagrange @ Lisbon" "18:18:20" 145815 103 "399-8390" "Lagrange @ Falconwood" "18:18:21"
1763 "399-1028754" "399-15" 370.82337172120464 0.10300649214477907 145825 113 "399-8440" "Lagrange @ Jefferson" "18:20:30" 145826 114 "399-8445" "Lagrange @ Roosevelt" "18:20:31"
1801 "399-1030226" "399-21" 184.4853535230004 0.10249186306833356 150041 5 "399-4475" "Southwestern @ Muhammad Ali" "20:54:57" 150042 6 "399-4480" "Southwestern @ Vermont" "20:54:59"
985 "399-1030088" "399-21" 184.4853535230004 0.10249186306833356 82230 5 "399-4475" "Southwestern @ Muhammad Ali" "20:54:57" 82231 6 "399-4480" "Southwestern @ Vermont" "20:54:59"
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 "20251205" "20250607" "20251212"
mixed_case_recommended_field WARNING 7

mixed_case_recommended_field

This field has customer-facing text and should use Mixed Case (should contain upper and lower case letters).

This field contains customer-facing text and should use Mixed Case (upper and lower case letters) to ensure good readability when displayed to riders. Avoid the use of abbreviations throughout the feed (e.g. St. for Street) unless a location is called by its abbreviated name (e.g. “JFK Airport”). Abbreviations may be problematic for accessibility by screen reader software and voice user interfaces.

Good examples:
Field Text Dataset
"Schwerin, Hauptbahnhof" Verkehrsverbund Berlin-Brandenburg
"Red Hook/Atlantic Basin" NYC Ferry
"Campo Grande Norte" Carris
Bad examples:
Field Text
"GALLERIA MALL"
"3427 GG 17"
"21 Clark Rd Est"

You can see more about this notice here.

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"stops.txt" "stop_name" "6th @ 4625" 278
"stops.txt" "stop_name" "7th @ S 11th" 324
"stops.txt" "stop_name" "7th @ 11th" 373
"stops.txt" "stop_name" "11th @ 12th" 423
"stops.txt" "stop_name" "11th @ 7th" 3162
"trips.txt" "trip_headsign" "UPS direct I-65" 457
"trips.txt" "trip_headsign" "UPS direct I-65" 2271
stop_too_far_from_shape WARNING 6

stop_too_far_from_shape

Stop too far from trip shape.

Per GTFS Best Practices, route alignments (in shapes.txt) should be within 100 meters of stop locations which a trip serves. This potentially indicates a problem with the location of the stop or the path of the shape.

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the faulty record from `trips.txt`. shapeId (?) The id of the shape that is referred to. tripId (?) The id of the trip that is referred to. stopTimeCsvRowNumber (?) The row number of the faulty record from `stop_times.txt`. stopId (?) The id of the stop that is referred to. stopName (?) The name of the stop that is referred to. match (?) Latitude and longitude pair of the location. geoDistanceToShape (?) Distance from stop to shape.
85 "399-96393" "399-1028587" 5240 "399-6730" "Brownsboro @ Herr" [38.28501899999999,-85.628609] 149.94712177995697
1842 "399-96439" "399-1031333" 154877 "399-18143" "Cordiner @ Building 6" [38.16484910042056,-85.6459686041868] 197.19147756145185
1816 "399-96443" "399-1031307" 151911 "399-18143" "Cordiner @ Building 6" [38.16484910042056,-85.6459686041868] 197.19147756145185
1958 "399-96452" "399-1031448" 166801 "399-18143" "Cordiner @ Building 6" [38.16484910042056,-85.6459686041868] 197.19147756145185
1878 "399-96451" "399-1031368" 158980 "399-18143" "Cordiner @ Building 6" [38.16484910042056,-85.6459686041868] 197.19147756145185
1929 "399-96458" "399-1031420" 163624 "399-18143" "Cordiner @ Building 6" [38.16484910042056,-85.6459686041868] 197.19147756145185
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.
"20251205" "20250127" "20250606"