GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-05-04T19:40:48Z,
for the dataset file:///shared/butler-county_93ee8b75.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
GMV Syncromatics
Feed Email:
support@gmvsync.com
Feed Language:
English
Feed Start Date:
2026-02-17
Feed End Date:
N/A

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_attributes.txt
  4. directions.txt
  5. feed_info.txt
  6. realtime_routes.txt
  7. routes.txt
  8. shapes.txt
  9. stop_times.txt
  10. stops.txt
  11. trips.txt

Counts


  • Agencies: 1
  • Blocks: 37
  • Routes: 13
  • Shapes: 32
  • Stops: 529
  • Trips: 669

Specification Compliance report

349 notices reported (0 errors, 346 warnings, 3 infos)

Notice Code Severity Total
equal_shape_distance_same_coordinates WARNING 260

equal_shape_distance_same_coordinates

Two consecutive points have equal shape_dist_traveled and the same lat/lon coordinates in shapes.txt.

When sorted by shape.shape_pt_sequence, the values for shape_dist_traveled must increase along a shape. Two consecutive points with equal values for shape_dist_traveled and the same coordinates indicate a duplicative shape point.

You can see more about this notice here.

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

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous shape point. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`.
"24872" 164 604.0302938539801 11 163 604.0302938539801 10
"24872" 169 749.7091043022479 16 168 749.7091043022479 15
"24872" 174 1005.7505716520375 21 173 1005.7505716520375 20
"24872" 179 1269.1902533045372 26 178 1269.1902533045372 25
"24872" 184 1465.3547057311093 31 183 1465.3547057311093 30
"24872" 188 1624.3542459209232 35 187 1624.3542459209232 34
"24872" 192 1742.048043349286 39 191 1742.048043349286 38
"24872" 196 1903.2614690741748 43 195 1903.2614690741748 42
"24872" 199 2049.471285050532 46 198 2049.471285050532 45
"24872" 202 2192.6691199086495 49 201 2192.6691199086495 48
"24872" 206 2361.3174280614066 53 205 2361.3174280614066 52
"24872" 209 2507.3416281657514 56 208 2507.3416281657514 55
"24872" 213 2699.411289602652 60 212 2699.411289602652 59
"24872" 217 2844.168952202912 64 216 2844.168952202912 63
"24872" 243 4632.655157619825 90 242 4632.655157619825 89
"24872" 251 4962.793462925565 98 250 4962.793462925565 97
"24872" 258 5268.549985755852 105 257 5268.549985755852 104
"24872" 267 5720.93705497945 114 266 5720.93705497945 113
"24872" 281 6384.2288607166065 128 280 6384.2288607166065 127
"24872" 284 6470.5020336130965 131 283 6470.5020336130965 130
"24872" 292 6834.5489230947705 139 291 6834.5489230947705 138
"24872" 295 6911.4156351334095 142 294 6911.4156351334095 141
"24872" 301 7166.825596952441 148 300 7166.825596952441 147
"24872" 306 7423.072367767125 153 305 7423.072367767125 152
"24872" 312 7830.6342615780295 159 311 7830.6342615780295 158
"24872" 317 8083.556712296945 164 316 8083.556712296945 163
"24872" 327 8656.749502814584 174 326 8656.749502814584 173
"24872" 365 10633.03783394453 212 364 10633.03783394453 211
"24872" 369 10897.045706100105 216 368 10897.045706100105 215
"24872" 380 11678.921889549387 227 379 11678.921889549387 226
"24872" 383 11810.444963850727 230 382 11810.444963850727 229
"24872" 386 11909.91592918249 233 385 11909.91592918249 232
"24872" 390 12114.524595745766 237 389 12114.524595745766 236
"24872" 393 12219.475843084798 240 392 12219.475843084798 239
"24872" 397 12381.53273038224 244 396 12381.53273038224 243
"24872" 401 12546.032053330691 248 400 12546.032053330691 247
"29604" 7030 6841.847582614496 60 7029 6841.847582614496 59
"29604" 7041 7279.502566396527 71 7040 7279.502566396527 70
"29604" 7053 7722.050530432571 83 7052 7722.050530432571 82
"29604" 7076 8736.987125732241 106 7075 8736.987125732241 105
"29604" 7113 10859.141288994584 143 7112 10859.141288994584 142
"29604" 7134 14342.91460862164 164 7133 14342.91460862164 163
"29604" 7187 17035.999533083046 217 7186 17035.999533083046 216
"29604" 7250 19962.331984189776 280 7249 19962.331984189776 279
"29604" 7389 27257.443998386334 419 7388 27257.443998386334 418
"29604" 7498 36131.91148588655 528 7497 36131.91148588655 527
"29989" 7530 1287.682423440111 27 7529 1287.682423440111 26
"29989" 7552 2404.348118612527 49 7551 2404.348118612527 48
"29989" 7561 2913.749512156329 58 7560 2913.749512156329 57
"29989" 7601 4969.131126898135 98 7600 4969.131126898135 97
leading_or_trailing_whitespaces WARNING 2

leading_or_trailing_whitespaces

The value in CSV file has leading or trailing whitespaces.

This notice is emitted for values protected with double quotes since whitespaces for non-protected values are trimmed automatically by CSV parser.

The validator strips whitespaces from protected values. We do not see any use case when such a whitespace may be needed. On the other hand, some real-world feeds use trailing whitespaces for some values and omit them for the others. This is causing the largest problem when a primary key and a foreign key differ just by a whitespace: it is clear that they are intended to be the same, that is why we always strip whitespaces.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
"routes.txt" 7 "route_short_name" "R3 "
"routes.txt" 8 "route_short_name" "R6 "
missing_feed_info_date WARNING 1

missing_feed_info_date

One of feed_start_date or feed_end_date is specified, but not both.

Even though feed_info.start_date and feed_info.end_date are optional, if one field is provided the second one should also be provided.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. fieldName (?) Either `feed_end_date` or `feed_start_date`.
2 "feed_end_date"
missing_recommended_field WARNING 1

missing_recommended_field

A recommended field is missing.

The given field has no value in some input row, even though values are recommended.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) The name of the missing field.
"feed_info.txt" 2 "feed_end_date"
mixed_case_recommended_field WARNING 3

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" "AMHUB SB" 396
"stops.txt" "stop_name" "AMHUB NB" 411
"stops.txt" "stop_name" "TJ MAX" 492
route_color_contrast WARNING 2

route_color_contrast

Insufficient route color contrast.

A route's color and route_text_color should be contrasting.

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeColor (?) The faulty record's HTML route color. routeTextColor (?) The faulty record's HTML route text color.
"5635" 5 "#D4DB12" "#FFFFFF"
"6753" 13 "#FCD900" "#FFFFFF"
route_long_name_contains_short_name WARNING 7

route_long_name_contains_short_name

Long name should not contain short name for a single route.

In routes.txt, route_long_name should not contain the value for route_short_name, because when both are provided, they are often combined by transit applications. Note that only one of the two fields is required. If there is no short name used for a route, use route_long_name only.

Good examples:

route_short_name/route_long_name Dataset
"N"/"Judah" Muni San Fransisco
"6"/"ML King Jr Blvd" Trimet Portland Streetcar
"55"/"Boulevard Saint Laurent" STM Montreal
"1"/"Rangiora/Cashmere" Metro Christchurch

Bad examples:

route_short_name/route_long_name
"604"/"604"
"14"/"Route 14"
"2"/"Route 2: Bellows Falls In-Town"

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeShortName (?) The faulty record's `route_short_name`. routeLongName (?) The faulty record's `route_long_name`.
"5635" 5 "R1" "R1 - Hamilton/Middletown Shuttle"
"5638" 7 "R3" "R3 - Oxford-Forest Park Connector"
"5640" 8 "R6" "R6 - Job Connector"
"6750" 11 "O1" "O1"
"6752" 12 "O2" "O2"
"6753" 13 "O3" "O3"
"6754" 14 "O4" "O4"
same_name_and_description_for_route WARNING 9

same_name_and_description_for_route

Same name and description for route.

The GTFS spec defines routes.txt route_desc as:

Description of a route that provides useful, quality information. Do not simply duplicate the name of the route.

See the GTFS and GTFS Best Practices links below for more examples of how to populate the route_short_name, route_long_name, and route_desc fields.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. routeId (?) The id of the faulty record. routeDesc (?) The `routes.routes_desc` of the faulty record. specifiedField (?) Either `route_short_name` or `route_long_name`.
5 "5635" "R1 - Hamilton/Middletown Shuttle" "route_long_name"
7 "5638" "R3 - Oxford-Forest Park Connector" "route_long_name"
8 "5640" "R6 - Job Connector" "route_long_name"
9 "6067" "CincyLink" "route_long_name"
10 "6734" "CincyLink Express" "route_long_name"
11 "6750" "O1" "route_short_name"
12 "6752" "O2" "route_short_name"
13 "6753" "O3" "route_short_name"
14 "6754" "O4" "route_short_name"
trip_distance_exceeds_shape_distance_below_threshold WARNING 61

trip_distance_exceeds_shape_distance_below_threshold

The distance between the last shape point and last stop point is greater than 0 but less than the 11.1m threshold.

You can see more about this notice here.

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

tripId (?) The faulty record's trip id. shapeId (?) The faulty record's shape id. maxTripDistanceTraveled (?) The faulty record's trip max distance traveled. maxShapeDistanceTraveled (?) The faulty record's shape max distance traveled. geoDistanceToShape (?) The distance in meters between the shape and the stop.
"SaIO3O3 IB1220" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1305" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1350" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1435" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1520" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1605" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1650" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1735" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1820" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1905" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB1950" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB2035" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB2120" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB2205" "29999" 6533.528012509642 6532.5285743268505 0.0
"SaIO3O3 IB2250" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1220" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1305" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1350" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1435" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1520" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1605" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1650" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1735" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1820" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1905" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB1950" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB2035" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB2120" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB2205" "29999" 6533.528012509642 6532.5285743268505 0.0
"SuIO3O3 IB2250" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1620" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1705" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1750" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1835" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB1920" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB2005" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB2050" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB2135" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIO3O3 IB2220" "29999" 6533.528012509642 6532.5285743268505 0.0
"WkIR1IB0730" "29158" 31645.98702754815 31637.79252770452 0.0
"WkIR1IB0830" "29158" 31645.98702754815 31637.79252770452 0.0
"WkIR1IB0930" "29158" 31645.98702754815 31637.79252770452 0.0
"WkIR1IB1030" "29158" 31645.98702754815 31637.79252770452 0.0
"WkIR1IB1130" "29158" 31645.98702754815 31637.79252770452 0.0
"WkIR1IB1230" "29158" 31645.98702754815 31637.79252770452 0.0
"WkIR1IB1330" "29158" 31645.98702754815 31637.79252770452 0.0
"WkIR1IB1430" "29158" 31645.98702754815 31637.79252770452 0.0
"WkIR1IB1530" "29158" 31645.98702754815 31637.79252770452 0.0
"WkIR1IB1630" "29158" 31645.98702754815 31637.79252770452 0.0
"WkIR1IB1730" "29158" 31645.98702754815 31637.79252770452 0.0
unknown_file INFO 3

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"calendar_attributes.txt"
"realtime_routes.txt"
"directions.txt"