GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-24T05:24:25Z,
for the dataset file:///shared/opendata-hamilton-ca2.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
HSR
Feed Email:
N/A
Feed Language:
English
Feed Start Date:
2025-08-31
Feed End Date:
2026-04-25

Files included


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

Counts


  • Agencies: 1
  • Blocks: 1573
  • Routes: 71
  • Shapes: 292
  • Stops: 2371
  • Trips: 23992

Specification Compliance report

130694 notices reported (1430 errors, 129262 warnings, 2 infos)

Notice Code Severity Total
decreasing_or_equal_stop_time_distance ERROR 2

decreasing_or_equal_stop_time_distance

Decreasing or equal shape_dist_traveled in stop_times.txt.

When sorted by stop_times.stop_sequence, two consecutive entries in stop_times.txt should have increasing distance, based on the field shape_dist_traveled. If the values are equal, this is considered as an error.

You can see more about this notice here.

tripId (?) The id of the faulty trip. stopId (?) The id of the faulty stop. csvRowNumber (?) The row number from `stop_times.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. stopSequence (?) The faulty record's `stop_times.stop_sequence`. prevCsvRowNumber (?) The row number from `stop_times.txt` of the previous stop time. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous stop time. prevStopSequence (?) The previous record's `stop_times.stop_sequence`.
"2087721" "2010" 528524 2.4774 11 528523 2.4774 10
"2074351" "2010" 954527 2.4774 11 954526 2.4774 10
equal_shape_distance_diff_coordinates ERROR 56

equal_shape_distance_diff_coordinates

Two consecutive points have equal shape_dist_traveled and different lat/lon coordinates in shapes.txt and the distance between the two points is greater than the 1.11m.

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 different coordinates indicate an error.

You can see more about this notice here.

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

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) The faulty record's `shape_dist_traveled` value. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) The previous shape point's `shape_dist_traveled` value. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`. actualDistanceBetweenShapePoints (?) Actual distance traveled along the shape from the first shape point to the previous shape point.
"33085" 2541 1.1148 85 2540 1.1148 84 1.245537139708849
"33081" 1216 10.4255 486 1215 10.4255 485 1.245537139708849
"33175" 65882 0.007 14 65881 0.007 13 1.2454303220113587
"33175" 65894 0.013 26 65893 0.013 25 1.150225364107689
"33296" 106473 23.9142 517 106472 23.9142 516 1.2454303220113587
"33293" 58899 2.6566 63 58898 2.6566 62 1.2454303220113587
"33051" 95806 1.2957 222 95805 1.2957 221 1.113596677136428
"33052" 96486 1.2957 222 96485 1.2957 221 1.113596677136428
"33052" 96598 1.4054 334 96597 1.4054 333 1.3181044094732506
"33291" 104733 2.6566 63 104732 2.6566 62 1.2454303220113587
"33050" 95393 7.787 297 95392 7.787 296 1.1794905448131328
"33292" 101840 2.6566 63 101839 2.6566 62 1.2454303220113587
"33176" 89200 0.007 14 89199 0.007 13 1.2454303220113587
"33176" 89212 0.013 26 89211 0.013 25 1.150225364107689
"33297" 107824 35.2482 867 107823 35.2482 866 1.2454303220113587
"33298" 61293 20.6434 445 61292 20.6434 444 1.2454303220113587
"33043" 79302 14.8556 454 79301 14.8556 453 1.1133099954784647
"33160" 73973 15.0041 454 73972 15.0041 453 1.1794905448131328
"33046" 76507 8.6077 548 76506 8.6077 547 1.1133099954784647
"33044" 78340 13.9466 421 78339 13.9466 420 1.1133099954784647
"33286" 99145 0.0367 3 99144 0.0367 2 36.55134356399123
"33045" 77471 8.6077 548 77470 8.6077 547 1.1133099954784647
"32999" 71589 0.007 14 71588 0.007 13 1.2454303220113587
"32999" 71601 0.013 26 71600 0.013 25 1.150225364107689
"32998" 70854 0.007 14 70853 0.007 13 1.2454303220113587
"32998" 70866 0.013 26 70865 0.013 25 1.150225364107689
"33039" 11287 15.3533 493 11286 15.3533 492 1.2454303220113587
"33039" 11299 15.3593 505 11298 15.3593 504 1.150225364107689
"33037" 11925 8.8174 304 11924 8.8174 303 1.2454303220113587
"33037" 11937 8.8234 316 11936 8.8234 315 1.150225364107689
"33158" 40186 3.6888 244 40185 3.6888 243 1.113596677136428
"33159" 39715 7.7844 300 39714 7.7844 299 1.1794905448131328
"33157" 41584 3.6888 244 41583 3.6888 243 1.113596677136428
"33262" 29666 1.1148 85 29665 1.1148 84 1.245537139708849
"33260" 30846 10.4255 486 30845 10.4255 485 1.245537139708849
"33136" 6449 5.4434 203 6448 5.4434 202 1.2454303220113587
"33135" 7073 8.5199 617 7072 8.5199 616 1.2454303220113587
"33117" 94583 20.6434 445 94582 20.6434 444 1.2454303220113587
"33114" 93704 2.6566 63 93703 2.6566 62 1.2454303220113587
"33115" 92745 2.6566 63 92744 2.6566 62 1.2454303220113587
"33113" 92028 2.6566 63 92027 2.6566 62 1.2454303220113587
"33118" 115521 35.2482 867 115520 35.2482 866 1.2454303220113587
"33119" 114044 23.9142 517 114043 23.9142 516 1.2454303220113587
"33226" 90229 7.787 297 90228 7.787 296 1.1794905448131328
"33106" 110336 0.0367 3 110335 0.0367 2 36.55134356399123
"33222" 101361 8.6077 548 101360 8.6077 547 1.1133099954784647
"33223" 98694 8.6077 548 98693 8.6077 547 1.1133099954784647
"33220" 4667 14.8556 454 4666 14.8556 453 1.1133099954784647
"33228" 55165 1.2957 222 55164 1.2957 221 1.113596677136428
"33228" 55277 1.4054 334 55276 1.4054 333 1.3181044094732506
trip_distance_exceeds_shape_distance ERROR 1372

