GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-13T04:54:27Z,
for the dataset file:///shared/normandie.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
CITYWAY
Publisher URL:
http://cityway.fr
Feed Email:
N/A
Feed Language:
French
Feed Start Date:
N/A
Feed End Date:
N/A

Files included


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

Counts


  • Agencies: 31
  • Blocks: 11407
  • Routes: 565
  • Shapes: 3732
  • Stops: 12851
  • Trips: 63990

Specification Compliance report

116189 notices reported (3673 errors, 112516 warnings, 0 infos)

Notice Code Severity Total
block_trips_with_overlapping_stop_times ERROR 2145

block_trips_with_overlapping_stop_times

Trips with the same block id have overlapping stop times.

You can see more about this notice here.

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

csvRowNumberA (?) The row number from `trips.txt` of the first faulty trip. tripIdA (?) The id of first faulty trip. serviceIdA (?) The service id of the first faulty trip. csvRowNumberB (?) The row number from `trips.txt` of the second faulty trip. tripIdB (?) The id of the other faulty trip. serviceIdB (?) The service id of the other faulty trip. blockId (?) The `trips.block_id` of the overlapping trip. intersection (?) The overlapping period.
62546 "ATOUMOD002:ServiceJourney:OCESN850622F3900208x2025x09x29T12x22x08Z:LOC" "REGEN_492" 33087 "ATOUMOD040:ServiceJourney:1063210x1082023:LOC" "REGEN_145" "2305" "20260124"
62074 "ATOUMOD002:ServiceJourney:OCESN13100F3903986x2025x09x29T12x22x08Z:LOC" "REGEN_164" 28627 "ATOUMOD007:ServiceJourney:49:LOC" "REGEN_63" "1" "20251215"
62074 "ATOUMOD002:ServiceJourney:OCESN13100F3903986x2025x09x29T12x22x08Z:LOC" "REGEN_164" 28628 "ATOUMOD007:ServiceJourney:51:LOC" "REGEN_314" "1" "20251222"
62074 "ATOUMOD002:ServiceJourney:OCESN13100F3903986x2025x09x29T12x22x08Z:LOC" "REGEN_164" 29329 "ATOUMOD007:ServiceJourney:79:LOC" "REGEN_63" "1" "20251215"
62074 "ATOUMOD002:ServiceJourney:OCESN13100F3903986x2025x09x29T12x22x08Z:LOC" "REGEN_164" 29330 "ATOUMOD007:ServiceJourney:81:LOC" "REGEN_314" "1" "20251222"
62074 "ATOUMOD002:ServiceJourney:OCESN13100F3903986x2025x09x29T12x22x08Z:LOC" "REGEN_164" 30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" "1" "20251215"
62074 "ATOUMOD002:ServiceJourney:OCESN13100F3903986x2025x09x29T12x22x08Z:LOC" "REGEN_164" 28548 "ATOUMOD007:ServiceJourney:103:LOC" "REGEN_63" "1" "20251215"
62074 "ATOUMOD002:ServiceJourney:OCESN13100F3903986x2025x09x29T12x22x08Z:LOC" "REGEN_164" 28549 "ATOUMOD007:ServiceJourney:105:LOC" "REGEN_314" "1" "20251222"
62074 "ATOUMOD002:ServiceJourney:OCESN13100F3903986x2025x09x29T12x22x08Z:LOC" "REGEN_164" 29256 "ATOUMOD007:ServiceJourney:157:LOC" "REGEN_63" "1" "20251215"
62074 "ATOUMOD002:ServiceJourney:OCESN13100F3903986x2025x09x29T12x22x08Z:LOC" "REGEN_164" 29257 "ATOUMOD007:ServiceJourney:159:LOC" "REGEN_314" "1" "20251222"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 28548 "ATOUMOD007:ServiceJourney:103:LOC" "REGEN_63" "1" "20251205"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 28549 "ATOUMOD007:ServiceJourney:105:LOC" "REGEN_314" "1" "20251222"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 28550 "ATOUMOD007:ServiceJourney:107:LOC" "REGEN_398" "1" "20260706"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 29256 "ATOUMOD007:ServiceJourney:157:LOC" "REGEN_63" "1" "20251205"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 29257 "ATOUMOD007:ServiceJourney:159:LOC" "REGEN_314" "1" "20251222"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 29258 "ATOUMOD007:ServiceJourney:161:LOC" "REGEN_398" "1" "20260706"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 21450 "ATOUMOD012:ServiceJourney:100000341:LOC" "REGEN_328" "1" "20251222"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 21766 "ATOUMOD012:ServiceJourney:500000396:LOC" "REGEN_348" "1" "20251224"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 21899 "ATOUMOD012:ServiceJourney:700000496:LOC" "REGEN_414" "1" "20260713"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 21717 "ATOUMOD012:ServiceJourney:300000348:LOC" "REGEN_82" "1" "20251205"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 21743 "ATOUMOD012:ServiceJourney:400000705:LOC" "REGEN_485" "1" "20251210"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 28260 "ATOUMOD007:ServiceJourney:187:LOC" "REGEN_63" "1" "20251205"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 28261 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_314" "1" "20251222"
30800 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_53" 28262 "ATOUMOD007:ServiceJourney:191:LOC" "REGEN_398" "1" "20260706"
29256 "ATOUMOD007:ServiceJourney:157:LOC" "REGEN_63" 21450 "ATOUMOD012:ServiceJourney:100000341:LOC" "REGEN_328" "1" "20260209"
29256 "ATOUMOD007:ServiceJourney:157:LOC" "REGEN_63" 21766 "ATOUMOD012:ServiceJourney:500000396:LOC" "REGEN_348" "1" "20260211"
29256 "ATOUMOD007:ServiceJourney:157:LOC" "REGEN_63" 21717 "ATOUMOD012:ServiceJourney:300000348:LOC" "REGEN_82" "1" "20251205"
29256 "ATOUMOD007:ServiceJourney:157:LOC" "REGEN_63" 21743 "ATOUMOD012:ServiceJourney:400000705:LOC" "REGEN_485" "1" "20251210"
29257 "ATOUMOD007:ServiceJourney:159:LOC" "REGEN_314" 21450 "ATOUMOD012:ServiceJourney:100000341:LOC" "REGEN_328" "1" "20251222"
29257 "ATOUMOD007:ServiceJourney:159:LOC" "REGEN_314" 21766 "ATOUMOD012:ServiceJourney:500000396:LOC" "REGEN_348" "1" "20251224"
29257 "ATOUMOD007:ServiceJourney:159:LOC" "REGEN_314" 21717 "ATOUMOD012:ServiceJourney:300000348:LOC" "REGEN_82" "1" "20260223"
29257 "ATOUMOD007:ServiceJourney:159:LOC" "REGEN_314" 21743 "ATOUMOD012:ServiceJourney:400000705:LOC" "REGEN_485" "1" "20260225"
29258 "ATOUMOD007:ServiceJourney:161:LOC" "REGEN_398" 21450 "ATOUMOD012:ServiceJourney:100000341:LOC" "REGEN_328" "1" "20260706"
29258 "ATOUMOD007:ServiceJourney:161:LOC" "REGEN_398" 21766 "ATOUMOD012:ServiceJourney:500000396:LOC" "REGEN_348" "1" "20260708"
29258 "ATOUMOD007:ServiceJourney:161:LOC" "REGEN_398" 21899 "ATOUMOD012:ServiceJourney:700000496:LOC" "REGEN_414" "1" "20260713"
21450 "ATOUMOD012:ServiceJourney:100000341:LOC" "REGEN_328" 28260 "ATOUMOD007:ServiceJourney:187:LOC" "REGEN_63" "1" "20260209"
21450 "ATOUMOD012:ServiceJourney:100000341:LOC" "REGEN_328" 28261 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_314" "1" "20251222"
21450 "ATOUMOD012:ServiceJourney:100000341:LOC" "REGEN_328" 28262 "ATOUMOD007:ServiceJourney:191:LOC" "REGEN_398" "1" "20260706"
21766 "ATOUMOD012:ServiceJourney:500000396:LOC" "REGEN_348" 28260 "ATOUMOD007:ServiceJourney:187:LOC" "REGEN_63" "1" "20260211"
21766 "ATOUMOD012:ServiceJourney:500000396:LOC" "REGEN_348" 28261 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_314" "1" "20251224"
21766 "ATOUMOD012:ServiceJourney:500000396:LOC" "REGEN_348" 28262 "ATOUMOD007:ServiceJourney:191:LOC" "REGEN_398" "1" "20260708"
21899 "ATOUMOD012:ServiceJourney:700000496:LOC" "REGEN_414" 28262 "ATOUMOD007:ServiceJourney:191:LOC" "REGEN_398" "1" "20260713"
21717 "ATOUMOD012:ServiceJourney:300000348:LOC" "REGEN_82" 28260 "ATOUMOD007:ServiceJourney:187:LOC" "REGEN_63" "1" "20251205"
21717 "ATOUMOD012:ServiceJourney:300000348:LOC" "REGEN_82" 28261 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_314" "1" "20260223"
21743 "ATOUMOD012:ServiceJourney:400000705:LOC" "REGEN_485" 28260 "ATOUMOD007:ServiceJourney:187:LOC" "REGEN_63" "1" "20251210"
21743 "ATOUMOD012:ServiceJourney:400000705:LOC" "REGEN_485" 28261 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_314" "1" "20260225"
28260 "ATOUMOD007:ServiceJourney:187:LOC" "REGEN_63" 21550 "ATOUMOD012:ServiceJourney:300000336:LOC" "REGEN_82" "1" "20251205"
28260 "ATOUMOD007:ServiceJourney:187:LOC" "REGEN_63" 21606 "ATOUMOD012:ServiceJourney:400000660:LOC" "REGEN_485" "1" "20251210"
28261 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_314" 21550 "ATOUMOD012:ServiceJourney:300000336:LOC" "REGEN_82" "1" "20260223"
28261 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_314" 21606 "ATOUMOD012:ServiceJourney:400000660:LOC" "REGEN_485" "1" "20260225"
equal_shape_distance_diff_coordinates ERROR 1526

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 1526 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.
"NOMAD:2303$1068431$73" 1975671 46347.0 1486 1975670 46347.0 1485 10.002196304000478
"NOMAD:2303$1068431$73" 1975759 50438.0 1574 1975758 50438.0 1573 1557.1962256650459
"ASTROBUS:2314$zenbus:Route:5480130739699712:LOC$30" 82510 2709.0 61 82509 2709.0 60 286.29228891257816
"ASTROBUS:2314$zenbus:Route:5480130739699712:LOC$30" 82529 3008.0 80 82528 3008.0 79 287.310495663839
"NOMAD:2303$1068660$85" 2015002 9582.0 281 2015001 9582.0 280 1116.8569005464642
"ZEPHIR:2287$B0065$86" 2738058 17547.0 363 2738057 17547.0 362 2825.482432418042
"ZEPHIR:2287$B0065$86" 2738167 23716.0 472 2738166 23716.0 471 32.39094935862526
"ALTOBUS:2268$boubet:JourneyPattern:5309870$48" 9762 8699.0 165 9761 8699.0 164 550.8330922032842
"ALTOBUS:2268$boubet:JourneyPattern:5309870$48" 9785 9503.0 188 9784 9503.0 187 583.0120917400492
"NOMAD:2303$1070129$1433" 245898 18952.0 812 245897 18952.0 811 704.833491500096
"SLAM:CALC_389704" 2241348 4336.0 269 2241347 4336.0 268 19.01349468771287
"SLAM:CALC_389704" 2241349 4336.0 270 2241348 4336.0 269 19.01349468771287
"SLAM:CALC_389705" 2241849 4336.0 269 2241848 4336.0 268 19.01349468771287
"SLAM:CALC_389705" 2241850 4336.0 270 2241849 4336.0 269 19.01349468771287
"SLAM:CALC_389702" 2240135 4831.0 239 2240134 4831.0 238 19.01349468771287
"SLAM:CALC_389702" 2240136 4831.0 240 2240135 4831.0 239 19.01349468771287
"SLAM:CALC_389703" 2240702 4831.0 239 2240701 4831.0 238 19.01349468771287
"SLAM:CALC_389703" 2240703 4831.0 240 2240702 4831.0 239 19.01349468771287
"SLAM:CALC_389700" 2239226 3331.0 177 2239225 3331.0 176 19.01349468771287
"SLAM:CALC_389700" 2239227 3331.0 178 2239226 3331.0 177 19.01349468771287
"SLAM:CALC_389701" 2239677 3066.0 169 2239676 3066.0 168 19.01349468771287
"SLAM:CALC_389701" 2239678 3066.0 170 2239677 3066.0 169 19.01349468771287
"TWISTO:2285$5_43F3B0FAA6C6FCD8FEDF35283C1AE2F0$241" 2720603 3584.0 253 2720602 3584.0 252 244.83235263761782
"TWISTO:2285$5_43F3B0FAA6C6FCD8FEDF35283C1AE2F0$241" 2720637 3988.0 287 2720636 3988.0 286 276.1062599782923
"NOMAD:2303$1068342$560" 1921528 11218.0 369 1921527 11218.0 368 549.1362495970686
"NOMAD:2303$1068342$560" 1921550 11613.0 391 1921549 11613.0 390 22.071014666119297
"NOMAD:2303$1068342$560" 1921624 14545.0 465 1921623 14545.0 464 1197.4192018443448
"ASTROBUS:2314$zenbus:Route:5104020781793280:LOC$55" 122856 28130.0 510 122855 28130.0 509 438.9216197606987
"ASTROBUS:2314$zenbus:Route:5104020781793280:LOC$55" 122874 28586.0 528 122873 28586.0 527 438.9216197606987
"NOMAD:2303$1062723$1927" 1805275 3056.0 147 1805274 3056.0 146 2317.4942776894745
"NOMAD:2303$1062723$1927" 1805432 8441.0 304 1805431 8441.0 303 168.72437545238697
"ALTOBUS:2268$boubet:JourneyPattern:3139599$133" 38516 442.0 26 38515 442.0 25 16.169981051041997
"ALTOBUS:2268$boubet:JourneyPattern:3139599$133" 38666 6316.0 176 38665 6316.0 175 2735.1903637409355
"ALTOBUS:2268$boubet:JourneyPattern:3139599$133" 38938 12622.0 448 38937 12622.0 447 1576.2702451836788
"ALTOBUS:2268$boubet:JourneyPattern:3139599$133" 39014 14602.0 524 39013 14602.0 523 1656.7499832938634
"ALTOBUS:2268$alto:JourneyPattern:2610147$5" 5934 3159.0 176 5933 3159.0 175 16.169981051041997
"ALTOBUS:2268$alto:JourneyPattern:2610147$5" 5981 4062.0 223 5980 4062.0 222 3.071264629231036
"ALTOBUS:2268$alto:JourneyPattern:2610147$5" 6050 5040.0 292 6049 5040.0 291 326.55728730175423
"SEMO:2282$LE1P7$73" 2194733 33110.0 1071 2194732 33110.0 1070 875.2943077811138
"SEMO:2282$LE1P7$73" 2194817 37052.0 1155 2194816 37052.0 1154 1268.905072626301
"NOMAD:2303$1068669$1104" 1903754 10259.0 451 1903753 10259.0 450 76.20668070546657
"NOMAD:2303$1068669$1104" 1904178 18455.0 875 1904177 18455.0 874 800.8700430858164
"ASTROBUS:2314$zenbus:Route:4636659967590400:LOC$134" 113652 29797.0 508 113651 29797.0 507 396.68081745443976
"ASTROBUS:2314$zenbus:Route:4636659967590400:LOC$134" 113663 30199.0 519 113662 30199.0 518 396.26423232868393
"TWISTO:2285$101_FB4A460BF75224C0D124590DAA170FB4$138" 2620775 6666.0 220 2620774 6666.0 219 679.4259842462392
"NOMAD:2303$1060991$1483" 1294643 10572.0 537 1294642 10572.0 536 475.6551538011861
"NOMAD:2303$1060991$1483" 1294720 11864.0 614 1294719 11864.0 613 148.75563651589056
"NOMAD:2303$1069117$1489" 1305964 13625.0 646 1305963 13625.0 645 1177.3125101213138
"NOMAD:2303$1067797$692" 990577 838.0 34 990576 838.0 33 675.4566374335817
"NOMAD:2303$1067797$692" 990645 1941.0 102 990644 1941.0 101 676.918761065967
stop_time_with_arrival_before_previous_departure_time ERROR 2

