GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-05-09T18:21:37Z,
for the dataset file:///shared/reseaux-normands_d680cf5e.zip. No country code was provided.

Use this report alongside our documentation.

A new version of the Canonical GTFS Schedule validator is available! Please update to get the latest/best validation results.

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: 32
  • Blocks: 11146
  • Routes: 570
  • Shapes: 4098
  • Stops: 12839
  • Trips: 69199

Specification Compliance report

136221 notices reported (4416 errors, 131805 warnings, 0 infos)

Notice Code Severity Total
block_trips_with_overlapping_stop_times ERROR 1602

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 1602 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.
43659 "ATOUMOD040:ServiceJourney:1021246x1061241:LOC" "REGEN_80" 16438 "ATOUMOD005:ServiceJourney:705:LOC" "REGEN_912" "2304" "20260629"
17191 "ATOUMOD005:ServiceJourney:389:LOC" "REGEN_912" 43658 "ATOUMOD040:ServiceJourney:1021246x1026813:LOC" "REGEN_175" "2303" "20260630"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 18446 "ATOUMOD007:ServiceJourney:49:LOC" "REGEN_989" "1" "20260706"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 18448 "ATOUMOD007:ServiceJourney:51:LOC" "REGEN_44" "1" "20260511"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 18449 "ATOUMOD007:ServiceJourney:53:LOC" "REGEN_220" "1" "20260515"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 19145 "ATOUMOD007:ServiceJourney:79:LOC" "REGEN_989" "1" "20260706"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 19146 "ATOUMOD007:ServiceJourney:81:LOC" "REGEN_44" "1" "20260511"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 19147 "ATOUMOD007:ServiceJourney:83:LOC" "REGEN_220" "1" "20260515"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 467 "ATOUMOD008:ServiceJourney:9771x0:LOC" "REGEN_60" "1" "20260511"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 558 "ATOUMOD008:ServiceJourney:9797x0:LOC" "REGEN_211" "1" "20260515"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 571 "ATOUMOD008:ServiceJourney:9823x0:LOC" "REGEN_986" "1" "20260706"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" "1" "20260511"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 18363 "ATOUMOD007:ServiceJourney:103:LOC" "REGEN_989" "1" "20260706"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 18367 "ATOUMOD007:ServiceJourney:105:LOC" "REGEN_44" "1" "20260511"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 18368 "ATOUMOD007:ServiceJourney:107:LOC" "REGEN_220" "1" "20260515"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 19065 "ATOUMOD007:ServiceJourney:151:LOC" "REGEN_989" "1" "20260706"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 19073 "ATOUMOD007:ServiceJourney:153:LOC" "REGEN_44" "1" "20260511"
47414 "ATOUMOD002:ServiceJourney:OCESN13100F708006x2026x04x22T20x54x34Z:LOC" "REGEN_956" 19074 "ATOUMOD007:ServiceJourney:155:LOC" "REGEN_220" "1" "20260515"
467 "ATOUMOD008:ServiceJourney:9771x0:LOC" "REGEN_60" 41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" "1" "20260505"
467 "ATOUMOD008:ServiceJourney:9771x0:LOC" "REGEN_60" 18367 "ATOUMOD007:ServiceJourney:105:LOC" "REGEN_44" "1" "20260505"
558 "ATOUMOD008:ServiceJourney:9797x0:LOC" "REGEN_211" 41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" "1" "20260515"
558 "ATOUMOD008:ServiceJourney:9797x0:LOC" "REGEN_211" 18368 "ATOUMOD007:ServiceJourney:107:LOC" "REGEN_220" "1" "20260515"
571 "ATOUMOD008:ServiceJourney:9823x0:LOC" "REGEN_986" 41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" "1" "20260706"
571 "ATOUMOD008:ServiceJourney:9823x0:LOC" "REGEN_986" 18363 "ATOUMOD007:ServiceJourney:103:LOC" "REGEN_989" "1" "20260706"
571 "ATOUMOD008:ServiceJourney:9823x0:LOC" "REGEN_986" 18367 "ATOUMOD007:ServiceJourney:105:LOC" "REGEN_44" "1" "20260831"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 18363 "ATOUMOD007:ServiceJourney:103:LOC" "REGEN_989" "1" "20260706"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 18367 "ATOUMOD007:ServiceJourney:105:LOC" "REGEN_44" "1" "20260505"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 18368 "ATOUMOD007:ServiceJourney:107:LOC" "REGEN_220" "1" "20260515"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 19065 "ATOUMOD007:ServiceJourney:151:LOC" "REGEN_989" "1" "20260706"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 19073 "ATOUMOD007:ServiceJourney:153:LOC" "REGEN_44" "1" "20260505"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 19074 "ATOUMOD007:ServiceJourney:155:LOC" "REGEN_220" "1" "20260515"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 394 "ATOUMOD008:ServiceJourney:9784x0:LOC" "REGEN_60" "1" "20260505"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 407 "ATOUMOD008:ServiceJourney:9810x0:LOC" "REGEN_211" "1" "20260515"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 421 "ATOUMOD008:ServiceJourney:9836x0:LOC" "REGEN_986" "1" "20260706"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 18074 "ATOUMOD007:ServiceJourney:187:LOC" "REGEN_989" "1" "20260706"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 18075 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_44" "1" "20260505"
41099 "ATOUMOD040:ServiceJourney:1061641x1079449:LOC" "REGEN_89" 18076 "ATOUMOD007:ServiceJourney:191:LOC" "REGEN_220" "1" "20260515"
19065 "ATOUMOD007:ServiceJourney:151:LOC" "REGEN_989" 421 "ATOUMOD008:ServiceJourney:9836x0:LOC" "REGEN_986" "1" "20260706"
19073 "ATOUMOD007:ServiceJourney:153:LOC" "REGEN_44" 394 "ATOUMOD008:ServiceJourney:9784x0:LOC" "REGEN_60" "1" "20260505"
19073 "ATOUMOD007:ServiceJourney:153:LOC" "REGEN_44" 421 "ATOUMOD008:ServiceJourney:9836x0:LOC" "REGEN_986" "1" "20260831"
19074 "ATOUMOD007:ServiceJourney:155:LOC" "REGEN_220" 407 "ATOUMOD008:ServiceJourney:9810x0:LOC" "REGEN_211" "1" "20260515"
394 "ATOUMOD008:ServiceJourney:9784x0:LOC" "REGEN_60" 18075 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_44" "1" "20260505"
407 "ATOUMOD008:ServiceJourney:9810x0:LOC" "REGEN_211" 18076 "ATOUMOD007:ServiceJourney:191:LOC" "REGEN_220" "1" "20260515"
421 "ATOUMOD008:ServiceJourney:9836x0:LOC" "REGEN_986" 18074 "ATOUMOD007:ServiceJourney:187:LOC" "REGEN_989" "1" "20260706"
421 "ATOUMOD008:ServiceJourney:9836x0:LOC" "REGEN_986" 18075 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_44" "1" "20260831"
18074 "ATOUMOD007:ServiceJourney:187:LOC" "REGEN_989" 573 "ATOUMOD008:ServiceJourney:9824x0:LOC" "REGEN_986" "1" "20260706"
18075 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_44" 478 "ATOUMOD008:ServiceJourney:9772x0:LOC" "REGEN_60" "1" "20260505"
18075 "ATOUMOD007:ServiceJourney:189:LOC" "REGEN_44" 573 "ATOUMOD008:ServiceJourney:9824x0:LOC" "REGEN_986" "1" "20260831"
18076 "ATOUMOD007:ServiceJourney:191:LOC" "REGEN_220" 559 "ATOUMOD008:ServiceJourney:9798x0:LOC" "REGEN_211" "1" "20260515"
478 "ATOUMOD008:ServiceJourney:9772x0:LOC" "REGEN_60" 18502 "ATOUMOD007:ServiceJourney:241:LOC" "REGEN_795" "1" "20260509"
equal_shape_distance_diff_coordinates ERROR 2814

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 2814 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:2585$1068407$162" 724549 7995.0 449 724548 7995.0 448 1099.9433492633616
"NOMAD:2585$1068407$162" 724627 12500.0 527 724626 12500.0 526 263.245733313395
"NOMAD:2585$1068407$162" 724650 13035.0 550 724649 13035.0 549 263.245733313395
"NOMAD:2585$1069452$931" 1954091 18929.0 413 1954090 18929.0 412 8989.07919846251
"NOMAD:2585$1069452$931" 1954318 29111.0 640 1954317 29111.0 639 8988.726883967294
"NOMAD:2585$1062640$820" 1737931 27891.0 696 1737930 27891.0 695 1421.1364172561712
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84643 2718.0 70 84642 2718.0 69 328.31222576095115
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84683 3135.0 110 84682 3135.0 109 387.00058093685203
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84692 3311.0 119 84691 3311.0 118 165.90686035138316
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84712 4417.0 139 84711 4417.0 138 478.812173780598
"NOMAD:2585$1070987$737" 1030831 8169.0 242 1030830 8169.0 241 3245.5950573096197
"NOMAD:2585$1070987$737" 1031025 17359.0 436 1031024 17359.0 435 3254.145714781558
"NOMAD:2585$1070424$1233" 749010 15959.0 626 749009 15959.0 625 169.8757954354135
"NOMAD:2585$1070424$1233" 749093 20845.0 709 749092 20845.0 708 2213.538008025925
"NOMAD:2585$1054131$1102" 2227174 19652.0 470 2227173 19652.0 469 10.002196304000478
"NOMAD:2585$1054131$1102" 2227267 23225.0 563 2227266 23225.0 562 1394.9674642751083
"SLAM:CALC_389704" 2584848 4336.0 269 2584847 4336.0 268 19.01349468771287
"SLAM:CALC_389704" 2584849 4336.0 270 2584848 4336.0 269 19.01349468771287
"SLAM:CALC_389705" 2585349 4336.0 269 2585348 4336.0 268 19.01349468771287
"SLAM:CALC_389705" 2585350 4336.0 270 2585349 4336.0 269 19.01349468771287
"SLAM:CALC_389702" 2583635 4831.0 239 2583634 4831.0 238 19.01349468771287
"SLAM:CALC_389702" 2583636 4831.0 240 2583635 4831.0 239 19.01349468771287
"SLAM:CALC_389703" 2584202 4831.0 239 2584201 4831.0 238 19.01349468771287
"SLAM:CALC_389703" 2584203 4831.0 240 2584202 4831.0 239 19.01349468771287
"SLAM:CALC_389700" 2582726 3331.0 177 2582725 3331.0 176 19.01349468771287
"SLAM:CALC_389700" 2582727 3331.0 178 2582726 3331.0 177 19.01349468771287
"SLAM:CALC_389701" 2583177 3066.0 169 2583176 3066.0 168 19.01349468771287
"SLAM:CALC_389701" 2583178 3066.0 170 2583177 3066.0 169 19.01349468771287
"NOMAD:2585$1070617$1881" 1028952 18713.0 774 1028951 18713.0 773 4240.680694392164
"NOMAD:2585$1071510$536" 1389092 4724.0 249 1389091 4724.0 248 632.8068434470941
"NOMAD:2585$1070628$1955" 1633994 2900.0 154 1633993 2900.0 153 358.6432510299911
"NOMAD:2585$1071233$1241" 2180581 10259.0 451 2180580 10259.0 450 76.20668070546657
"NOMAD:2585$1068754$175" 761795 17219.0 469 761794 17219.0 468 169.8757954354135
"NOMAD:2585$1068754$175" 761867 20559.0 541 761866 20559.0 540 1516.6490537753048
"ALTOBUS:2586$S2-163$48" 8568 2629.0 58 8567 2629.0 57 1986.058858048795
"ALTOBUS:2586$S2-163$48" 8595 4677.0 85 8594 4677.0 84 2099.9281762150113
"ALTOBUS:2586$S2-163$48" 8607 4996.0 97 8606 4996.0 96 3631.8529527499873
"ALTOBUS:2586$S2-163$48" 8718 14125.0 208 8717 14125.0 207 3801.747758031154
"ALTOBUS:2586$S2-163$48" 8785 17443.0 275 8784 17443.0 274 1259.5425494146057
"ALTOBUS:2586$S2-163$48" 8801 18951.0 291 8800 18951.0 290 1262.8496138454095
"ALTOBUS:2586$S2-163$48" 8839 20373.0 329 8838 20373.0 328 637.8781520046372
"ALTOBUS:2586$S2-163$48" 8880 25240.0 370 8879 25240.0 369 2305.353167112457
"ALTOBUS:2586$S2-163$48" 8947 34703.0 437 8946 34703.0 436 1492.8426058207683
"ALTOBUS:2586$S2-163$48" 8986 36643.0 476 8985 36643.0 475 209.2625952679899
"ALTOBUS:2586$S2-163$48" 8994 37233.0 484 8993 37233.0 483 248.020260966516
"ALTOBUS:2586$S2-163$48" 8999 37752.0 489 8998 37752.0 488 256.95438244054696
"ALTOBUS:2586$S2-163$48" 9037 38775.0 527 9036 38775.0 526 281.3847946126877
"SEMO:2584$LS1P69$64" 2552178 7232.0 272 2552177 7232.0 271 324.10112634419147
"SEMO:2584$LS1P69$64" 2552220 8896.0 314 2552219 8896.0 313 547.7508107009852
"NOMAD:2585$1070910$841" 1775959 28490.0 730 1775958 28490.0 729 1421.1364172561712
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 11623

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 11623 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:2585$1068407$162" 724261 2912.0 161 724260 2912.0 160 0.47475551644848324
"NOMAD:2585$1068407$162" 724270 3061.0 170 724269 3061.0 169 0.8723640164452731
"NOMAD:2585$1068407$162" 724309 4117.0 209 724308 4117.0 208 0.7937793714441522
"NOMAD:2585$1068407$162" 724813 17632.0 713 724812 17632.0 712 0.4748863891566647
"NOMAD:2585$1068407$162" 725093 25663.0 993 725092 25663.0 992 0.06507399365630152
"DEEPMOB:2568$GARE_TER_01$40" 138327 344.0 268 138326 344.0 267 0.8680920906757054
"DEEPMOB:2568$GARE_TER_01$40" 139181 1448.0 1122 139180 1448.0 1121 0.8562022783495726
"DEEPMOB:2568$GARE_TER_01$40" 140650 3348.0 2591 140649 3348.0 2590 0.9177531426161544
"DEEPMOB:2568$GARE_TER_01$40" 140788 3526.0 2729 140787 3526.0 2728 0.8719408524166113
"DEEPMOB:2568$GARE_TER_01$40" 140795 3535.0 2736 140794 3535.0 2735 0.8719407645210574
"DEEPMOB:2568$GARE_TER_01$40" 140802 3544.0 2743 140801 3544.0 2742 0.8571235236319092
"DEEPMOB:2568$GARE_TER_01$40" 140923 3700.0 2864 140922 3700.0 2863 0.857122905972067
"DEEPMOB:2568$GARE_TER_01$40" 141090 3915.0 3031 141089 3915.0 3030 0.8450827684707873
"DEEPMOB:2568$GARE_TER_01$40" 141094 3920.0 3035 141093 3920.0 3034 0.8450827691781115
"NOMAD:2585$1062640$820" 1737595 11728.0 360 1737594 11728.0 359 0.6104980072431685
"NOMAD:2585$1062640$820" 1738468 38868.0 1233 1738467 38868.0 1232 0.5150113441238113
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84645 2719.0 72 84644 2719.0 71 0.07274169462997096
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84676 3134.0 103 84675 3134.0 102 0.42254138458905577
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84677 3134.0 104 84676 3134.0 103 0.07274087718755506
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84679 3135.0 106 84678 3135.0 105 0.07274087718755506
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84680 3135.0 107 84679 3135.0 106 0.07274087718755506
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84681 3135.0 108 84680 3135.0 107 0.07274087718755506
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84682 3135.0 109 84681 3135.0 108 0.43366089446784106
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84684 3135.0 111 84683 3135.0 110 0.07274381123400307
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84691 3311.0 118 84690 3311.0 117 0.42875701493592877
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84695 3313.0 122 84694 3313.0 121 0.07274389519265811
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84696 3313.0 123 84695 3313.0 122 0.07274389519627322
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84711 4417.0 138 84710 4417.0 137 0.4287573882826326
"ASTROBUS:2525$zenbus:Route:4979952819634176:LOC$10" 84714 4418.0 141 84713 4418.0 140 0.07274990861614053
"NOMAD:2585$1070987$737" 1030622 574.0 33 1030621 574.0 32 0.36229291630332194
"NOMAD:2585$1070987$737" 1031024 17359.0 435 1031023 17359.0 434 0.4287074024622127
"NOMAD:2585$1070987$737" 1031629 36825.0 1040 1031628 36825.0 1039 0.29015653715331174
"NOMAD:2585$1071062$2089" 1901501 27776.0 644 1901500 27776.0 643 0.5671294611449466
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228174 622.0 35 228173 622.0 34 0.42254138458905577
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228175 622.0 36 228174 622.0 35 0.15369514522825045
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228179 825.0 40 228178 825.0 39 0.13905740659184587
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228180 825.0 41 228179 825.0 40 0.06586929786542117
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228193 1319.0 54 228192 1319.0 53 0.21224494924232032
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228195 1320.0 56 228194 1320.0 55 0.21224494922777168
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228204 1602.0 65 228203 1602.0 64 0.1463757268117423
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228214 2048.0 75 228213 2048.0 74 0.14637551498562373
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228215 2048.0 76 228214 2048.0 75 0.14637551497107512
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228225 2406.0 86 228224 2406.0 85 0.21956292136097386
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228227 2407.0 88 228226 2407.0 87 0.21956292137552244
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228232 2825.0 93 228231 2825.0 92 0.2268816337749234
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228234 2826.0 95 228233 2826.0 94 0.8482460222295777
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228239 3168.0 100 228238 3168.0 99 0.5855004106398328
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228241 3169.0 102 228240 3169.0 101 0.1390563475351439
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228250 3531.0 111 228249 3531.0 110 0.42254138458905577
"NEVA:2520$zenbus:Route:4863065234341888:LOC$43" 228264 4106.0 125 228263 4106.0 124 0.42254138388173157
fast_travel_between_consecutive_stops WARNING 6

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.
56767 "ATOUMOD001:ServiceJourney:TCARx18937:LOC" "ATOUMOD001:Line:TCARx530:LOC" 395.71644485314704 6.595274080885784 242209 20 "FR:76436:ZE:TCARxMJPLA2:ATOUMOD001" "Place Joseph Lefebvre" "16:13:00" 242210 21 "FR:76222:ZE:TCARxDUROU1:ATOUMOD001" "Route du Halage" "16:13:00"
41886 "ATOUMOD040:ServiceJourney:1071021x1094154:LOC" "ATOUMOD040:Line:1008231:LOC" 158.32784016784842 13.193986680654033 1393517 4 "FR:14332:ZE:1161342:ATOUMOD040" "Saint-clair" "13:48:00" 1393518 5 "FR:61314:ZE:1166242:ATOUMOD040" "Bourg (RD 958)" "13:52:00"
42785 "ATOUMOD040:ServiceJourney:1059235x1075405:LOC" "ATOUMOD040:Line:1003071:LOC" 156.54786075832038 5.218262025277346 1345398 17 "FR:76624:ZE:1172630:ATOUMOD040" "Square Aval" "11:39:00" 1345399 18 "FR:76624:ZE:1172611:ATOUMOD040" "Bout d'Amont" "11:40:00"
44977 "ATOUMOD040:ServiceJourney:1067553x1087920:LOC" "ATOUMOD040:Line:1003297:LOC" 188.69170192780544 6.289723397593515 1355616 10 "FR:27294:ZE:1118121:ATOUMOD040" "GRAINVILLE - Grand Mare" "11:45:00" 1355617 11 "FR:27214:ZE:1122433:ATOUMOD040" "Mairie" "11:46:00"
41510 "ATOUMOD040:ServiceJourney:1069186x1091067:LOC" "ATOUMOD040:Line:1004457:LOC" 190.47141489398274 15.872617907831893 1376428 16 "FR:14310:ZE:1152280:ATOUMOD040" "Ecole" "08:35:00" 1376429 17 "FR:14341:ZE:1173788:ATOUMOD040" "Porte d'Espagne" "08:39:00"
41509 "ATOUMOD040:ServiceJourney:1069186x1091066:LOC" "ATOUMOD040:Line:1004457:LOC" 190.47141489398274 15.872617907831893 1376407 16 "FR:14310:ZE:1152280:ATOUMOD040" "Ecole" "10:01:00" 1376408 17 "FR:14341:ZE:1173788:ATOUMOD040" "Porte d'Espagne" "10:05:00"
fast_travel_between_far_stops WARNING 3