trip_distance_exceeds_shape_distance

The distance between the last shape point and last stop point is greater than or equal to the 11.1m threshold.

You can see more about this notice here.

Only the first 50 of 1372 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.
"2096638" "33187" 23.4995 23.4895 77.02304863823686
"2096630" "33203" 22.7226 22.7126 28.546680166063936
"2096633" "33203" 22.7226 22.7126 28.546680166063936
"2096632" "33197" 24.5729 24.5629 18.533886393161403
"2100190" "33231" 12.5461 12.5361 38.87603755456831
"2100191" "33231" 12.5461 12.5361 38.87603755456831
"2100192" "33231" 12.5461 12.5361 38.87603755456831
"2100193" "33231" 12.5461 12.5361 38.87603755456831
"2100194" "33231" 12.5461 12.5361 38.87603755456831
"2100195" "33231" 12.5461 12.5361 38.87603755456831
"2100267" "33231" 12.5461 12.5361 38.87603755456831
"2100265" "33231" 12.5461 12.5361 38.87603755456831
"2100262" "33231" 12.5461 12.5361 38.87603755456831
"2100263" "33231" 12.5461 12.5361 38.87603755456831
"2100260" "33231" 12.5461 12.5361 38.87603755456831
"2100261" "33231" 12.5461 12.5361 38.87603755456831
"2100268" "33231" 12.5461 12.5361 38.87603755456831
"2100269" "33231" 12.5461 12.5361 38.87603755456831
"2063178" "33017" 23.4995 23.4895 77.02304863823686
"2063179" "33015" 23.4493 23.4393 92.33388937648101
"2096469" "33187" 23.4995 23.4895 77.02304863823686
"2096462" "33189" 23.4493 23.4393 92.33388937648101
"2096465" "33187" 23.4995 23.4895 77.02304863823686
"2096466" "33189" 23.4493 23.4393 92.33388937648101
"2096467" "33187" 23.4995 23.4895 77.02304863823686
"2096858" "33187" 23.4995 23.4895 77.02304863823686
"2096537" "33203" 22.7226 22.7126 28.546680166063936
"2096534" "33197" 24.5729 24.5629 18.533886393161403
"2096533" "33203" 22.7226 22.7126 28.546680166063936
"2096530" "33203" 22.7226 22.7126 28.546680166063936
"2078568" "33053" 12.5461 12.5361 38.87603755456831
"2062887" "33020" 22.7226 22.7126 28.546680166063936
"2062886" "33026" 24.5729 24.5629 18.533886393161403
"2062881" "33020" 22.7226 22.7126 28.546680166063936
"2062883" "33020" 22.7226 22.7126 28.546680166063936
"2062882" "33026" 24.5729 24.5629 18.533886393161403
"2096378" "33187" 23.4995 23.4895 77.02304863823686
"2096370" "33189" 23.4493 23.4393 92.33388937648101
"2096372" "33187" 23.4995 23.4895 77.02304863823686
"2096373" "33189" 23.4493 23.4393 92.33388937648101
"2096375" "33187" 23.4995 23.4895 77.02304863823686
"2096376" "33189" 23.4493 23.4393 92.33388937648101
"2088534" "33053" 12.5461 12.5361 38.87603755456831
"2063249" "33026" 24.5729 24.5629 18.533886393161403
"2063244" "33020" 22.7226 22.7126 28.546680166063936
"2063246" "33026" 24.5729 24.5629 18.533886393161403
"2063247" "33020" 22.7226 22.7126 28.546680166063936
"2063240" "33026" 24.5729 24.5629 18.533886393161403
"2063241" "33020" 22.7226 22.7126 28.546680166063936
"2063243" "33026" 24.5729 24.5629 18.533886393161403
duplicate_route_name WARNING 31

