GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-05-04T12:07:28Z,
for the dataset file:///shared/irigos_4a0a12f1.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
IRIGO
Publisher URL:
https://www.irigo.fr/
Feed Email:
N/A
Feed Language:
French
Feed Start Date:
2026-05-02
Feed End Date:
2026-07-31

Files included


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

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 104
  • Shapes: 346
  • Stops: 1820
  • Trips: 6522

Specification Compliance report

7195 notices reported (0 errors, 7195 warnings, 0 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 376

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 376 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.
"195R0002" 50962 8.926 511 50961 8.926 510 0.7657901347658616
"070044" 34785 5.716 244 34784 5.716 243 0.11119510161714974
"070044" 35566 21.545 1025 35565 21.545 1024 0.11119510161714974
"070044" 35716 23.391 1175 35715 23.391 1174 0.9021454446142835
"070041" 6558 0.787 35 6557 0.787 34 0.6838550871570108
"070041" 6968 7.104 445 6967 7.104 444 0.402519577186509
"A0117" 63500 7.216 214 63499 7.216 213 0.5024957226425847
"070040" 5966 5.716 244 5965 5.716 243 0.11119510161714974
"41R0007" 58510 3.734 169 58509 3.734 168 0.3419572818714045
"41R0007" 58814 12.546 473 58813 12.546 472 0.7659829246139447
"181R0001" 103413 10.583 600 103412 10.583 599 0.316525987872125
"181R0001" 103433 11.134 620 103432 11.134 619 0.6884787589657044
"181R0001" 103558 12.485 745 103557 12.485 744 0.7473338844615296
"A0111" 41265 7.216 214 41264 7.216 213 0.5024957226425847
"070047" 16259 5.63 269 16258 5.63 268 0.373966352679177
"41R0002" 97213 11.8 305 97212 11.8 304 0.7659829246139447
"155A0002" 133052 3.817 182 133051 3.817 181 0.0752363503418087
"355A0012" 191443 16.735 545 191442 16.735 544 0.34197658272818593
"355A0012" 191463 16.882 565 191462 16.882 564 0.2517612544174052
"070046" 27822 5.716 244 27821 5.716 243 0.11119510161714974
"070046" 28499 20.317 921 28498 20.317 920 0.11119510161714974
"070046" 28649 22.163 1071 28648 22.163 1070 0.9021454446142835
"32A0008" 56014 15.996 549 56013 15.996 548 0.46429816467970986
"32A0009" 82587 14.488 453 82586 14.488 452 0.46429816467970986
"149R0005" 127024 12.536 527 127023 12.536 526 0.6009504008010627
"030038" 77216 4.265 270 77215 4.265 269 0.13420280896638423
"030040" 76837 2.465 158 76836 2.465 157 0.13420280896638423
"32A0011" 56678 15.165 533 56677 15.165 532 0.46429816467970986
"133R0001" 49186 2.583 80 49185 2.583 79 0.6852641345091682
"133R0001" 49398 8.778 292 49397 8.778 291 0.18681688389172924
"133R0001" 49407 8.831 301 49406 8.831 300 0.5610193688388045
"122A0001" 66154 0.068 6 66153 0.068 5 0.31654164307271304
"122A0001" 66160 0.401 12 66159 0.401 11 0.3335853034368008
"122A0001" 66182 1.073 34 66181 1.073 33 0.622540243864726
"122A0001" 66448 6.721 300 66447 6.721 299 0.46429816467970986
"204A0002" 52658 12.92 456 52657 12.92 455 0.5758907199494742
"150A0032" 68833 2.668 126 68832 2.668 125 0.37632951677948834
"150A0032" 68980 5.915 273 68979 5.915 272 0.46954099566081053
"34A0006" 85816 0.233 16 85815 0.233 15 0.5602851968175391
"34A0006" 86504 15.788 704 86503 15.788 703 0.31668947417622634
"A0019" 33250 7.216 214 33249 7.216 213 0.5024957226425847
"204A0004" 155947 12.92 455 155946 12.92 454 0.5758907199494742
"120050" 14652 4.691 255 14651 4.691 254 0.5998955011792375
"120050" 14758 6.808 361 14757 6.808 360 0.13417020423405132
"120050" 14817 7.593 420 14816 7.593 419 0.37367938597949363
"36R0006" 204616 0.969 48 204615 0.969 47 0.32054861127200435
"36R0006" 204621 1.005 53 204620 1.005 52 0.32054786568016425
"36R0006" 204745 3.207 177 204744 3.207 176 0.34194868643532345
"131R0001" 115705 2.583 80 115704 2.583 79 0.6852641345091682
"131R0001" 116267 18.352 642 116266 18.352 641 0.9335842048084959
equal_shape_distance_same_coordinates WARNING 5618

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 5618 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`.
"070044" 34568 0.602 27 34567 0.602 26
"070044" 34582 1.077 41 34581 1.077 40
"070044" 34595 1.399 54 34594 1.399 53
"070044" 34621 1.776 80 34620 1.776 79
"070044" 34632 2.112 91 34631 2.112 90
"070044" 34641 2.401 100 34640 2.401 99
"070044" 34649 2.622 108 34648 2.622 107
"070044" 34656 2.916 115 34655 2.916 114
"070044" 34667 3.4 126 34666 3.4 125
"070044" 34676 3.78 135 34675 3.78 134
"070044" 34696 3.979 155 34695 3.979 154
"070044" 34704 4.239 163 34703 4.239 162
"070044" 34715 4.646 174 34714 4.646 173
"070044" 34770 5.425 229 34769 5.425 228
"070044" 34784 5.716 243 34783 5.716 242
"070044" 34801 5.964 260 34800 5.964 259
"070044" 34813 6.369 272 34812 6.369 271
"070044" 34823 6.747 282 34822 6.747 281
"070044" 34838 6.967 297 34837 6.967 296
"070044" 34846 7.338 305 34845 7.338 304
"070044" 34853 7.628 312 34852 7.628 311
"070044" 34857 7.869 316 34856 7.869 315
"070044" 34878 8.249 337 34877 8.249 336
"070044" 34884 8.426 343 34883 8.426 342
"070044" 34890 8.7 349 34889 8.7 348
"070044" 34904 8.925 363 34903 8.925 362
"070044" 34916 9.126 375 34915 9.126 374
"070044" 34926 9.371 385 34925 9.371 384
"070044" 34938 9.703 397 34937 9.703 396
"070044" 34955 9.992 414 34954 9.992 413
"070044" 34966 10.207 425 34965 10.207 424
"070044" 34983 10.634 442 34982 10.634 441
"070044" 34995 10.926 454 34994 10.926 453
"070044" 35004 11.122 463 35003 11.122 462
"070044" 35016 11.48 475 35015 11.48 474
"070044" 35029 11.775 488 35028 11.775 487
"070044" 35034 11.983 493 35033 11.983 492
"070044" 35044 12.406 503 35043 12.406 502
"070044" 35052 12.65 511 35051 12.65 510
"070044" 35078 13.182 537 35077 13.182 536
"070044" 35085 13.528 544 35084 13.528 543
"070044" 35101 13.897 560 35100 13.897 559
"070044" 35115 14.22 574 35114 14.22 573
"070044" 35139 14.557 598 35138 14.557 597
"070044" 35162 14.906 621 35161 14.906 620
"070044" 35181 15.227 640 35180 15.227 639
"070044" 35199 15.513 658 35198 15.513 657
"070044" 35212 15.793 671 35211 15.793 670
"070044" 35250 16.206 709 35249 16.206 708
"070044" 35259 16.407 718 35258 16.407 717
missing_feed_contact_email_and_url WARNING 1

missing_feed_contact_email_and_url

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

You can see more about this notice here.

csvRowNumber (?) The row number of the validated record.
2
missing_recommended_field WARNING 1

missing_recommended_field

A recommended field is missing.

The given field has no value in some input row, even though values are recommended.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) The name of the missing field.
"feed_info.txt" 2 "feed_version"
mixed_case_recommended_field WARNING 1198

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 1198 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.
"stops.txt" "stop_name" "18-juin" 461
"stops.txt" "stop_name" "18-juin" 462
"stops.txt" "stop_name" "08-mai" 657
"stops.txt" "stop_name" "08-mai" 658
"trips.txt" "trip_headsign" "IRIGO NUIT" 2
"trips.txt" "trip_headsign" "IRIGO NUIT" 5
"trips.txt" "trip_headsign" "STE GEMMES - BOUCHEMAINE" 6
"trips.txt" "trip_headsign" "IRIGO NUIT" 7
"trips.txt" "trip_headsign" "IRIGO NUIT" 8
"trips.txt" "trip_headsign" "ST JEAN DE LINIÈRES" 13
"trips.txt" "trip_headsign" "STE GEMMES - BOUCHEMAINE" 16
"trips.txt" "trip_headsign" "IRIGO NUIT" 17
"trips.txt" "trip_headsign" "IRIGO NUIT" 20
"trips.txt" "trip_headsign" "IRIGO NUIT" 21
"trips.txt" "trip_headsign" "IRIGO NUIT" 22
"trips.txt" "trip_headsign" "IRIGO NUIT" 23
"trips.txt" "trip_headsign" "IRIGO NUIT" 24
"trips.txt" "trip_headsign" "ANGERS GARES" 50
"trips.txt" "trip_headsign" "ANGERS GARES" 54
"trips.txt" "trip_headsign" "ANGERS GARES" 67
"trips.txt" "trip_headsign" "TRELAZE GARE" 87
"trips.txt" "trip_headsign" "TRELAZE GARE" 90
"trips.txt" "trip_headsign" "TRELAZE GARE" 91
"trips.txt" "trip_headsign" "VILLEVÊQUE - SOUCELLES" 113
"trips.txt" "trip_headsign" "LE PLESSIS GRAMMOIRE" 120
"trips.txt" "trip_headsign" "VILLEVÊQUE - SOUCELLES" 121
"trips.txt" "trip_headsign" "VILLEVÊQUE - SOUCELLES" 123
"trips.txt" "trip_headsign" "LA MEMBROLLE - PRUILLÉ" 128
"trips.txt" "trip_headsign" "LE PLESSIS GRAMMOIRE" 135
"trips.txt" "trip_headsign" "ST JEAN DE LINIÈRES" 147
"trips.txt" "trip_headsign" "ST BARTHÉLEMY" 155
"trips.txt" "trip_headsign" "LE PLESSIS GRAMMOIRE PELLOUAILLES" 157
"trips.txt" "trip_headsign" "ST BARTHÉLEMY" 160
"trips.txt" "trip_headsign" "STE GEMMES" 162
"trips.txt" "trip_headsign" "ST JEAN DE LINIÈRES" 171
"trips.txt" "trip_headsign" "STE GEMMES" 174
"trips.txt" "trip_headsign" "STE GEMMES SUR LOIRE" 178
"trips.txt" "trip_headsign" "ST JEAN DE LINIÈRES" 180
"trips.txt" "trip_headsign" "LE PLESSIS GRAMMOIRE PELLOUAILLES" 298
"trips.txt" "trip_headsign" "LE PLESSIS GRAMMOIRE" 420
"trips.txt" "trip_headsign" "SAINT SERGE" 478
"trips.txt" "trip_headsign" "ANDARD CLOTEAU" 536
"trips.txt" "trip_headsign" "LA MEIGNANNE" 628
"trips.txt" "trip_headsign" "LA MEIGNANNE" 647
"trips.txt" "trip_headsign" "LE PLESSIS GRAMMOIRE" 677
"trips.txt" "trip_headsign" "SAINT SERGE" 691
"trips.txt" "trip_headsign" "LE PLESSIS GRAMMOIRE" 722
"trips.txt" "trip_headsign" "LA MEIGNANNE" 739
"trips.txt" "trip_headsign" "BELLE BEILLE CAMPUS" 741
"trips.txt" "trip_headsign" "PLESSIS GRAMMOIRE - SARRIGNÉ" 763
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`.
"115" 105 "115" "115 St Aubin la Salle"