rubis-fra — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-08T00:49:32Z,
for the dataset file:///shared/rubis-fra_2b7503cf.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: 1
  • Blocks: 0
  • Routes: 120
  • Shapes: 659
  • Stops: 1214
  • Trips: 2047

Specification Compliance report

5823 notices reported (13 errors, 5774 warnings, 36 infos)

Notice Code Severity Total
duplicate_key ERROR 13

duplicate_key

Duplicated entity.

The values of the given key and rows are duplicates.

You can see more about this notice here.

filename (?) The name of the faulty file oldCsvRowNumber (?) The row of the first occurrence. newCsvRowNumber (?) The row of the other occurrence. fieldName1 (?) Composite key's first field name. fieldValue1 (?) Composite key's first value.
"trips.txt" 294 295 "trip_id" "61314"
"trips.txt" 294 296 "trip_id" "61314"
"trips.txt" 305 307 "trip_id" "61315"
"trips.txt" 306 309 "trip_id" "61318"
"trips.txt" 308 310 "trip_id" "61316"
"trips.txt" 305 311 "trip_id" "61315"
"trips.txt" 306 312 "trip_id" "61318"
"trips.txt" 306 314 "trip_id" "61318"
"trips.txt" 313 401 "trip_id" "61317"
"trips.txt" 1571 1573 "trip_id" "61151"
"trips.txt" 1614 1616 "trip_id" "72499"
"trips.txt" 1617 1618 "trip_id" "72500"
"trips.txt" 1870 1872 "trip_id" "67828"
equal_shape_distance_same_coordinates WARNING 4214

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 4214 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`.
"105-775" 25352 1450.98 30 25353 1450.98 29
"105-775" 25437 19863.6 108 25436 19863.6 107
"105-775" 25446 21283.1 115 25445 21283.1 114
"105-775" 25429 22537.5 122 25428 22537.5 121
"105-775" 25425 23353.6 129 25424 23353.6 128
"105-775" 25478 24854.2 155 25477 24854.2 154
"105-775" 25484 27001.6 161 25483 27001.6 160
"105-775" 25490 28418.7 167 25489 28418.7 166
"105-773" 24777 562.143 11 24776 562.143 10
"105-773" 24768 1979.89 20 24767 1979.89 19
"105-773" 24759 4127.84 29 24758 4127.84 28
"105-773" 24704 5633.79 55 24703 5633.79 54
"105-773" 24708 6453.39 63 24707 6453.39 62
"105-773" 24725 7717.91 70 24724 7717.91 69
"105-773" 24717 9137.08 77 24716 9137.08 76
"105-773" 24544 27688.6 140 24543 27688.6 139
"105-774" 24926 1450.98 30 24927 1450.98 29
"105-774" 25084 12743.1 103 25085 12743.1 102
"105-774" 25104 19395.3 145 25103 19395.3 144
"105-774" 25269 21548.8 166 25268 21548.8 165
"105-774" 25279 22968.3 173 25278 22968.3 172
"105-774" 25258 24222.7 180 25257 24222.7 179
"105-774" 25252 25038.8 187 25139 25038.8 186
"105-774" 25306 26539.4 213 25305 26539.4 212
"105-774" 25312 28686.8 219 25311 28686.8 218
"105-774" 25318 30103.9 225 25317 30103.9 224
"RJMFR-665" 72794 5766.84 53 72793 5766.84 52
"303-1022" 4279 2762.1 4 4278 2762.1 3
"303-1022" 4244 3380.67 20 4243 3380.67 19
"303-1022" 4215 3582.43 28 4214 3582.43 27
"303-1022" 4209 4327.18 33 4208 4327.18 32
"303-1022" 4160 4782.89 44 4159 4782.89 43
"303-1022" 4234 6544.64 72 4233 6544.64 71
"303-1022" 4228 8133.26 105 4227 8133.26 104
"303-1022" 4175 8635.82 110 4174 8635.82 109
"303-1022" 4271 10702.5 122 4270 10702.5 121
"303-1022" 4312 11902.7 138 4311 11902.7 137
"303-1022" 4357 13018.9 161 4356 13018.9 160
"303-1022" 4334 14537.6 179 4333 14537.6 178
"303-1022" 4260 15730.3 199 4259 15730.3 198
"303-1022" 4300 16521.8 218 4299 16521.8 217
"303-1022" 4346 17322.2 225 4345 17322.2 224
"HLP-HLP_DEP_BBCB" 41276 825.857 9 41275 825.857 8
"280-747" 2329 3307.08 15 2328 3307.08 14
"280-748" 2361 3895.56 19 2360 3895.56 18
"160-988" 58651 328.493 10 58650 328.493 9
"160-988" 58640 533.493 16 58639 533.493 15
"160-988" 58645 1556.53 34 58644 1556.53 33
"160-988" 58690 8169.5 81 58689 8169.5 80
"160-988" 58804 9239.03 91 58803 9239.03 90
missing_recommended_field WARNING 120

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.

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

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) The name of the missing field.
"routes.txt" 2 "agency_id"
"routes.txt" 3 "agency_id"
"routes.txt" 4 "agency_id"
"routes.txt" 5 "agency_id"
"routes.txt" 6 "agency_id"
"routes.txt" 7 "agency_id"
"routes.txt" 8 "agency_id"
"routes.txt" 9 "agency_id"
"routes.txt" 10 "agency_id"
"routes.txt" 11 "agency_id"
"routes.txt" 12 "agency_id"
"routes.txt" 13 "agency_id"
"routes.txt" 14 "agency_id"
"routes.txt" 15 "agency_id"
"routes.txt" 16 "agency_id"
"routes.txt" 17 "agency_id"
"routes.txt" 18 "agency_id"
"routes.txt" 19 "agency_id"
"routes.txt" 20 "agency_id"
"routes.txt" 21 "agency_id"
"routes.txt" 22 "agency_id"
"routes.txt" 23 "agency_id"
"routes.txt" 24 "agency_id"
"routes.txt" 25 "agency_id"
"routes.txt" 26 "agency_id"
"routes.txt" 27 "agency_id"
"routes.txt" 28 "agency_id"
"routes.txt" 29 "agency_id"
"routes.txt" 30 "agency_id"
"routes.txt" 31 "agency_id"
"routes.txt" 32 "agency_id"
"routes.txt" 33 "agency_id"
"routes.txt" 34 "agency_id"
"routes.txt" 35 "agency_id"
"routes.txt" 36 "agency_id"
"routes.txt" 37 "agency_id"
"routes.txt" 38 "agency_id"
"routes.txt" 39 "agency_id"
"routes.txt" 40 "agency_id"
"routes.txt" 41 "agency_id"
"routes.txt" 42 "agency_id"
"routes.txt" 43 "agency_id"
"routes.txt" 44 "agency_id"
"routes.txt" 45 "agency_id"
"routes.txt" 46 "agency_id"
"routes.txt" 47 "agency_id"
"routes.txt" 48 "agency_id"
"routes.txt" 49 "agency_id"
"routes.txt" 50 "agency_id"
"routes.txt" 51 "agency_id"
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 1039

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 1039 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" "RJN NAVETTE JASSERON" 31
"routes.txt" "route_long_name" "RJN NAVETTE CFA" 34
"routes.txt" "route_long_name" "RJN NAVETTE EREA" 35
"routes.txt" "route_long_name" "RJN NAVETTE MFR" 36
"stops.txt" "stop_name" "etrez-BRESSE-VALLONS - LES COMBES-BRE-LES COMBES" 1069
"stops.txt" "stop_name" "etrez-BRESSE-VALLONS - BOUQUERIEUX-BRE-BOUQUERIEU" 1179
"stops.txt" "stop_name" "etrez-BRESSE-VALLONS - CHAMONAL-BRE-CHAMONAL" 1183
"stops.txt" "stop_name" "etrez-BRESSE-VALLONS - ETREZ-BRE-ETREZ" 1187
"stops.txt" "stop_name" "etrez-BRESSE-VALLONS - FERME VILLAGE D'EN HAUT-BRE-FERME VILL" 1189
"stops.txt" "stop_name" "etrez-BRESSE-VALLONS - GUIGNEBOIS-BRE-GUIGNEBOIS" 1191
"stops.txt" "stop_name" "etrez-BRESSE-VALLONS - LES POIRIERS-BRE-LES POIRIE" 1200
"stops.txt" "stop_name" "etrez-BRESSE-VALLONS - LE ROUGET-BRE-LE ROUGET" 1204
"stops.txt" "stop_name" "etrez-BRESSE-VALLONS - SPIRE-BRESSE-VALLONS - SPI" 1205
"stops.txt" "stop_name" "etrez-BRESSE-VALLONS - VIEILLE RONGE-BRE-VIEILLE RO" 1207
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 18
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 19
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 20
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 21
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 22
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 23
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 24
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 25
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 26
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 27
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 28
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 29
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 30
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 31
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 32
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 33
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 34
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 35
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 36
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 37
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 69
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 70
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 71
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 72
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 73
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 74
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 75
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 76
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 77
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 78
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 79
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 90
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 91
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 92
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 93
"trips.txt" "trip_headsign" "HOPITAL FLEYRIAT" 94
route_long_name_contains_short_name WARNING 11

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`.
"5" 12 "5" "5"
"4" 41 "4" "4"
"7" 42 "7" "7"
"3" 43 "3" "3"
"6" 44 "6" "6"
"2" 45 "2" "2"
"1" 46 "1" "1"
"115" 48 "115" "115 - Verjon <> Bourg-en-Bresse"
"10" 49 "10" "10"
"11" 60 "11" "11"
"12" 68 "12" "12"
service_has_no_active_day_of_the_week WARNING 21