duplicate_route_name

Two distinct routes have either the same route_short_name, the same route_long_name, or the same combination of route_short_name and route_long_name.

All routes of the same route_type with the same agency_id should have unique combinations of route_short_name and route_long_name.

Note that there may be valid cases where routes have the same short and long name, e.g., if they serve different areas. However, different directions must be modeled as the same route.

Example of bad data:

route_id route_short_name route_long_name
route1 U1 Southern
route2 U1 Southern

You can see more about this notice here.

csvRowNumber1 (?) The row number of the first occurrence. routeId1 (?) The id of the the first occurrence. csvRowNumber2 (?) The row number of the other occurrence. routeId2 (?) The id of the the other occurrence. routeShortName (?) Common `routes.route_short_name`. routeLongName (?) Common `routes.route_long_name`. routeTypeValue (?) Common `routes.route_type`. agencyId (?) Common `routes.agency_id`.
25 "5548" 26 "5505" "10" "B-LINE EXPRESS" 3 "HSR"
4 "5526" 28 "5569" "52" "DUNDAS LOCAL" 3 "HSR"
17 "5507" 29 "5550" "12" "WENTWORTH" 3 "HSR"
13 "5499" 30 "5542" "04" "BAYFRONT" 3 "HSR"
22 "5500" 31 "5543" "05" "DELAWARE" 3 "HSR"
19 "5497" 32 "5540" "02" "BARTON" 3 "HSR"
21 "5503" 34 "5546" "08" "YORK" 3 "HSR"
8 "5520" 37 "5563" "35" "COLLEGE" 3 "HSR"
23 "5501" 40 "5544" "06" "ABERDEEN" 3 "HSR"
14 "5508" 41 "5551" "16" "ANCASTER" 3 "HSR"
36 "5562" 43 "5519" "34" "UPPER PARADISE" 3 "HSR"
35 "5561" 44 "5518" "33" "SANATORIUM" 3 "HSR"
16 "5506" 46 "5549" "11" "PARKDALE" 3 "HSR"
15 "5509" 50 "5552" "18" "WATERDOWN MOUNTAINEER" 3 "HSR"
3 "5553" 52 "5510" "20" "A-LINE EXPRESS" 3 "HSR"
42 "5558" 55 "5515" "25" "UPPER WENTWORTH" 3 "HSR"
7 "5557" 56 "5514" "24" "UPPER SHERMAN" 3 "HSR"
5 "5560" 57 "5517" "27" "UPPER JAMES" 3 "HSR"
39 "5559" 58 "5516" "26" "UPPER WELLINGTON" 3 "HSR"
20 "5502" 59 "5545" "07" "LOCKE" 3 "HSR"
38 "5555" 60 "5512" "22" "UPPER OTTAWA" 3 "HSR"
24 "5539" 61 "5496" "01" "KING" 3 "HSR"
51 "5511" 62 "5554" "21" "UPPER KENILWORTH" 3 "HSR"
12 "5498" 63 "5541" "03" "CANNON" 3 "HSR"
6 "5527" 65 "5570" "55" "STONEY CREEK CENTRAL" 3 "HSR"
9 "5521" 67 "5564" "41" "MOHAWK" 3 "HSR"
53 "5513" 68 "5556" "23" "UPPER GAGE" 3 "HSR"
10 "5522" 69 "5565" "42" "MOHAWK EAST" 3 "HSR"
33 "5567" 70 "5524" "44" "RYMAL" 3 "HSR"
11 "5523" 71 "5566" "43" "STONE CHURCH" 3 "HSR"
27 "5568" 72 "5525" "51" "UNIVERSITY" 3 "HSR"
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 3142

