astuces — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-08T03:16:55Z,
for the dataset file:///shared/astuces_b4116c83.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:
2026-07-23
Feed End Date:
2027-08-29

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: 4
  • Blocks: 69
  • Routes: 107
  • Shapes: 480
  • Stops: 3484
  • Trips: 25956

Specification Compliance report

109480 notices reported (81 errors, 101105 warnings, 8294 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates ERROR 81

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 81 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.
"TAE:4188$IR$44" 5165 8458.0 678 5164 8458.0 677 2314.410333586618
"TAE:4188$ARD$23" 2180 1776.0 75 2179 1776.0 74 198.28034781907317
"TAE:4188$ARD$23" 2214 2370.0 109 2213 2370.0 108 29.266640535352597
"TAE:4188$ARD$23" 2264 3142.0 159 2263 3142.0 158 125.16131326443517
"TAE:4188$ARD$23" 2295 3564.0 190 2294 3564.0 189 245.4765776518323
"TAE:4188$AR$22" 1610 1776.0 75 1609 1776.0 74 198.28034781907317
"TAE:4188$AR$22" 1644 2370.0 109 1643 2370.0 108 29.266640535352597
"TAE:4188$AR$22" 1694 3142.0 159 1693 3142.0 158 125.16131326443517
"TAE:4188$AR$22" 1725 3564.0 190 1724 3564.0 189 245.4765776518323
"TAE:4188$AR$22" 2036 9974.0 501 2035 9974.0 500 19.341073704365506
"TAE:4188$D2AD$14" 10938 1776.0 75 10937 1776.0 74 198.28034781907317
"TAE:4188$D2AD$14" 10972 2370.0 109 10971 2370.0 108 29.266640535352597
"TAE:4188$D2AD$14" 11022 3142.0 159 11021 3142.0 158 125.16131326443517
"TAE:4188$D2AD$14" 11053 3564.0 190 11052 3564.0 189 245.4765776518323
"TAE:4188$D2R$35" 10091 1553.0 112 10090 1553.0 111 179.60361174337353
"TAE:4188$D2R$35" 10152 2144.0 173 10151 2144.0 172 74.80265019997161
"TAE:4188$D2R$35" 10745 14428.0 766 10744 14428.0 765 44.67955535777121
"TAE:4188$D2R$35" 10784 15213.0 805 10783 15213.0 804 70.4968918614527
"TAE:4188$AAD$1" 70 1524.0 69 69 1524.0 68 19.341073704365506
"TAE:4188$AA$3" 648 1105.0 53 647 1105.0 52 435.1334844709307
"TAE:4188$AA$3" 666 1543.0 71 665 1543.0 70 395.5647052521437
"TAE:4188$AA$3" 1068 8937.0 473 1067 8937.0 472 44.67955535777121
"TAE:4188$AA$3" 1107 9722.0 512 1106 9722.0 511 70.4968918614527
"TAE:4188$CA$8" 18714 917.0 52 18713 917.0 51 18.31281979246079
"TAE:4188$CA$8" 18841 4087.0 179 18840 4087.0 178 191.898598686202
"TAE:4188$CA$8" 19038 8301.0 376 19037 8301.0 375 537.1535100087145
"TAE:4188$CA$8" 19081 9121.0 419 19080 9121.0 418 269.4685097892767
"TAE:4188$BR$24" 13913 1392.0 73 13912 1392.0 72 415.6054892840643
"TAE:4188$BR$24" 13954 2207.0 114 13953 2207.0 113 272.2922585182714
"TAE:4188$BR$24" 14178 7132.0 338 14177 7132.0 337 636.2622113870451
"TAE:4188$BR$24" 14212 7678.0 372 14211 7678.0 371 74.89377862408126
"TAE:4188$D2RF$34" 9831 1558.0 98 9830 1558.0 97 44.67955535777121
"TAE:4188$D2RF$34" 9870 2343.0 137 9869 2343.0 136 70.4968918614527
"TAE:4188$AAF$2" 477 1686.0 101 476 1686.0 100 44.67955535777121
"TAE:4188$AAF$2" 516 2471.0 140 515 2471.0 139 70.4968918614527
"TAE:4188$BRD$27" 12633 1392.0 73 12632 1392.0 72 415.6054892840643
"TAE:4188$BRD$27" 12674 2207.0 114 12673 2207.0 113 272.2922585182714
"TAE:4188$FA$16" 20408 7094.0 306 20407 7094.0 305 4623.461065619844
"TAE:4188$FA$16" 20685 17173.0 583 20684 17173.0 582 80.39188294909499
"TAE:4188$FA$16" 20848 18364.0 746 20847 18364.0 745 16.880984817112413
"TAE:4188$CR$29" 17686 7857.0 345 17685 7857.0 344 179.0569392713268
"TAE:4188$CR$29" 18041 15428.0 700 18040 15428.0 699 229.73404781825653
"TAE:4188$CR$29" 18082 15963.0 741 18081 15963.0 740 87.9527391062686
"TAE:4188$CR$29" 18144 17727.0 803 18143 17727.0 802 202.86837393435914
"TAE:4188$CAD$9" 18284 917.0 52 18283 917.0 51 18.31281979246079
"TAE:4188$CAD$9" 18411 4087.0 179 18410 4087.0 178 191.898598686202
"TAE:4188$CAD$9" 18606 8278.0 374 18605 8278.0 373 537.1535100087145
"TAE:4188$CAD$9" 18649 9097.0 417 18648 9097.0 416 269.4685097892767
"TAE:4188$GA$19" 2819 9848.0 492 2818 9848.0 491 246.40635039447014
"TAE:4188$GA$19" 2960 13392.0 633 2959 13392.0 632 9.090170390463086
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 371

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 371 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.
"TAE:4188$IR$44" 4493 15.0 6 4492 15.0 5 0.44670634726109737
"TAE:4188$IR$44" 4498 26.0 11 4497 26.0 10 0.07246618651142481
"TAE:4188$IR$44" 4502 34.0 15 4501 34.0 14 0.4751877791794026
"TAE:4188$IR$44" 4511 77.0 24 4510 77.0 23 0.858675553104151
"TAE:4188$IR$44" 4517 87.0 30 4516 87.0 29 0.07246689393120864
"TAE:4188$IR$44" 4521 111.0 34 4520 111.0 33 0.07246720276568168
"TAE:4188$IR$44" 4625 1002.0 138 4624 1002.0 137 0.42757438637765377
"TAE:4188$IR$44" 4629 1013.0 142 4628 1013.0 141 0.21741080606054292
"TAE:4188$IR$44" 4638 1034.0 151 4637 1034.0 150 0.7319505641291933
"TAE:4188$IR$44" 4706 1521.0 219 4705 1521.0 218 0.36958757389639113
"TAE:4188$IR$44" 4764 2678.0 277 4763 2678.0 276 0.07245875168178807
"TAE:4188$IR$44" 4831 3893.0 344 4830 3893.0 343 0.556599354380177
"TAE:4188$IR$44" 4854 3989.0 367 4853 3989.0 366 0.14492170375998736
"TAE:4188$IR$44" 4858 4001.0 371 4857 4001.0 370 0.07246092490166949
"TAE:4188$IR$44" 4877 4248.0 390 4876 4248.0 389 0.4287098597481762
"TAE:4188$IR$44" 4883 4263.0 396 4882 4263.0 395 0.475183863408647
"TAE:4188$IR$44" 4901 4330.0 414 4900 4330.0 413 0.8444823780930819
"TAE:4188$IR$44" 4946 5349.0 459 4945 5349.0 458 0.8851696050137963
"TAE:4188$IR$44" 4948 5353.0 461 4947 5353.0 460 0.47852276136302546
"TAE:4188$IR$44" 4954 5367.0 467 4953 5367.0 466 0.9635332927179122
"TAE:4188$IR$44" 5001 6066.0 514 5000 6066.0 513 0.07245009770491585
"TAE:4188$IR$44" 5066 6745.0 579 5065 6745.0 578 0.0724512433714914
"TAE:4188$IR$44" 5175 8594.0 688 5174 8594.0 687 0.36219317283923846
"TAE:4188$IR$44" 5229 11658.0 742 5228 11658.0 741 0.8692774988659104
"TAE:4188$IR$44" 5251 12170.0 764 5250 12170.0 763 0.3622128871380541
"TAE:4188$IR$44" 5258 12213.0 771 5257 12213.0 770 0.4751549630488685
"TAE:4188$ARD$23" 2120 234.0 15 2119 234.0 14 0.5568832115695661
"TAE:4188$ARD$23" 2208 2353.0 103 2207 2353.0 102 0.8481906587594092
"TAE:4188$ARD$23" 2265 3142.0 160 2264 3142.0 159 0.1450689540772857
"TAE:4188$ARD$23" 2283 3397.0 178 2282 3397.0 177 0.42872188769224906
"TAE:4188$AR$22" 1550 234.0 15 1549 234.0 14 0.5568832115695661
"TAE:4188$AR$22" 1638 2353.0 103 1637 2353.0 102 0.8481906587594092
"TAE:4188$AR$22" 1695 3142.0 160 1694 3142.0 159 0.1450689540772857
"TAE:4188$AR$22" 1713 3397.0 178 1712 3397.0 177 0.42872188769224906
"TAE:4188$AR$22" 1790 5048.0 255 1789 5048.0 254 0.06527574166912051
"TAE:4188$D2AD$14" 10878 234.0 15 10877 234.0 14 0.5568832115695661
"TAE:4188$D2AD$14" 10966 2353.0 103 10965 2353.0 102 0.8481906587594092
"TAE:4188$D2AD$14" 11023 3142.0 160 11022 3142.0 159 0.1450689540772857
"TAE:4188$D2AD$14" 11041 3397.0 178 11040 3397.0 177 0.42872188769224906
"TAE:4188$D2R$35" 10020 455.0 41 10019 455.0 40 0.49990493769309235
"TAE:4188$D2R$35" 10068 1473.0 89 10067 1473.0 88 0.475183208434361
"TAE:4188$D2R$35" 10078 1507.0 99 10077 1507.0 98 0.4287098597481762
"TAE:4188$D2R$35" 10090 1553.0 111 10089 1553.0 110 0.6062813092971393
"TAE:4188$D2R$35" 10150 2140.0 171 10149 2140.0 170 0.28986445400345806
"TAE:4188$D2R$35" 10315 4774.0 336 10314 4774.0 335 0.5870995874172514
"TAE:4188$D2R$35" 10327 4851.0 348 10326 4851.0 347 0.5566700085416254
"TAE:4188$D2R$35" 10509 9918.0 530 10508 9918.0 529 0.14501597642522318
"TAE:4188$D2R$35" 10682 13496.0 703 10681 13496.0 702 0.606584885796282
"TAE:4188$D2R$35" 10689 13506.0 710 10688 13506.0 709 0.42872188863551003
"TAE:4188$D2R$35" 10726 14189.0 747 10725 14189.0 746 0.42254138458905577
missing_bike_allowance WARNING 92

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 92 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.
2474 "TCAR:99" "TCAR:10450"
2475 "TCAR:99" "TCAR:10451"
2476 "TCAR:99" "TCAR:10452"
2477 "TCAR:99" "TCAR:10453"
2478 "TCAR:99" "TCAR:10454"
2479 "TCAR:99" "TCAR:10455"
2480 "TCAR:99" "TCAR:10456"
2481 "TCAR:99" "TCAR:10457"
2482 "TCAR:99" "TCAR:10458"
2483 "TCAR:99" "TCAR:10459"
2485 "TCAR:99" "TCAR:10460"
2486 "TCAR:99" "TCAR:10461"
2487 "TCAR:99" "TCAR:10462"
2488 "TCAR:99" "TCAR:10463"
2489 "TCAR:99" "TCAR:10464"
2490 "TCAR:99" "TCAR:10465"
2491 "TCAR:99" "TCAR:10466"
2492 "TCAR:99" "TCAR:10467"
2493 "TCAR:99" "TCAR:10468"
2494 "TCAR:99" "TCAR:10469"
2496 "TCAR:99" "TCAR:10470"
2497 "TCAR:99" "TCAR:10471"
2498 "TCAR:99" "TCAR:10472"
2499 "TCAR:99" "TCAR:10473"
2500 "TCAR:99" "TCAR:10474"
2501 "TCAR:99" "TCAR:10475"
2502 "TCAR:99" "TCAR:10476"
2503 "TCAR:99" "TCAR:10477"
2504 "TCAR:99" "TCAR:10478"
2505 "TCAR:99" "TCAR:10479"
2507 "TCAR:99" "TCAR:10480"
2508 "TCAR:99" "TCAR:10481"
2509 "TCAR:99" "TCAR:10482"
2510 "TCAR:99" "TCAR:10483"
2511 "TCAR:99" "TCAR:10484"
2512 "TCAR:99" "TCAR:10485"
2513 "TCAR:99" "TCAR:10486"
2514 "TCAR:99" "TCAR:10487"
2515 "TCAR:99" "TCAR:10488"
2516 "TCAR:99" "TCAR:10489"
2518 "TCAR:99" "TCAR:10490"
2519 "TCAR:99" "TCAR:10491"
2520 "TCAR:99" "TCAR:10492"
2521 "TCAR:99" "TCAR:10493"
2522 "TCAR:99" "TCAR:10494"
2523 "TCAR:99" "TCAR:10495"
2527 "TCAR:99" "TCAR:10511"
2528 "TCAR:99" "TCAR:10512"
2529 "TCAR:99" "TCAR:10513"
2530 "TCAR:99" "TCAR:10514"
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_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 "TAE:JLMM6CVVB" 1
3 "TAE:JLMM6CVVB" 2
4 "TAE:JLMM6CVVB" 3
5 "TAE:JLMM6CVVB" 4
6 "TAE:JLMM6CVVB" 5
7 "TAE:JLMM6CVVB" 6
8 "TAE:JLMM6CVVB" 7
9 "TAE:JLMM6CVVB" 8
10 "TAE:JLMM6CVVB" 9
11 "TAE:JLMM6CVVB" 10
12 "TAE:JLMM6CVVB" 11
13 "TAE:JLMM6CVVB" 12
14 "TAE:JLMM6CVVB" 13
15 "TAE:JLMM6CVVB" 14
16 "TAE:JLMM6CVVB" 15
17 "TAE:JLMM6CVVB" 16
18 "TAE:JLMM6CVVB" 17
19 "TAE:JLMM6CVVB" 18
20 "TAE:JLMM6CVVB" 19
21 "TAE:JLMM6CVVB" 20
22 "TAE:JLMM6CVVB" 21
23 "TAE:JLMM6CVVB" 22
24 "TAE:JLMM6CVVB" 23
25 "TAE:JLMM6CVVB" 24
26 "TAE:JLMM6CVVB" 25
27 "TAE:JLMM6CVVB" 26
28 "TAE:JLMM6CVVB" 27
29 "TAE:JLMM6CVVB" 28
30 "TAE:JLMM6CVXB" 1
31 "TAE:JLMM6CVXB" 2
32 "TAE:JLMM6CVXB" 3
33 "TAE:JLMM6CVXB" 4
34 "TAE:JLMM6CVXB" 5
35 "TAE:JLMM6CVXB" 6
36 "TAE:JLMM6CVXB" 7
37 "TAE:JLMM6CVXB" 8
38 "TAE:JLMM6CVXB" 9
39 "TAE:JLMM6CVXB" 10
40 "TAE:JLMM6CVXB" 11
41 "TAE:JLMM6CVXB" 12
42 "TAE:JLMM6CVXB" 13
43 "TAE:JLMM6CVXB" 14
44 "TAE:JLMM6CVXB" 15
45 "TAE:JLMM6CVXB" 16
46 "TAE:JLMM6CVXB" 17
47 "TAE:JLMM6CVXB" 18
48 "TAE:JLMM6CVXB" 19
49 "TAE:JLMM6CVXB" 20
50 "TAE:JLMM6CVXB" 21
51 "TAE:JLMM6CVXB" 22
mixed_case_recommended_field WARNING 638

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

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2188
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2189
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2190
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2191
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2192
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2193
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2194
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2197
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2198
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2199
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2200
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2201
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2202
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2203
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2204
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2205
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2206
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2208
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2209
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2210
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2211
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2212
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2213
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2214
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2215
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2216
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2217
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2219
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2220
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2221
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2222
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2223
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2224
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2225
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2226
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2227
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2228
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2230
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2231
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2232
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2233
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2234
"trips.txt" "trip_headsign" "ESIGELEC SAINT-ÉTIENNE-DU-ROUVRAY" 2235
"trips.txt" "trip_headsign" "MIN ROUEN" 18419
"trips.txt" "trip_headsign" "MIN ROUEN" 18421
"trips.txt" "trip_headsign" "MIN ROUEN" 18422
"trips.txt" "trip_headsign" "MIN ROUEN" 18436
"trips.txt" "trip_headsign" "MIN ROUEN" 18437
"trips.txt" "trip_headsign" "MIN ROUEN" 18438
"trips.txt" "trip_headsign" "MIN ROUEN" 18439
route_color_contrast WARNING 2

route_color_contrast

Insufficient route color contrast.

A route's color and route_text_color should be contrasting.

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeColor (?) The faulty record's HTML route color. routeTextColor (?) The faulty record's HTML route text color.
"TCAR:26" 47 "#0069B4" "#1D1D1B"
"TCAR:530" 96 "#D20A11" "#1D1D1B"
route_long_name_contains_short_name WARNING 1

route_long_name_contains_short_name

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

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

Good examples:

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

Bad examples:

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

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeShortName (?) The faulty record's `route_short_name`. routeLongName (?) The faulty record's `route_long_name`.
"TCAR:60" 97 "Astuce Pro" "Astuce Pro"
feed_valid_beyond_total_service_window INFO 1

feed_valid_beyond_total_service_window

The feed is valid 14 days beyond its total service window.

You can see more about this notice here.

feedStartDate (?) The feed start date from feed_info.txt. feedEndDate (?) The feed end date from feed_info.txt. serviceWindowStartDate (?) The earliest active service date across all services. serviceWindowEndDate (?) The latest active service date across all services.
"2026-07-23" "2027-08-29" "2026-08-07" "2027-08-29"
unsorted_stop_times INFO 8293

unsorted_stop_times

Stop times are not sorted by trip_id and stop_sequence.

'stop_times.txt' entries for a given trip are not sorted by stop_sequence, or are not contiguous in the file.

You can see more about this notice here.

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

tripId (?) The faulty record's trip_id. startCsvRowNumber (?) CSV row number of the first stop_times entry for this trip. endCsvRowNumber (?) CSV row number of the last stop_times entry for this trip.
"TCAR:12714" 147340 160225
"TCAR:12705" 115759 133861
"TCAR:12706" 118008 152986
"TCAR:12707" 122109 133214
"TCAR:12708" 114782 134089
"TCAR:12709" 117362 136753
"TCAR:24714" 446464 475524
"TCAR:24713" 448475 469251
"TCAR:12732" 132381 149452
"TCAR:12735" 136820 156856
"TCAR:12726" 131975 139322
"TCAR:12728" 136339 137255
"TCAR:24709" 446791 467545
"TCAR:24707" 445329 470192
"TCAR:24706" 442596 474452
"TCAR:24705" 446539 469713
"TCAR:24703" 448957 467703
"TCAR:24701" 446052 467935
"TCAR:12721" 131109 149542
"TCAR:12722" 148790 149788
"TCAR:12724" 133895 153296
"TCAR:12718" 130604 153134
"TCAR:12719" 130698 135551
"TCAR:5600" 511610 531872
"TCAR:5609" 513083 558423
"TCAR:5607" 513739 531711
"TCAR:5612" 543199 549580
"TCAR:5619" 521917 533857
"TCAR:5616" 521584 543221
"TCAR:5624" 522085 554948
"TCAR:5628" 523401 532369
"TCAR:5627" 550789 575643
"TCAR:5636" 536407 540530
"TCAR:5644" 531772 543560
"TCAR:5654" 535155 551218
"TCAR:5664" 535071 612385
"TCAR:5663" 536067 558912
"TCAR:5678" 549641 555761
"TCAR:5677" 554670 587470
"TCAR:5672" 532430 556354
"TCAR:5687" 543621 555522
"TCAR:5699" 587531 591361
"TCAR:5697" 612406 612591
"TCAR:5695" 551279 620704
"TCAR:5693" 558813 592529
"TCAR:5691" 575704 581432
"TCAR:22197" 490711 542476
"TCAR:22195" 464302 491250
"TCAR:22193" 462213 507080
"TCAR:22190" 463991 464266