fr-vrm — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-08T04:56:54Z,
for the dataset file:///shared/fr-vrm_d53d6f4e.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
N/A
Publisher URL:
N/A
Feed Email:
N/A
Feed Language:
N/A

Files included


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

Counts


  • Agencies: 2
  • Blocks: 759
  • Routes: 324
  • Shapes: 2106
  • Stops: 2664
  • Trips: 11199

Specification Compliance report

14627 notices reported (0 errors, 14209 warnings, 418 infos)

Notice Code Severity Total
duplicate_route_name WARNING 10

duplicate_route_name

Two distinct routes have either the same route_short_name, the same route_long_name, or the same combination of route_short_name and route_long_name.

All routes of the same route_type with the same agency_id should have unique combinations of route_short_name and route_long_name.

Note that there may be valid cases where routes have the same short and long name, e.g., if they serve different areas. However, different directions must be modeled as the same route.

Example of bad data:

route_id route_short_name route_long_name
route1 U1 Southern
route2 U1 Southern

You can see more about this notice here.

csvRowNumber1 (?) The row number of the first occurrence. routeId1 (?) The id of the the first occurrence. csvRowNumber2 (?) The row number of the other occurrence. routeId2 (?) The id of the the other occurrence. routeShortName (?) Common `routes.route_short_name`. routeLongName (?) Common `routes.route_long_name`. routeTypeValue (?) Common `routes.route_type`. agencyId (?) Common `routes.agency_id`.
67 "C1" 88 "C1N" "C1" "C1" 3 "CITEA"
67 "C1" 89 "C1S" "C1" "C1" 3 "CITEA"
200 "C3" 227 "C3A" "C3" "C3" 3 "CITEA"
201 "10" 228 "10A" "10" "10" 3 "CITEA"
201 "10" 229 "10D" "10" "10" 3 "CITEA"
4 "13" 230 "13A" "13" "13" 3 "CITEA"
4 "13" 231 "13D" "13" "13" 3 "CITEA"
90 "C4" 232 "C4A" "C4" "C4" 3 "CITEA"
90 "C4" 233 "C4D" "C4" "C4" 3 "CITEA"
200 "C3" 234 "C3D" "C3" "C3" 3 "CITEA"
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 65

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 65 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.
"L163P2" 674121 2361.0 99 674120 2361.0 98 0.6949772948761027
"L413P1" 461534 11999.0 650 461533 11999.0 649 0.36973085767130953
"L413P8" 696444 10037.0 598 696443 10037.0 597 0.36973085767130953
"L172P5" 511187 3026.0 197 511186 3026.0 196 0.10929992410016819
"L13P214" 473371 6928.0 299 473370 6928.0 298 0.49478586150542403
"L337P8" 436023 15592.0 494 436022 15592.0 493 0.43383734883501374
"L292P2" 485499 3431.0 117 485498 3431.0 116 0.3664901015167095
"LC4P183" 534824 1697.0 112 534823 1697.0 111 0.10929992410016819
"LC2P104" 221493 5942.0 227 221492 5942.0 226 0.2188449286443779
"L12P5" 642609 3824.0 194 642608 3824.0 193 0.6949772948761027
"L912P4" 547412 9776.0 286 547411 9776.0 285 0.19321457244072815
"L611P13" 702924 6819.0 308 702923 6819.0 307 0.37737172061354135
"LC4P139" 657994 6928.0 299 657993 6928.0 298 0.49478586150542403
"LC4P128" 595862 3026.0 197 595861 3026.0 196 0.10929992410016819
"LC4P153" 250380 1603.0 65 250379 1603.0 64 0.6574301699589452
"LC4P148" 469875 1697.0 112 469874 1697.0 111 0.10929992410016819
"LD1P57" 642089 10958.0 435 642088 10958.0 434 0.49478586150542403
"LD1P10" 657522 6928.0 299 657521 6928.0 298 0.49478586150542403
"L11P43" 357594 5136.0 219 357593 5136.0 218 0.5633923889046979
"L13P190" 540426 4387.0 194 540425 4387.0 193 0.10929992410016819
"L262P29" 502803 8080.0 333 502802 8080.0 332 0.21360500938210233
"LC1NA" 505806 9283.0 363 505805 9283.0 362 0.6574301699589452
"L62P25" 347691 6837.0 389 347690 6837.0 388 0.3552322262248307
"L62P28" 98553 6837.0 389 98552 6837.0 388 0.3552322262248307
"LC2P129" 359038 2621.0 144 359037 2621.0 143 0.5633923889046979
"L262P70" 89145 7016.0 270 89144 7016.0 269 0.3664901015167095
"L291P24" 328012 17746.0 553 328011 17746.0 552 0.3664901015167095
"L291P11" 88874 12166.0 339 88873 12166.0 338 0.09521349488644489
"L20P159" 187228 7918.0 371 187227 7918.0 370 0.5633923889046979
"L20P146" 82239 4630.0 138 82238 4630.0 137 0.2188449286443779
"L20P147" 173154 7918.0 371 173153 7918.0 370 0.5633923889046979
"LC4P222" 614473 5220.0 208 614472 5220.0 207 0.18220866234124072
"L20P195" 738498 17920.0 739 738497 17920.0 738 0.5633923889046979
"L20P196" 741309 17920.0 739 741308 17920.0 738 0.5633923889046979
"L20P186" 179982 7918.0 371 179981 7918.0 370 0.5633923889046979
"L20P172" 712510 4977.0 200 712509 4977.0 199 0.18220866234124072
"L12P57" 4251 5011.0 203 4250 5011.0 202 0.18220866234124072
"L12P44" 564177 5011.0 203 564176 5011.0 202 0.18220866234124072
"L206P8" 361708 8062.0 295 361707 8062.0 294 0.3664901015167095
"L152P2" 169097 4630.0 138 169096 4630.0 137 0.2188449286443779
"L10P190" 4575 8152.0 323 4574 8152.0 322 0.18220866234124072
"L61P33" 102079 4498.0 239 102078 4498.0 238 0.6916005020360396
"L104P7" 684522 750.0 37 684521 750.0 36 0.38346581057047857
"L61P21" 711659 3475.0 198 711658 3475.0 197 0.6916005020360396
"L416P20" 606231 10563.0 646 606230 10563.0 645 0.10929992410016819
"LC1P89" 606595 9283.0 363 606594 9283.0 362 0.6574301699589452
"L10P123" 549167 2361.0 99 549166 2361.0 98 0.6949772948761027
"L10P125" 642091 0.0 1 642090 0.0 0 0.18220866234124072
"L384P6" 436274 5487.0 250 436273 5487.0 249 0.39872072616206
"L10P109" 582176 0.0 1 582175 0.0 0 0.18220866234124072
expired_calendar WARNING 8