fast_travel_between_far_stops

A transit vehicle moves too fast between two far stops.

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

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

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the problematic trip. tripId (?) `trip_id` of the problematic trip. routeId (?) `route_id` of the problematic trip. speedKph (?) Travel speed (km/h). distanceKm (?) Distance between stops (km). csvRowNumber1 (?) The row number of the first stop time. stopSequence1 (?) `stop_sequence` of the first stop. stopId1 (?) `stop_id` of the first stop. stopName1 (?) `stop_name` of the first stop. departureTime1 (?) `departure_time` of the first stop. csvRowNumber2 (?) The row number of the second stop time. stopSequence2 (?) `stop_sequence` of the second stop. stopId2 (?) `stop_id` of the second stop. stopName2 (?) `stop_name` of the second stop. arrivalTime2 (?) `arrival_time` of the second stop.
41886 "ATOUMOD040:ServiceJourney:1071021x1094154:LOC" "ATOUMOD040:Line:1008231:LOC" 158.32784016784842 13.193986680654033 1393517 4 "FR:14332:ZE:1161342:ATOUMOD040" "Saint-clair" "13:48:00" 1393518 5 "FR:61314:ZE:1166242:ATOUMOD040" "Bourg (RD 958)" "13:52:00"
41510 "ATOUMOD040:ServiceJourney:1069186x1091067:LOC" "ATOUMOD040:Line:1004457:LOC" 190.47141489398274 15.872617907831893 1376428 16 "FR:14310:ZE:1152280:ATOUMOD040" "Ecole" "08:35:00" 1376429 17 "FR:14341:ZE:1173788:ATOUMOD040" "Porte d'Espagne" "08:39:00"
41509 "ATOUMOD040:ServiceJourney:1069186x1091066:LOC" "ATOUMOD040:Line:1004457:LOC" 190.47141489398274 15.872617907831893 1376407 16 "FR:14310:ZE:1152280:ATOUMOD040" "Ecole" "10:01:00" 1376408 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" 6062 "stop_name" "Alsace Lorraine "
"stops.txt" 6105 "stop_name" "Poterne "
missing_bike_allowance WARNING 2623

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 2623 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.
49292 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7927:LOC"
49293 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7928:LOC"
49294 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7929:LOC"
49295 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7930:LOC"
49296 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7931:LOC"
49297 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7932:LOC"
49298 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7933:LOC"
49300 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7934:LOC"
49301 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7935:LOC"
49302 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7936:LOC"
49303 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7937:LOC"
49304 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7938:LOC"
49305 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7939:LOC"
49306 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7940:LOC"
49307 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7941:LOC"
49308 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7942:LOC"
49309 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7943:LOC"
49311 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7944:LOC"
49312 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7945:LOC"
49313 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7946:LOC"
49314 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7947:LOC"
49315 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7948:LOC"
49316 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7949:LOC"
49317 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7950:LOC"
49318 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7951:LOC"
49319 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7952:LOC"
49320 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7953:LOC"
49322 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7954:LOC"
49323 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7955:LOC"
49324 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7956:LOC"
49325 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7957:LOC"
49326 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7958:LOC"
49327 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7959:LOC"
49328 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7960:LOC"
49329 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7961:LOC"
49330 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7962:LOC"
49331 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7963:LOC"
49333 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7964:LOC"
49334 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7965:LOC"
49335 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7966:LOC"
49336 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7967:LOC"
49337 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7968:LOC"
49338 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7969:LOC"
49339 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7970:LOC"
49340 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7971:LOC"
49341 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7972:LOC"
60608 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7988:LOC"
60609 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7989:LOC"
60610 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7990:LOC"
60611 "ATOUMOD001:Line:TCARx99:LOC" "ATOUMOD001:ServiceJourney:TCARx7991: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:TCARx0:LOC" 1
3 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 2
4 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 3
5 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 4
6 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 5
7 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 6
8 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 7
9 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 8
10 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 9
11 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 10
12 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 11
13 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 12
14 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 13
15 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 14
16 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 15
17 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 16
18 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 17
19 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 18
20 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 19
21 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 20
22 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 21
23 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 22
24 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 23
25 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 24
26 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 25
27 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 26
28 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 27
29 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 28
30 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 29
31 "ATOUMOD001:ServiceJourney:TCARx0:LOC" 30
32 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 1
33 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 2
34 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 3
35 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 4
36 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 5
37 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 6
38 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 7
39 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 8
40 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 9
41 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 10
42 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 11
43 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 12
44 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 13
45 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 14
46 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 15
47 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 16
48 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 17
49 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 18
50 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 19
51 "ATOUMOD001:ServiceJourney:TCARx1:LOC" 20
mixed_case_recommended_field WARNING 9564

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 9564 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" 105
"routes.txt" "route_long_name" "PARIS <> CAEN" 106
"routes.txt" "route_long_name" "CAEN <> LE MANS <> TOURS" 107
"routes.txt" "route_long_name" "CAEN <> CHERBOURG" 108
"routes.txt" "route_long_name" "PARIS <> DIEPPE" 109
"routes.txt" "route_long_name" "ROUEN <> DIEPPE" 110
"routes.txt" "route_long_name" "PARIS <> LE HAVRE" 111
"routes.txt" "route_long_name" "PARIS <> EVREUX <> SERQUIGNY" 112
"routes.txt" "route_long_name" "LISIEUX <> DEAUVILLE" 113
"routes.txt" "route_long_name" "PARIS <> ARGENTAN <> GRANVILLE" 114
"routes.txt" "route_long_name" "BAYEUX - ARROMANCHES" 115
"routes.txt" "route_long_name" "PARIS <> CHERBOURG" 116
"routes.txt" "route_long_name" "BEAUVAIS <> ABANCOURT <> LE TRÉPORT" 117
"routes.txt" "route_long_name" "NORMANDIE <> PACA <> ALPES" 118
"routes.txt" "route_long_name" "CAEN<> COUTANCES <> GRANVILLE <> RENNES" 119
"routes.txt" "route_long_name" "DEAUVILLE<>DIVES" 120
"routes.txt" "route_long_name" "TOURS <> LE MANS <> CAEN" 121
"routes.txt" "route_long_name" "ROUEN <> VERNON <> PARIS" 122
"routes.txt" "route_long_name" "ROUEN <> LE HAVRE" 123
"routes.txt" "route_long_name" "ROUEN <> DIEPPE" 124
"routes.txt" "route_long_name" "CAEN <> 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_short_name" "11 EXPRESS" 137
"routes.txt" "route_long_name" "CARAVELLE <> CLINIQUE MÉGIVAL" 175
"routes.txt" "route_long_name" "OFFRANVILLE <> DIEPPE" 176
"routes.txt" "route_long_name" "BEAU SOLEIL <> VAL DRUEL" 177
"routes.txt" "route_long_name" "CLINIQUE MÉGIVAL - CARAVELLE" 178
"routes.txt" "route_long_name" "BEAU SOLEIL <> VAL DRUEL" 179
"routes.txt" "route_long_name" "PONT ANGO <> BELVÉDERE <> VAL DRUEL" 180
"routes.txt" "route_long_name" "HAUTOT-SUR-MER <> DIPPE" 181
"routes.txt" "route_long_name" "ARQUES-LA-BATAILLE <> DIEPPE" 182
"routes.txt" "route_long_name" "ARQUES-LA-BATAILLE <> DIPPE" 183
"routes.txt" "route_long_name" "MARTIN-EGLISE <> DIEPPE" 184
"routes.txt" "route_long_name" "DIEPPE <> MARTIN-EGLISE" 185
"routes.txt" "route_long_name" "NAVETTE CENTRE-VILLE" 186
"routes.txt" "route_long_name" "NAVETTE TRANSMANCHE" 187
"routes.txt" "route_long_name" "R.LILLY<> HOPITAL" 222
"routes.txt" "route_long_name" "R.LILLY <> HOPITAL" 223
"routes.txt" "route_long_name" "SAINT NICOLAS <> HÔPITAL" 224
"routes.txt" "route_long_name" "Z.A LE HERON <> PLAGE" 225
"routes.txt" "route_long_name" "CIMETIERE <> SAINT ETIENNE" 226
"routes.txt" "route_desc" "PUBLISH_AS_LINE_ID=30030155" 235
"routes.txt" "route_short_name" "10 EXPRESS" 276
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" 231 "#54F8C5" "#FFFFFF"
route_short_name_too_long WARNING 1

