GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-23T20:10:36Z,
for the dataset file:///shared/mazamet2.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. fare_attributes.txt
  5. fare_rules.txt
  6. frequencies.txt
  7. routes.txt
  8. shapes.txt
  9. stop_times.txt
  10. stops.txt
  11. transfers.txt
  12. trips.txt

Counts


  • Agencies: 0
  • Blocks: 0
  • Routes: 12
  • Shapes: 0
  • Stops: 495
  • Trips: 2699

Specification Compliance report

473 notices reported (253 errors, 220 warnings, 0 infos)

Notice Code Severity Total
duplicate_key ERROR 224

duplicate_key

Duplicated entity.

The values of the given key and rows are duplicates.

You can see more about this notice here.

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

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.
"stop_times.txt" 37341 37342 "trip_id,stop_sequence" "32869-1203,0"
"stop_times.txt" 37343 37344 "trip_id,stop_sequence" "32869-1203,1"
"stop_times.txt" 37345 37346 "trip_id,stop_sequence" "32869-1203,2"
"stop_times.txt" 37347 37348 "trip_id,stop_sequence" "32869-1203,3"
"stop_times.txt" 37349 37350 "trip_id,stop_sequence" "32869-1203,5"
"stop_times.txt" 37352 37353 "trip_id,stop_sequence" "32869-1203,6"
"stop_times.txt" 37354 37355 "trip_id,stop_sequence" "32869-1203,7"
"stop_times.txt" 37356 37357 "trip_id,stop_sequence" "32869-1203,8"
"stop_times.txt" 37358 37359 "trip_id,stop_sequence" "32869-1203,9"
"stop_times.txt" 37360 37361 "trip_id,stop_sequence" "32869-1203,10"
"stop_times.txt" 37362 37363 "trip_id,stop_sequence" "32869-1203,11"
"stop_times.txt" 37364 37365 "trip_id,stop_sequence" "32869-1203,12"
"stop_times.txt" 37366 37367 "trip_id,stop_sequence" "32869-1203,13"
"stop_times.txt" 37368 37369 "trip_id,stop_sequence" "32869-1203,14"
"stop_times.txt" 37370 37371 "trip_id,stop_sequence" "32869-1203,15"
"stop_times.txt" 37372 37373 "trip_id,stop_sequence" "32869-1203,16"
"stop_times.txt" 37374 37375 "trip_id,stop_sequence" "32869-1203,17"
"stop_times.txt" 37376 37377 "trip_id,stop_sequence" "32869-1203,18"
"stop_times.txt" 37378 37379 "trip_id,stop_sequence" "32869-1203,19"
"stop_times.txt" 37380 37381 "trip_id,stop_sequence" "32869-1203,20"
"stop_times.txt" 37382 37383 "trip_id,stop_sequence" "32869-1203,21"
"stop_times.txt" 37385 37386 "trip_id,stop_sequence" "32869-1203,23"
"stop_times.txt" 37387 37388 "trip_id,stop_sequence" "32869-1203,24"
"stop_times.txt" 37389 37390 "trip_id,stop_sequence" "32869-1203,25"
"stop_times.txt" 37391 37392 "trip_id,stop_sequence" "32869-1203,26"
"stop_times.txt" 37393 37394 "trip_id,stop_sequence" "32869-1203,27"
"stop_times.txt" 37395 37396 "trip_id,stop_sequence" "32869-1203,28"
"stop_times.txt" 37397 37398 "trip_id,stop_sequence" "32869-1203,29"
"stop_times.txt" 37399 37400 "trip_id,stop_sequence" "32869-1203,30"
"stop_times.txt" 37401 37402 "trip_id,stop_sequence" "32869-1203,31"
"stop_times.txt" 37403 37404 "trip_id,stop_sequence" "32869-1203,32"
"stop_times.txt" 37405 37406 "trip_id,stop_sequence" "32869-1206,0"
"stop_times.txt" 37407 37408 "trip_id,stop_sequence" "32869-1206,1"
"stop_times.txt" 37409 37410 "trip_id,stop_sequence" "32869-1206,2"
"stop_times.txt" 37411 37412 "trip_id,stop_sequence" "32869-1206,3"
"stop_times.txt" 37413 37414 "trip_id,stop_sequence" "32869-1206,5"
"stop_times.txt" 37416 37417 "trip_id,stop_sequence" "32869-1206,6"
"stop_times.txt" 37418 37419 "trip_id,stop_sequence" "32869-1206,7"
"stop_times.txt" 37420 37421 "trip_id,stop_sequence" "32869-1206,8"
"stop_times.txt" 37422 37423 "trip_id,stop_sequence" "32869-1206,9"
"stop_times.txt" 37424 37425 "trip_id,stop_sequence" "32869-1206,10"
"stop_times.txt" 37426 37427 "trip_id,stop_sequence" "32869-1206,11"
"stop_times.txt" 37428 37429 "trip_id,stop_sequence" "32869-1206,12"
"stop_times.txt" 37430 37431 "trip_id,stop_sequence" "32869-1206,13"
"stop_times.txt" 37432 37433 "trip_id,stop_sequence" "32869-1206,14"
"stop_times.txt" 37434 37435 "trip_id,stop_sequence" "32869-1206,15"
"stop_times.txt" 37436 37437 "trip_id,stop_sequence" "32869-1206,16"
"stop_times.txt" 37438 37439 "trip_id,stop_sequence" "32869-1206,17"
"stop_times.txt" 37440 37441 "trip_id,stop_sequence" "32869-1206,18"
"stop_times.txt" 37442 37443 "trip_id,stop_sequence" "32869-1206,19"
missing_required_field ERROR 1