expired_calendar

Dataset should not contain date ranges for services that have already expired.

This warning takes into account the calendar_dates.txt file as well as the calendar.txt file.

You can see more about this notice here.

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "Dim_"
3 "LuHiv_"
4 "MaHiv_"
5 "MeHiv_"
6 "JHiv_"
7 "VeHiv_"
8 "Sam_"
9 "Dim2_"
fast_travel_between_consecutive_stops WARNING 42

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.
557 "Sam_3585257" "C2" 853.6581527888329 0.2371272646635647 17682 1 "0:ESCHI4" "POLE BRIFFAUT" "10:31:00" 17683 2 "0:BRIFF" "POLE BRIFFAUT" "10:31:01"
520 "Sam_3585280" "C2" 853.6581527888329 0.2371272646635647 16753 1 "0:ESCHI4" "POLE BRIFFAUT" "18:11:00" 16754 2 "0:BRIFF" "POLE BRIFFAUT" "18:11:01"
456 "Sam_3585278" "C2" 853.6581527888329 0.2371272646635647 15048 1 "0:ESCHI4" "POLE BRIFFAUT" "17:31:00" 15049 2 "0:BRIFF" "POLE BRIFFAUT" "17:31:01"
477 "Sam_3585273" "C2" 853.6581527888329 0.2371272646635647 15573 1 "0:ESCHI4" "POLE BRIFFAUT" "15:51:00" 15574 2 "0:BRIFF" "POLE BRIFFAUT" "15:51:01"
470 "Sam_3585248" "C2" 853.6581527888329 0.2371272646635647 15398 1 "0:ESCHI4" "POLE BRIFFAUT" "07:31:00" 15399 2 "0:BRIFF" "POLE BRIFFAUT" "07:31:01"
469 "Sam_3585249" "C2" 853.6581527888329 0.2371272646635647 15373 1 "0:ESCHI4" "POLE BRIFFAUT" "07:51:00" 15374 2 "0:BRIFF" "POLE BRIFFAUT" "07:51:01"
468 "Sam_3585266" "C2" 853.6581527888329 0.2371272646635647 15348 1 "0:ESCHI4" "POLE BRIFFAUT" "13:31:00" 15349 2 "0:BRIFF" "POLE BRIFFAUT" "13:31:01"
457 "Sam_3585277" "C2" 853.6581527888329 0.2371272646635647 15073 1 "0:ESCHI4" "POLE BRIFFAUT" "17:11:00" 15074 2 "0:BRIFF" "POLE BRIFFAUT" "17:11:01"
480 "Sam_3585254" "C2" 853.6581527888329 0.2371272646635647 15648 1 "0:ESCHI4" "POLE BRIFFAUT" "09:31:00" 15649 2 "0:BRIFF" "POLE BRIFFAUT" "09:31:01"
532 "Sam_3585284" "C2" 853.6581527888329 0.2371272646635647 17073 1 "0:ESCHI4" "POLE BRIFFAUT" "19:37:00" 17074 2 "0:BRIFF" "POLE BRIFFAUT" "19:37:01"
553 "Sam_3585245" "C2" 853.6581527888329 0.2371272646635647 17582 1 "0:ESCHI4" "POLE BRIFFAUT" "06:27:00" 17583 2 "0:BRIFF" "POLE BRIFFAUT" "06:27:01"
471 "Sam_3585263" "C2" 853.6581527888329 0.2371272646635647 15423 1 "0:ESCHI4" "POLE BRIFFAUT" "12:31:00" 15424 2 "0:BRIFF" "POLE BRIFFAUT" "12:31:01"
453 "Sam_3585265" "C2" 853.6581527888329 0.2371272646635647 14973 1 "0:ESCHI4" "POLE BRIFFAUT" "13:11:00" 14974 2 "0:BRIFF" "POLE BRIFFAUT" "13:11:01"
481 "Sam_3585253" "C2" 853.6581527888329 0.2371272646635647 15673 1 "0:ESCHI4" "POLE BRIFFAUT" "09:11:00" 15674 2 "0:BRIFF" "POLE BRIFFAUT" "09:11:01"
484 "Sam_3585250" "C2" 853.6581527888329 0.2371272646635647 15748 1 "0:ESCHI4" "POLE BRIFFAUT" "08:11:00" 15749 2 "0:BRIFF" "POLE BRIFFAUT" "08:11:01"
478 "Sam_3585272" "C2" 853.6581527888329 0.2371272646635647 15598 1 "0:ESCHI4" "POLE BRIFFAUT" "15:31:00" 15599 2 "0:BRIFF" "POLE BRIFFAUT" "15:31:01"
558 "Sam_3585256" "C2" 853.6581527888329 0.2371272646635647 17707 1 "0:ESCHI4" "POLE BRIFFAUT" "10:11:00" 17708 2 "0:BRIFF" "POLE BRIFFAUT" "10:11:01"
482 "Sam_3585252" "C2" 853.6581527888329 0.2371272646635647 15698 1 "0:ESCHI4" "POLE BRIFFAUT" "08:51:00" 15699 2 "0:BRIFF" "POLE BRIFFAUT" "08:51:01"
458 "Sam_3585276" "C2" 853.6581527888329 0.2371272646635647 15098 1 "0:ESCHI4" "POLE BRIFFAUT" "16:51:00" 15099 2 "0:BRIFF" "POLE BRIFFAUT" "16:51:01"
474 "Sam_3585260" "C2" 853.6581527888329 0.2371272646635647 15498 1 "0:ESCHI4" "POLE BRIFFAUT" "11:31:00" 15499 2 "0:BRIFF" "POLE BRIFFAUT" "11:31:01"
479 "Sam_3585255" "C2" 853.6581527888329 0.2371272646635647 15623 1 "0:ESCHI4" "POLE BRIFFAUT" "09:51:00" 15624 2 "0:BRIFF" "POLE BRIFFAUT" "09:51:01"
463 "Sam_3585271" "C2" 853.6581527888329 0.2371272646635647 15223 1 "0:ESCHI4" "POLE BRIFFAUT" "15:11:00" 15224 2 "0:BRIFF" "POLE BRIFFAUT" "15:11:01"
455 "Sam_3585279" "C2" 853.6581527888329 0.2371272646635647 15023 1 "0:ESCHI4" "POLE BRIFFAUT" "17:51:00" 15024 2 "0:BRIFF" "POLE BRIFFAUT" "17:51:01"
465 "Sam_3585269" "C2" 853.6581527888329 0.2371272646635647 15273 1 "0:ESCHI4" "POLE BRIFFAUT" "14:31:00" 15274 2 "0:BRIFF" "POLE BRIFFAUT" "14:31:01"
552 "Sam_3585246" "C2" 853.6581527888329 0.2371272646635647 17557 1 "0:ESCHI4" "POLE BRIFFAUT" "06:52:00" 17558 2 "0:BRIFF" "POLE BRIFFAUT" "06:52:01"
467 "Sam_3585267" "C2" 853.6581527888329 0.2371272646635647 15323 1 "0:ESCHI4" "POLE BRIFFAUT" "13:51:00" 15324 2 "0:BRIFF" "POLE BRIFFAUT" "13:51:01"
459 "Sam_3585275" "C2" 853.6581527888329 0.2371272646635647 15123 1 "0:ESCHI4" "POLE BRIFFAUT" "16:31:00" 15124 2 "0:BRIFF" "POLE BRIFFAUT" "16:31:01"
529 "Sam_3585286" "C2" 853.6581527888329 0.2371272646635647 16999 1 "0:ESCHI4" "POLE BRIFFAUT" "20:17:00" 17000 2 "0:BRIFF" "POLE BRIFFAUT" "20:17:01"
531 "Sam_3585285" "C2" 853.6581527888329 0.2371272646635647 17048 1 "0:ESCHI4" "POLE BRIFFAUT" "19:57:00" 17049 2 "0:BRIFF" "POLE BRIFFAUT" "19:57:01"
551 "Sam_3585247" "C2" 853.6581527888329 0.2371272646635647 17532 1 "0:ESCHI4" "POLE BRIFFAUT" "07:12:00" 17533 2 "0:BRIFF" "POLE BRIFFAUT" "07:12:01"
460 "Sam_3585274" "C2" 853.6581527888329 0.2371272646635647 15148 1 "0:ESCHI4" "POLE BRIFFAUT" "16:11:00" 15149 2 "0:BRIFF" "POLE BRIFFAUT" "16:11:01"
473 "Sam_3585261" "C2" 853.6581527888329 0.2371272646635647 15473 1 "0:ESCHI4" "POLE BRIFFAUT" "11:51:00" 15474 2 "0:BRIFF" "POLE BRIFFAUT" "11:51:01"
517 "Sam_3585283" "C2" 853.6581527888329 0.2371272646635647 16678 1 "0:ESCHI4" "POLE BRIFFAUT" "19:17:00" 16679 2 "0:BRIFF" "POLE BRIFFAUT" "19:17:01"
483 "Sam_3585251" "C2" 853.6581527888329 0.2371272646635647 15723 1 "0:ESCHI4" "POLE BRIFFAUT" "08:31:00" 15724 2 "0:BRIFF" "POLE BRIFFAUT" "08:31:01"
472 "Sam_3585262" "C2" 853.6581527888329 0.2371272646635647 15448 1 "0:ESCHI4" "POLE BRIFFAUT" "12:11:00" 15449 2 "0:BRIFF" "POLE BRIFFAUT" "12:11:01"
466 "Sam_3585268" "C2" 853.6581527888329 0.2371272646635647 15298 1 "0:ESCHI4" "POLE BRIFFAUT" "14:11:00" 15299 2 "0:BRIFF" "POLE BRIFFAUT" "14:11:01"
476 "Sam_3585258" "C2" 853.6581527888329 0.2371272646635647 15548 1 "0:ESCHI4" "POLE BRIFFAUT" "10:51:00" 15549 2 "0:BRIFF" "POLE BRIFFAUT" "10:51:01"
519 "Sam_3585281" "C2" 853.6581527888329 0.2371272646635647 16728 1 "0:ESCHI4" "POLE BRIFFAUT" "18:36:00" 16729 2 "0:BRIFF" "POLE BRIFFAUT" "18:36:01"
475 "Sam_3585259" "C2" 853.6581527888329 0.2371272646635647 15523 1 "0:ESCHI4" "POLE BRIFFAUT" "11:11:00" 15524 2 "0:BRIFF" "POLE BRIFFAUT" "11:11:01"
518 "Sam_3585282" "C2" 853.6581527888329 0.2371272646635647 16703 1 "0:ESCHI4" "POLE BRIFFAUT" "18:57:00" 16704 2 "0:BRIFF" "POLE BRIFFAUT" "18:57:01"
464 "Sam_3585270" "C2" 853.6581527888329 0.2371272646635647 15248 1 "0:ESCHI4" "POLE BRIFFAUT" "14:51:00" 15249 2 "0:BRIFF" "POLE BRIFFAUT" "14:51:01"
454 "Sam_3585264" "C2" 853.6581527888329 0.2371272646635647 14998 1 "0:ESCHI4" "POLE BRIFFAUT" "12:51:00" 14999 2 "0:BRIFF" "POLE BRIFFAUT" "12:51:01"
missing_recommended_file WARNING 1