route_short_name_too_long

Short name of a route is too long (more than 12 characters).

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`.
"ATOUMOD0118:Line:DNxFERRY:LOC" 227 "Dieppe - Newhaven"
same_name_and_description_for_route WARNING 15

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`.
211 "ATOUMOD007:Line:10:LOC" "10" "route_short_name"
212 "ATOUMOD007:Line:21:LOC" "1" "route_short_name"
213 "ATOUMOD007:Line:22:LOC" "2" "route_short_name"
214 "ATOUMOD007:Line:23:LOC" "3" "route_short_name"
215 "ATOUMOD007:Line:24:LOC" "4" "route_short_name"
216 "ATOUMOD007:Line:25:LOC" "5" "route_short_name"
217 "ATOUMOD007:Line:26:LOC" "6" "route_short_name"
218 "ATOUMOD007:Line:29:LOC" "9" "route_short_name"
219 "ATOUMOD007:Line:31:LOC" "11" "route_short_name"
220 "ATOUMOD007:Line:38:LOC" "8A" "route_short_name"
221 "ATOUMOD007:Line:48:LOC" "8B" "route_short_name"
236 "ATOUMOD018:Line:737:LOC" "1" "route_short_name"
237 "ATOUMOD018:Line:805:LOC" "2" "route_short_name"
545 "ATOUMOD041:Line:1:LOC" "1" "route_short_name"
546 "ATOUMOD041:Line:2:LOC" "2" "route_short_name"
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.
2915 "ASTROBUS:2525$zenbus:Route:6547622039912448:LOC$151" "ATOUMOD036:ServiceJourney:5414496186138624x4:LOC" 1283273 "FR:14478:ZE:5881711318532096:ATOUMOD036" "RUE DU GENERAL DE GAULLE" [49.0245094,0.40423000000000003] 133.58628110786043
2910 "ASTROBUS:2525$zenbus:Route:5890943484952576:LOC$147" "ATOUMOD036:ServiceJourney:4814590119510016x2:LOC" 1279287 "FR:14478:ZE:5881711318532096:ATOUMOD036" "RUE DU GENERAL DE GAULLE" [49.0245094,0.40423000000000003] 133.58628110786043
2916 "ASTROBUS:2525$zenbus:Route:6338940115091456:LOC$152" "ATOUMOD036:ServiceJourney:5414496186138624x5:LOC" 1283293 "FR:14478:ZE:5881711318532096:ATOUMOD036" "RUE DU GENERAL DE GAULLE" [49.0245094,0.40423000000000003] 133.58628110786043
stop_without_stop_time WARNING 496

