GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-23T19:52:15Z,
for the dataset file:///shared/tcat-fr.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. trips.txt

Counts


  • Agencies: 2
  • Blocks: 1519
  • Routes: 59
  • Shapes: 420
  • Stops: 1740
  • Trips: 9593

Specification Compliance report

27348 notices reported (20668 errors, 6679 warnings, 1 infos)

Notice Code Severity Total
decreasing_or_equal_stop_time_distance ERROR 20668

decreasing_or_equal_stop_time_distance

Decreasing or equal shape_dist_traveled in stop_times.txt.

When sorted by stop_times.stop_sequence, two consecutive entries in stop_times.txt should have increasing distance, based on the field shape_dist_traveled. If the values are equal, this is considered as an error.

You can see more about this notice here.

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

tripId (?) The id of the faulty trip. stopId (?) The id of the faulty stop. csvRowNumber (?) The row number from `stop_times.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. stopSequence (?) The faulty record's `stop_times.stop_sequence`. prevCsvRowNumber (?) The row number from `stop_times.txt` of the previous stop time. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous stop time. prevStopSequence (?) The previous record's `stop_times.stop_sequence`.
"1407085" "30150" 245174 0.0 2 245177 0.0 1
"1407085" "30034" 245166 0.0 3 245174 0.0 2
"1407085" "30258" 245179 0.0 4 245166 0.0 3
"1407085" "30005" 245163 0.0 5 245179 0.0 4
"1407085" "30015" 245164 0.0 6 245163 0.0 5
"1407085" "30068" 245169 0.0 7 245164 0.0 6
"1407085" "30180" 245176 0.0 8 245169 0.0 7
"1407085" "30086" 245171 0.0 9 245176 0.0 8
"1407085" "30175" 245175 0.0 10 245171 0.0 9
"1407085" "30042" 245167 0.0 11 245175 0.0 10
"1407085" "30138" 245173 0.0 12 245167 0.0 11
"1407085" "30017" 245165 0.0 13 245173 0.0 12
"1407085" "30235" 245178 0.0 14 245165 0.0 13
"1407085" "30079" 245170 0.0 15 245178 0.0 14
"1407085" "30061" 245168 0.0 16 245170 0.0 15
"1407085" "30088" 245172 0.0 17 245168 0.0 16
"1407084" "30150" 245157 0.0 2 245160 0.0 1
"1407084" "30034" 245149 0.0 3 245157 0.0 2
"1407084" "30258" 245162 0.0 4 245149 0.0 3
"1407084" "30005" 245146 0.0 5 245162 0.0 4
"1407084" "30015" 245147 0.0 6 245146 0.0 5
"1407084" "30068" 245152 0.0 7 245147 0.0 6
"1407084" "30180" 245159 0.0 8 245152 0.0 7
"1407084" "30086" 245154 0.0 9 245159 0.0 8
"1407084" "30175" 245158 0.0 10 245154 0.0 9
"1407084" "30042" 245150 0.0 11 245158 0.0 10
"1407084" "30138" 245156 0.0 12 245150 0.0 11
"1407084" "30017" 245148 0.0 13 245156 0.0 12
"1407084" "30235" 245161 0.0 14 245148 0.0 13
"1407084" "30079" 245153 0.0 15 245161 0.0 14
"1407084" "30061" 245151 0.0 16 245153 0.0 15
"1407084" "30088" 245155 0.0 17 245151 0.0 16
"1407083" "30121" 245137 0.0 2 245133 0.0 1
"1407083" "30075" 245135 0.0 3 245137 0.0 2
"1407083" "30273" 245145 0.0 4 245135 0.0 3
"1407083" "30162" 245140 0.0 5 245145 0.0 4
"1407083" "30236" 245144 0.0 6 245140 0.0 5
"1407083" "30100" 245136 0.0 7 245144 0.0 6
"1407083" "30204" 245142 0.0 8 245136 0.0 7
"1407083" "30147" 245139 0.0 9 245142 0.0 8
"1407083" "30208" 245143 0.0 10 245139 0.0 9
"1407083" "30178" 245141 0.0 11 245143 0.0 10
"1407083" "30133" 245138 0.0 12 245141 0.0 11
"1407083" "30025" 245134 0.0 13 245138 0.0 12
"1407082" "30121" 245124 0.0 2 245120 0.0 1
"1407082" "30075" 245122 0.0 3 245124 0.0 2
"1407082" "30273" 245132 0.0 4 245122 0.0 3
"1407082" "30162" 245127 0.0 5 245132 0.0 4
"1407082" "30236" 245131 0.0 6 245127 0.0 5
"1407082" "30100" 245123 0.0 7 245131 0.0 6
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 1159

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 1159 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.
"L1PRAB" 63391 417.0 15 63390 417.0 14 0.129485504053169
"L1PRAB" 63536 3062.0 160 63535 3062.0 159 0.16064480893419772
"L12PABA" 120009 357.0 42 120008 357.0 41 0.8757457110070064
"L12PABA" 120058 1442.0 91 120057 1442.0 90 0.03335853105100428
"L12PABA" 120072 1759.0 105 120071 1759.0 104 0.05559755010125067
"L12PABA" 120224 6631.0 257 120223 6631.0 256 0.13875303815793702
"L2PADA" 11694 266.0 34 11693 266.0 33 0.275205075129826
"L2PADA" 12100 9657.0 440 12099 9657.0 439 0.08120056783963729
"L2PADA" 12142 10200.0 482 12141 10200.0 481 0.16026691374434926
"L2PADA" 12144 10212.0 484 12143 10212.0 483 0.5547115670460464
"L2PADA" 12240 12731.0 580 12239 12731.0 579 0.22349440733132875
"L2PADA" 12324 14465.0 664 12323 14465.0 663 0.007395161097235959
"L2PADA" 12509 18554.0 849 12508 18554.0 848 0.9559552944731949
"L2PADB" 51685 1240.0 83 51684 1240.0 82 0.08120056783963729
"L2PADB" 51727 1782.0 125 51726 1782.0 124 0.16026691374434926
"L2PADB" 51909 6047.0 307 51908 6047.0 306 0.007395161097235959
"L2PADB" 51914 6071.0 312 51913 6071.0 311 0.586519435315038
"L5HLP107627" 120687 417.0 15 120686 417.0 14 0.129485504053169
"L5HLP107627" 120808 2905.0 136 120807 2905.0 135 0.03335853105100428
"L1PRAA" 1015 796.0 31 1014 796.0 30 0.26029065774228666
"L1PRAA" 1309 6343.0 325 1308 6343.0 324 0.129485504053169
"L1PRAA" 1362 7283.0 378 1361 7283.0 377 0.3091993316140092
"L1PRAA" 1454 8988.0 470 1453 8988.0 469 0.16064480893419772
"L35PAAA" 96661 51.0 3 96660 51.0 2 0.08009428477154888
"L12PRCA" 119680 3709.0 116 119679 3709.0 115 0.7886532699937522
"L12PRCA" 119844 8607.0 280 119843 8607.0 279 0.05559755010125067
"L12PRCA" 119858 8924.0 294 119857 8924.0 293 0.03335853105100428
"L12PRCA" 119914 10075.0 350 119913 10075.0 349 0.06712584635498024
"L12PRCA" 119925 10143.0 361 119924 10143.0 360 0.2918150631688762
"L12PRCA" 119956 10428.0 392 119955 10428.0 391 0.2325257266182316
"L12PRCA" 119966 10500.0 402 119965 10500.0 401 0.5226169763274202
"L2PREA" 92045 0.0 1 92044 0.0 0 0.28211296686685605
"L2PREA" 92505 10412.0 461 92504 10412.0 460 0.2325257266182316
"L12PAAC" 15440 357.0 42 15439 357.0 41 0.8757457110070064
"L12PAAC" 15489 1442.0 91 15488 1442.0 90 0.03335853105100428
"L12PAAC" 15503 1759.0 105 15502 1759.0 104 0.05559755010125067
"L35PRBA" 97182 5291.0 186 97181 5291.0 185 0.3485144006434594
"L35PRBA" 97184 5299.0 188 97183 5299.0 187 0.6405659929983142
"L35PRBA" 97201 5426.0 205 97200 5426.0 204 0.536950463956227
"L35PRBA" 97292 8002.0 296 97291 8002.0 295 0.08009428477154888
"L1PRBC" 33 796.0 31 32 796.0 30 0.26029065774228666
"L1PRBC" 327 6343.0 325 326 6343.0 324 0.129485504053169
"L1PRBC" 380 7283.0 378 379 7283.0 377 0.3091993316140092
"L12PACA" 89733 357.0 42 89732 357.0 41 0.8757457110070064
"L12PACA" 89782 1442.0 91 89781 1442.0 90 0.03335853105100428
"L12PACA" 89796 1759.0 105 89795 1759.0 104 0.05559755010125067
"L12PACA" 89948 6631.0 257 89947 6631.0 256 0.13875303815793702
"L5HLP107632" 120870 1328.0 58 120869 1328.0 57 0.06712584635498024
"L35PRAA" 97667 425.0 27 97666 425.0 26 0.5702331130223396
"L35PRAA" 97673 510.0 33 97672 510.0 32 0.014796127509751811
expired_calendar WARNING 13

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 "101"
3 "102"
4 "103"
5 "104"
6 "201"
7 "202"
8 "203"
9 "204"
10 "301"
11 "302"
12 "303"
13 "304"
15 "402"
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 5164

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

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"routes.txt" "route_long_name" "CRENEY PRES TROYES-RIVIERE DE COR" 2
"routes.txt" "route_long_name" "CHANTEREIGNE - ST PARRES ASCLEPIADE" 3
"routes.txt" "route_long_name" "ST JULIEN MOLINE - RDC C.ADMINISTRATIF" 4
"routes.txt" "route_long_name" "LA CHAPELLE PRES DE LYON - CHARTREUX" 5
"routes.txt" "route_long_name" "TROYES CENTRE -CCIAL BARBEREY" 6
"routes.txt" "route_long_name" "NAVETTE ETUDIANTE" 7
"routes.txt" "route_long_name" "CHANTEREIGNE - ST GERMAIN" 8
"routes.txt" "route_long_name" "LES NOES/STE SAVINE - STJULIEN MOLINE" 9
"routes.txt" "route_long_name" "RESTAURANTS SCOLAIRES" 11
"routes.txt" "route_long_name" "TRAIN BUS LIGNE16 DIMANCHE" 12
"routes.txt" "route_long_name" "ST JULIEN GANNE - LA CHAPELLE BOISSELIER" 13
"routes.txt" "route_long_name" "ST PARRES - COLLÈGE EURÉKA" 14
"routes.txt" "route_long_name" "FOUCHY - COLLÈGES ST LUC" 15
"routes.txt" "route_long_name" "ST ANDRE - CAMPUS HERRIOT" 16
"routes.txt" "route_long_name" "ROSIERES - COLLÈGE CURIE" 17
"routes.txt" "route_long_name" "LA CHAPELLE - CHARTREUX" 18
"routes.txt" "route_long_name" "TORVILLIERS - COLLÈGE LANGEVIN" 19
"routes.txt" "route_long_name" "VERRIÈRES - LYCÉE TECHNIQUE" 20
"routes.txt" "route_long_name" "SAINT JULIEN - COLLÈGE BEURNONVILLE" 21
"routes.txt" "route_long_name" "VILLEPART - COLLÈGE CURIE" 22
"routes.txt" "route_long_name" "SAINT ANDRÉ - ÉCOLES MONTIER LA CELLE" 23
"routes.txt" "route_long_name" "LA CHAPELLE ST LUC - ST JULIEN MOLINE" 24
"routes.txt" "route_long_name" "EUREKA CHARTREUX" 25
"routes.txt" "route_long_name" "COEUR DE TROYES" 26
"routes.txt" "route_long_name" "CHAPELLE ST LUC - CAMPUS HERRIOT" 27
"routes.txt" "route_long_name" "BREVIANDES - LA CHAPELLE PRES DE LYON" 28
"routes.txt" "route_long_name" "ST PARRES - TROYES PARC EXPO" 29
"routes.txt" "route_long_name" "ST PARRES BAIRES - TROYES PARC EXPO" 30
"routes.txt" "route_long_name" "ROSIERES CHARTREUX - TROYES 14 JUILLET" 31
"routes.txt" "route_long_name" "ST JULIEN>BARBEREY" 32
"routes.txt" "route_long_name" "PONT STE MARIE EUREKA - GARE SNCF" 33
"routes.txt" "route_long_name" "GENDARMERIE - ECOLES ROSIÈRES" 34
"routes.txt" "route_long_name" "TROYES CENTRE > CRENEY-LAVAU" 35
"routes.txt" "route_long_name" "SÉNARDES - COLLÈGE EURÉKA" 36
"routes.txt" "route_long_name" "CHAPELLE ST LUC - CHARTREUX" 37
"routes.txt" "route_long_name" "LISIÈRE - ECOLES ST JULIEN" 40
"routes.txt" "route_long_name" "TROYES GARE - LAVAU PALIS" 41
"routes.txt" "route_long_name" "CHANTEREIGNE - ALAGIRAUDE" 42
"routes.txt" "route_long_name" "CHAPELLE ST LUC FOUCHY-SAINT GERMAIN" 43
"routes.txt" "route_long_name" "RIVIÈRE DE CORPS - COLLÈGE LANGEVIN" 44
"routes.txt" "route_long_name" "BUCHERES / ST LEGER - LA CHAPELLE ST LUC" 45
"routes.txt" "route_long_name" "PARC GD TROYES VERS TORVILLIERS-PRUGNY-VAUCHASSIS" 46
"routes.txt" "route_long_name" "RIVIERE DE C. VERS TORVILLIERS-PRUGNY-VAUCHASSIS" 47
"routes.txt" "route_long_name" "PARC GD TROYES - CTRE ADMIN. VERS MESSON" 48
"routes.txt" "route_long_name" "VERRIERES VERS BUCHERES" 49
"routes.txt" "route_long_name" "SAINT THIBAULT VERS BUCHERES" 50
"routes.txt" "route_long_name" "BUCHERES VERS MOUSSEY" 51
"routes.txt" "route_long_name" "CENTRE COMMERCIAL BARBEREY VERS AEROPORT" 52
"routes.txt" "route_long_name" "SAINT GERMAIN VERS LEPINE - LAINES AUX BOIS" 53
"routes.txt" "route_long_name" "ST GERMAIN VERS ST POUANGE" 54
stop_without_stop_time WARNING 97

stop_without_stop_time

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

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

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
22 "30020" "BLOSSIERES"
66 "30064" "DE CHAMPAIGNE"
67 "30065" "DELPHIN"
68 "30066" "DESVIGNES"
108 "30106" "HUGUIER"
112 "30110" "JACOBINS"
114 "30112" "JOBERT"
119 "30117" "LANGEVIN"
148 "30146" "MAIRIE MONTGUEUX"
190 "30188" "PARC DE LA FONTAINE"
208 "30206" "PREFECTURE"
231 "30229" "ROUTE DU LAC"
262 "30260" "THEATRE DE CHAMP."
291 "0:mAi02" "MAIRIE SAINT LYE"
293 "0:SPECI01" "SPECIAL"
294 "0:Del01" "DELPHIN"
295 "0:DEC01" "DE CHAMPAIGNE"
318 "0:DEP01" "TCAT"
323 "0:FoN02" "FONTAINE"
339 "0:Rch02" "RESTAURANT CHEVALIER"
352 "0:PRM02" "PRES MADAME"
354 "0:ZAL02" "MOUSSEY ZA OSIERE"
356 "0:PAP02" "PAPIN"
357 "0:Cub01" "RESTAURANT LE CUBE"
358 "0:LAKd1" "LAKANAL"
359 "0:Rga01" "RESTAURANT GANNE"
372 "0:PrB01" "PRES BONNET"
401 "0:PEGAZ" "PEGAZ"
403 "0:GAUTH03" "CAF"
419 "0:HUg02" "HUGUIER"
420 "0:ATEL01" "ATELIER"
421 "0:PaRd1" "PARC DU GRAND TROYES"
424 "0:Ctr02" "CHANTRIOTS"
434 "0:COT01" "COTY"
435 "0:PAl03" "PALISSY"
436 "0:HOT02" "HOTEL DE VILLE"
438 "0:Txt02" "TEXTILE"
439 "0:SQUd2" "MOINES"
457 "0:Spd02" "Salle PDS"
489 "0:pred1" "PRES DE LYON"
490 "0:ZACd2" "ZA COULMET"
523 "0:StR03" "STE REINE"
537 "0:Rth02" "RESTAURANT THIBAULT"
568 "0:Rdxd1" "RESTAURANT DUTREIX"
569 "0:NES03" "NESMY"
571 "0:PRD02" "PRE DE L'ORME"
577 "0:Cro03" "CROUS"
583 "0:PIV01" "ZI PIVOISONS"
584 "0:PAP01" "PAPIN"
585 "0:pred2" "PRES DE LYON"
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.
"20260123" "20250424" "20250823"
unused_shape WARNING 244

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

shapeId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"L2HLP107697" 4308
"L2HLP107792" 4458
"L34PAAA" 5003
"LD5HLP107645" 8658
"LD5HLP107982" 8743
"LD5HLP107983" 8974
"L2HLP06" 9232
"L6HLP01" 9358
"L3HLP04" 9534
"L4HLP107961" 10888
"L4HLP108053" 10973
"LRSCOPRA3A" 15974
"LRSCOHLP107803" 21977
"LRSCOHLP107809" 22043
"LRSCOHLP107821" 22086
"LRSCOHLP107822" 22222
"LRSCOHLP107824" 22311
"LRSCOHLP107825" 22370
"LD1HLP107941" 22437
"LD2HLP107887" 22562
"LD2HLP107888" 22669
"LD2HLP107891" 22772
"LD2HLP107895" 22898
"LD3HLP107784" 23001
"LD3HLP107895" 23211
"LD4HLP107204" 23314
"LD4HLP107338" 23404
"LD5HLP107633" 23577
"L8HLP01" 24049
"L1HLP01" 24651
"L1HLP02" 24981
"L1HLP03" 25271
"L1HLP04" 25306
"L1HLP05" 25334
"L3HLP01" 25350
"L3HLP02" 30629
"L4HLP01" 30893
"L4HLP03" 31209
"L8HLP02" 42989
"L7HLP01" 56597
"L5HLP02" 56804
"L5HLP01" 57307
"L4HLP02" 57748
"L3HLP03" 58009
"L2HLP05" 58222
"L2HLP02" 58743
"L2HLP01" 59236
"L29HLP108094" 59713
"LD6PAAB" 60124
"LD6HLP107223" 64165
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