missing_recommended_file

A recommended file is missing.

You can see more about this notice here.

filename (?) The name of the faulty file.
"feed_info.txt"
mixed_case_recommended_field WARNING 12133

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 12133 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" "MONTELEGER IME" 2
"stops.txt" "stop_name" "VOIRAZIERS - COMBES" 3
"stops.txt" "stop_name" "VOIRAZIERS - COMBES" 4
"stops.txt" "stop_name" "ST BARDOUX LES BUIS" 5
"stops.txt" "stop_name" "COMBE LEORAT" 6
"stops.txt" "stop_name" "MONTRIGAUD VILLAGE" 8
"stops.txt" "stop_name" "LYCEE VAL DE DROME" 9
"stops.txt" "stop_name" "ST MARCELLIN" 12
"stops.txt" "stop_name" "LES PIERRES" 13
"stops.txt" "stop_name" "ST BARDOUX ECOLE" 15
"stops.txt" "stop_name" "LE PLATEAU" 16
"stops.txt" "stop_name" "ST MICHEL ECOLE" 17
"stops.txt" "stop_name" "LES BAUCHES" 19
"stops.txt" "stop_name" "ST BARDOUX ECOLE" 21
"stops.txt" "stop_name" "ST BARDOUX LES BUIS" 22
"stops.txt" "stop_name" "BORIS VIAN" 23
"stops.txt" "stop_name" "BORIS VIAN" 24
"stops.txt" "stop_name" "LE PLATEAU" 25
"stops.txt" "stop_name" "LES CHALENS" 27
"stops.txt" "stop_name" "MONTMIRAL MAIRIE" 28
"stops.txt" "stop_name" "CREPOL VILLAGE" 29
"stops.txt" "stop_name" "LA POULATE" 30
"stops.txt" "stop_name" "ST MARCELLIN" 31
"stops.txt" "stop_name" "CIMETIERE DE VALENCE" 32
"stops.txt" "stop_name" "COMBE LEORAT" 33
"stops.txt" "stop_name" "LES CHALENS" 34
"stops.txt" "stop_name" "MONTMIRAL ECOLE" 35
"stops.txt" "stop_name" "PETIT CHATILLON" 36
"stops.txt" "stop_name" "PETIT CHATILLON" 37
"stops.txt" "stop_name" "LES FAYOLLES" 38
"stops.txt" "stop_name" "LES FAYOLLES" 39
"stops.txt" "stop_name" "CIMETIERE DE VALENCE" 41
"stops.txt" "stop_name" "MONTELEGER IME" 42
"stops.txt" "stop_name" "MONTMIRAL VILLAGE" 43
"stops.txt" "stop_name" "ST MARCEL MAIRIE" 44
"stops.txt" "stop_name" "LES BESSAUDS" 47
"stops.txt" "stop_name" "ST MARCEL MAIRIE" 49
"stops.txt" "stop_name" "ST L. D'ONAY BROSSES" 50
"stops.txt" "stop_name" "ST L. D'ONAY BROSSES" 51
"stops.txt" "stop_name" "CARREFOUR DU GAZON" 53
"stops.txt" "stop_name" "GUILHERAND MAIRIE" 54
"stops.txt" "stop_name" "CARREFOUR DU GAZON" 56
"stops.txt" "stop_name" "CREPOL ECOLE" 57
"stops.txt" "stop_name" "GUILHERAND MAIRIE" 59
"stops.txt" "stop_name" "JEAN CLEMENT" 60
"stops.txt" "stop_name" "CHATUZANGE STADE" 61
"stops.txt" "stop_name" "SOYONS CENTRE" 67
"stops.txt" "stop_name" "RUE DES ECOLES" 68
"stops.txt" "stop_name" "ST LAURENT DIOLIN" 69
"stops.txt" "stop_name" "ROUTE DE PLATS" 70
route_long_name_contains_short_name WARNING 316

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.

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

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`.
"11" 2 "11" "11"
"12" 3 "12" "12"
"13" 4 "13" "13"
"17" 5 "17" "17"
"907" 6 "907" "907"
"909" 7 "909" "909"
"910" 8 "910" "910"
"C" 11 "C" "C"
"60" 12 "60" "60"
"261" 13 "261" "261"
"382" 14 "382" "382"
"D2" 15 "D2" "D2"
"262" 16 "262" "262"
"D3" 17 "D3" "D3"
"263" 18 "263" "263"
"473" 19 "473" "473"
"232" 20 "232" "232"
"353" 21 "353" "353"
"474" 22 "474" "474"
"354" 23 "354" "354"
"475" 24 "475" "475"
"355" 25 "355" "355"
"476" 26 "476" "476"
"356" 27 "356" "356"
"477" 28 "477" "477"
"478" 29 "478" "478"
"291" 30 "291" "291"
"292" 31 "292" "292"
"293" 32 "293" "293"
"295" 33 "295" "295"
"296" 34 "296" "296"
"297" 35 "297" "297"
"851" 36 "851" "851"
"731" 37 "731" "731"
"732" 38 "732" "732"
"853" 39 "853" "853"
"854" 40 "854" "854"
"734" 41 "734" "734"
"855" 42 "855" "855"
"735" 43 "735" "735"
"562" 44 "562" "562"
"563" 45 "563" "563"
"201" 46 "201" "201"
"322" 47 "322" "322"
"564" 48 "564" "564"
"202" 49 "202" "202"
"565" 50 "565" "565"
"203" 51 "203" "203"
"324" 52 "324" "324"
"566" 53 "566" "566"
stop_without_stop_time WARNING 19

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.
254 "0:JMR" "DEPOT JMR"
273 "0:MAIRI 3" "PORTES MAIRIE"
355 "0:DEPOT6" "DEPOT TRANSDEV"
356 "0:DEPOT5" "DEPOT ROMANS"
357 "0:DEPOT3" "DEPOT COURRIERS RHOD"
732 "0:_CLGF" "CHATUZANGE STADE"
1078 "0:_DPR" "DEPOT RAPID'BLEU"
1083 "0:_DTL" "DEPOT TAXI LUCKY"
1135 "0:DMAR" "DEPOT MARRE"
1307 "0:CTAV" "CITEA VTV"
1489 "0:DESMOU 2" "DESMOULINS"
1490 "0:SANTY 2" "SANTY"
1491 "0:LIBER 3" "LIBERATION"
1504 "0:LGEAI 2" "GEAI"
1507 "0:DESMOU" "DESMOULINS"
1508 "0:_BCLM 2" "LA BAUME LES MOULINS"
1617 "0:DBER" "DEPOT BERTOLAMI"
1647 "0:DEP10" "DEPOT ROMANS"
1684 "0:PLOY 2" "STATION ST PERAY"
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.
"20260808" "20260518" "20260626"
unused_shape WARNING 1614

unused_shape

Shape is not used in GTFS file trips.txt.

All records defined by GTFS shapes.txt should be used in trips.txt.

You can see more about this notice here.

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

shapeId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"L63P27" 2
"L333P15" 4
"L101P38" 2654
"L721P34" 2684
"L70P19" 3158
"L62P35" 3455
"L566P37" 3468
"L902P5" 3473
"L563P36" 3885
"L12P57" 4048
"L10P190" 4252
"L10P191" 4576
"L10P192" 4964
"L567P37" 4994
"L565P35" 10229
"L913P6" 10234
"L373P37" 10559
"L479P29" 11132
"L381P32" 13117
"L905P6" 16946
"L295P30" 18674
"L536P6" 20509
"L171P1" 22312
"L857P2" 22746
"LC5P173" 23324
"L10P163" 23872
"L907P3" 24967
"L907P2" 25130
"L11P26" 25246
"L844P18" 25392
"L261P1" 25957
"L722P3" 26275
"L161P1" 26357
"L185P5" 26584
"L46P21" 26793
"L725P33" 31531
"L362P13" 31599
"L132P11" 33024
"L316P53" 33426
"LC4P188" 33695
"L181P13" 34165
"L185P8" 34323
"L131P1" 35327
"L11P22" 35824
"L400P15" 35991
"L46P3" 36184
"L292P9" 36650
"L533P3" 37090
"L286P2" 37563
"L622P11" 38924
trip_headsign_matches_intermediate_stop INFO 417

trip_headsign_matches_intermediate_stop

Trip headsign matches the name of an intermediate stop, not the last stop.

The trip_headsign matches the stop_name of a stop that is not the last stop of the trip. This may confuse passengers boarding after that stop, since the headsign suggests the vehicle is heading to a stop it has already passed.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record in `trips.txt`. tripId (?) The id of the trip with the problematic headsign. tripHeadsign (?) The headsign value that matches an intermediate stop name. stopId1 (?) The id of the intermediate stop whose name matches the headsign. stopSequence (?) The stop_sequence value of the intermediate stop that matches the headsign. stopId2 (?) The id of the actual last stop of the trip.
33 "Sam_3584265" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
34 "Sam_3584264" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
39 "Sam_3584257" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
40 "Sam_3584256" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
41 "Sam_3584271" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
42 "Sam_3584270" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
43 "Sam_3584269" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
44 "Sam_3584268" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
45 "Sam_3584267" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
46 "Sam_3584266" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
127 "Sam_3584247" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
128 "Sam_3584246" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
129 "Sam_3584245" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
130 "Sam_3584244" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
131 "Sam_3584243" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
132 "Sam_3584242" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
139 "Sam_3584275" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
140 "Sam_3584274" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
151 "Sam_3584263" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
152 "Sam_3584262" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
153 "Sam_3584261" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
154 "Sam_3584260" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
155 "Sam_3584259" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
156 "Sam_3584258" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
157 "Sam_3584273" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
158 "Sam_3584272" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
165 "Sam_3584249" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
166 "Sam_3584248" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
169 "Sam_3584229" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
171 "Sam_3584227" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
173 "Sam_3584241" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
175 "Sam_3584255" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
176 "Sam_3584254" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
177 "Sam_3584253" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
178 "Sam_3584252" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
179 "Sam_3584251" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
180 "Sam_3584250" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
184 "Sam_3584223" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
189 "Sam_3584225" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
190 "Sam_3584224" "POLE BRIFFAUT" "0:BRIFF 2" 29 "0:ESCHI 2"
461 "Sam_3585209" "POLE BRIFFAUT" "0:BRIFF 2" 24 "0:ESCHI 2"
462 "Sam_3585208" "POLE BRIFFAUT" "0:BRIFF 2" 24 "0:ESCHI 2"
485 "Sam_3585090" "POLE BRIFFAUT" "0:ESCHI" 29 "0:BRIFF 3"
486 "Sam_3585093" "POLE BRIFFAUT" "0:ESCHI" 29 "0:BRIFF 3"
487 "Sam_3585088" "POLE BRIFFAUT" "0:ESCHI" 29 "0:BRIFF 3"
488 "Sam_3585091" "POLE BRIFFAUT" "0:ESCHI" 29 "0:BRIFF 3"
490 "Sam_3585089" "POLE BRIFFAUT" "0:ESCHI" 29 "0:BRIFF 3"
497 "Sam_3585094" "POLE BRIFFAUT" "0:ESCHI" 29 "0:BRIFF 3"
499 "Sam_3585092" "POLE BRIFFAUT" "0:ESCHI" 29 "0:BRIFF 3"
501 "Sam_3585203" "POLE BRIFFAUT" "0:BRIFF 2" 24 "0:ESCHI 2"
unknown_column INFO 1

unknown_column

A column name is unknown.

You can see more about this notice here.

filename (?) The name of the faulty file. fieldName (?) The name of the unknown column. index (?) The index of the faulty column.
"stops.txt" "vehicle_type" 10