stop_time_with_arrival_before_previous_departure_time

Backwards time travel between stops in stop_times.txt

For a given trip_id, the arrival_time of (n+1)-th stoptime in sequence must not precede the departure_time of n-th stoptime in sequence in stop_times.txt.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. prevCsvRowNumber (?) The row of the previous stop time. tripId (?) The trip_id associated to the faulty record. arrivalTime (?) Arrival time at the faulty record. departureTime (?) Departure time at the previous stop time.
1513718 1513717 "ATOUMOD051:ServiceJourney:87588xKPNx2526xBYBUSxPSxSemainex00:LOC" "15:45:00" "15:47:00"
1514020 1514019 "ATOUMOD051:ServiceJourney:87624xKPNx2526xBYBUSxVSxSemainex00:LOC" "15:45:00" "15:47:00"
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 9179

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 9179 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.
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131235 3889.0 131 131234 3889.0 130 0.44688486942834293
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131242 4239.0 138 131241 4239.0 137 0.07273901254985074
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131269 4778.0 165 131268 4778.0 164 0.2909435965131529
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131272 4780.0 168 131271 4780.0 167 0.6074533999318328
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131273 4780.0 169 131272 4780.0 168 0.2909435965131529
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131313 5730.0 209 131312 5730.0 208 0.07274131944902584
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131315 5731.0 211 131314 5731.0 210 0.4468852472205095
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131323 5989.0 219 131322 5989.0 218 0.4755651026073637
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131335 6271.0 231 131334 6271.0 230 0.07273971243695503
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131336 6271.0 232 131335 6271.0 231 0.2909588497550499
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131337 6271.0 233 131336 6271.0 232 0.07273971244056991
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131350 6469.0 246 131349 6469.0 245 0.0727410562637196
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131351 6469.0 247 131350 6469.0 246 0.42875690404390443
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131370 6944.0 266 131369 6944.0 265 0.14548289665541234
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131371 6944.0 267 131370 6944.0 266 0.36370724163672336
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131372 6944.0 268 131371 6944.0 267 0.36370724163672336
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131388 7532.0 284 131387 7532.0 283 0.1454760202673481
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131389 7532.0 285 131388 7532.0 284 0.47556133326967603
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131406 7807.0 302 131405 7807.0 301 0.2909457690415973
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131407 7807.0 303 131406 7807.0 302 0.07273644225859197
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131408 7807.0 304 131407 7807.0 303 0.5091550958209877
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131419 8046.0 315 131418 8046.0 314 0.14547132793164472
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131420 8046.0 316 131419 8046.0 315 0.3636783198236897
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131421 8046.0 317 131420 8046.0 316 0.0727356639676297
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131437 8408.0 333 131436 8408.0 332 0.2182105197595775
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131439 8409.0 335 131438 8409.0 334 0.8001052391100159
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131441 8410.0 337 131440 8410.0 336 0.21821051975596276
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131442 8410.0 338 131441 8410.0 337 0.21821051975596276
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131443 8410.0 339 131442 8410.0 338 0.0727368399210641
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131449 8684.0 345 131448 8684.0 344 0.21821581124624953
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131451 8685.0 347 131450 8685.0 346 0.07273860932732619
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131452 8685.0 348 131451 8685.0 347 0.07273860932732619
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131468 8969.0 364 131467 8969.0 363 0.07274087146292592
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131469 8969.0 365 131468 8969.0 364 0.14548174292585184
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131470 8969.0 366 131469 8969.0 365 0.43366089446784106
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131471 8969.0 367 131470 8969.0 366 0.07274087718755506
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131472 8969.0 368 131471 8969.0 367 0.07274087718755506
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131474 8970.0 370 131473 8970.0 369 0.07274087718755506
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131475 8970.0 371 131474 8970.0 370 0.07274087718755506
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131476 8970.0 372 131475 8970.0 371 0.42254138458905577
"ASTROBUS:2314$zenbus:Route:5960097298644992:LOC$18" 131508 9386.0 404 131507 9386.0 403 0.07274170578917874
"NOMAD:2303$1068431$73" 1974615 13796.0 430 1974614 13796.0 429 0.433642913539177
"NOMAD:2303$1068431$73" 1976196 67187.0 2011 1976195 67187.0 2010 0.605260455928756
"TWISTO:2285$10EX_1DF90D576B1A3E715FB50238BBA2343B$23" 2555522 906.0 77 2555521 906.0 76 0.8574686175368808
"ASTROBUS:2314$zenbus:Route:5480130739699712:LOC$30" 82523 3005.0 74 82522 3005.0 73 0.1454658624494217
"ASTROBUS:2314$zenbus:Route:5480130739699712:LOC$30" 82524 3005.0 75 82523 3005.0 74 0.1454658624494217
"ASTROBUS:2314$zenbus:Route:5480130739699712:LOC$30" 82526 3006.0 77 82525 3006.0 76 0.07273293122651812
"ASTROBUS:2314$zenbus:Route:5480130739699712:LOC$30" 82531 3009.0 82 82530 3009.0 81 0.07273296484310589
"ASTROBUS:2314$zenbus:Route:5480130739699712:LOC$30" 82532 3009.0 83 82531 3009.0 82 0.07273296483949133
"ASTROBUS:2314$zenbus:Route:5480130739699712:LOC$30" 82540 3316.0 91 82539 3316.0 90 0.07273145281553699
fast_travel_between_consecutive_stops WARNING 4

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.
32226 "ATOUMOD040:ServiceJourney:1059235x1075405:LOC" "ATOUMOD040:Line:1003071:LOC" 156.54786075832038 5.218262025277346 1457792 17 "FR:76624:ZE:1172630:ATOUMOD040" "Square Aval" "11:39:00" 1457793 18 "FR:76624:ZE:1172611:ATOUMOD040" "Bout d'Amont" "11:40:00"
34150 "ATOUMOD040:ServiceJourney:1067553x1087920:LOC" "ATOUMOD040:Line:1003297:LOC" 188.69170192780544 6.289723397593515 1473684 10 "FR:27294:ZE:1118121:ATOUMOD040" "GRAINVILLE - Grand Mare" "11:45:00" 1473685 11 "FR:27214:ZE:1122433:ATOUMOD040" "Mairie" "11:46:00"
31130 "ATOUMOD040:ServiceJourney:1069186x1091067:LOC" "ATOUMOD040:Line:1004457:LOC" 190.47141489398274 15.872617907831893 1500801 16 "FR:14310:ZE:1152280:ATOUMOD040" "Ecole" "08:35:00" 1500802 17 "FR:14341:ZE:1173788:ATOUMOD040" "Porte d'Espagne" "08:39:00"
31129 "ATOUMOD040:ServiceJourney:1069186x1091066:LOC" "ATOUMOD040:Line:1004457:LOC" 190.47141489398274 15.872617907831893 1500780 16 "FR:14310:ZE:1152280:ATOUMOD040" "Ecole" "10:01:00" 1500781 17 "FR:14341:ZE:1173788:ATOUMOD040" "Porte d'Espagne" "10:05:00"
fast_travel_between_far_stops WARNING 2

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.
31130 "ATOUMOD040:ServiceJourney:1069186x1091067:LOC" "ATOUMOD040:Line:1004457:LOC" 190.47141489398274 15.872617907831893 1500801 16 "FR:14310:ZE:1152280:ATOUMOD040" "Ecole" "08:35:00" 1500802 17 "FR:14341:ZE:1173788:ATOUMOD040" "Porte d'Espagne" "08:39:00"
31129 "ATOUMOD040:ServiceJourney:1069186x1091066:LOC" "ATOUMOD040:Line:1004457:LOC" 190.47141489398274 15.872617907831893 1500780 16 "FR:14310:ZE:1152280:ATOUMOD040" "Ecole" "10:01:00" 1500781 17 "FR:14341:ZE:1173788:ATOUMOD040" "Porte d'Espagne" "10:05:00"
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.
"stops.txt" 6024 "stop_name" "Alsace Lorraine "
"stops.txt" 6067 "stop_name" "Poterne "
missing_bike_allowance WARNING 1376