stop_without_stop_time

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

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

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
7614 "FR:76131:ZE:TAEx0x9035:ATOUMOD001" "Route du bac"
7615 "FR:76131:ZE:TAEx0x9036:ATOUMOD001" "Route du bac"
7616 "FR:76131:ZE:TAEx0x9097:ATOUMOD001" "La Croix Bizet"
7617 "FR:76131:ZE:TAEx0x9098:ATOUMOD001" "La Croix Bizet"
7826 "FR:76165:ZE:TAEx0x1231:ATOUMOD001" "Église de Caudebec"
7827 "FR:76165:ZE:TAEx0x1232:ATOUMOD001" "Église de Caudebec"
7828 "FR:76165:ZE:TAEx0x1241:ATOUMOD001" "Mairie de Caudebec"
7829 "FR:76165:ZE:TAEx0x1242:ATOUMOD001" "Mairie de Caudebec"
7830 "FR:76165:ZE:TAEx0x1251:ATOUMOD001" "Léo Lagrange"
7831 "FR:76165:ZE:TAEx0x1252:ATOUMOD001" "Léo Lagrange"
7832 "FR:76165:ZE:TAEx0x1261:ATOUMOD001" "Eugene Pottier"
7833 "FR:76165:ZE:TAEx0x1262:ATOUMOD001" "Eugene Pottier"
7834 "FR:76165:ZE:TAEx0x1271:ATOUMOD001" "Cousteau"
7835 "FR:76165:ZE:TAEx0x1272:ATOUMOD001" "Cousteau"
7836 "FR:76165:ZE:TAEx0x1281:ATOUMOD001" "École Saint Exupéry"
7837 "FR:76165:ZE:TAEx0x1282:ATOUMOD001" "École Saint Exupéry"
7838 "FR:76165:ZE:TAEx0x1291:ATOUMOD001" "Mare aux Boeufs"
7839 "FR:76165:ZE:TAEx0x1292:ATOUMOD001" "Mare aux Boeufs"
7840 "FR:76165:ZE:TAEx0x1301:ATOUMOD001" "Grâce de Dieu"
7841 "FR:76165:ZE:TAEx0x1302:ATOUMOD001" "Grâce de Dieu"
7842 "FR:76165:ZE:TAEx0x1311:ATOUMOD001" "La Chesnaie"
7843 "FR:76165:ZE:TAEx0x3091:ATOUMOD001" "Parc du Cedre"
7844 "FR:76165:ZE:TAEx0x3092:ATOUMOD001" "Parc du Cedre"
7845 "FR:76165:ZE:TAEx0x3101:ATOUMOD001" "Lamartine"
7846 "FR:76165:ZE:TAEx0x3102:ATOUMOD001" "Lamartine"
7847 "FR:76165:ZE:TAEx0x3111:ATOUMOD001" "Félix Faure"
7848 "FR:76165:ZE:TAEx0x3112:ATOUMOD001" "Félix Faure"
7849 "FR:76165:ZE:TAEx0x3123:ATOUMOD001" "Clos Allard"
7850 "FR:76165:ZE:TAEx0x3124:ATOUMOD001" "Clos Allard"
7851 "FR:76165:ZE:TAEx0x4131:ATOUMOD001" "Espace Corto Maltese"
7852 "FR:76165:ZE:TAEx0x4132:ATOUMOD001" "Espace Corto Maltese"
7853 "FR:76165:ZE:TAEx0x4142:ATOUMOD001" "La Villette"
7854 "FR:76165:ZE:TAEx0x4151:ATOUMOD001" "Saulniers"
7874 "FR:76178:ZE:TAEx0x1011:ATOUMOD001" "Mairie de Cléon"
7875 "FR:76178:ZE:TAEx0x1012:ATOUMOD001" "Mairie de Cléon"
7876 "FR:76178:ZE:TAEx0x1021:ATOUMOD001" "La Croix"
7877 "FR:76178:ZE:TAEx0x1022:ATOUMOD001" "La Croix"
7878 "FR:76178:ZE:TAEx0x1031:ATOUMOD001" "La Voie"
7879 "FR:76178:ZE:TAEx0x1032:ATOUMOD001" "La Voie"
7880 "FR:76178:ZE:TAEx0x1041:ATOUMOD001" "Petit Clos"
7881 "FR:76178:ZE:TAEx0x1042:ATOUMOD001" "Petit Clos"
7882 "FR:76178:ZE:TAEx0x3321:ATOUMOD001" "Renault"
7883 "FR:76178:ZE:TAEx0x3322:ATOUMOD001" "Renault"
7884 "FR:76178:ZE:TAEx0x5031:ATOUMOD001" "P. et M. Curie"
7885 "FR:76178:ZE:TAEx0x5032:ATOUMOD001" "P. et M. Curie"
7886 "FR:76178:ZE:TAEx0x5041:ATOUMOD001" "Frédéric Mistral"
7887 "FR:76178:ZE:TAEx0x5042:ATOUMOD001" "Frédéric Mistral"
7888 "FR:76178:ZE:TAEx0x5051:ATOUMOD001" "Brulins"
7889 "FR:76178:ZE:TAEx0x5052:ATOUMOD001" "Brulins"
7890 "FR:76178:ZE:TAEx0x5062:ATOUMOD001" "Les Feugrais"
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.
44854 "NOMAD:2585$1061852$386" "ATOUMOD040:ServiceJourney:1061852x1079817:LOC" 1347867 "FR:27229:ZE:1117503:ATOUMOD040" "Gare Routiere" [49.01906957418984,1.1510311227945547] 1347866 "FR:27467:ZE:1119579:ATOUMOD040" "PONT-AUDEMER - Gare Routiere" [49.35375598408939,0.5097112500260694]
unusable_trip WARNING 3732

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 3732 affected records are displayed below.

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's id.
48739 "ATOUMOD001:ServiceJourney:TAExRJEU80AAP:LOC"
48740 "ATOUMOD001:ServiceJourney:TAExRMER80AAK:LOC"
48741 "ATOUMOD001:ServiceJourney:TAExBJV1CZH:LOC"
48842 "ATOUMOD001:ServiceJourney:TAExBJV1CZJ:LOC"
48943 "ATOUMOD001:ServiceJourney:TAExBJV1CZL:LOC"
48944 "ATOUMOD001:ServiceJourney:TAExMSAM6BYK:LOC"
48955 "ATOUMOD001:ServiceJourney:TAExMSAM6BYM:LOC"
48966 "ATOUMOD001:ServiceJourney:TAExMSAM6BYO:LOC"
48977 "ATOUMOD001:ServiceJourney:TAExMSAM6BYQ:LOC"
48988 "ATOUMOD001:ServiceJourney:TAExMSAM6BYS:LOC"
48999 "ATOUMOD001:ServiceJourney:TAExMSAM6BYU:LOC"
49010 "ATOUMOD001:ServiceJourney:TAExMSAM6BYW:LOC"
49021 "ATOUMOD001:ServiceJourney:TAExMSAM6BYY:LOC"
49032 "ATOUMOD001:ServiceJourney:TAExMSAM6BZA:LOC"
49043 "ATOUMOD001:ServiceJourney:TAExMSAM6BZC:LOC"
49054 "ATOUMOD001:ServiceJourney:TAExBJV1CZN:LOC"
49055 "ATOUMOD001:ServiceJourney:TAExMSAM6BZE:LOC"
49066 "ATOUMOD001:ServiceJourney:TAExMSAM6BZG:LOC"
49077 "ATOUMOD001:ServiceJourney:TAExMSAM6BZI:LOC"
49088 "ATOUMOD001:ServiceJourney:TAExMSAM6BZK:LOC"
49099 "ATOUMOD001:ServiceJourney:TAExMSAM6BZM:LOC"
49110 "ATOUMOD001:ServiceJourney:TAExMSAM6BZO:LOC"
49121 "ATOUMOD001:ServiceJourney:TAExMSAM6BZQ:LOC"
49132 "ATOUMOD001:ServiceJourney:TAExMSAM6BZS:LOC"
49143 "ATOUMOD001:ServiceJourney:TAExMSAM6BZU:LOC"
49154 "ATOUMOD001:ServiceJourney:TAExMSAM6BZW:LOC"
49165 "ATOUMOD001:ServiceJourney:TAExBJV1CZP:LOC"
49166 "ATOUMOD001:ServiceJourney:TAExMSAM6BZY:LOC"
49177 "ATOUMOD001:ServiceJourney:TAExMSAM6BZZ:LOC"
49188 "ATOUMOD001:ServiceJourney:TAExMSAM6CAB:LOC"
49199 "ATOUMOD001:ServiceJourney:TAExMSAM6CAD:LOC"
49210 "ATOUMOD001:ServiceJourney:TAExMSAM6CAF:LOC"
49221 "ATOUMOD001:ServiceJourney:TAExMSAM6CAH:LOC"
49232 "ATOUMOD001:ServiceJourney:TAExMSAM6CAJ:LOC"
49243 "ATOUMOD001:ServiceJourney:TAExMSAM6CAL:LOC"
49254 "ATOUMOD001:ServiceJourney:TAExMSAM6CAN:LOC"
49265 "ATOUMOD001:ServiceJourney:TAExMSAM6CAP:LOC"
49276 "ATOUMOD001:ServiceJourney:TAExBJV1CZR:LOC"
49277 "ATOUMOD001:ServiceJourney:TAExMSAM6CAR:LOC"
49288 "ATOUMOD001:ServiceJourney:TAExMSAM6CAT:LOC"
49299 "ATOUMOD001:ServiceJourney:TAExMSAM6CAV:LOC"
49310 "ATOUMOD001:ServiceJourney:TAExMSAM6CAX:LOC"
49321 "ATOUMOD001:ServiceJourney:TAExMSAM6CAZ:LOC"
49332 "ATOUMOD001:ServiceJourney:TAExMSAM6CBB:LOC"
49343 "ATOUMOD001:ServiceJourney:TAExMSAM6CBD:LOC"
49354 "ATOUMOD001:ServiceJourney:TAExMSAM6CBF:LOC"
49365 "ATOUMOD001:ServiceJourney:TAExMSAM6CBH:LOC"
49376 "ATOUMOD001:ServiceJourney:TAExMSAM6CBJ:LOC"
49387 "ATOUMOD001:ServiceJourney:TAExMSAM6CBL:LOC"
49398 "ATOUMOD001:ServiceJourney:TAExMSAM6CBN:LOC"
unused_trip WARNING 3732

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 3732 affected records are displayed below.