equal_shape_distance_diff_coordinates_distance_below_threshold

Two consecutive points have equal shape_dist_traveled and different lat/lon coordinates in shapes.txt and the distance between the two points is greater than 0 but less than 1.11m.

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 small difference of coordinates (greater than 0 but less than 1.11 m distance) result in a warning.

You can see more about this notice here.

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

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) The faulty record's `shape_dist_traveled` value. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) The previous shape point's `shape_dist_traveled` value. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`. actualDistanceBetweenShapePoints (?) Actual distance traveled along the shape from the first shape point to the previous shape point.
"33090" 17277 7.0299 158 17276 7.0299 157 0.6878702694168729
"33090" 17315 7.1808 196 17314 7.1808 195 0.9168613773366434
"33090" 17320 7.1852 201 17319 7.1852 200 0.6435071626056592
"33090" 17324 7.1886 205 17323 7.1886 204 0.7783657091980756
"33090" 17327 7.1906 208 17326 7.1906 207 0.5618458847823822
"33095" 15951 5.855 148 15950 5.855 147 0.16203429817693804
"33095" 15953 5.8664 150 15952 5.8664 149 0.1375796029155504
"33095" 15970 5.9508 167 15969 5.9508 166 0.16203602355731825
"33095" 16005 6.0977 202 16004 6.0977 201 0.16203429817693804
"33095" 16083 7.4652 280 16082 7.4652 279 0.9467429080533615
"33095" 16100 7.5135 297 16099 7.5135 296 0.5618465802426696
"33095" 16176 8.3039 373 16175 8.3039 372 0.26727961044028137
"33094" 15160 5.1357 164 15159 5.1357 163 0.16203429817693804
"33094" 15162 5.1471 166 15161 5.1471 165 0.1375796029155504
"33094" 15179 5.2316 183 15178 5.2316 182 0.16203602355731825
"33094" 15214 5.3785 218 15213 5.3785 217 0.16203429817693804
"33094" 15292 6.746 296 15291 6.746 295 0.9467429080533615
"33094" 15309 6.7943 313 15308 6.7943 312 0.5618465802426696
"33094" 15385 7.5847 389 15384 7.5847 388 0.26727961044028137
"33086" 2266 5.2691 107 2265 5.2691 106 0.1964921427267914
"33086" 2307 5.4748 148 2306 5.4748 147 0.6578641938688493
"33086" 2338 6.0848 179 2337 6.0848 178 0.39297434849786683
"33085" 2516 1.0972 60 2515 1.0972 59 0.6865716869092164
"33085" 2518 1.0982 62 2517 1.0982 61 0.561849428933838
"33085" 2522 1.1016 66 2521 1.1016 65 0.8982500473140318
"33085" 2525 1.1036 69 2524 1.1036 68 0.6435566572224637
"33085" 2527 1.105 71 2526 1.105 70 0.5503508388615557
"33085" 2529 1.106 73 2528 1.106 72 0.6435567022190422
"33085" 2531 1.1074 75 2530 1.1074 74 0.5503508920857582
"33085" 2536 1.1114 80 2535 1.1114 79 0.601648140641045
"33085" 2539 1.1134 83 2538 1.1134 82 0.5248143318054315
"33085" 2543 1.1162 87 2542 1.1162 86 0.5248144138848256
"33085" 2547 1.1192 91 2546 1.1192 90 0.5346353368977566
"33085" 2549 1.1206 93 2548 1.1206 92 1.012956079030131
"33085" 2551 1.1221 95 2550 1.1221 94 0.5672179684372949
"33085" 2553 1.1231 97 2552 1.1231 96 0.9186669411028462
"33085" 2555 1.1241 99 2554 1.1241 98 0.840274971072258
"33085" 2557 1.1251 101 2556 1.1251 100 0.8762898122286733
"33085" 2560 1.1271 104 2559 1.1271 103 0.7292803656280826
"33085" 2562 1.1281 106 2561 1.1281 105 0.4127633582579682
"33085" 2564 1.1295 108 2563 1.1295 107 0.7290448064581189
"33085" 2570 1.1345 114 2569 1.1345 113 0.5248147422022452
"33085" 2573 1.1369 117 2572 1.1369 116 0.687939098295616
"33085" 2575 1.1383 119 2574 1.1383 118 0.6435570830205749
"33085" 2579 1.1413 123 2578 1.1413 122 0.7100783016430958
"33085" 2583 1.1447 127 2582 1.1447 126 0.7950581457543183
"33085" 2585 1.1457 129 2584 1.1457 128 0.44478040434662636
"33085" 2587 1.1467 131 2586 1.1467 130 0.44478040434662636
"33085" 2589 1.1477 133 2588 1.1477 132 0.3335853034368008
"33085" 2591 1.1487 135 2590 1.1487 134 0.5618494813701926
expired_calendar WARNING 28

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 "8501"
3 "8503"
4 "8502"
5 "8701_merged_2137305"
8 "21903"
10 "703"
11 "3_merged_2137299"
12 "8303"
14 "14601_merged_2137303"
15 "4"
16 "6"
18 "1402"
19 "1401"
23 "14602_merged_2137301"
24 "8202"
25 "8203"
27 "14706"
28 "3403"
29 "24202"
30 "14703"
31 "14702"
33 "14606"
34 "14604"
38 "14603_merged_2137302"
39 "1_merged_2137298"
40 "2_merged_2137300"
44 "14704"
45 "1601_merged_2137304"
fast_travel_between_consecutive_stops WARNING 2

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.
11771 "2087721" "5521" 232.85406400827287 0.3234084222337123 528523 10 "3032" "UPPER WENTWORTH at EDUCATION" "08:23:55" 528524 11 "2010" "LIME RIDGE TERMINAL PLATFORM 5" "08:24:00"
21324 "2074351" "5521" 232.85406400827287 0.3234084222337123 954526 10 "3032" "UPPER WENTWORTH at EDUCATION" "08:23:55" 954527 11 "2010" "LIME RIDGE TERMINAL PLATFORM 5" "08:24:00"
missing_feed_contact_email_and_url WARNING 1

missing_feed_contact_email_and_url

Best Practices for feed_info.txt suggest providing at least one of feed_contact_email and feed_contact_url.

You can see more about this notice here.

csvRowNumber (?) The row number of the validated record.
2
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.
"fare_attributes.txt" 2 "agency_id"
missing_timepoint_value WARNING 100000

missing_timepoint_value

stop_times.timepoint value is missing for a record.

When at least one of stop_times.arrival_time or stop_times.departure_time are provided, stop_times.timepoint should be defined

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's `stop_times.trip_id`. stopSequence (?) The faulty record's `stop_times.stop_sequence`.
2 "2065448" 1
3 "2065448" 2
4 "2065448" 3
5 "2065448" 4
6 "2065448" 5
7 "2065448" 6
8 "2065448" 7
9 "2065448" 8
10 "2065448" 9
11 "2065448" 10
12 "2065448" 11
13 "2065448" 12
14 "2065448" 13
15 "2065448" 14
16 "2065448" 15
17 "2065448" 16
18 "2065448" 17
19 "2065448" 18
20 "2065448" 19
21 "2065448" 20
22 "2065448" 21
23 "2065448" 22
24 "2065448" 23
25 "2065448" 24
26 "2065448" 25
27 "2065448" 26
28 "2065448" 27
29 "2065448" 28
30 "2065448" 29
31 "2065448" 30
32 "2065448" 31
33 "2065448" 32
34 "2065448" 33
35 "2065448" 34
36 "2065448" 35
37 "2065448" 36
38 "2065448" 37
39 "2065448" 38
40 "2065448" 39
41 "2065448" 40
42 "2065448" 41
43 "2065448" 42
44 "2065448" 43
45 "2065449" 1
46 "2065449" 2
47 "2065449" 3
48 "2065449" 4
49 "2065449" 5
50 "2065449" 6
51 "2065449" 7
mixed_case_recommended_field WARNING 25262

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.

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

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"trips.txt" "trip_headsign" "16f - GARNER at WILSON via FIDDLERS GREEN" 2
"trips.txt" "trip_headsign" "16f - GARNER at WILSON via FIDDLERS GREEN" 3
"trips.txt" "trip_headsign" "4 - MOUNT ALBION LOOP via BURLINGTON STREET" 4
"trips.txt" "trip_headsign" "4 - MOUNT ALBION LOOP via BURLINGTON STREET" 5
"trips.txt" "trip_headsign" "16f - GARNER at WILSON via FIDDLERS GREEN" 6
"trips.txt" "trip_headsign" "16f - GARNER at WILSON via FIDDLERS GREEN" 7
"trips.txt" "trip_headsign" "16f - GARNER at WILSON via FIDDLERS GREEN" 8
"trips.txt" "trip_headsign" "16f - GARNER at WILSON via FIDDLERS GREEN" 9
"trips.txt" "trip_headsign" "16 - GARNER at WILSON via WILSON" 10
"trips.txt" "trip_headsign" "16 - GARNER at WILSON via WILSON" 11
"trips.txt" "trip_headsign" "16 - GARNER at WILSON via WILSON" 12
"trips.txt" "trip_headsign" "16 - GARNER at WILSON via WILSON" 13
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 14
"trips.txt" "trip_headsign" "4 - MOUNT ALBION LOOP via BURLINGTON STREET" 15
"trips.txt" "trip_headsign" "4 - MOUNT ALBION LOOP via BURLINGTON STREET" 16
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 17
"trips.txt" "trip_headsign" "4 - MOUNT ALBION LOOP via BURLINGTON STREET" 18
"trips.txt" "trip_headsign" "HAMILTON GO CENTRE" 19
"trips.txt" "trip_headsign" "HAMILTON GO CENTRE" 20
"trips.txt" "trip_headsign" "4 - MOUNT ALBION LOOP via BURLINGTON STREET" 21
"trips.txt" "trip_headsign" "HAMILTON GO CENTRE" 22
"trips.txt" "trip_headsign" "HAMILTON GO CENTRE" 23
"trips.txt" "trip_headsign" "HAMILTON GO CENTRE" 24
"trips.txt" "trip_headsign" "HAMILTON GO CENTRE" 25
"trips.txt" "trip_headsign" "HAMILTON GO CENTRE" 26
"trips.txt" "trip_headsign" "HAMILTON GO CENTRE" 27
"trips.txt" "trip_headsign" "HAMILTON GO CENTRE" 28
"trips.txt" "trip_headsign" "HAMILTON GO CENTRE" 29
"trips.txt" "trip_headsign" "MEADOWLANDS TERMINAL" 30
"trips.txt" "trip_headsign" "MEADOWLANDS TERMINAL" 31
"trips.txt" "trip_headsign" "MEADOWLANDS TERMINAL" 32
"trips.txt" "trip_headsign" "MEADOWLANDS TERMINAL" 33
"trips.txt" "trip_headsign" "MEADOWLANDS TERMINAL" 34
"trips.txt" "trip_headsign" "MEADOWLANDS TERMINAL" 35
"trips.txt" "trip_headsign" "MEADOWLANDS TERMINAL" 36
"trips.txt" "trip_headsign" "MEADOWLANDS TERMINAL" 37
"trips.txt" "trip_headsign" "4 - MOUNT ALBION LOOP via BURLINGTON STREET" 38
"trips.txt" "trip_headsign" "MEADOWLANDS TERMINAL" 39
"trips.txt" "trip_headsign" "MEADOWLANDS TERMINAL" 40
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 41
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 42
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 43
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 44
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 45
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 46
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 47
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 48
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 49
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 50
"trips.txt" "trip_headsign" "FRANK A. COOKE TERMINAL" 51
route_long_name_contains_short_name WARNING 1

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`.
"5536" 48 "ROCKTON" "ROCKTON WORLDS FAIR SHUTTLE"
stop_too_far_from_shape WARNING 11

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.
2132 "33090" "2089168" 95825 "2030" "LIMERIDGE at WEST 5TH" [43.22113752290019,-79.89008142504231] 142.79546523270753
3993 "33076" "2088885" 177823 "356124" "AEROPARK at DICKENSON" [43.17921088672421,-79.9038133901929] 233.16711374738352
23631 "33295" "2107387" 1057812 "355981" "RYMAL at UPPER JAMES" [43.202563,-79.89331] 125.31088018423597
10 "33050" "2065440" 457 "355974" "GARNER at DUFF'S CORNERS" [43.195415000000004,-80.01969600000001] 184.48387603743106
2 "33049" "2065449" 87 "355974" "GARNER at DUFF'S CORNERS" [43.195415000000004,-80.01969600000001] 184.48387603743106
1596 "33035" "2064331" 71473 "1694" "HOLY SEPULCHRE CEMETERY EAST" [43.29202899999999,-79.867179] 158.2898884693789
4576 "33266" "2126591" 207070 "2030" "LIMERIDGE at WEST 5TH" [43.22113752290019,-79.89008142504231] 142.79546523270753
3628 "33254" "2104116" 160808 "356124" "AEROPARK at DICKENSON" [43.17921088672421,-79.9038133901929] 233.16711374738352
433 "33120" "2071587" 20359 "355981" "RYMAL at UPPER JAMES" [43.202563,-79.89331] 125.31088018423597
2855 "33226" "2099744" 126262 "355974" "GARNER at DUFF'S CORNERS" [43.195415000000004,-80.01969600000001] 184.48387603743106
187 "33227" "2099713" 8785 "355974" "GARNER at DUFF'S CORNERS" [43.195415000000004,-80.01969600000001] 184.48387603743106
stop_too_far_from_shape_using_user_distance WARNING 2

