GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 5.0.1 at 2024-06-07T13:08:45Z,
for the dataset file:///tmp/1_in.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
BREIZGO
Publisher URL:
https://www.mobibreizh.bzh/
Feed Language:
French
Feed Start Date:
2022-12-06
Feed End Date:
2025-09-22

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: 33
  • Blocks: 8359
  • Routes: 0
  • Shapes: 4668
  • Stops: 28072
  • Trips: 89881

GTFS Features included (?) GTFS features provide a standardized vocabulary to define and describe features that are officially adopted in GTFS.


TransfersShapesFeed InformationHeadsignsWheelchair AccessibilityBikes AllowanceLocation Types

Specification Compliance report

218722 notices reported (100043 errors, 118679 warnings, 0 infos)

Notice Code Severity Total
decreasing_shape_distance ERROR 2

decreasing_shape_distance

Decreasing shape_dist_traveled in shapes.txt.

When sorted by shape.shape_pt_sequence, two consecutive shape points must not have decreasing values for shape_dist_traveled.

You can see more about this notice here.

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous shape point. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`.
"CTRL:3392$383" 106729 21227.0 813 106730 21226.0 814
"CTRL:3392$367" 688982 5800.0 270 688983 5799.0 271
equal_shape_distance_diff_coordinates ERROR 100000

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 100000 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.
"297012:LINEOTIMPERI:GOAT_13" 583155 3787.0 2 583154 3787.0 1 10.945096461399425
"297012:LINEOTIMPERI:GOAT_13" 583156 3787.0 3 583155 3787.0 2 16.238252045705092
"297012:LINEOTIMPERI:GOAT_13" 583157 3787.0 4 583156 3787.0 3 3.3591729255643394
"297012:LINEOTIMPERI:GOAT_13" 583158 3787.0 5 583157 3787.0 4 3.343688897496705
"297012:LINEOTIMPERI:GOAT_13" 583159 3787.0 6 583158 3787.0 5 3.349072587302473
"297012:LINEOTIMPERI:GOAT_13" 583160 3787.0 7 583159 3787.0 6 3.3505540570090244
"297012:LINEOTIMPERI:GOAT_13" 583161 3787.0 8 583160 3787.0 7 3.3463649721094835
"297012:LINEOTIMPERI:GOAT_13" 583162 3787.0 9 583161 3787.0 8 3.3489393333992945
"297012:LINEOTIMPERI:GOAT_13" 583163 3787.0 10 583162 3787.0 9 3.351029119034874
"297012:LINEOTIMPERI:GOAT_13" 583164 3787.0 11 583163 3787.0 10 13.4920051057367
"297012:LINEOTIMPERI:GOAT_13" 583165 3787.0 12 583164 3787.0 11 8.252849522722467
"297012:LINEOTIMPERI:GOAT_13" 583166 3787.0 13 583165 3787.0 12 6.368234663290846
"297012:LINEOTIMPERI:GOAT_13" 583167 3787.0 14 583166 3787.0 13 44.58499456692193
"297012:LINEOTIMPERI:GOAT_13" 583168 3787.0 15 583167 3787.0 14 26.40560916701235
"297012:LINEOTIMPERI:GOAT_13" 583169 3787.0 16 583168 3787.0 15 26.474260427018443
"297012:LINEOTIMPERI:GOAT_13" 583170 3787.0 17 583169 3787.0 16 7.359017398132913
"297012:LINEOTIMPERI:GOAT_13" 583171 3787.0 18 583170 3787.0 17 8.479346115472154
"297012:LINEOTIMPERI:GOAT_13" 583172 3787.0 19 583171 3787.0 18 18.161406595909057
"297012:LINEOTIMPERI:GOAT_13" 583173 3787.0 20 583172 3787.0 19 17.703512309582365
"297012:LINEOTIMPERI:GOAT_13" 583174 3787.0 21 583173 3787.0 20 20.42098215631605
"297012:LINEOTIMPERI:GOAT_13" 583175 3787.0 22 583174 3787.0 21 19.231776544933112
"297012:LINEOTIMPERI:GOAT_13" 583176 3787.0 23 583175 3787.0 22 62.34402007142171
"297012:LINEOTIMPERI:GOAT_13" 583177 3787.0 24 583176 3787.0 23 44.764324921851
"297012:LINEOTIMPERI:GOAT_13" 583178 3787.0 25 583177 3787.0 24 49.94889374647598
"297012:LINEOTIMPERI:GOAT_13" 583179 3787.0 26 583178 3787.0 25 16.705645624404113
"297012:LINEOTIMPERI:GOAT_13" 583180 3787.0 27 583179 3787.0 26 13.937259209218631
"297012:LINEOTIMPERI:GOAT_13" 583181 3787.0 28 583180 3787.0 27 16.536578297371115
"297012:LINEOTIMPERI:GOAT_13" 583182 3787.0 29 583181 3787.0 28 20.87522152194764
"297012:LINEOTIMPERI:GOAT_13" 583183 3787.0 30 583182 3787.0 29 34.67520622935979
"297012:LINEOTIMPERI:GOAT_13" 583184 3787.0 31 583183 3787.0 30 70.99541042321269
"297012:LINEOTIMPERI:GOAT_13" 583185 3787.0 32 583184 3787.0 31 67.32750843454555
"297012:LINEOTIMPERI:GOAT_13" 583186 3787.0 33 583185 3787.0 32 22.46931799769946
"297012:LINEOTIMPERI:GOAT_13" 583187 3787.0 34 583186 3787.0 33 15.016853904092086
"297012:LINEOTIMPERI:GOAT_13" 583188 3787.0 35 583187 3787.0 34 15.30170278753572
"297012:LINEOTIMPERI:GOAT_13" 583189 3787.0 36 583188 3787.0 35 28.15988391478559
"297012:LINEOTIMPERI:GOAT_13" 583190 3787.0 37 583189 3787.0 36 29.674290639064846
"297012:LINEOTIMPERI:GOAT_13" 583191 3787.0 38 583190 3787.0 37 39.80969564314445
"297012:LINEOTIMPERI:GOAT_13" 583192 3787.0 39 583191 3787.0 38 20.54447182924957
"297012:LINEOTIMPERI:GOAT_13" 583193 3787.0 40 583192 3787.0 39 18.612629367477954
"297012:LINEOTIMPERI:GOAT_13" 583194 3787.0 41 583193 3787.0 40 34.18230518398406
"297012:LINEOTIMPERI:GOAT_13" 583195 3787.0 42 583194 3787.0 41 33.12145352506921
"297012:LINEOTIMPERI:GOAT_13" 583196 3787.0 43 583195 3787.0 42 83.40228955587807
"297012:LINEOTIMPERI:GOAT_13" 583197 3787.0 44 583196 3787.0 43 77.91403512427718
"297012:LINEOTIMPERI:GOAT_13" 583198 3787.0 45 583197 3787.0 44 7.73090901381868
"297012:LINEOTIMPERI:GOAT_13" 583199 3787.0 46 583198 3787.0 45 8.979433322399142
"297012:LINEOTIMPERI:GOAT_13" 583200 3787.0 47 583199 3787.0 46 4.310109823119954
"297012:LINEOTIMPERI:GOAT_13" 583201 3787.0 48 583200 3787.0 47 7.127609791700246
"297012:LINEOTIMPERI:GOAT_13" 583202 3787.0 49 583201 3787.0 48 8.574851024514878
"297012:LINEOTIMPERI:GOAT_13" 583203 3787.0 50 583202 3787.0 49 6.526804234388052
"297012:LINEOTIMPERI:GOAT_13" 583204 3787.0 51 583203 3787.0 50 43.60388058082725
invalid_color ERROR 11

invalid_color

A field contains an invalid color value.

A color must be encoded as a six-digit hexadecimal number. The leading "#" is not included.

Example: FFFFFF for white, 000000 for black or 0039A6 for the A,C,E lines in NYC MTA.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
"routes.txt" 152 "route_text_color" "0"
"routes.txt" 153 "route_text_color" "0"
"routes.txt" 154 "route_text_color" "0"
"routes.txt" 155 "route_text_color" "0"
"routes.txt" 156 "route_text_color" "0"
"routes.txt" 157 "route_text_color" "0"
"routes.txt" 158 "route_text_color" "0"
"routes.txt" 159 "route_text_color" "0"
"routes.txt" 160 "route_text_color" "0"
"routes.txt" 170 "route_text_color" "0"
"routes.txt" 171 "route_text_color" "0"
point_near_origin ERROR 12

point_near_origin

A point is too close to origin (0, 0).

You can see more about this notice here.

filename (?) The name of the affected GTFS file. csvRowNumber (?) The row of the faulty row. entityId (?) The id of the faulty entity. latFieldName (?) The name of the field that uses latitude value. latFieldValue (?) The latitude of the faulty row. lonFieldName (?) The name of the field that uses longitude value. lonFieldValue (?) The longitude of the faulty row
"stops.txt" 7619 "SNCF:ST:142" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 7646 "SNCF:ST:167" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 7712 "SNCF:ST:226" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 7713 "SNCF:ST:227" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 7714 "SNCF:ST:228" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 7928 "SNCF:ST:46" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 21436 "SNCF:87313080" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 21439 "SNCF:87313692" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 21440 "SNCF:87313700" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 21441 "SNCF:87313718" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 21768 "SNCF:87481721" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 21848 "SNCF:87743872" "stop_lat" 0.0 "stop_lon" 0.0
stop_time_with_arrival_before_previous_departure_time ERROR 18

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.
410596 410595 "PENNARBED:TP971976:320175" "09:32:00" "09:59:00"
410598 410597 "PENNARBED:TP971976:320175" "09:33:00" "10:04:00"
410600 410599 "PENNARBED:TP971976:320175" "09:37:00" "10:06:00"
410602 410601 "PENNARBED:TP971976:320175" "09:38:00" "10:11:00"
410604 410603 "PENNARBED:TP971976:320175" "09:54:00" "10:12:00"
410606 410605 "PENNARBED:TP971976:320175" "09:56:00" "10:22:00"
410608 410607 "PENNARBED:TP971976:320175" "09:57:00" "10:23:00"
410610 410609 "PENNARBED:TP971976:320175" "09:58:00" "10:24:00"
410612 410611 "PENNARBED:TP971976:320175" "10:01:00" "10:26:00"
410614 410613 "PENNARBED:TP971976:320175" "10:03:00" "10:28:00"
410616 410615 "PENNARBED:TP971976:320175" "10:05:00" "10:30:00"
411852 411851 "PENNARBED:TP971976:320175" "10:06:00" "10:31:00"
411854 411853 "PENNARBED:TP971976:320175" "10:25:00" "10:33:00"
411859 411858 "PENNARBED:TP971976:320175" "10:55:00" "14:59:00"
411861 411860 "PENNARBED:TP971976:320175" "10:58:00" "15:01:00"
411863 411862 "PENNARBED:TP971976:320175" "10:59:00" "15:02:00"
274219 274218 "ILLENOO2:349:306143" "17:19:00" "17:21:00"
501085 501084 "ILLENOO2:764:306143" "17:19:00" "17:21:00"
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 7943

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 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 (less than 1.11 m distance) result in a warning.

You can see more about this notice here.

Only the first 50 of 7943 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.
"CTRL:3392$143" 372609 7758.0 223 372608 7758.0 222 0.5153619494988761
"CTRL:3392$143" 483148 21066.0 708 483147 21066.0 707 0.21355472945158405
"CTRL:3392$144" 509037 392.0 11 509036 392.0 10 0.16008566974575456
"CTRL:3392$144" 509498 1495.0 47 509497 1495.0 46 0.7470814627025298
"CTRL:3392$144" 510313 6685.0 215 510312 6685.0 214 0.6051175479788117
"CTRL:3392$144" 510491 7724.0 287 510490 7724.0 286 0.21355472945158405
"CTRL:3392$145" 513414 303.0 24 513413 303.0 23 0.21355472945158405
"CTRL:3392$146" 38560 303.0 24 38559 303.0 23 0.21355472945158405
"CTRL:3392$146" 512432 14155.0 549 512431 14155.0 548 0.8633586553261378
"CTRL:3392$146" 512434 14157.0 551 512433 14157.0 550 0.7392817097773443
"CTRL:3392$140" 469196 8211.0 234 469195 8211.0 233 0.08899010476873027
"CTRL:3392$141" 464536 8211.0 234 464535 8211.0 233 0.08899010476873027
"CTRL:3392$142" 465391 1998.0 92 465390 1998.0 91 0.6753278462798858
"CTRL:3392$142" 467023 11481.0 454 467022 11481.0 453 0.16008566974575456
"CTRL:3392$142" 467056 12583.0 489 467055 12583.0 488 0.3023901155323357
"CTRL:3392$142" 469053 17774.0 658 469052 17774.0 657 0.6051175479788117
"CTRL:3392$147" 33395 735.0 57 33394 735.0 56 0.8202158403712559
"CTRL:3392$147" 128633 1370.0 87 128632 1370.0 86 0.21397077529373032
"CTRL:3392$147" 361818 3075.0 149 361817 3075.0 148 0.14263999511095313
"CTRL:3392$147" 362818 6446.0 318 362817 6446.0 317 0.5348591057834222
"AXEOBUS:3381$AXEO 1.1.v2$1" 215168 4656000.0 227 215167 4656000.0 226 0.8503379330743617
"CTRL:3392$133" 361036 5736.0 174 361035 5736.0 173 0.44457249501208634
"CTRL:3392$133" 361925 13325.0 473 361924 13325.0 472 0.16008566974575456
"CTRL:3392$133" 362284 14427.0 508 362283 14427.0 507 0.3023901155323357
"CTRL:3392$134" 119797 8115.0 238 119796 8115.0 237 0.43342181794356416
"CTRL:3392$134" 119867 10490.0 311 119866 10490.0 310 0.860223127724937
"CTRL:3392$134" 120075 10749.0 324 120074 10749.0 323 0.42417565220006503
"CTRL:3392$135" 140009 4139.0 149 140008 4139.0 148 0.0890678675228026
"CTRL:3392$135" 142404 12140.0 426 142403 12140.0 425 0.43342181794356416
"CTRL:3392$135" 143764 14515.0 499 143763 14515.0 498 0.860223127724937
"CTRL:3392$135" 143776 14774.0 512 143775 14774.0 511 0.42417565220006503
"CTRL:3392$130" 3101 1675.0 49 3100 1675.0 48 0.8530022188515467
"CTRL:3392$130" 5211 7021.0 231 5210 7021.0 230 0.37360776190279216
"CTRL:3392$130" 5246 8785.0 268 5245 8785.0 267 0.44482819772486254
"CTRL:3392$131" 12255 1675.0 49 12254 1675.0 48 0.8530022188515467
"CTRL:3392$131" 14587 7021.0 231 14586 7021.0 230 0.37360776190279216
"CTRL:3392$131" 14622 8785.0 268 14621 8785.0 267 0.44482819772486254
"CTRL:3392$136" 113549 5807.0 303 113548 5807.0 302 0.23172883539366765
"CTRL:3392$136" 113712 6903.0 357 113711 6903.0 356 0.42417565220006503
"CTRL:3392$136" 114505 7778.0 423 113774 7778.0 422 0.682485300275262
"CTRL:3392$137" 117406 2814.0 172 117405 2814.0 171 0.23172883539366765
"CTRL:3392$137" 118835 3910.0 226 118834 3910.0 225 0.42417565220006503
"CTRL:3392$137" 118898 4785.0 292 118897 4785.0 291 0.682485300275262
"CTRL:3392$121" 203307 4729.0 176 203306 4729.0 175 0.28458355231511206
"CTRL:3392$121" 712373 18538.0 597 712372 18538.0 596 0.8633298084804172
"CTRL:3392$121" 713160 21678.0 728 713159 21678.0 727 0.5161645748479782
"CTRL:3392$121" 713508 22362.0 784 713213 22362.0 783 0.7983706640996804
"CTRL:3392$122" 716350 4729.0 176 716349 4729.0 175 0.28458355231511206
"CTRL:3392$122" 80113 18538.0 597 80112 18538.0 596 0.8633298084804172
"CTRL:3392$122" 80570 21678.0 728 80569 21678.0 727 0.5161645748479782
equal_shape_distance_same_coordinates WARNING 8751

equal_shape_distance_same_coordinates

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

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

You can see more about this notice here.

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

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous shape point. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`.
"CTRL:3392$143" 487718 23599.0 781 487717 23599.0 780
"CTRL:3392$148" 368624 7086.0 206 368623 7086.0 205
"CTRL:3392$149" 363447 7086.0 206 363446 7086.0 205
"CTRL:3392$132" 331525 8787.0 222 331524 8787.0 221
"CTRL:3392$138" 425293 8731.0 248 425292 8731.0 247
"CTRL:3392$139" 143411 8731.0 248 143410 8731.0 247
"PENNARBED:3391$SP1698658004901383$362" 1039468 0.0 2 1039467 0.0 0
"PENNARBED:3391$SP1698658004901125$73" 1347851 0.0 3 1347850 0.0 0
"PENNARBED:3391$SP1698658004901285$135" 825972 0.0 4 825971 0.0 0
"297012:LINEOTIMPERI:GOAT_13" 579422 3787.0 127 579421 3787.0 126
"297012:LINEOTIMPERI:GOAT_13" 578251 6670.0 207 578250 6670.0 206
"297012:LINEOTIMPERI:GOAT_13" 585776 8902.0 278 585775 8902.0 277
"297012:LINEOTIMPERI:GOAT_13" 585823 11259.0 325 585822 11259.0 324
"297012:LINEOTIMPERI:GOAT_13" 590771 13090.0 358 590770 13090.0 357
"297012:LINEOTIMPERI:GOAT_13" 592053 15874.0 447 592052 15874.0 446
"297012:LINEOTIMPERI:GOAT_13" 592103 18962.0 497 592102 18962.0 496
"297012:LINEOTIMPERI:GOAT_13" 592110 19723.0 504 592109 19723.0 503
"297012:LINEOTIMPERI:GOAT_13" 592114 20106.0 508 592113 20106.0 507
"297012:LINEOTIMPERI:GOAT_13" 592130 20893.0 524 592129 20893.0 523
"297012:LINEOTIMPERI:GOAT_13" 592420 21346.0 544 592419 21346.0 543
"297012:LINEOTIMPERI:GOAT_13" 592438 21974.0 562 592437 21974.0 561
"297012:LINEOTIMPERI:GOAT_13" 592485 23519.0 609 592484 23519.0 608
"297012:LINEOTIMPERI:GOAT_13" 592495 24656.0 619 592494 24656.0 618
"297012:LINEOTIMPERI:GOAT_13" 594175 25292.0 622 594174 25292.0 621
"297012:LINEOTIMPERI:GOAT_13" 594183 26044.0 630 594182 26044.0 629
"297012:LINEOTIMPERI:GOAT_13" 594200 27672.0 647 594199 27672.0 646
"297012:LINEOTIMPERI:GOAT_13" 594205 28194.0 652 594204 28194.0 651
"297012:LINEOTIMPERI:GOAT_13" 594792 29454.0 705 594791 29454.0 704
"297012:LINEOTIMPERI:GOAT_13" 594491 31374.0 810 594490 31374.0 809
"297012:LINEOTIMPERI:GOAT_13" 594546 32320.0 865 594545 32320.0 864
"297012:LINEOTIMPERI:GOAT_13" 573308 33321.0 948 573307 33321.0 947
"297012:LINEOTIMPERI:GOAT_14" 581665 3787.0 127 581664 3787.0 126
"297012:LINEOTIMPERI:GOAT_14" 582117 6670.0 207 582116 6670.0 206
"297012:LINEOTIMPERI:GOAT_14" 582188 8902.0 278 582187 8902.0 277
"297012:LINEOTIMPERI:GOAT_14" 582513 11259.0 325 582512 11259.0 324
"297012:LINEOTIMPERI:GOAT_14" 583416 13090.0 358 583415 13090.0 357
"297012:LINEOTIMPERI:GOAT_14" 584163 15874.0 447 584162 15874.0 446
"297012:LINEOTIMPERI:GOAT_14" 584766 18962.0 497 584765 18962.0 496
"297012:LINEOTIMPERI:GOAT_14" 584773 19723.0 504 584772 19723.0 503
"297012:LINEOTIMPERI:GOAT_14" 584777 20106.0 508 584776 20106.0 507
"297012:LINEOTIMPERI:GOAT_14" 540386 20893.0 524 540385 20893.0 523
"297012:LINEOTIMPERI:GOAT_14" 540406 21346.0 544 540405 21346.0 543
"297012:LINEOTIMPERI:GOAT_14" 540351 21974.0 562 540350 21974.0 561
"297012:LINEOTIMPERI:GOAT_14" 540546 23519.0 609 540545 23519.0 608
"297012:LINEOTIMPERI:GOAT_14" 540556 24656.0 619 540555 24656.0 618
"297012:LINEOTIMPERI:GOAT_14" 540559 25292.0 622 540558 25292.0 621
"297012:LINEOTIMPERI:GOAT_14" 540567 26044.0 630 540566 26044.0 629
"297012:LINEOTIMPERI:GOAT_14" 540584 27672.0 647 540583 27672.0 646
"297012:LINEOTIMPERI:GOAT_14" 540589 28194.0 652 540588 28194.0 651
"297012:LINEOTIMPERI:GOAT_14" 544808 29454.0 705 544807 29454.0 704
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.