service_has_no_active_day_of_the_week

A service is not valid for any day of the week.

You can see more about this notice here.

csvRowNumber (?) The row number in calendar.txt where the error occurs. serviceId (?) The service_id field value.
2 "1"
3 "2"
4 "3"
5 "4"
6 "5"
7 "6"
8 "7"
9 "8"
10 "9"
11 "10"
12 "11"
13 "12"
14 "13"
15 "14"
16 "15"
17 "16"
18 "17"
19 "18"
20 "19"
21 "20"
22 "21"
stop_without_stop_time WARNING 16

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.
448 "1684555" "Domsure-DOMSURE - LES COURS-DOS-LES COURS"
450 "1684557" "Domsure-DOMSURE - ECOLE PRIMAIRE-DOS-ECOLE PRIM"
454 "1684561" "Domsure-DOMSURE - GROSSET-DOS-GROSSET"
458 "1684565" "Domsure-DOMSURE - LOTISSEMENT-DOS-LOTISSEMEN"
461 "1684568" "Domsure-DOMSURE - MIROTON-DOS-MIROTON"
492 "1684599" "Bourg-en-Bresse-Edouard Herriot-Edouard Herriot"
493 "1684600" "Bourg-en-Bresse-Edouard Herriot-Edouard Herriot"
520 "1685216" "Saint-Didier-d'Aussiat-Saint-Didier-d'Aussiat - Terres Blanches-SDIt - TERRES BLANCH"
521 "1685218" "Domsure-DOMSURE - LOTISSEMENT 2-DOMSURE - LOTISSEMEN"
783 "1684660" "Jayat-Jayat - Cezilles-Jayat - Cezilles"
864 "1684691" "Bourg-en-Bresse-Bourg-en-Bresse Revermont-Lyc Voisin"
865 "1684692" "Bourg-en-Bresse-Bourg-en-Bresse Revermont-Lycee G. Voisin"
877 "1684704" "Lescheroux-LESCHEROUX - VILLAGE-LES-VILLAGE"
1061 "1684329" "Bourg-en-Bresse-BOURG-EN-BRESSE - ALIMENTEC-BOURG-EN-BRESSE - AL"
1149 "1684937" "Saint-Didier-d'Aussiat-SAINT-DIDIER-D'AUSSIAT - BeLOUZE-SDI-BeLOUZE"
1156 "1684944" "Saint-Didier-d'Aussiat-SAINT-DIDIER-D'AUSSIAT - COLLONGES-SDI-COLLONGES"
unused_shape WARNING 352

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