stop_too_far_from_shape_using_user_distance

Stop time too far from shape.

A stop time entry that is a large distance away from the location of the shape in shapes.txt as defined by shape_dist_traveled values.

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.
11781 "33158" "2086450" 529059 "2149" "MAIN at MACNAB" [43.257066,-79.870403] 189.39431009640424
11771 "33146" "2087721" 528523 "3032" "UPPER WENTWORTH at EDUCATION" [43.217553593638705,-79.86348983235021] 323.80151621633553
trip_distance_exceeds_shape_distance_below_threshold WARNING 484

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 484 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.
"2096631" "33196" 26.3273 26.3173 5.398308056687987
"2096634" "33196" 26.3273 26.3173 5.398308056687987
"2096468" "33186" 25.9576 25.9476 3.155568202151817
"2096460" "33186" 25.9576 25.9476 3.155568202151817
"2096464" "33186" 25.9576 25.9476 3.155568202151817
"2096859" "33186" 25.9576 25.9476 3.155568202151817
"2096532" "33196" 26.3273 26.3173 5.398308056687987
"2062888" "33027" 26.3273 26.3173 5.398308056687987
"2062884" "33027" 26.3273 26.3173 5.398308056687987
"2062880" "33027" 26.3273 26.3173 5.398308056687987
"2096379" "33186" 25.9576 25.9476 3.155568202151817
"2096371" "33186" 25.9576 25.9476 3.155568202151817
"2096374" "33186" 25.9576 25.9476 3.155568202151817
"2096377" "33186" 25.9576 25.9476 3.155568202151817
"2063248" "33027" 26.3273 26.3173 5.398308056687987
"2063245" "33027" 26.3273 26.3173 5.398308056687987
"2063242" "33027" 26.3273 26.3173 5.398308056687987
"2088012" "33018" 25.9576 25.9476 3.155568202151817
"2088015" "33018" 25.9576 25.9476 3.155568202151817
"2063038" "33027" 26.3273 26.3173 5.398308056687987
"2063033" "33027" 26.3273 26.3173 5.398308056687987
"2063035" "33027" 26.3273 26.3173 5.398308056687987
"2096706" "33186" 25.9576 25.9476 3.155568202151817
"2096700" "33186" 25.9576 25.9476 3.155568202151817
"2096703" "33186" 25.9576 25.9476 3.155568202151817
"2096709" "33186" 25.9576 25.9476 3.155568202151817
"2090226" "33027" 26.3273 26.3173 5.398308056687987
"2090220" "33027" 26.3273 26.3173 5.398308056687987
"2090223" "33027" 26.3273 26.3173 5.398308056687987
"2090229" "33027" 26.3273 26.3173 5.398308056687987
"2096516" "33196" 26.3273 26.3173 5.398308056687987
"2096513" "33196" 26.3273 26.3173 5.398308056687987
"2096519" "33196" 26.3273 26.3173 5.398308056687987
"2063177" "33018" 25.9576 25.9476 3.155568202151817
"2063174" "33018" 25.9576 25.9476 3.155568202151817
"2063171" "33018" 25.9576 25.9476 3.155568202151817
"2062968" "33018" 25.9576 25.9476 3.155568202151817
"2062962" "33018" 25.9576 25.9476 3.155568202151817
"2062965" "33018" 25.9576 25.9476 3.155568202151817
"2062701" "33018" 25.9576 25.9476 3.155568202151817
"2062707" "33018" 25.9576 25.9476 3.155568202151817
"2062704" "33018" 25.9576 25.9476 3.155568202151817
"2096784" "33196" 26.3273 26.3173 5.398308056687987
"2096787" "33196" 26.3273 26.3173 5.398308056687987
"2096781" "33196" 26.3273 26.3173 5.398308056687987
"2087991" "33018" 25.9576 25.9476 3.155568202151817
"2088065" "33027" 26.3273 26.3173 5.398308056687987
"2088062" "33027" 26.3273 26.3173 5.398308056687987
"2088068" "33027" 26.3273 26.3173 5.398308056687987
"2062856" "33027" 26.3273 26.3173 5.398308056687987
unusable_trip WARNING 207