missing_required_field

A required field is missing.

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

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.
"agency.txt" 2 "agency_url"
point_near_origin ERROR 2

point_near_origin

A point is too close to origin (0, 0).

You can see more about this notice here.

filename (?) The name of the affected GTFS file. csvRowNumber (?) The row of the faulty row. entityId (?) The id of the faulty entity. latFieldName (?) The name of the field that uses latitude value. latFieldValue (?) The latitude of the faulty row. lonFieldName (?) The name of the field that uses longitude value. lonFieldValue (?) The longitude of the faulty row
"stops.txt" 442 "455" "stop_lat" 0.0 "stop_lon" 0.0
"stops.txt" 444 "459" "stop_lat" 0.0 "stop_lon" 0.0
start_and_end_range_out_of_order ERROR 20

start_and_end_range_out_of_order

Two date or time fields are out of order.

Date or time fields have been found out of order in calendar.txt, feed_info.txt and stop_times.txt.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row number of the faulty record. entityId (?) The faulty service id. startFieldName (?) The start value's field name. startValue (?) The start value. endFieldName (?) The end value's field name. endValue (?) The end value.
"calendar.txt" 3 "1196" "start_date" "20170207" "end_date" "20150207"
"calendar.txt" 4 "1197" "start_date" "20170207" "end_date" "20150411"
"calendar.txt" 5 "1198" "start_date" "20170207" "end_date" "20150704"
"calendar.txt" 6 "1199" "start_date" "20170207" "end_date" "20151017"
"calendar.txt" 7 "1200" "start_date" "20170207" "end_date" "20151219"
"calendar.txt" 8 "1201" "start_date" "20170202" "end_date" "20151231"
"calendar.txt" 11 "1204" "start_date" "20170207" "end_date" "20150831"
"calendar.txt" 14 "1207" "start_date" "20170202" "end_date" "20151231"
"calendar.txt" 15 "1208" "start_date" "20170208" "end_date" "20170204"
"calendar.txt" 17 "1210" "start_date" "20170208" "end_date" "20160504"
"calendar.txt" 28 "1221" "start_date" "20170208" "end_date" "20170102"
"calendar.txt" 37 "1230" "start_date" "20180315" "end_date" "20161231"
"calendar.txt" 38 "1231" "start_date" "20170207" "end_date" "20161223"
"calendar.txt" 40 "1233" "start_date" "20180315" "end_date" "20151231"
"stop_times.txt" 25536 N/A "arrival_time" "16:49:00" "departure_time" "16:48:00"
"stop_times.txt" 25546 N/A "arrival_time" "16:49:00" "departure_time" "16:48:00"
"stop_times.txt" 25556 N/A "arrival_time" "16:49:00" "departure_time" "16:48:00"
"stop_times.txt" 25566 N/A "arrival_time" "16:49:00" "departure_time" "16:48:00"
"stop_times.txt" 25576 N/A "arrival_time" "16:49:00" "departure_time" "16:48:00"
"stop_times.txt" 25586 N/A "arrival_time" "16:49:00" "departure_time" "16:48:00"
stop_time_with_arrival_before_previous_departure_time ERROR 6