tripId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"ATOUMOD001:ServiceJourney:TAExRJEU80AAP:LOC" 48739
"ATOUMOD001:ServiceJourney:TAExRMER80AAK:LOC" 48740
"ATOUMOD001:ServiceJourney:TAExBJV1CZH:LOC" 48741
"ATOUMOD001:ServiceJourney:TAExBJV1CZJ:LOC" 48842
"ATOUMOD001:ServiceJourney:TAExBJV1CZL:LOC" 48943
"ATOUMOD001:ServiceJourney:TAExMSAM6BYK:LOC" 48944
"ATOUMOD001:ServiceJourney:TAExMSAM6BYM:LOC" 48955
"ATOUMOD001:ServiceJourney:TAExMSAM6BYO:LOC" 48966
"ATOUMOD001:ServiceJourney:TAExMSAM6BYQ:LOC" 48977
"ATOUMOD001:ServiceJourney:TAExMSAM6BYS:LOC" 48988
"ATOUMOD001:ServiceJourney:TAExMSAM6BYU:LOC" 48999
"ATOUMOD001:ServiceJourney:TAExMSAM6BYW:LOC" 49010
"ATOUMOD001:ServiceJourney:TAExMSAM6BYY:LOC" 49021
"ATOUMOD001:ServiceJourney:TAExMSAM6BZA:LOC" 49032
"ATOUMOD001:ServiceJourney:TAExMSAM6BZC:LOC" 49043
"ATOUMOD001:ServiceJourney:TAExBJV1CZN:LOC" 49054
"ATOUMOD001:ServiceJourney:TAExMSAM6BZE:LOC" 49055
"ATOUMOD001:ServiceJourney:TAExMSAM6BZG:LOC" 49066
"ATOUMOD001:ServiceJourney:TAExMSAM6BZI:LOC" 49077
"ATOUMOD001:ServiceJourney:TAExMSAM6BZK:LOC" 49088
"ATOUMOD001:ServiceJourney:TAExMSAM6BZM:LOC" 49099
"ATOUMOD001:ServiceJourney:TAExMSAM6BZO:LOC" 49110
"ATOUMOD001:ServiceJourney:TAExMSAM6BZQ:LOC" 49121
"ATOUMOD001:ServiceJourney:TAExMSAM6BZS:LOC" 49132
"ATOUMOD001:ServiceJourney:TAExMSAM6BZU:LOC" 49143
"ATOUMOD001:ServiceJourney:TAExMSAM6BZW:LOC" 49154
"ATOUMOD001:ServiceJourney:TAExBJV1CZP:LOC" 49165
"ATOUMOD001:ServiceJourney:TAExMSAM6BZY:LOC" 49166
"ATOUMOD001:ServiceJourney:TAExMSAM6BZZ:LOC" 49177
"ATOUMOD001:ServiceJourney:TAExMSAM6CAB:LOC" 49188
"ATOUMOD001:ServiceJourney:TAExMSAM6CAD:LOC" 49199
"ATOUMOD001:ServiceJourney:TAExMSAM6CAF:LOC" 49210
"ATOUMOD001:ServiceJourney:TAExMSAM6CAH:LOC" 49221
"ATOUMOD001:ServiceJourney:TAExMSAM6CAJ:LOC" 49232
"ATOUMOD001:ServiceJourney:TAExMSAM6CAL:LOC" 49243
"ATOUMOD001:ServiceJourney:TAExMSAM6CAN:LOC" 49254
"ATOUMOD001:ServiceJourney:TAExMSAM6CAP:LOC" 49265
"ATOUMOD001:ServiceJourney:TAExBJV1CZR:LOC" 49276
"ATOUMOD001:ServiceJourney:TAExMSAM6CAR:LOC" 49277
"ATOUMOD001:ServiceJourney:TAExMSAM6CAT:LOC" 49288
"ATOUMOD001:ServiceJourney:TAExMSAM6CAV:LOC" 49299
"ATOUMOD001:ServiceJourney:TAExMSAM6CAX:LOC" 49310
"ATOUMOD001:ServiceJourney:TAExMSAM6CAZ:LOC" 49321
"ATOUMOD001:ServiceJourney:TAExMSAM6CBB:LOC" 49332
"ATOUMOD001:ServiceJourney:TAExMSAM6CBD:LOC" 49343
"ATOUMOD001:ServiceJourney:TAExMSAM6CBF:LOC" 49354
"ATOUMOD001:ServiceJourney:TAExMSAM6CBH:LOC" 49365
"ATOUMOD001:ServiceJourney:TAExMSAM6CBJ:LOC" 49376
"ATOUMOD001:ServiceJourney:TAExMSAM6CBL:LOC" 49387
"ATOUMOD001:ServiceJourney:TAExMSAM6CBN:LOC" 49398