unusable_trip

Trips must have more than one stop to be usable.

A trip must visit more than one stop in stop_times.txt to be usable by passengers for boarding and alighting.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's id.
109 "2093377"
110 "2093376"
112 "2093374"
113 "2093373"
114 "2093372"
115 "2093371"
116 "2093370"
995 "2085589"
996 "2085588"
998 "2085582"
999 "2085581"
1002 "2085586"
1155 "2093269"
1156 "2093268"
1173 "2093264"
1448 "2093272"
1605 "2093289"
1606 "2093288"
1611 "2093281"
1612 "2093280"
1613 "2093287"
1615 "2093285"
2439 "2093201"
2440 "2093200"
2445 "2093209"
2446 "2093208"
3249 "2073032"
3250 "2073033"
3251 "2073030"
3252 "2073031"
3253 "2073036"
3255 "2073034"
3256 "2073035"
3637 "2093321"
3638 "2093322"
3639 "2093323"
3640 "2093324"
3641 "2093325"
3642 "2093326"
3643 "2093327"
3644 "2093328"
3645 "2093329"
3695 "2093228"
5022 "2093258"
5023 "2093259"
5026 "2093254"
5027 "2093255"
5028 "2093256"
5029 "2093257"
5030 "2093250"
unused_trip WARNING 90