stop_time_with_arrival_before_previous_departure_time

Backwards time travel between stops in stop_times.txt

For a given trip_id, the arrival_time of (n+1)-th stoptime in sequence must not precede the departure_time of n-th stoptime in sequence in stop_times.txt.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. prevCsvRowNumber (?) The row of the previous stop time. tripId (?) The trip_id associated to the faulty record. arrivalTime (?) Arrival time at the faulty record. departureTime (?) Departure time at the previous stop time.
25578 25580 "32468-1228" "16:52:00" "16:55:00"
25568 25570 "32468-1227" "16:52:00" "16:55:00"
25588 25590 "32468-1229" "16:52:00" "16:55:00"
25538 25540 "32468-1224" "16:52:00" "16:55:00"
25558 25560 "32468-1226" "16:52:00" "16:55:00"
25548 25550 "32468-1225" "16:52:00" "16:55:00"
expired_calendar WARNING 27

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 "1195"
3 "1196"
4 "1197"
5 "1198"
6 "1199"
7 "1200"
9 "1202"
10 "1203"
11 "1204"
12 "1205"
13 "1206"
16 "1209"
18 "1211"
19 "1212"
20 "1213"
23 "1216"
24 "1217"
25 "1218"
26 "1219"
27 "1220"
31 "1224"
32 "1225"
33 "1226"
34 "1227"
35 "1228"
36 "1229"
38 "1231"
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 150

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 150 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" "LIGNE NAVETTES" 13
"stops.txt" "stop_name" "1ER MAI" 2
"stops.txt" "stop_name" "AIGUEFONDE LA TIGNARIE" 6
"stops.txt" "stop_name" "AIGUEFONDE LA TIGNARIE" 7
"stops.txt" "stop_name" "ALBA LA SOURCE" 10
"stops.txt" "stop_name" "ALBA LA SOURCE" 11
"stops.txt" "stop_name" "ALBERT 1ER" 12
"stops.txt" "stop_name" "ALSACE LORRAINE" 13
"stops.txt" "stop_name" "AUSSILLON LANGUEDOC" 24
"stops.txt" "stop_name" "BORDE BASSE" 58
"stops.txt" "stop_name" "CASTRES GAMBETTA" 82
"stops.txt" "stop_name" "CASTRES GUYNEMER" 83
"stops.txt" "stop_name" "CASTRES GUYNEMER" 84
"stops.txt" "stop_name" "CASTRES LANGUEDOC" 85
"stops.txt" "stop_name" "CASTRES LANGUEDOC" 86
"stops.txt" "stop_name" "CHAMP DE LA VILLE" 93
"stops.txt" "stop_name" "CHEMIN DU CAUSSE" 101
"stops.txt" "stop_name" "CHEMIN DU CAUSSE" 102
"stops.txt" "stop_name" "COLLEGE JEAN-JAURES" 107
"stops.txt" "stop_name" "COLLEGE JEAN-JAURES" 108
"stops.txt" "stop_name" "DE COUX" 124
"stops.txt" "stop_name" "DE COUX" 125
"stops.txt" "stop_name" "DE GAULLE" 126
"stops.txt" "stop_name" "DE GAULLE" 127
"stops.txt" "stop_name" "DE LATTRE" 128
"stops.txt" "stop_name" "DE LATTRE" 129
"stops.txt" "stop_name" "ECOLES BISSEOUS" 136
"stops.txt" "stop_name" "ECOLES DE ROULANDOU" 137
"stops.txt" "stop_name" "ECOLES DE ROULANDOU" 138
"stops.txt" "stop_name" "GERARD PHILIPE" 170
"stops.txt" "stop_name" "JEANNE D'ARC" 186
"stops.txt" "stop_name" "LA CHEVALIERE" 193
"stops.txt" "stop_name" "LA FARGUE" 194
"stops.txt" "stop_name" "LA FINARIE" 195
"stops.txt" "stop_name" "LA FREGERE" 196
"stops.txt" "stop_name" "LA FREGERE" 197
"stops.txt" "stop_name" "LA LAUZE" 198
"stops.txt" "stop_name" "LA MAYLARIE" 199
"stops.txt" "stop_name" "LA MOLIERE" 200
"stops.txt" "stop_name" "LA NAURE" 201
"stops.txt" "stop_name" "LA NAURE" 202
"stops.txt" "stop_name" "LA POSTE" 203
"stops.txt" "stop_name" "LA POSTE" 204
"stops.txt" "stop_name" "LA PRADE" 205
"stops.txt" "stop_name" "LA PRADE" 206
"stops.txt" "stop_name" "LA RESSE" 207
"stops.txt" "stop_name" "LA RICHARDE" 208
"stops.txt" "stop_name" "LA ROUGEARIE" 209
"stops.txt" "stop_name" "LA ROUGEARIE" 210
"stops.txt" "stop_name" "LA SERP" 211
stop_without_stop_time WARNING 41

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.
6 "5" "AIGUEFONDE LA TIGNARIE"
7 "6" "AIGUEFONDE LA TIGNARIE"
10 "9" "ALBA LA SOURCE"
11 "10" "ALBA LA SOURCE"
16 "15" "APOLLO"
37 "36" "BEAUPUIS"
38 "37" "BEAUPUIS"
53 "52" "BLEUETS"
69 "69" "BRIGUIBOUL"
70 "70" "BRIGUIBOUL"
82 "82" "CASTRES GAMBETTA"
96 "98" "CHAPTAL"
108 "110" "COLLEGE JEAN-JAURES"
133 "135" "DURENQUE"
134 "136" "DURENQUE"
161 "163" "MAZAMET GARE Dep"
162 "164" "MAZAMET GARE Dep"
163 "165" "MAZAMET GARE Arr"
164 "166" "MAZAMET GARE Arr"
191 "193" "KERVENOAEL"
235 "238" "LE NOTRE"
238 "242" "LE SIALA arr"
241 "246" "LE VACANT"
243 "248" "LE VAL"
268 "273" "MAISON DES ASSOCIATIONS"
279 "286" "MAZAMET AUTAN"
284 "291" "MAZAMET MONTAUD"
310 "317" "MOUTONNET"
311 "318" "MOUTONNET"
313 "320" "NAYRAL"
337 "344" "PIOCH DE GAIX"
348 "356" "POUDRERIE"
349 "357" "POUDRERIE"
422 "435" "VERDUN"
441 "454" "CLEMENCEAU"
442 "455" "ENTREE ZONE DEMANDE"
444 "459" "SORTIE ZONE DEMANDE"
469 "489" "Arret Fred"
487 "511" "Arrêt ultime"
488 "512" "Arrêt 3"
489 "513" "Arrêt 4"
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" "20180315" "20191231"