missing_bike_allowance

Ferry trips should include bike allowance information.

All ferry trips should have a valid value in the bikes_allowed field in trips.txt.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. routeId (?) The faulty record's route id. tripId (?) The faulty record's trip id.
44476 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9414x4021734:LOC"
44477 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9415x4021734:LOC"
44478 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9416x4021734:LOC"
44479 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9417x4021734:LOC"
44480 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9418x4021734:LOC"
44481 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9419x4021734:LOC"
44482 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9420x4021734:LOC"
44484 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9421x4021734:LOC"
44485 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9422x4021734:LOC"
44486 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9423x4021734:LOC"
44487 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9424x4021734:LOC"
44488 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9425x4021734:LOC"
44489 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9426x4021734:LOC"
44490 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9427x4021734:LOC"
44491 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9428x4021734:LOC"
44492 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9429x4021734:LOC"
44493 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9430x4021734:LOC"
44495 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9431x4021734:LOC"
44496 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9432x4021734:LOC"
44497 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9433x4021734:LOC"
44498 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9434x4021734:LOC"
44499 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9435x4021734:LOC"
44500 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9436x4021734:LOC"
44501 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9437x4021734:LOC"
44502 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9438x4021734:LOC"
44503 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9439x4021734:LOC"
44504 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9440x4021734:LOC"
44506 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9441x4021734:LOC"
44507 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9442x4021734:LOC"
44508 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9443x4021734:LOC"
44509 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9444x4021734:LOC"
44510 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9445x4021734:LOC"
44511 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9446x4021734:LOC"
44512 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9447x4021734:LOC"
44513 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9448x4021734:LOC"
44514 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9449x4021734:LOC"
44515 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9450x4021734:LOC"
44517 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9451x4021734:LOC"
44518 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9452x4021734:LOC"
44519 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9453x4021734:LOC"
44520 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9454x4021734:LOC"
44521 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9455x4021734:LOC"
44522 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9456x4021734:LOC"
44523 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9457x4021734:LOC"
44524 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9458x4021734:LOC"
44525 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9459x4021734:LOC"
44526 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9460x4021734:LOC"
44528 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9461x4021734:LOC"
44529 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9462x4021734:LOC"
44530 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx9463x4021734:LOC"
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 2

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_start_date"
"feed_info.txt" 2 "feed_end_date"
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 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 1
3 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 2
4 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 3
5 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 4
6 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 5
7 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 6
8 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 7
9 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 8
10 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 9
11 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 10
12 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 11
13 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 12
14 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 13
15 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 14
16 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 15
17 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 16
18 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 17
19 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 18
20 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 19
21 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 20
22 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 21
23 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 22
24 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 23
25 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 24
26 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 25
27 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 26
28 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 27
29 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 28
30 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 29
31 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 30
32 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 31
33 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 32
34 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 33
35 "ATOUMOD001:ServiceJourney:TAEx1001x4018595:LOC" 34
36 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 1
37 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 2
38 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 3
39 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 4
40 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 5
41 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 6
42 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 7
43 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 8
44 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 9
45 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 10
46 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 11
47 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 12
48 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 13
49 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 14
50 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 15
51 "ATOUMOD001:ServiceJourney:TAEx1002x4018595:LOC" 16
mixed_case_recommended_field WARNING 1945

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 1945 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.
"routes.txt" "route_long_name" "PARIS <> DEAUVILLE" 104
"routes.txt" "route_long_name" "PARIS <> CAEN" 105
"routes.txt" "route_long_name" "CAEN <> LE MANS <> TOURS" 106
"routes.txt" "route_long_name" "CAEN <> CHERBOURG" 107
"routes.txt" "route_long_name" "PARIS <> DIEPPE" 108
"routes.txt" "route_long_name" "ROUEN <> DIEPPE" 109
"routes.txt" "route_long_name" "PARIS <> LE HAVRE" 110
"routes.txt" "route_long_name" "PARIS <> EVREUX <> SERQUIGNY" 111
"routes.txt" "route_long_name" "LISIEUX <> DEAUVILLE" 112
"routes.txt" "route_long_name" "PARIS <> ARGENTAN <> GRANVILLE" 113
"routes.txt" "route_long_name" "PARIS <> CHERBOURG" 114
"routes.txt" "route_long_name" "BEAUVAIS <> ABANCOURT <> LE TRÉPORT" 115
"routes.txt" "route_long_name" "NORMANDIE <> PACA <> ALPES" 116
"routes.txt" "route_long_name" "CAEN<> COUTANCES <> GRANVILLE <> RENNES" 117
"routes.txt" "route_long_name" "ROUEN <> LILLE" 118
"routes.txt" "route_long_name" "DEAUVILLE<>DIVES" 119
"routes.txt" "route_long_name" "TOURS <> LE MANS <> CAEN" 120
"routes.txt" "route_long_name" "ROUEN <> VERNON <> PARIS" 121
"routes.txt" "route_long_name" "ROUEN <> LE HAVRE" 122
"routes.txt" "route_long_name" "ROUEN <> DIEPPE" 123
"routes.txt" "route_long_name" "CAEN <> ROUEN" 124
"routes.txt" "route_long_name" "AMIENS <> ABANCOURT <> (ROUEN" 125
"routes.txt" "route_long_name" "LILLE <> AMIENS <> ABANCOURT <> ROUEN" 126
"routes.txt" "route_long_name" "LE HAVRE <> BREAUTE <> FECAMP" 127
"routes.txt" "route_long_name" "CAEN <> LE MANS" 128
"routes.txt" "route_long_name" "CARS CAEN <> GRANVILLE <> RENNES" 129
"routes.txt" "route_long_name" "CAR SURDON<>ALENÇON" 130
"routes.txt" "route_long_name" "CAEN <> LISIEUX (PÉRIURBAIN)" 131
"routes.txt" "route_long_name" "ROUEN <> AMIENS" 132
"routes.txt" "route_long_name" "YVETOT <> ROUEN - ELBEUF" 133
"routes.txt" "route_long_name" "PARIS <> DREUX <> ARGENTAN <> GRANVILLE" 134
"routes.txt" "route_long_name" "R.LILLY <> HOPITAL" 216
"routes.txt" "route_long_name" "R.LILLY <> HOPITAL" 217
"routes.txt" "route_long_name" "SAINT NICOLAS <> HÔPITAL" 218
"routes.txt" "route_long_name" "Z.A LE HERON <> PLAGE" 219
"routes.txt" "route_long_name" "CIMETIERE <> SAINT ETIENNE" 220
"routes.txt" "route_short_name" "10 EXPRESS" 269
"routes.txt" "route_short_name" "11 EXPRESS" 280
"routes.txt" "route_short_name" "NAVETTE CAEN" 323
"routes.txt" "route_long_name" "AMFREVILLE - EGLANTINE CHATEAU" 327
"routes.txt" "route_long_name" "QUERQUEVILLE MAIRIE - FLAMANDS" 328
"routes.txt" "route_long_name" "SCHUMAN - MARETTES" 329
"routes.txt" "route_long_name" "PARKING DE L'AGORA - DIGARD" 330
"routes.txt" "route_long_name" "POLYCLINIQUE - SAUXMARAIS" 331
"routes.txt" "route_long_name" "COLLEGE ZOLA - SCHUMAN" 332
"routes.txt" "route_long_name" "ZA LES FOURCHES - COLLIGNON" 333
"routes.txt" "route_long_name" "GARE - ANJOU - PORTE DU MIDI - GARE" 334
"routes.txt" "route_long_name" "GARE - PORTE DU MIDI - ANJOU - GARE" 335
"routes.txt" "route_long_name" "CHERBOURG EN COTENTIN - LA HAGUE" 336
"routes.txt" "route_long_name" "ROUTE DES CAPS NORD" 337
route_color_contrast WARNING 1

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.
"ATOUMOD012:Line:Navette:LOC" 224 "#54F8C5" "#FFFFFF"
stop_too_far_from_shape WARNING 3

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.
18023 "TWISTO:2285$118_E7993F9D99CBB9203BC510FCBAC3658C$166" "ATOUMOD029:ServiceJourney:6860962x25HIV01xxSTxHSEMxSemainex10x1101100:LOC" 1223342 "FR:14383:ZE:melo02:ATOUMOD029" "Louvigny Mesnil" [49.1627884,-0.40772100000000006] 132.6393666477095
16255 "TWISTO:2285$NVCV_6DE6D9DDA76D3300C2FFDBB489491FBC$120" "ATOUMOD029:ServiceJourney:6749754x25HIV01xxEPxHSEMxSemainex00x0000100:LOC" 1156162 "FR:14118:ZE:pril01:ATOUMOD029" "Bibliothèque" [49.1826782,-0.35052499999999986] 100.1748702189782
17418 "TWISTO:2285$1_5755EC4BD64FB66D489868B638031E58$134" "ATOUMOD029:ServiceJourney:6739898x25HIV01xxEPxHSEMxSemainex00:LOC" 1087874 "FR:14118:ZE:edro01:ATOUMOD029" "Edmond Rostand" [49.173491164353614,-0.33442542998484054] 109.07194467340462
stops_match_shape_out_of_order WARNING 1

stops_match_shape_out_of_order

Two stop entries are different than their arrival-departure order defined by shapes.txt.

This could indicate a problem with the location of the stops, the path of the shape, or the sequence of the stops for their trip.

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. stopTimeCsvRowNumber1 (?) The row number of the first faulty record from `stop_times.txt`. stopId1 (?) The id of the first stop that is referred to. stopName1 (?) The name of the first stop that is referred to. match1 (?) Latitude and longitude pair of the first matching location. stopTimeCsvRowNumber2 (?) The row number of the second faulty record from `stop_times.txt`. stopId2 (?) The id of the second stop that is referred to. stopName2 (?) The name of the second stop that is referred to. match2 (?) Latitude and longitude pair of the second matching location.
34068 "NOMAD:2303$1061852$371" "ATOUMOD040:ServiceJourney:1061852x1079817:LOC" 1461189 "FR:27229:ZE:1117503:ATOUMOD040" "Gare Routière" [49.01906957418984,1.1510311227945547] 1461188 "FR:27467:ZE:1119579:ATOUMOD040" "PONT-AUDEMER - Gare Routière" [49.35375598408939,0.5097112500260694]