kbv — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-03-23T14:53:00Z,
for the dataset file:///shared/kbv_1a395726.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
KEOLIS
Feed Email:
N/A
Feed Language:
French
Feed Start Date:
2020-09-01
Feed End Date:
2020-12-31

Files included


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

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 85
  • Shapes: 0
  • Stops: 4033
  • Trips: 1276

Specification Compliance report

28033 notices reported (64 errors, 27969 warnings, 0 infos)

Notice Code Severity Total
decreasing_or_equal_stop_time_distance ERROR 64

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 64 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`.
"28047{A179SV}-1_1_W" "LEV021B" 20156 5000.0 4 20155 5000.0 3
"28047{A179SV}-1_1_W" "LEV020B" 20157 5000.0 5 20156 5000.0 4
"28395{A253SV}-1_1_LMWJV" "LIS023B" 21057 1620.0 3 21056 1620.0 2
"27598{A056RV}-1_1_LMWJV" "LIS287A" 14795 21559.0 23 14794 21559.0 22
"27603{A056RV}-1_1_LMWJV" "LIS287A" 14890 24764.0 28 14889 24764.0 27
"27807{A133SV}-1_1_LMJV" "VIR027A" 17527 0.0 2 17526 0.0 1
"27807{A133SV}-1_1_LMJV" "VIR030A" 17528 0.0 3 17527 0.0 2
"27949{A156SV}-1_1_W" "SMB024B" 19042 6100.0 4 19041 6100.0 3
"28400{A253SV}-1_1_LMJV" "LIS023B" 21154 3700.0 5 21153 3700.0 4
"28405{A253SV}-1_1_W" "LIS023B" 21249 6955.0 6 21248 6955.0 5
"27804{A133SV}-1_1_W" "VIR027A" 17474 0.0 2 17473 0.0 1
"27804{A133SV}-1_1_W" "VIR030A" 17475 0.0 3 17474 0.0 2
"28045{A179SV}-1_1_LMJV" "LEV020B" 20123 0.0 2 20122 0.0 1
"28045{A179SV}-1_1_LMJV" "CAD020B" 20132 18100.0 11 20131 18100.0 10
"28055{A180SV}-1_1_LMWJV" "VIR030A" 20249 27100.0 12 20248 27100.0 11
"28055{A180SV}-1_1_LMWJV" "VIR020A" 20250 27100.0 13 20249 27100.0 12
"28060{A181SV}-1_1_LMWJV" "VIR020A" 20316 28100.0 13 20315 28100.0 12
"28403{A253SV}-1_1_W" "LIS023B" 21215 3620.0 4 21214 3620.0 3
"28406{A253SV}-1_1_LMJV" "LIS023B" 21269 3820.0 5 21268 3820.0 4
"27961{A157SV}-1_1_LMJV" "LIS212B" 19185 1800.0 3 19184 1800.0 2
"27558{A052RV}-1_1_LMWJV" "LIS287A" 14771 26011.0 12 14770 26011.0 11
"28081{A185SV}-1_1_LMWJV" "VIR027A" 20660 30600.0 10 20659 30600.0 9
"26659{A012RV}-1_1_LMWJV" "STA024A" 4949 0.0 2 4948 0.0 1
"28084{A186SV}-1_1_LMWJV" "VIR027A" 20689 31800.0 9 20688 31800.0 8
"28397{A253SV}-1_1_W" "LIS023B" 21097 3700.0 5 21096 3700.0 4
"27906{A150SV}-1_1_LMWJV" "SBH004A" 18479 13746.0 5 18478 13746.0 4
"28401{A253SV}-1_1_LMJV" "LIS023B" 21175 3246.0 5 21174 3246.0 4
"28046{A179SV}-1_1_LMJV" "LEV021B" 20136 5000.0 4 20135 5000.0 3
"28046{A179SV}-1_1_LMJV" "LEV020B" 20137 5000.0 5 20136 5000.0 4
"27599{A056RV}-1_1_S" "LIS287A" 14818 21559.0 23 14817 21559.0 22
"27530{A052RV}-1_1_LMWJV" "LIS287A" 14482 27817.0 14 14481 27817.0 13
"27624{A056RV}-1_1_LMWJV" "LIS287A" 15302 24478.0 27 15301 24478.0 26
"27608{A056RV}-1_1_S" "LIS287A" 15010 24764.0 28 15009 24764.0 27
"28050{A179SV}-1_1_LMWJV" "GRM023A" 20186 0.0 2 20185 0.0 1
"27600{A056RV}-1_1_LMWJV" "LIS287A" 14835 28972.0 17 14834 28972.0 16
"28090{A188SV}-1_1_LMWJV" "VIR027A" 20744 22700.0 7 20743 22700.0 6
"27897{A151SV}-1_1_LMWJV" "BLL020A" 18338 0.0 2 18337 0.0 1
"27606{A056RV}-1_1_LMWJV" "LIS287A" 14954 24764.0 28 14953 24764.0 27
"27602{A056RV}-1_1_LMWJV" "LIS287A" 14860 22318.0 9 14859 22318.0 8
"28398{A253SV}-1_1_S" "LIS023B" 21114 1620.0 3 21113 1620.0 2
"28444{T123SV}-1_1_LMWJV" "SAQ003A" 21359 0.0 2 21358 0.0 1
"28444{T123SV}-1_1_LMWJV" "BEN004A" 21362 2301.0 5 21361 2301.0 4
"28444{T123SV}-1_1_LMWJV" "BEN005A" 21363 2301.0 6 21362 2301.0 5
"28444{T123SV}-1_1_LMWJV" "BEN011A" 21364 2301.0 7 21363 2301.0 6
"28444{T123SV}-1_1_LMWJV" "BLA021A" 21366 3226.0 9 21365 3226.0 8
"28443{T123SV}-1_1_LMJV" "BLA020B" 21350 0.0 2 21349 0.0 1
"28443{T123SV}-1_1_LMJV" "BEN004B" 21352 838.0 4 21351 838.0 3
"28443{T123SV}-1_1_LMJV" "BEN005B" 21353 838.0 5 21352 838.0 4
"28443{T123SV}-1_1_LMJV" "BEN003B" 21354 838.0 6 21353 838.0 5
"28443{T123SV}-1_1_LMJV" "SAQ002B" 21357 3222.0 9 21356 3222.0 8
expired_calendar WARNING 21

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 "1_1_L"
3 "1_1_W"
4 "1_1_LJ"
5 "1_1_MJ"
6 "1_1_LMJ"
7 "1_1_WJ"
8 "1_1_LMWJ"
9 "1_1_V"
10 "1_1_MV"
11 "1_1_LMV"
12 "1_1_JV"
13 "1_1_MJV"
14 "1_1_LMJV"
15 "1_1_MWJV"
16 "1_1_LMWJV"
17 "1_1_S"
18 "1_1_WS"
19 "1_1_LWVS"
20 "1_1_LMJVS"
21 "1_1_LMWJVS"
22 "1_1_DF"
fast_travel_between_consecutive_stops WARNING 46

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.
778 "27761{A120SV}-1_1_LMWJV" "A120" 248.3977671004531 49.67955342009062 16920 9 "MON028A" "MONDEVILLE: maison du peuple" "07:52:00" 16921 10 "C016A" "CAEN: Rostand Fresnel (twisto)" "08:03:00"
461 "27202{A032RV}-1_1_LMWJVS" "A032" 1120.0178227048777 93.3348185587398 10390 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "12:50:00" 10391 19 "LNV020A" "LONGVILLERS beauvais" "12:54:00"
461 "27202{A032RV}-1_1_LMWJVS" "A032" 2851.185806687323 95.03952688957742 10391 19 "LNV020A" "LONGVILLERS beauvais" "12:54:00" 10392 20 "LNV021A" "LONGVILLERS: belissent" "12:55:00"
480 "27221{A032RV}-1_1_S" "A032" 933.348185587398 93.3348185587398 11075 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "07:56:00" 11076 19 "LNV020A" "LONGVILLERS beauvais" "08:01:00"
480 "27221{A032RV}-1_1_S" "A032" 1900.7905377915486 95.03952688957742 11076 19 "LNV020A" "LONGVILLERS beauvais" "08:01:00" 11077 20 "LNV021A" "LONGVILLERS: belissent" "08:03:00"
678 "27643{A070RV}-1_1_S" "A070" 171.80804000381858 8.59040200019093 15385 6 "CRH022A" "CRICQUEVILLE EN BESSIN: le marais" "08:41:00" 15386 7 "CRH021A" "CRICQUEVILLE EN BESSIN carref. p. du hoc" "08:43:00"
678 "27643{A070RV}-1_1_S" "A070" 212.33387788821992 7.077795929607331 15386 7 "CRH021A" "CRICQUEVILLE EN BESSIN carref. p. du hoc" "08:43:00" 15387 8 "SAP004A" "ST PIERRE DU MONT" "08:44:00"
479 "27220{A032RV}-1_1_LMWJV" "A032" 1120.0178227048777 93.3348185587398 11030 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "07:35:00" 11031 19 "LNV020A" "LONGVILLERS beauvais" "07:39:00"
479 "27220{A032RV}-1_1_LMWJV" "A032" 1900.7905377915486 95.03952688957742 11031 19 "LNV020A" "LONGVILLERS beauvais" "07:39:00" 11032 20 "LNV021A" "LONGVILLERS: belissent" "07:41:00"
1161 "28568{A173SV}-1_1_LMWJV" "A173" 2701.4343246869953 90.04781082289983 21746 7 "CRY021B" "CROUAY: calverie" "18:23:00" 21747 8 "CAY022B" "CAMPIGNY: le pont" "18:24:00"
1161 "28568{A173SV}-1_1_LMWJV" "A173" 1812.3561226102886 90.61780613051442 21747 8 "CAY022B" "CAMPIGNY: le pont" "18:24:00" 21748 9 "CRY023B" "CROUAY: mont flambé" "18:26:00"
458 "27199{A032RV}-1_1_LMWJV" "A032" 1120.0178227048777 93.3348185587398 10303 3 "AUN006A" "AUNAY SUR ODON: champ de foire" "06:53:00" 10304 4 "LNV020A" "LONGVILLERS beauvais" "06:57:00"
458 "27199{A032RV}-1_1_LMWJV" "A032" 1900.7905377915486 95.03952688957742 10304 4 "LNV020A" "LONGVILLERS beauvais" "06:57:00" 10305 5 "LNV021A" "LONGVILLERS: belissent" "06:59:00"
464 "27205{A032RV}-1_1_DF" "A032" 1120.0178227048777 93.3348185587398 10510 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "12:03:00" 10511 19 "LNV020A" "LONGVILLERS beauvais" "12:07:00"
464 "27205{A032RV}-1_1_DF" "A032" 2851.185806687323 95.03952688957742 10511 19 "LNV020A" "LONGVILLERS beauvais" "12:07:00" 10512 20 "LNV021A" "LONGVILLERS: belissent" "12:08:00"
482 "27223{A032RV}-1_1_LMWJVS" "A032" 1120.0178227048777 93.3348185587398 11165 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "18:52:00" 11166 19 "LNV020A" "LONGVILLERS beauvais" "18:56:00"
482 "27223{A032RV}-1_1_LMWJVS" "A032" 2851.185806687323 95.03952688957742 11166 19 "LNV020A" "LONGVILLERS beauvais" "18:56:00" 11167 20 "LNV021A" "LONGVILLERS: belissent" "18:57:00"
102 "26405{A011RV}-1_1_LMJV" "A011" 229.75583186489646 7.658527728829881 1993 10 "GOP021B" "GOUPILLIERES: rannerie" "18:19:00" 1994 11 "GOP020B" "GOUPILLIERES" "18:20:00"
679 "27644{A070RV}-1_1_LMWJV" "A070" 171.80804000381858 8.59040200019093 15415 6 "CRH022A" "CRICQUEVILLE EN BESSIN: le marais" "06:46:00" 15416 7 "CRH021A" "CRICQUEVILLE EN BESSIN carref. p. du hoc" "06:48:00"
679 "27644{A070RV}-1_1_LMWJV" "A070" 212.33387788821992 7.077795929607331 15416 7 "CRH021A" "CRICQUEVILLE EN BESSIN carref. p. du hoc" "06:48:00" 15417 8 "SAP004A" "ST PIERRE DU MONT" "06:49:00"
481 "27222{A032RV}-1_1_V" "A032" 1120.0178227048777 93.3348185587398 11120 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "16:33:00" 11121 19 "LNV020A" "LONGVILLERS beauvais" "16:37:00"
481 "27222{A032RV}-1_1_V" "A032" 2851.185806687323 95.03952688957742 11121 19 "LNV020A" "LONGVILLERS beauvais" "16:37:00" 11122 20 "LNV021A" "LONGVILLERS: belissent" "16:38:00"
103 "26406{A011RV}-1_1_LMWJV" "A011" 229.50464980048667 7.650154993349556 2005 6 "GOP020A" "GOUPILLIERES" "06:41:00" 2006 7 "GOP021A" "GOUPILLIERES: rannerie" "06:42:00"
457 "27198{A032RV}-1_1_LMWJV" "A032" 933.348185587398 93.3348185587398 10291 19 "AUN006A" "AUNAY SUR ODON: champ de foire" "06:44:00" 10292 20 "LNV020A" "LONGVILLERS beauvais" "06:49:00"
457 "27198{A032RV}-1_1_LMWJV" "A032" 1900.7905377915486 95.03952688957742 10292 20 "LNV020A" "LONGVILLERS beauvais" "06:49:00" 10293 21 "LNV021A" "LONGVILLERS: belissent" "06:51:00"
455 "27196{A032RV}-1_1_LMWJV" "A032" 1120.0178227048777 93.3348185587398 10222 3 "AUN006A" "AUNAY SUR ODON: champ de foire" "06:13:00" 10223 4 "LNV020A" "LONGVILLERS beauvais" "06:17:00"
455 "27196{A032RV}-1_1_LMWJV" "A032" 1900.7905377915486 95.03952688957742 10223 4 "LNV020A" "LONGVILLERS beauvais" "06:17:00" 10224 5 "LNV021A" "LONGVILLERS: belissent" "06:19:00"
462 "27203{A032RV}-1_1_LMWJV" "A032" 1120.0178227048777 93.3348185587398 10420 3 "AUN006A" "AUNAY SUR ODON: champ de foire" "13:43:00" 10421 4 "LNV020A" "LONGVILLERS beauvais" "13:47:00"
462 "27203{A032RV}-1_1_LMWJV" "A032" 2851.185806687323 95.03952688957742 10421 4 "LNV020A" "LONGVILLERS beauvais" "13:47:00" 10422 5 "LNV021A" "LONGVILLERS: belissent" "13:48:00"
463 "27204{A032RV}-1_1_LMWJ" "A032" 1120.0178227048777 93.3348185587398 10465 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "15:50:00" 10466 19 "LNV020A" "LONGVILLERS beauvais" "15:54:00"
463 "27204{A032RV}-1_1_LMWJ" "A032" 2851.185806687323 95.03952688957742 10466 19 "LNV020A" "LONGVILLERS beauvais" "15:54:00" 10467 20 "LNV021A" "LONGVILLERS: belissent" "15:55:00"
681 "27646{A070RV}-1_1_LMWJVS" "A070" 212.14833816786566 7.071611272262188 15476 22 "SAP004B" "ST PIERRE DU MONT" "18:38:00" 15477 23 "CRH021B" "CRICQUEVILLE EN BESSIN carref. p. du hoc" "18:39:00"
681 "27646{A070RV}-1_1_LMWJVS" "A070" 171.82064851004566 8.591032425502283 15477 23 "CRH021B" "CRICQUEVILLE EN BESSIN carref. p. du hoc" "18:39:00" 15478 24 "CRH022B" "CRICQUEVILLE EN BESSIN: le marais" "18:41:00"
465 "27206{A032RV}-1_1_DF" "A032" 1120.0178227048777 93.3348185587398 10564 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "18:23:00" 10565 19 "LNV020A" "LONGVILLERS beauvais" "18:27:00"
465 "27206{A032RV}-1_1_DF" "A032" 2851.185806687323 95.03952688957742 10565 19 "LNV020A" "LONGVILLERS beauvais" "18:27:00" 10566 20 "LNV021A" "LONGVILLERS: belissent" "18:28:00"
687 "27652{A070RV}-1_1_LMWJVS" "A070" 171.80804000381858 8.59040200019093 15576 6 "CRH022A" "CRICQUEVILLE EN BESSIN: le marais" "13:34:00" 15577 7 "CRH021A" "CRICQUEVILLE EN BESSIN carref. p. du hoc" "13:36:00"
687 "27652{A070RV}-1_1_LMWJVS" "A070" 212.33387788821992 7.077795929607331 15577 7 "CRH021A" "CRICQUEVILLE EN BESSIN carref. p. du hoc" "13:36:00" 15578 8 "SAP004A" "ST PIERRE DU MONT" "13:37:00"
460 "27201{A032RV}-1_1_LMWJVS" "A032" 1120.0178227048777 93.3348185587398 10344 3 "AUN006A" "AUNAY SUR ODON: champ de foire" "08:39:00" 10345 4 "LNV020A" "LONGVILLERS beauvais" "08:43:00"
460 "27201{A032RV}-1_1_LMWJVS" "A032" 2851.185806687323 95.03952688957742 10345 4 "LNV020A" "LONGVILLERS beauvais" "08:43:00" 10346 5 "LNV021A" "LONGVILLERS: belissent" "08:44:00"
779 "27762{A120SV}-1_1_LMWJV" "A120" 248.3977671004531 49.67955342009062 16938 17 "MON028A" "MONDEVILLE: maison du peuple" "07:52:00" 16939 18 "C016A" "CAEN: Rostand Fresnel (twisto)" "08:03:00"
686 "27651{A070RV}-1_1_LMWJVS" "A070" 212.14833816786566 7.071611272262188 15563 23 "SAP004B" "ST PIERRE DU MONT" "13:19:00" 15564 24 "CRH021B" "CRICQUEVILLE EN BESSIN carref. p. du hoc" "13:20:00"
686 "27651{A070RV}-1_1_LMWJVS" "A070" 171.82064851004566 8.591032425502283 15564 24 "CRH021B" "CRICQUEVILLE EN BESSIN carref. p. du hoc" "13:20:00" 15565 25 "CRH022B" "CRICQUEVILLE EN BESSIN: le marais" "13:22:00"
115 "26418{A011RV}-1_1_LMWJV" "A011" 229.75583186489646 7.658527728829881 2152 18 "GOP021B" "GOUPILLIERES: rannerie" "19:13:00" 2153 19 "GOP020B" "GOUPILLIERES" "19:14:00"
1160 "28567{A173SV}-1_1_W" "A173" 2701.4343246869953 90.04781082289983 21730 7 "CRY021B" "CROUAY: calverie" "13:48:00" 21731 8 "CAY022B" "CAMPIGNY: le pont" "13:49:00"
1160 "28567{A173SV}-1_1_W" "A173" 1812.3561226102886 90.61780613051442 21731 8 "CAY022B" "CAMPIGNY: le pont" "13:49:00" 21732 9 "CRY023B" "CROUAY: mont flambé" "13:51:00"
112 "26415{A011RV}-1_1_W" "A011" 229.75583186489646 7.658527728829881 2104 16 "GOP021B" "GOUPILLIERES: rannerie" "14:16:00" 2105 17 "GOP020B" "GOUPILLIERES" "14:17:00"
fast_travel_between_far_stops WARNING 24

fast_travel_between_far_stops

A transit vehicle moves too fast between two far stops.

Two stops are considered "far" if they are more than 10 km apart. This normally indicates a more serious problem than too fast travel between consecutive stops.

The speed threshold depends on route type and are the same as fast_travel_between_consecutive_stops.

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.
778 "27761{A120SV}-1_1_LMWJV" "A120" 248.3977671004531 49.67955342009062 16920 9 "MON028A" "MONDEVILLE: maison du peuple" "07:52:00" 16921 10 "C016A" "CAEN: Rostand Fresnel (twisto)" "08:03:00"
461 "27202{A032RV}-1_1_LMWJVS" "A032" 1120.0178227048777 93.3348185587398 10390 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "12:50:00" 10391 19 "LNV020A" "LONGVILLERS beauvais" "12:54:00"
480 "27221{A032RV}-1_1_S" "A032" 933.348185587398 93.3348185587398 11075 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "07:56:00" 11076 19 "LNV020A" "LONGVILLERS beauvais" "08:01:00"
678 "27643{A070RV}-1_1_S" "A070" 235.02296894697392 15.66819792979826 15385 6 "CRH022A" "CRICQUEVILLE EN BESSIN: le marais" "08:41:00" 15387 8 "SAP004A" "ST PIERRE DU MONT" "08:44:00"
479 "27220{A032RV}-1_1_LMWJV" "A032" 1120.0178227048777 93.3348185587398 11030 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "07:35:00" 11031 19 "LNV020A" "LONGVILLERS beauvais" "07:39:00"
1161 "28568{A173SV}-1_1_LMWJV" "A173" 2701.4343246869953 90.04781082289983 21746 7 "CRY021B" "CROUAY: calverie" "18:23:00" 21747 8 "CAY022B" "CAMPIGNY: le pont" "18:24:00"
458 "27199{A032RV}-1_1_LMWJV" "A032" 1120.0178227048777 93.3348185587398 10303 3 "AUN006A" "AUNAY SUR ODON: champ de foire" "06:53:00" 10304 4 "LNV020A" "LONGVILLERS beauvais" "06:57:00"
464 "27205{A032RV}-1_1_DF" "A032" 1120.0178227048777 93.3348185587398 10510 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "12:03:00" 10511 19 "LNV020A" "LONGVILLERS beauvais" "12:07:00"
482 "27223{A032RV}-1_1_LMWJVS" "A032" 1120.0178227048777 93.3348185587398 11165 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "18:52:00" 11166 19 "LNV020A" "LONGVILLERS beauvais" "18:56:00"
679 "27644{A070RV}-1_1_LMWJV" "A070" 235.02296894697392 15.66819792979826 15415 6 "CRH022A" "CRICQUEVILLE EN BESSIN: le marais" "06:46:00" 15417 8 "SAP004A" "ST PIERRE DU MONT" "06:49:00"
481 "27222{A032RV}-1_1_V" "A032" 1120.0178227048777 93.3348185587398 11120 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "16:33:00" 11121 19 "LNV020A" "LONGVILLERS beauvais" "16:37:00"
103 "26406{A011RV}-1_1_LMWJV" "A011" 162.90449709248372 13.575374757706978 2005 6 "GOP020A" "GOUPILLIERES" "06:41:00" 2007 8 "TRM021A" "TROIS MONTS" "06:45:00"
457 "27198{A032RV}-1_1_LMWJV" "A032" 933.348185587398 93.3348185587398 10291 19 "AUN006A" "AUNAY SUR ODON: champ de foire" "06:44:00" 10292 20 "LNV020A" "LONGVILLERS beauvais" "06:49:00"
455 "27196{A032RV}-1_1_LMWJV" "A032" 1120.0178227048777 93.3348185587398 10222 3 "AUN006A" "AUNAY SUR ODON: champ de foire" "06:13:00" 10223 4 "LNV020A" "LONGVILLERS beauvais" "06:17:00"
462 "27203{A032RV}-1_1_LMWJV" "A032" 1120.0178227048777 93.3348185587398 10420 3 "AUN006A" "AUNAY SUR ODON: champ de foire" "13:43:00" 10421 4 "LNV020A" "LONGVILLERS beauvais" "13:47:00"
463 "27204{A032RV}-1_1_LMWJ" "A032" 1120.0178227048777 93.3348185587398 10465 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "15:50:00" 10466 19 "LNV020A" "LONGVILLERS beauvais" "15:54:00"
681 "27646{A070RV}-1_1_LMWJVS" "A070" 234.93965546646706 15.66264369776447 15476 22 "SAP004B" "ST PIERRE DU MONT" "18:38:00" 15478 24 "CRH022B" "CRICQUEVILLE EN BESSIN: le marais" "18:41:00"
465 "27206{A032RV}-1_1_DF" "A032" 1120.0178227048777 93.3348185587398 10564 18 "AUN006A" "AUNAY SUR ODON: champ de foire" "18:23:00" 10565 19 "LNV020A" "LONGVILLERS beauvais" "18:27:00"
687 "27652{A070RV}-1_1_LMWJVS" "A070" 235.02296894697392 15.66819792979826 15576 6 "CRH022A" "CRICQUEVILLE EN BESSIN: le marais" "13:34:00" 15578 8 "SAP004A" "ST PIERRE DU MONT" "13:37:00"
460 "27201{A032RV}-1_1_LMWJVS" "A032" 1120.0178227048777 93.3348185587398 10344 3 "AUN006A" "AUNAY SUR ODON: champ de foire" "08:39:00" 10345 4 "LNV020A" "LONGVILLERS beauvais" "08:43:00"
779 "27762{A120SV}-1_1_LMWJV" "A120" 248.3977671004531 49.67955342009062 16938 17 "MON028A" "MONDEVILLE: maison du peuple" "07:52:00" 16939 18 "C016A" "CAEN: Rostand Fresnel (twisto)" "08:03:00"
686 "27651{A070RV}-1_1_LMWJVS" "A070" 160.45282025365307 10.696854683576872 15553 13 "SHO024B" "STE HONORINE DES PERTES: salle socio cul" "12:59:00" 15556 16 "COL004B" "COLLEVILLE SUR MER: mairie" "13:02:00"
682 "27647{A070RV}-1_1_LMWJV" "A070" 160.45282025365307 10.696854683576872 15498 15 "SHO024B" "STE HONORINE DES PERTES: salle socio cul" "17:13:00" 15501 18 "COL004B" "COLLEVILLE SUR MER: mairie" "17:16:00"
1160 "28567{A173SV}-1_1_W" "A173" 2701.4343246869953 90.04781082289983 21730 7 "CRY021B" "CROUAY: calverie" "13:48:00" 21731 8 "CAY022B" "CAMPIGNY: le pont" "13:49:00"
feed_expiration_date7_days WARNING 1

feed_expiration_date7_days

Dataset should be valid for at least the next 7 days.

The dataset expiration date defined in feed_info.txt is in seven days or less. At any time, the published GTFS dataset should be valid for at least the next 7 days.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. currentDate (?) Current date (YYYYMMDD format). feedEndDate (?) Feed end date (YYYYMMDD format). suggestedExpirationDate (?) Suggested expiration date (YYYYMMDD format).
2 "20260323" "20201231" "20260330"
missing_feed_contact_email_and_url WARNING 1

missing_feed_contact_email_and_url

Best Practices for feed_info.txt suggest providing at least one of feed_contact_email and feed_contact_url.

You can see more about this notice here.

csvRowNumber (?) The row number of the validated record.
2
missing_timepoint_value WARNING 23107

missing_timepoint_value

stop_times.timepoint value is missing for a record.

When at least one of stop_times.arrival_time or stop_times.departure_time are provided, stop_times.timepoint should be defined

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's `stop_times.trip_id`. stopSequence (?) The faulty record's `stop_times.stop_sequence`.
2 "26253{A009RV}-1_1_LMWJV" 1
3 "26253{A009RV}-1_1_LMWJV" 2
4 "26253{A009RV}-1_1_LMWJV" 3
5 "26253{A009RV}-1_1_LMWJV" 4
6 "26253{A009RV}-1_1_LMWJV" 5
7 "26253{A009RV}-1_1_LMWJV" 6
8 "26253{A009RV}-1_1_LMWJV" 7
9 "26253{A009RV}-1_1_LMWJV" 8
10 "26253{A009RV}-1_1_LMWJV" 9
11 "26253{A009RV}-1_1_LMWJV" 10
12 "26253{A009RV}-1_1_LMWJV" 11
13 "26253{A009RV}-1_1_LMWJV" 12
14 "26253{A009RV}-1_1_LMWJV" 13
15 "26253{A009RV}-1_1_LMWJV" 14
16 "26253{A009RV}-1_1_LMWJV" 15
17 "26253{A009RV}-1_1_LMWJV" 16
18 "26253{A009RV}-1_1_LMWJV" 17
19 "26253{A009RV}-1_1_LMWJV" 18
20 "26253{A009RV}-1_1_LMWJV" 19
21 "26253{A009RV}-1_1_LMWJV" 20
22 "26253{A009RV}-1_1_LMWJV" 21
23 "26253{A009RV}-1_1_LMWJV" 22
24 "26253{A009RV}-1_1_LMWJV" 23
25 "26253{A009RV}-1_1_LMWJV" 24
26 "26254{A009RV}-1_1_LMWJVS" 1
27 "26254{A009RV}-1_1_LMWJVS" 2
28 "26254{A009RV}-1_1_LMWJVS" 3
29 "26254{A009RV}-1_1_LMWJVS" 4
30 "26254{A009RV}-1_1_LMWJVS" 5
31 "26254{A009RV}-1_1_LMWJVS" 6
32 "26254{A009RV}-1_1_LMWJVS" 7
33 "26254{A009RV}-1_1_LMWJVS" 8
34 "26254{A009RV}-1_1_LMWJVS" 9
35 "26254{A009RV}-1_1_LMWJVS" 10
36 "26254{A009RV}-1_1_LMWJVS" 11
37 "26254{A009RV}-1_1_LMWJVS" 12
38 "26254{A009RV}-1_1_LMWJVS" 13
39 "26254{A009RV}-1_1_LMWJVS" 14
40 "26254{A009RV}-1_1_LMWJVS" 15
41 "26254{A009RV}-1_1_LMWJVS" 16
42 "26254{A009RV}-1_1_LMWJVS" 17
43 "26254{A009RV}-1_1_LMWJVS" 18
44 "26254{A009RV}-1_1_LMWJVS" 19
45 "26254{A009RV}-1_1_LMWJVS" 20
46 "26254{A009RV}-1_1_LMWJVS" 21
47 "26254{A009RV}-1_1_LMWJVS" 22
48 "26254{A009RV}-1_1_LMWJVS" 23
49 "26254{A009RV}-1_1_LMWJVS" 24
50 "26255{A009RV}-1_1_LMWJV" 1
51 "26255{A009RV}-1_1_LMWJV" 2
mixed_case_recommended_field WARNING 4761

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 4761 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_short_name" "TER LISIEUX" 30
"routes.txt" "route_short_name" "LIGNE 36 TWISTO" 80
"routes.txt" "route_short_name" "LIGNE 35 TWISTO" 81
"routes.txt" "route_desc" "A compter du 01-09-2020" 81
"routes.txt" "route_short_name" "LIGNE 101 TWISTO" 82
"routes.txt" "route_desc" "A compter du 01-09-2020" 82
"routes.txt" "route_short_name" "LIGNE 137 TWISTO" 83
"routes.txt" "route_desc" "A compter du 01-09-2020" 83
"routes.txt" "route_short_name" "LIGNE 123 TWISTO" 84
"routes.txt" "route_desc" "A compter du 01-09-2020" 84
"routes.txt" "route_short_name" "LIGNE 130 TWISTO" 85
"routes.txt" "route_desc" "A compter du 01-09-2020" 85
"routes.txt" "route_short_name" "LIGNE 136 TWISTO" 86
"routes.txt" "route_desc" "A compter du 01-09-2020" 86
"stops.txt" "stop_name" "AIRAN: le ruel" 10
"stops.txt" "stop_name" "AIRAN: le ruel" 11
"stops.txt" "stop_name" "AMAYE SUR ORNE: centre" 14
"stops.txt" "stop_name" "AMAYE SUR ORNE: centre" 15
"stops.txt" "stop_name" "AMAYE SUR ORNE: pont du coudray" 16
"stops.txt" "stop_name" "AMAYE SUR ORNE: pont du coudray" 17
"stops.txt" "stop_name" "AMFREVILLE: le plain" 18
"stops.txt" "stop_name" "AMFREVILLE: le plain" 19
"stops.txt" "stop_name" "AMFREVILLE: les moutiers" 20
"stops.txt" "stop_name" "AMFREVILLE: les moutiers" 21
"stops.txt" "stop_name" "AMFREVILLE: hameau oger" 22
"stops.txt" "stop_name" "AMFREVILLE: hameau oger" 23
"stops.txt" "stop_name" "AMFREVILLE: la perruque" 24
"stops.txt" "stop_name" "AMFREVILLE: la perruque" 25
"stops.txt" "stop_name" "ANGUERNY: coursanne" 26
"stops.txt" "stop_name" "ANGUERNY: coursanne" 27
"stops.txt" "stop_name" "ANGUERNY: bout maçon" 28
"stops.txt" "stop_name" "ANGUERNY: bout maçon" 29
"stops.txt" "stop_name" "ANISY: la pérelle" 30
"stops.txt" "stop_name" "ANISY: la pérelle" 31
"stops.txt" "stop_name" "ANISY: le manoir" 32
"stops.txt" "stop_name" "ANISY: le manoir" 33
"stops.txt" "stop_name" "ANISY: équipement" 34
"stops.txt" "stop_name" "ANISY: équipement" 35
"stops.txt" "stop_name" "ANISY: villons les anisy" 36
"stops.txt" "stop_name" "ANISY: villons les anisy" 37
"stops.txt" "stop_name" "ANISY: rue de la pérelle" 38
"stops.txt" "stop_name" "ANNEBAULT: centre" 39
"stops.txt" "stop_name" "ANNEBAULT: centre" 40
"stops.txt" "stop_name" "ANNEBAULT: carrefour" 41
"stops.txt" "stop_name" "ANNEBAULT: carrefour" 42
"stops.txt" "stop_name" "ANNEBAULT: place" 43
"stops.txt" "stop_name" "ANNEBAULT: place" 44
"stops.txt" "stop_name" "AIRAN: le ruel" 49
"stops.txt" "stop_name" "AMAYE SUR ORNE: centre" 51
"stops.txt" "stop_name" "AMAYE SUR ORNE: pont du coudray" 52
route_short_name_too_long WARNING 7

route_short_name_too_long

Short name of a route is too long (more than 12 characters).

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`.
"T008" 80 "LIGNE 36 TWISTO"
"T015" 81 "LIGNE 35 TWISTO"
"T101" 82 "LIGNE 101 TWISTO"
"T115" 83 "LIGNE 137 TWISTO"
"T123" 84 "LIGNE 123 TWISTO"
"T130" 85 "LIGNE 130 TWISTO"
"T136" 86 "LIGNE 136 TWISTO"
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.
"20260323" "20200901" "20201218"