shapeId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"HLP-HLP_COCO1_DEP" 231
"HLP-HLP_COEC1_DEP" 240
"HLP-HLP_DEP_BPRE1" 556
"HLP-HLP_DEP_BPRI1" 607
"HLP-HLP_DEP_VPLA1" 1038
"HLP-HLP_DEP_VVEC1" 1095
"HLP-HLP_DLOG1_DEP" 1097
"HLP-HLP_DRMA1_DEP" 1099
"HLP-HLP_DRTU1_DEP" 1101
"HLP-HLP_DRUB1_DEP" 1103
"HLP-HLP_DRVI1_DEP" 1105
"HLP-HLP_DVIN1_DEP" 1107
"HLP-HLP_ECHA1_DEP" 1109
"HLP-HLP_ECHA1_ECHA2" 1111
"HLP-HLP_FBCO1_DEP" 1113
"HLP-HLP_FDOM1_DEP" 1115
"HLP-HLP_FECO1_DEP" 1117
"HLP-HLP_FMAL1_DEP" 1119
"HLP-HLP_FMIL1_DEP" 1121
"HLP-HLP_FOCR1_DEP" 1123
"HLP-HLP_FORC1_DEP" 1125
"HLP-HLP_FRON1_DEP" 1127
"HLP-HLP_FVIL1_DEP" 1129
"HLP-HLP_HFLE2_DEP" 1131
"HLP-HLP_COLA1_DEP" 3769
"HLP-HLP_DEP_BREV1" 4096
"HLP-HLP_DEP_BTEP1" 4126
"HLP-HLP_DEP_BTER1" 5849
"HLP-HLP_CPA2_DEP" 6717
"HLP-HLP_CREC1_DEP" 6736
"HLP-HLP_CVAU1_DEP" 7106
"HLP-HLP_DEP_BVCS1" 7204
"HLP-HLP_DEP_BVPE1" 7206
"HLP-HLP_CVVI1_DEP" 8678
"HLP-HLP_HFLE2_HFLE1" 13298
"HLP-HLP_JACO1_DEP" 13300
"HLP-HLP_JAVI1_DEP" 13302
"HLP-HLP_JCEZ1_ATTDEPO1" 13304
"HLP-HLP_JCEZ1_DEP" 13306
"HLP-HLP_JCEZ1_ROMDEPO1" 13308
"HLP-HLP_JREL1_DEP" 13310
"HLP-HLP_LAGR1_CCJA4" 13312
"HLP-HLP_LCHM1_DEP" 13314
"HLP-HLP_LDON1_DEP" 13316
"HLP-HLP_LECO1_DEP" 13318
"HLP-HLP_LEGL1_DEP" 13320
"HLP-HLP_LPON1_DEP" 13322
"HLP-HLP_LSAL1_DEP" 13324
"HLP-HLP_MAPI1_DEP" 13326
"HLP-HLP_MCOL1_DEP" 13328
big_gap_in_service INFO 36