Even though the column timepoint is optional in stop_times.txt according to the specification, stop_times.timepoint should not be empty when provided.

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 "CTRL:4127948:320195" 30
3 "CTRL:4127948:320195" 31
4 "CTRL:4127948:320195" 32
5 "CTRL:4127948:320195" 33
6 "CTRL:4127948:320195" 34
7 "CTRL:4127948:320195" 35
8 "CTRL:4127948:320195" 36
9 "CTRL:4127955:320195" 1
10 "CTRL:4127955:320195" 2
11 "CTRL:4127955:320195" 3
12 "CTRL:4127955:320195" 4
13 "CTRL:4127955:320195" 5
14 "CTRL:4127955:320195" 6
15 "CTRL:4127955:320195" 7
16 "CTRL:4127955:320195" 8
17 "CTRL:4127955:320195" 9
18 "CTRL:4127955:320195" 10
19 "CTRL:4127955:320195" 11
20 "CTRL:4127955:320195" 12
21 "CTRL:4127955:320195" 13
22 "CTRL:4127955:320195" 14
23 "CTRL:4127955:320195" 15
24 "CTRL:4127955:320195" 16
25 "CTRL:4127955:320195" 17
26 "CTRL:4127955:320195" 18
27 "CTRL:4127955:320195" 19
28 "CTRL:4127955:320195" 20
29 "CTRL:4127955:320195" 21
30 "CTRL:4127955:320195" 22
31 "CTRL:4127955:320195" 23
32 "CTRL:4127955:320195" 24
33 "CTRL:4127955:320195" 25
34 "CTRL:4127955:320195" 26
35 "CTRL:4127955:320195" 27
36 "CTRL:4127955:320195" 28
37 "CTRL:4127955:320195" 29
38 "CTRL:4127955:320195" 30
39 "CTRL:4127955:320195" 31
40 "CTRL:4127955:320195" 32
41 "CTRL:4127955:320195" 33
42 "CTRL:4127955:320195" 34
43 "CTRL:4127955:320195" 35
44 "CTRL:4127955:320195" 36
45 "CTRL:4127964:320195" 1
46 "CTRL:4127964:320195" 2
47 "CTRL:4127964:320195" 3
48 "CTRL:4127964:320195" 4
49 "CTRL:4127964:320195" 5
50 "CTRL:4127964:320195" 6
51 "CTRL:4127964:320195" 7
mixed_case_recommended_field WARNING 1430

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 1430 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_short_name" "152ex" 48
"routes.txt" "route_short_name" "153ex" 49
"routes.txt" "route_short_name" "154ex" 50
"routes.txt" "route_short_name" "155ex" 51
"routes.txt" "route_short_name" "156ex" 52
"routes.txt" "route_short_name" "159ex" 53
"routes.txt" "route_short_name" "161ex" 54
"routes.txt" "route_short_name" "164ex" 55
"routes.txt" "route_short_name" "167ex" 56
"routes.txt" "route_short_name" "168ex" 57
"routes.txt" "route_short_name" "172ex" 58
"routes.txt" "route_short_name" "173ex" 59
"routes.txt" "route_short_name" "20TAD" 161
"routes.txt" "route_short_name" "81TAD" 172
"routes.txt" "route_short_name" "82TAD" 173
"routes.txt" "route_short_name" "83TAD" 174
"routes.txt" "route_short_name" "84TAD" 175
"routes.txt" "route_short_name" "165ex" 265
"routes.txt" "route_long_name" "L36+ LE CLOITRE - MORLAIX" 279
"routes.txt" "route_long_name" "MAIRIE CAUDAN - HOPITAL CHARCOT" 299
"routes.txt" "route_long_name" "LIGNE 20 MORLAIX - PLOUGASNOU" 440
"routes.txt" "route_long_name" "LIGNE 28 CARANTEC - MORLAIX" 441
"routes.txt" "route_long_name" "LIGNE 70 - MORLAIX ST THEGONNEC" 442
"routes.txt" "route_long_name" "PLOMELIN KERVEO - QUIMPER" 464
"routes.txt" "route_long_name" "NAVETTE AEROPORT" 465
"routes.txt" "route_long_name" "GARE ROUTIERE - CFA BATIMENT" 466
"routes.txt" "route_long_name" "PLONEIS CROIX ROUGE - QUIMPER CV" 467
"routes.txt" "route_long_name" "P. STEPHAN - TOURBIE" 468
"routes.txt" "route_long_name" "TY SANQUER - P. STEPHAN" 469
"routes.txt" "route_long_name" "QUIMPER CV - CFA CUZON" 470
"routes.txt" "route_long_name" "ERGUE-GABERIC BOURG - TOURBIE" 471
"routes.txt" "route_long_name" "PLOMELIN SAINT ROCH - QUIMPER CV" 472
"routes.txt" "route_long_name" "ERGUE GABERIC - P. STEPHAN" 473
"routes.txt" "route_long_name" "LIGNE 40 - MORLAIX - BOTSORHEL" 474
"routes.txt" "route_long_name" "BRIEC KERFORN - P. STEPHAN" 495
"routes.txt" "route_long_name" "ERGUE-GABERIC GARSALEC - TOURBIE" 496
"routes.txt" "route_short_name" "02bis" 581
"routes.txt" "route_long_name" "BRIEC - QUIMPER" 587
"routes.txt" "route_long_name" "HENT COZ - ZONE ECHANGES" 588
"routes.txt" "route_long_name" "LESTONAN - ROUILLEN TAD" 589
"routes.txt" "route_long_name" "LIGNE 30+ - LANMEUR PLOUEGAT GUERRAND" 596
"routes.txt" "route_long_name" "AUDIERNE-SEIN" 653
"routes.txt" "route_long_name" "BREST-LE CONQUET" 655
"routes.txt" "route_long_name" "BREST-MOLENE" 656
"routes.txt" "route_long_name" "BREST-OUESSANT" 657
"routes.txt" "route_long_name" "BREST-SEIN" 658
"routes.txt" "route_long_name" "CAMARET-BREST" 659
"routes.txt" "route_long_name" "CAMARET-LE CONQUET" 660
"routes.txt" "route_long_name" "CAMARET-OUESSANT" 661
"routes.txt" "route_long_name" "CAMARET-SEIN" 662
non_ascii_or_non_printable_char WARNING 474

