GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-23T18:38:15Z,
for the dataset file:///shared/citymapper.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: 4
  • Blocks: 1
  • Routes: 28
  • Shapes: 713
  • Stops: 1227
  • Trips: 1864

Specification Compliance report

99121 notices reported (94995 errors, 4126 warnings, 0 infos)

Notice Code Severity Total
block_trips_with_overlapping_stop_times ERROR 94995

block_trips_with_overlapping_stop_times

Trips with the same block id have overlapping stop times.

You can see more about this notice here.

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

csvRowNumberA (?) The row number from `trips.txt` of the first faulty trip. tripIdA (?) The id of first faulty trip. serviceIdA (?) The service id of the first faulty trip. csvRowNumberB (?) The row number from `trips.txt` of the second faulty trip. tripIdB (?) The id of the other faulty trip. serviceIdB (?) The service id of the other faulty trip. blockId (?) The `trips.block_id` of the overlapping trip. intersection (?) The overlapping period.
2 "10965-20289-2" "10965" 13 "10966-20290-2" "10966" "0" "20210125"
2 "10965-20289-2" "10965" 36 "10968-20292-2" "10968" "0" "20210125"
2 "10965-20289-2" "10965" 48 "10969-20293-2" "10969" "0" "20210125"
2 "10965-20289-2" "10965" 24 "10967-20291-2" "10967" "0" "20210125"
2 "10965-20289-2" "10965" 62 "10970-20294-2" "10970" "0" "20210125"
2 "10965-20289-2" "10965" 101 "10973-20297-2" "10973" "0" "20210125"
2 "10965-20289-2" "10965" 90 "10972-20296-2" "10972" "0" "20210125"
2 "10965-20289-2" "10965" 183 "10979-20303-2" "10979" "0" "20210125"
2 "10965-20289-2" "10965" 115 "10974-20298-2" "10974" "0" "20210125"
13 "10966-20290-2" "10966" 36 "10968-20292-2" "10968" "0" "20210125"
13 "10966-20290-2" "10966" 48 "10969-20293-2" "10969" "0" "20210125"
13 "10966-20290-2" "10966" 24 "10967-20291-2" "10967" "0" "20210125"
13 "10966-20290-2" "10966" 62 "10970-20294-2" "10970" "0" "20210125"
13 "10966-20290-2" "10966" 101 "10973-20297-2" "10973" "0" "20210125"
13 "10966-20290-2" "10966" 90 "10972-20296-2" "10972" "0" "20210125"
13 "10966-20290-2" "10966" 183 "10979-20303-2" "10979" "0" "20210125"
13 "10966-20290-2" "10966" 115 "10974-20298-2" "10974" "0" "20210125"
13 "10966-20290-2" "10966" 127 "10975-20299-2" "10975" "0" "20210125"
13 "10966-20290-2" "10966" 170 "10978-20302-2" "10978" "0" "20210125"
13 "10966-20290-2" "10966" 102 "10973-20297-3" "10973" "0" "20210125"
13 "10966-20290-2" "10966" 239 "10983-20307-2" "10983" "0" "20210125"
13 "10966-20290-2" "10966" 262 "10985-20309-2" "10985" "0" "20210125"
13 "10966-20290-2" "10966" 141 "10976-20300-2" "10976" "0" "20210125"
13 "10966-20290-2" "10966" 294 "10988-20312-2" "10988" "0" "20210125"
13 "10966-20290-2" "10966" 72 "10971-20295-2" "10971" "0" "20210125"
13 "10966-20290-2" "10966" 225 "10982-20306-2" "10982" "0" "20210125"
13 "10966-20290-2" "10966" 393 "10995-20319-2" "10995" "0" "20210125"
13 "10966-20290-2" "10966" 200 "10980-20304-2" "10980" "0" "20210125"
13 "10966-20290-2" "10966" 3 "10965-20289-3" "10965" "0" "20210125"
13 "10966-20290-2" "10966" 256 "10984-20308-2" "10984" "0" "20210125"
13 "10966-20290-2" "10966" 103 "10973-20297-4" "10973" "0" "20210125"
13 "10966-20290-2" "10966" 347 "10991-20315-2" "10991" "0" "20210125"
13 "10966-20290-2" "10966" 405 "10996-20320-2" "10996" "0" "20210125"
13 "10966-20290-2" "10966" 277 "10986-20310-2" "10986" "0" "20210125"
13 "10966-20290-2" "10966" 285 "10987-20311-2" "10987" "0" "20210125"
13 "10966-20290-2" "10966" 380 "10994-20318-2" "10994" "0" "20210125"
13 "10966-20290-2" "10966" 335 "10990-20314-2" "10990" "0" "20210125"
36 "10968-20292-2" "10968" 48 "10969-20293-2" "10969" "0" "20210125"
36 "10968-20292-2" "10968" 24 "10967-20291-2" "10967" "0" "20210125"
36 "10968-20292-2" "10968" 62 "10970-20294-2" "10970" "0" "20210125"
36 "10968-20292-2" "10968" 101 "10973-20297-2" "10973" "0" "20210125"
36 "10968-20292-2" "10968" 90 "10972-20296-2" "10972" "0" "20210125"
36 "10968-20292-2" "10968" 183 "10979-20303-2" "10979" "0" "20210125"
36 "10968-20292-2" "10968" 115 "10974-20298-2" "10974" "0" "20210125"
36 "10968-20292-2" "10968" 127 "10975-20299-2" "10975" "0" "20210125"
36 "10968-20292-2" "10968" 170 "10978-20302-2" "10978" "0" "20210125"
36 "10968-20292-2" "10968" 102 "10973-20297-3" "10973" "0" "20210125"
36 "10968-20292-2" "10968" 239 "10983-20307-2" "10983" "0" "20210125"
36 "10968-20292-2" "10968" 262 "10985-20309-2" "10985" "0" "20210125"
36 "10968-20292-2" "10968" 141 "10976-20300-2" "10976" "0" "20210125"
equal_shape_distance_same_coordinates WARNING 491

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 491 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`.
"1462" 98101 7713.0 88 98100 7713.0 87
"1583" 113311 1734.0 67 113310 1734.0 66
"1580" 113019 13517.0 128 113018 13517.0 127
"1338" 82865 2007.0 72 82864 2007.0 71
"1459" 97259 1105.0 67 97258 1105.0 66
"1459" 97336 2963.0 144 97335 2963.0 143
"1459" 97766 13643.0 574 97765 13643.0 573
"1335" 82718 9452.0 123 82717 9452.0 122
"1577" 112561 10362.0 257 112560 10362.0 256
"1577" 112562 10362.0 258 112561 10362.0 257
"1696" 147657 13501.0 122 147656 13501.0 121
"1574" 112016 7731.0 90 112015 7731.0 89
"1352" 84543 6240.0 214 84542 6240.0 213
"1352" 84792 11595.0 463 84791 11595.0 462
"1594" 116868 1444.0 66 116867 1444.0 65
"1594" 116872 1556.0 70 116871 1556.0 69
"1594" 116952 4036.0 150 116951 4036.0 149
"1594" 117093 8196.0 291 117092 8196.0 290
"1472" 99182 6821.0 77 99181 6821.0 76
"1592" 116034 285.0 8 116033 285.0 7
"1592" 116054 1172.0 28 116053 1172.0 27
"1592" 116135 3227.0 109 116134 3227.0 108
"1592" 116492 16135.0 466 116491 16135.0 465
"1591" 115698 1271.0 61 115697 1271.0 60
"1591" 115922 7152.0 285 115921 7152.0 284
"1591" 115972 8645.0 335 115971 8645.0 334
"1590" 115403 10485.0 350 115402 10485.0 349
"1345" 83454 1600.0 43 83453 1600.0 42
"1345" 83455 1600.0 44 83454 1600.0 43
"1345" 83475 2373.0 64 83474 2373.0 63
"1223" 51843 17354.0 717 51842 17354.0 716
"920" 5362 7536.0 248 5361 7536.0 247
"1100" 21904 10344.0 263 21903 10344.0 262
"1100" 21905 10344.0 264 21904 10344.0 263
"1480" 99656 6298.0 84 99655 6298.0 83
"1359" 86511 1385.0 65 86510 1385.0 64
"1359" 86630 3946.0 184 86629 3946.0 183
"1359" 86675 5105.0 229 86674 5105.0 228
"1116" 26485 1178.0 48 26484 1178.0 47
"1357" 86361 21069.0 811 86360 21069.0 810
"1599" 118910 7383.0 292 118909 7383.0 291
"1599" 118939 8254.0 321 118938 8254.0 320
"1356" 85228 1912.0 85 85227 1912.0 84
"1356" 85527 9536.0 384 85526 9536.0 383
"1233" 52697 10537.0 317 52696 10537.0 316
"1232" 52246 4666.0 231 52245 4666.0 230
"1474" 99259 5973.0 77 99258 5973.0 76
"1595" 117275 1735.0 50 117274 1735.0 49
"1374" 88506 2766.0 122 88505 2766.0 121
"1374" 88603 4374.0 219 88602 4374.0 218
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 2634

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 2634 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.
"agency.txt" "agency_name" "TUA TRANSDEV" 2
"routes.txt" "route_long_name" "POLE D'ECHANGES ANTIBES / EDEN ROC" 2
"routes.txt" "route_long_name" "VALLAURIS / PLACE GUYNEMER" 3
"routes.txt" "route_long_name" "PALAIS DE CONGRES / LES SEMBOULES" 4
"routes.txt" "route_long_name" "FOYER LE ROC / PLACE GUYNEMER" 5
"routes.txt" "route_long_name" "VALLAURIS / CENTRE HOSPITALIER" 6
"routes.txt" "route_long_name" "PLACE DE GAULLE / GR VALBONNE SOPHIA ANTIPOLIS" 7
"routes.txt" "route_long_name" "PLACE GUYNEMER / VALBONNE VILLAGE" 8
"routes.txt" "route_long_name" "LE BAR SUR LOUP / GR VALBONNE SOPHIA ANTIPOLIS" 9
"routes.txt" "route_long_name" "POLE D'ECHANGES ANTIBES / GR VALBONNE SOPHIA ANTIPOLIS" 10
"routes.txt" "route_long_name" "PLACE GUYNEMER / PARC RELAIS DU FORT CARRE / PORTE MARINE" 11
"routes.txt" "route_long_name" "NAVETTE JUAN LES PINS" 12
"routes.txt" "route_long_name" "PLACE GUYNEMER / VAL CLARET / LA FONTONNE" 13
"routes.txt" "route_long_name" "NAVETTE DE VALLAURIS" 14
"routes.txt" "route_long_name" "VALLAURIS / BOULEVARD D'ALSACE CANNES" 15
"routes.txt" "route_long_name" "VALLAURIS / ZI DES 3 MOULINS" 16
"routes.txt" "route_long_name" "GOLFE JUAN / GR VALBONNE SOPHIA ANTIPOLIS" 17
"routes.txt" "route_long_name" "BEL AIR / FOYER LE ROC" 18
"routes.txt" "route_long_name" "LA COLLE SUR LOUP / POLE D'ECHANGES ANTIBES" 19
"routes.txt" "route_long_name" "ESPINETS / COLLEGE DE LA COLLE" 20
"routes.txt" "route_long_name" "ST PAUL VILLAGE / COLLEGE LA COLLE" 21
"routes.txt" "route_long_name" "VILLENEUVE LOUBET / ROQUEFORT / LYCEE VSA / GR VALBONNE SOPHIA ANTIPOLIS" 22
"routes.txt" "route_long_name" "POLE D'ECHANGES ANTIBES / GR VALBONNE SOPHIA ANTIPOLIS" 23
"routes.txt" "route_long_name" "POLE D'ECHANGES ANTIBES /JUAN LES PINS" 24
"routes.txt" "route_long_name" "POLE D'ECHANGES ANTIBES / CIMETIERE RABIAC" 25
"routes.txt" "route_long_name" "FOYER LE ROC / BIOT 3000" 26
"routes.txt" "route_long_name" "GARE SNCF CAGNES SUR MER / AMADEUS" 27
"routes.txt" "route_long_name" "NAVETTE FONT DE L'ORME" 28
"routes.txt" "route_long_name" "ANTIBES LES PINS / GR VALBONNE SOPHIA-ANTIPOLIS" 29
"stops.txt" "stop_name" "POLE JUDICIAIRE" 2
"stops.txt" "stop_name" "ALBERT EINSTEIN" 7
"stops.txt" "stop_name" "AMBROISIE LAUVERT" 10
"stops.txt" "stop_name" "LYCEE JACQUES DOLLE" 11
"stops.txt" "stop_name" "APOLLINAIRE DESNOS" 12
"stops.txt" "stop_name" "ATELIERS MUNICIPAUX" 13
"stops.txt" "stop_name" "AV. BARQUIER" 17
"stops.txt" "stop_name" "AV. DE VALLAURIS" 18
"stops.txt" "stop_name" "AV. DE VERDUN" 19
"stops.txt" "stop_name" "AV. DES PLATANES" 20
"stops.txt" "stop_name" "PLACE GUYNEMER" 21
"stops.txt" "stop_name" "AV. MARECHAL REILLE" 22
"stops.txt" "stop_name" "AV. PASTOUR" 23
"stops.txt" "stop_name" "PLACE CAVASSE" 26
"stops.txt" "stop_name" "BEL AIR" 31
"stops.txt" "stop_name" "BEL AIR" 32
"stops.txt" "stop_name" "GARE SNCF DE BIOT" 36
"stops.txt" "stop_name" "BIOT VILLAGE" 37
"stops.txt" "stop_name" "BIOT VILLAGE" 38
"stops.txt" "stop_name" "BOIS DE VALBONNE" 39
"stops.txt" "stop_name" "BOIS FLEURI" 40
stop_without_stop_time WARNING 406

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 406 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.
14 "20" "RELAIS"
15 "21" "RELAIS"
18 "28" "AV. DE VALLAURIS"
23 "34" "AV. PASTOUR"
26 "42" "PLACE CAVASSE"
27 "46" "BEAUSOLEIL"
32 "53" "BEL AIR"
33 "57" "BENSA"
41 "74" "BD. BELLEVUE"
43 "93" "CARRIAT"
55 "123" "CH. DE TOURREVISTE"
56 "124" "CH. DE TOURREVISTE"
59 "127" "CH. DES GROULES"
67 "142" "CIMETIERE BAS"
69 "144" "CIMETIERE HAUT"
73 "151" "CLAIR LOGIS"
74 "156" "CLUB MEDITERRANEE"
75 "157" "COL ST ANTOINE"
79 "169" "COLLEGE DU ROURET"
82 "176" "COURBET"
93 "205" "EDEN ROC"
112 "244" "GALION"
115 "249" "PLACE GUYNEMER"
116 "250" "PLACE GUYNEMER"
118 "253" "GARE ROUTIERE VALBONNE SOPHIA-ANTIPOLIS D1 L1ET9"
121 "257" "GARE SNCF DE CANNES"
123 "261" "GARE SNCF JUAN LES PINS"
128 "277" "GRAND BOIS"
136 "298" "IUT"
142 "315" "BOUEE"
149 "334" "GAROUPE"
160 "372" "LA VISTA"
169 "406" "PARADIS"
172 "410" "PIOL"
199 "477" "BRETONS"
212 "508" "CLAUSONNES"
216 "516" "CONTREBANDIERS"
226 "551" "CH. DES GROULES"
231 "564" "JONQUETS"
232 "565" "JONQUETS"
234 "570" "ROSES DES VENTS"
235 "571" "LENTISQUES"
242 "583" "MYRTES"
253 "605" "SEMBOULES"
274 "648" "ZI 3 MOULINS"
276 "656" "MAISON DE RETRAITE"
297 "721" "PASSERELLE SNCF"
300 "732" "PICASSO"
306 "740" "AMADEUS"
307 "741" "AMADEUS"
unused_shape WARNING 594

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

shapeId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"14" 2
"15" 557
"234" 1058
"235" 1171
"400" 1304
"568" 1805
"748" 2222
"795" 2548
"841" 2656
"846" 2924
"850" 3559
"892" 4409
"920" 5115
"921" 5495
"938" 5870
"944" 6597
"954" 6616
"958" 6645
"988" 7332
"989" 7451
"996" 7541
"997" 7925
"1009" 8343
"1010" 8887
"1011" 9437
"1013" 9995
"1016" 10588
"1018" 11171
"1050" 11899
"1056" 12838
"1057" 13445
"1058" 13721
"1059" 13974
"1072" 14647
"1073" 15443
"1074" 16148
"1077" 16838
"1080" 17626
"1081" 17893
"1082" 18561
"1083" 19074
"1084" 19294
"1085" 19521
"1090" 19742
"1093" 19948
"1094" 20343
"1095" 20659
"1098" 20948
"1099" 21341
"1100" 21642