unused_trip

Trip is not be used in stop_times.txt

Trips should be referred to at least once in stop_times.txt.

You can see more about this notice here.

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

tripId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"2085589" 995
"2085588" 996
"2093289" 1605
"2093288" 1606
"2093287" 1613
"2073032" 3249
"2073033" 3250
"2073030" 3251
"2073031" 3252
"2073036" 3253
"2073034" 3255
"2073035" 3256
"2093321" 3637
"2093322" 3638
"2093323" 3639
"2093324" 3640
"2093325" 3641
"2093326" 3642
"2093327" 3643
"2093328" 3644
"2093329" 3645
"2093228" 3695
"2093258" 5022
"2093259" 5023
"2093254" 5026
"2093255" 5027
"2093256" 5028
"2093257" 5029
"2093253" 5033
"2085595" 5474
"2093355" 6199
"2093357" 6201
"2093356" 6202
"2093193" 6942
"2093192" 6943
"2093191" 6944
"2093190" 6945
"2093194" 6949
"2093225" 8660
"2093224" 8661
"2093227" 8662
"2093226" 8663
"2093221" 8664
"2093220" 8665
"2093223" 8666
"2093222" 8667
"2093397" 10938
"2093396" 10939
"2093399" 10950
"2093398" 10951
unknown_column INFO 1

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.
"trips.txt" "wheelchair_boarding" 10
unused_station INFO 1

unused_station

Unused station.

A stop has location_type STATION (1) but does not appear in any stop's parent_station.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
2370 "1" "MacNab Transit Terminal"