non_ascii_or_non_printable_char

Non ascii or non printable char in ID field.

A value of a field with type ID contains non ASCII or non printable characters. This is not recommended.

You can see more about this notice here.

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

filename (?) Name of the faulty file. csvRowNumber (?) Row number of the faulty record. columnName (?) Name of the column where the error occurred. fieldValue (?) Faulty value.
"stops.txt" 5219 "stop_id" "LINEOTIM:ST:ARCOM@MxSaëns"
"stops.txt" 18442 "stop_id" "LINEOTIM:MxSaëns2"
"stops.txt" 18442 "parent_station" "LINEOTIM:ST:ARCOM@MxSaëns"
"stops.txt" 25704 "stop_id" "TILT:Aéropole A"
"stops.txt" 25705 "stop_id" "TILT:Aéropole R"
"stops.txt" 25707 "stop_id" "TILT:Beg Léguer"
"stops.txt" 25708 "stop_id" "TILT:Beg Léguer A"
"stops.txt" 25709 "stop_id" "TILT:Beg Léguer Beg Hent A"
"stops.txt" 25710 "stop_id" "TILT:Beg Léguer Beg Hent R"
"stops.txt" 25711 "stop_id" "TILT:Beg Léguer Kersilio A"
"stops.txt" 25712 "stop_id" "TILT:Beg Léguer Kersilio R"
"stops.txt" 25713 "stop_id" "TILT:Beg Léguer Minihy A"
"stops.txt" 25714 "stop_id" "TILT:Beg Léguer Minihy R"
"stops.txt" 25721 "stop_id" "TILT:Chapelle La Clarté R"
"stops.txt" 25722 "stop_id" "TILT:Collège Les 7 Iles"
"stops.txt" 25730 "stop_id" "TILT:Frère Le Montréer A"
"stops.txt" 25731 "stop_id" "TILT:Gare Parvis Jean Tazé A"
"stops.txt" 25732 "stop_id" "TILT:Gare Parvis Jean Tazé R"
"stops.txt" 25738 "stop_id" "TILT:Hôtel de Ville Lannion"
"stops.txt" 25739 "stop_id" "TILT:Intermarché Trébeurden R"
"stops.txt" 25742 "stop_id" "TILT:Kéranroux R"
"stops.txt" 25745 "stop_id" "TILT:Kérissy A"
"stops.txt" 25746 "stop_id" "TILT:Kérissy R"
"stops.txt" 25752 "stop_id" "TILT:Lan Karré St Efflam A"
"stops.txt" 25753 "stop_id" "TILT:Lan Karré St Efflam R"
"stops.txt" 25756 "stop_id" "TILT:Les Carrières R"
"stops.txt" 25757 "stop_id" "TILT:Louannec Salle des Fêtes A"
"stops.txt" 25778 "stop_id" "TILT:Pont Hélé A"
"stops.txt" 25790 "stop_id" "TILT:Saint - Méen A"
"stops.txt" 25791 "stop_id" "TILT:Saint - Méen R"
"stops.txt" 25944 "stop_id" "TILT:Toul An Héry A"
"stops.txt" 25945 "stop_id" "TILT:Toul An Héry R"
"stops.txt" 25946 "stop_id" "TILT:Tréguier Lycée Savina"
"stop_times.txt" 360959 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 363754 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 364802 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 365991 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 368905 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 368937 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 400686 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 402485 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 402564 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 402763 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 403127 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 404222 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 405538 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 406040 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 409889 "stop_id" "LINEOTIM:MxSaëns2"
"stop_times.txt" 1731769 "stop_id" "TILT:Saint - Méen R"
"stop_times.txt" 1732905 "stop_id" "TILT:Kéranroux R"
route_color_contrast WARNING 50

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.
"PENNARBED:112" 151 "#F4B6B6" "#FFFFFF"
"AURAYBUS:2" 209 "#F1D516" "#FFFFFF"
"CORALIE:CORNav71" 211 "#BBE3FA" "#FFFFFF"
"LINEOTIM:L3VA_2" 277 "#004080" "#000000"
"CORALIE:118" 284 "#DEDD00" "#FFFFFF"
"LINEOTIMPERI:L70_1" 442 "#004080" "#000000"
"QUB:P120_200" 468 "#5EFFF1" "#FFFFFF"
"LINEOTIMPERI:L40_2" 474 "#800000" "#000000"
"MAT:14" 480 "#D6BBFF" "#FFFFFF"
"BIBUS:31" 531 "#F29EBE" "#FFFFFF"
"BIBUS:90" 553 "#B7C6E6" "#FFFFFF"
"BIBUS:91" 554 "#B7C6E6" "#FFFFFF"
"BIBUS:92" 555 "#B7C6E6" "#FFFFFF"
"BIBUS:93" 556 "#B7C6E6" "#FFFFFF"
"BIBUS:94" 557 "#B7C6E6" "#FFFFFF"
"BIBUS:95" 558 "#B7C6E6" "#FFFFFF"
"BIBUS:96" 559 "#B7C6E6" "#FFFFFF"
"LRRNS:273" 583 "#B1C9E8" "#FFFFFF"
"QUB:P33_300" 588 "#ACDEF9" "#FFFFFF"
"LINEOTIM:L4VA2_4" 598 "#800080" "#000000"
"TIBUS:63" 601 "#EED969" "#FFFFFF"
"TIBUS:68" 606 "#B3CBEC" "#FFFFFF"
"TIBUS:78" 615 "#C1CA90" "#FFFFFF"
"TIBUS:84" 618 "#C1CA90" "#FFFFFF"
"TIBUS:86" 619 "#E3C213" "#FFFFFF"
"PABMAR:AUS1" 653 "#FF6633" "#FF6633"
"PABMAR:BRC1" 654 "#FF6633" "#FF6633"
"PABMAR:BRL1" 655 "#FF6633" "#FF6633"
"PABMAR:BRM1" 656 "#FF6633" "#FF6633"
"PABMAR:BRO1" 657 "#FF6633" "#FF6633"
"PABMAR:BRS1" 658 "#FF6633" "#FF6633"
"PABMAR:CAB1" 659 "#FF6633" "#FF6633"
"PABMAR:CAL1" 660 "#FF6633" "#FF6633"
"PABMAR:CAO1" 661 "#FF6633" "#FF6633"
"PABMAR:CAS1" 662 "#FF6633" "#FF6633"
"PABMAR:LCB1" 663 "#FF6633" "#FF6633"
"PABMAR:LCC1" 664 "#FF6633" "#FF6633"
"PABMAR:LCM1" 665 "#FF6633" "#FF6633"
"PABMAR:LCO1" 666 "#FF6633" "#FF6633"
"PABMAR:MOL1" 667 "#FF6633" "#FF6633"
"PABMAR:MOO1" 668 "#FF6633" "#FF6633"
"PABMAR:OUC1" 669 "#FF6633" "#FF6633"
"PABMAR:OUL1" 670 "#FF6633" "#FF6633"
"PABMAR:SEA1" 671 "#FF6633" "#FF6633"
"PABMAR:SEB1" 672 "#FF6633" "#FF6633"
"PABMAR:SEC1" 673 "#FF6633" "#FF6633"
"PABMAR:CAM1" 676 "#FF6633" "#FF6633"
"PABMAR:MOC1" 677 "#FF6633" "#FF6633"
"BIBUS:97" 687 "#B7C6E6" "#FFFFFF"
"QUB:P170_400" 715 "#FBBA00" "#FFFFFF"
route_long_name_contains_short_name WARNING 23

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`.
"LINEOTIM:BINI_1" 443 "Flexo Binigou" "Flexo Binigou Morlaix-St Martin des Champs"
"KICEO:D1" 570 "D1" "D1"
"KICEO:D2" 571 "D2" "D2"
"KICEO:D3" 580 "D3" "D3"
"TILT:LeM" 684 "Le Macareux" "Le Macareux"
"AURAYBUS:SV008340" 690 "TAD" "TAD des plages"
"LINEOTIML30:SV009983" 742 "L30" "L30"
"RIV:12599" 747 "Ligne 1" "Ligne 1"
"RIV:12602" 748 "Ligne 2" "Ligne 2"
"RIV:12605" 749 "Ligne 3" "Ligne 3"
"RIV:12608" 750 "Ligne 4" "Ligne 4"
"RIV:12611" 751 "Ligne 5" "Ligne 5"
"RIV:12614" 752 "Ligne 6" "Ligne 6"
"RIV:12617" 753 "Ligne 7" "Ligne 7"
"RIV:12620" 754 "Ligne 8" "Ligne 8"
"RIV:12623" 755 "Ligne 9" "Ligne 9"
"TILT:30" 916 "30" "30"
"PENNARBED:SV011140" 917 "20A" "20A Plouguerneau - Lannilis"
"PENNARBED:SV011141" 918 "20B" "20B Landéda - Lannilis"
"PENNARBED:SV011142" 919 "20" "20 Lannilis - Porte de Gouesnou"
"TILT:L30" 942 "30" "30"
"LINEOTIM:GENETS_4" 952 "GENETS" "Genets"
"SURF:58" 961 "Navette Noel" "Navette Noel"
route_short_name_too_long WARNING 2

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`.
"LINEOTIM:BINI_1" 443 "Flexo Binigou"
"LINEOTIM:TAD03_2" 444 "Flexo Ste Sève"
stop_without_stop_time WARNING 4

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.

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
21652 "SNCF:87473124" "Gare de La Méaugon"
21653 "SNCF:87473132" "Gare de Plouvara - Plerneuf"
21654 "SNCF:87473140" "Gare de Châtelaudren - Plouagat"
21655 "SNCF:87473165" "Gare de Belle-Isle - Bégard"
trip_coverage_not_active_for_next7_days WARNING 1

trip_coverage_not_active_for_next7_days

Trips data should be valid for at least the next seven days.

This notice is triggered if the date range where a significant number of trips are running ends in less than 7 days.

You can see more about this notice here.

currentDate (?) Current date (YYYYMMDD format). serviceWindowStartDate (?) The start date of the majority service window. serviceWindowEndDate (?) The end date of the majority service window.
"20240607" "20231109" "20231222"