big_gap_in_service

A service has a gap of more than 13 days between active service dates.

You can see more about this notice here.

serviceId (?) The service_id that has the gap. gapStartDate (?) The first day of the gap. gapEndDate (?) The last day of the gap. gapDurationDays (?) The number of days in the gap.
"1" "2026-07-03" "2026-09-01" 59
"1" "2026-10-16" "2026-11-03" 17
"2" "2026-06-29" "2026-09-07" 69
"2" "2026-10-12" "2026-11-02" 20
"3" "2026-07-03" "2026-09-01" 59
"3" "2026-10-16" "2026-11-02" 16
"4" "2026-07-02" "2026-09-01" 60
"4" "2026-10-15" "2026-11-02" 17
"5" "2026-07-03" "2026-09-01" 59
"5" "2026-10-16" "2026-11-02" 16
"6" "2026-07-03" "2026-09-01" 59
"6" "2026-10-16" "2026-11-01" 15
"7" "2026-07-01" "2026-09-02" 62
"7" "2026-10-14" "2026-11-04" 20
"8" "2026-06-28" "2026-09-06" 69
"8" "2026-10-11" "2026-11-01" 20
"9" "2026-07-03" "2026-09-04" 62
"9" "2026-10-16" "2026-11-06" 20
"12" "2026-10-30" "2026-12-21" 51
"13" "2026-10-30" "2026-12-21" 51
"14" "2026-07-02" "2026-09-01" 60
"14" "2026-10-15" "2026-11-03" 18
"15" "2026-07-03" "2026-09-01" 59
"15" "2026-10-16" "2026-11-03" 17
"16" "2026-06-29" "2026-09-07" 69
"16" "2026-10-12" "2026-11-02" 20
"17" "2026-07-03" "2026-09-01" 59
"17" "2026-10-16" "2026-11-02" 16
"18" "2026-07-03" "2026-09-01" 59
"18" "2026-10-16" "2026-11-02" 16
"19" "2026-07-03" "2026-09-01" 59
"19" "2026-10-16" "2026-11-01" 15
"20" "2026-07-01" "2026-09-02" 62
"20" "2026-10-14" "2026-11-04" 20
"21" "2026-07-03" "2026-09-04" 62
"21" "2026-10-16" "2026-11-06" 20