GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1-SNAPSHOT at 2026-07-15T10:10:34Z,
for the dataset file:///data/feed.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
nmbssncb
Feed Email:
N/A
Feed Language:
French
Feed Start Date:
2026-01-13
Feed End Date:
2026-12-12

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. transfers.txt
  9. translations.txt
  10. trips.txt

Counts


  • Agencies: 1
  • Blocks: 83350
  • Routes: 1755
  • Shapes: 0
  • Stops: 2885
  • Trips: 129024

Specification Compliance report

209656 notices reported (0 errors, 63300 warnings, 146356 infos)

Notice Code Severity Total
expired_calendar WARNING 15092

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.

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

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
3 "gc:nmbssncb:000001"
4 "gc:nmbssncb:000002"
10 "gc:nmbssncb:000008"
11 "gc:nmbssncb:000009"
12 "gc:nmbssncb:000010"
13 "gc:nmbssncb:000011"
14 "gc:nmbssncb:000012"
15 "gc:nmbssncb:000013"
16 "gc:nmbssncb:000014"
17 "gc:nmbssncb:000015"
18 "gc:nmbssncb:000016"
19 "gc:nmbssncb:000017"
20 "gc:nmbssncb:000018"
21 "gc:nmbssncb:000019"
22 "gc:nmbssncb:000020"
23 "gc:nmbssncb:000021"
24 "gc:nmbssncb:000022"
25 "gc:nmbssncb:000023"
26 "gc:nmbssncb:000024"
27 "gc:nmbssncb:000025"
28 "gc:nmbssncb:000026"
29 "gc:nmbssncb:000027"
30 "gc:nmbssncb:000028"
32 "gc:nmbssncb:000030"
33 "gc:nmbssncb:000031"
34 "gc:nmbssncb:000032"
35 "gc:nmbssncb:000033"
36 "gc:nmbssncb:000034"
37 "gc:nmbssncb:000035"
38 "gc:nmbssncb:000036"
39 "gc:nmbssncb:000037"
40 "gc:nmbssncb:000038"
41 "gc:nmbssncb:000039"
42 "gc:nmbssncb:000040"
43 "gc:nmbssncb:000041"
44 "gc:nmbssncb:000042"
45 "gc:nmbssncb:000043"
46 "gc:nmbssncb:000044"
47 "gc:nmbssncb:000045"
48 "gc:nmbssncb:000046"
49 "gc:nmbssncb:000047"
50 "gc:nmbssncb:000048"
51 "gc:nmbssncb:000049"
52 "gc:nmbssncb:000050"
53 "gc:nmbssncb:000051"
54 "gc:nmbssncb:000052"
55 "gc:nmbssncb:000053"
56 "gc:nmbssncb:000054"
57 "gc:nmbssncb:000055"
58 "gc:nmbssncb:000056"
mixed_case_recommended_field WARNING 18

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.

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" "NMBS/SNCB" 2
"stops.txt" "stop_name" "LORRAINE TGV" 10
"stops.txt" "stop_name" "BRAINE-ALLIANCE" 578
"stops.txt" "stop_name" "ERQUELINNES-FRONTIERE" 588
"stops.txt" "stop_name" "ESPLECHIN-FRONTIERE" 589
"stops.txt" "stop_name" "KOLN-EHRENFELD" 610
"stops.txt" "stop_name" "KOLN SUD" 611
"stops.txt" "stop_name" "KOLN-EHRENFELD" 627
"stops.txt" "stop_name" "KOLN SUD" 633
"stops.txt" "stop_name" "MEER-GRENS" 641
"stops.txt" "stop_name" "QUEVY-FRONTIERE" 653
"stops.txt" "stop_name" "LORRAINE TGV" 733
"stops.txt" "stop_name" "BRAINE-ALLIANCE" 1049
"stops.txt" "stop_name" "MEER-GRENS" 1356
"stops.txt" "stop_name" "ERQUELINNES-FRONTIERE" 2193
"stops.txt" "stop_name" "QUEVY-FRONTIERE" 2431
"stops.txt" "stop_name" "ESPLECHIN-FRONTIERE" 2434
"trips.txt" "trip_headsign" "MEER-GRENS" 57275
route_color_contrast WARNING 12

route_color_contrast

Insufficient route color contrast.

A route's color and route_text_color should be contrasting.

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeColor (?) The faulty record's HTML route color. routeTextColor (?) The faulty record's HTML route text color.
"gr:nmbssncb:925" 1675 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:926" 1676 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:927" 1677 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:928" 1678 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:929" 1679 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:930" 1681 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:931" 1682 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:932" 1683 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:933" 1684 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:934" 1685 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:935" 1686 "#FFCD00" "#FFFFFF"
"gr:nmbssncb:956" 1709 "#FFCD00" "#FFFFFF"
service_has_no_active_day_of_the_week WARNING 48175

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.

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

csvRowNumber (?) The row number in calendar.txt where the error occurs. serviceId (?) The service_id field value.
2 "gc:nmbssncb:000000"
3 "gc:nmbssncb:000001"
4 "gc:nmbssncb:000002"
5 "gc:nmbssncb:000003"
6 "gc:nmbssncb:000004"
7 "gc:nmbssncb:000005"
8 "gc:nmbssncb:000006"
9 "gc:nmbssncb:000007"
10 "gc:nmbssncb:000008"
11 "gc:nmbssncb:000009"
12 "gc:nmbssncb:000010"
13 "gc:nmbssncb:000011"
14 "gc:nmbssncb:000012"
15 "gc:nmbssncb:000013"
16 "gc:nmbssncb:000014"
17 "gc:nmbssncb:000015"
18 "gc:nmbssncb:000016"
19 "gc:nmbssncb:000017"
20 "gc:nmbssncb:000018"
21 "gc:nmbssncb:000019"
22 "gc:nmbssncb:000020"
23 "gc:nmbssncb:000021"
24 "gc:nmbssncb:000022"
25 "gc:nmbssncb:000023"
26 "gc:nmbssncb:000024"
27 "gc:nmbssncb:000025"
28 "gc:nmbssncb:000026"
29 "gc:nmbssncb:000027"
30 "gc:nmbssncb:000028"
31 "gc:nmbssncb:000029"
32 "gc:nmbssncb:000030"
33 "gc:nmbssncb:000031"
34 "gc:nmbssncb:000032"
35 "gc:nmbssncb:000033"
36 "gc:nmbssncb:000034"
37 "gc:nmbssncb:000035"
38 "gc:nmbssncb:000036"
39 "gc:nmbssncb:000037"
40 "gc:nmbssncb:000038"
41 "gc:nmbssncb:000039"
42 "gc:nmbssncb:000040"
43 "gc:nmbssncb:000041"
44 "gc:nmbssncb:000042"
45 "gc:nmbssncb:000043"
46 "gc:nmbssncb:000044"
47 "gc:nmbssncb:000045"
48 "gc:nmbssncb:000046"
49 "gc:nmbssncb:000047"
50 "gc:nmbssncb:000048"
51 "gc:nmbssncb:000049"
stop_without_stop_time WARNING 3

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.
11 "gs:nmbssncb:8882206_BUS" "La Louvière-Sud"
13 "gs:nmbssncb:8895505_DSP 485" "Grammont"
14 "gs:nmbssncb:8896800_3" "Roulers"
big_gap_in_service INFO 58026

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.

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

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.
"gc:nmbssncb:000009" "2026-01-30" "2026-03-09" 37
"gc:nmbssncb:000013" "2026-01-27" "2026-03-09" 40
"gc:nmbssncb:000016" "2026-01-30" "2026-03-09" 37
"gc:nmbssncb:000017" "2026-01-28" "2026-03-11" 41
"gc:nmbssncb:000019" "2026-01-30" "2026-03-10" 38
"gc:nmbssncb:000021" "2026-01-30" "2026-03-11" 39
"gc:nmbssncb:000022" "2026-01-30" "2026-03-09" 37
"gc:nmbssncb:000032" "2026-01-30" "2026-03-09" 37
"gc:nmbssncb:000033" "2026-01-27" "2026-03-09" 40
"gc:nmbssncb:000036" "2026-01-30" "2026-03-09" 37
"gc:nmbssncb:000037" "2026-01-29" "2026-03-09" 38
"gc:nmbssncb:000038" "2026-01-26" "2026-03-09" 41
"gc:nmbssncb:000041" "2026-01-29" "2026-03-10" 39
"gc:nmbssncb:000042" "2026-01-27" "2026-03-10" 41
"gc:nmbssncb:000043" "2026-01-28" "2026-03-09" 39
"gc:nmbssncb:000057" "2026-02-01" "2026-03-14" 40
"gc:nmbssncb:000071" "2026-02-22" "2026-03-21" 26
"gc:nmbssncb:000075" "2026-02-02" "2026-03-15" 40
"gc:nmbssncb:000081" "2026-02-23" "2026-03-22" 26
"gc:nmbssncb:000092" "2026-02-23" "2026-03-28" 32
"gc:nmbssncb:000094" "2026-02-22" "2026-03-28" 33
"gc:nmbssncb:000098" "2026-02-22" "2026-03-28" 33
"gc:nmbssncb:000098" "2026-03-28" "2026-07-04" 97
"gc:nmbssncb:000099" "2026-06-14" "2026-08-22" 68
"gc:nmbssncb:000100" "2026-01-25" "2026-02-28" 33
"gc:nmbssncb:000100" "2026-03-01" "2026-03-28" 26
"gc:nmbssncb:000104" "2026-03-22" "2026-04-06" 14
"gc:nmbssncb:000106" "2026-04-26" "2026-09-26" 152
"gc:nmbssncb:000109" "2026-06-21" "2026-09-05" 75
"gc:nmbssncb:000110" "2026-09-20" "2026-10-17" 26
"gc:nmbssncb:000117" "2026-03-21" "2026-04-06" 15
"gc:nmbssncb:000126" "2026-03-15" "2026-05-09" 54
"gc:nmbssncb:000136" "2026-02-08" "2026-10-17" 250
"gc:nmbssncb:000151" "2026-01-25" "2026-05-16" 110
"gc:nmbssncb:000152" "2026-01-19" "2026-04-27" 97
"gc:nmbssncb:000154" "2026-03-15" "2026-08-29" 166
"gc:nmbssncb:000164" "2026-06-08" "2026-11-16" 160
"gc:nmbssncb:000165" "2026-08-09" "2026-09-05" 26
"gc:nmbssncb:000165" "2026-09-06" "2026-09-26" 19
"gc:nmbssncb:000176" "2026-06-07" "2026-11-14" 159
"gc:nmbssncb:000192" "2026-06-07" "2026-11-14" 159
"gc:nmbssncb:000192" "2026-11-15" "2026-12-05" 19
"gc:nmbssncb:000194" "2026-08-09" "2026-09-26" 47
"gc:nmbssncb:000239" "2026-04-06" "2026-05-01" 24
"gc:nmbssncb:000239" "2026-05-03" "2026-05-23" 19
"gc:nmbssncb:000239" "2026-05-25" "2026-09-26" 123
"gc:nmbssncb:000240" "2026-02-08" "2026-03-14" 33
"gc:nmbssncb:000240" "2026-03-15" "2026-04-25" 40
"gc:nmbssncb:000240" "2026-04-26" "2026-07-25" 89
"gc:nmbssncb:000240" "2026-08-09" "2026-09-05" 26
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.
"feed_info.txt" "feed_id" 1
unsorted_stop_times INFO 88329

unsorted_stop_times

Stop times are not sorted by trip_id and stop_sequence.

'stop_times.txt' entries for a given trip are not sorted by stop_sequence, or are not contiguous in the file.

You can see more about this notice here.

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

tripId (?) The faulty record's trip_id. startCsvRowNumber (?) CSV row number of the first stop_times entry for this trip. endCsvRowNumber (?) CSV row number of the last stop_times entry for this trip.
"gt:nmbssncb:88____:007::8821402:8872009:49:1908:20260130:1" 368308 368356
"gt:nmbssncb:88____:007::8821402:8872009:49:1908:20260130:2" 368357 368405
"gt:nmbssncb:88____:007::8821402:8872009:49:1908:20260130:3" 368406 368576
"gt:nmbssncb:88____:046::8821006:8822715:10:1153:20260618" 1171935 1171944
"gt:nmbssncb:88____:G71::8895505:8892007:12:1056:20260306" 1928456 1928467
"gt:nmbssncb:88____:097::8872009:8819406:20:1813:20261211:3" 1759723 1759742
"gt:nmbssncb:88____:097::8872009:8819406:20:1813:20261211:4" 1759743 1759762
"gt:nmbssncb:88____:007::8892007:8833001:11:1839:20261106" 1029233 1029243
"gt:nmbssncb:88____:007::8891405:8831765:16:1218:20260809:1" 911089 911104
"gt:nmbssncb:88____:097::8872009:8819406:20:1813:20261211:1" 1759683 1759702
"gt:nmbssncb:88____:007::8891405:8831765:16:1218:20260809:2" 911105 911120
"gt:nmbssncb:88____:097::8872009:8819406:20:1813:20261211:2" 1759703 1759722
"gt:nmbssncb:88____:046::8891553:8822004:28:1827:20261211:1" 1352240 1352267
"gt:nmbssncb:88____:046::8891553:8822004:28:1827:20261211:2" 1352268 1352295
"gt:nmbssncb:88____:097::8814209:8833001:20:1520:20260525" 1736145 1736164
"gt:nmbssncb:88____:100::8400530:8814001:24:2017:20260329" 1772165 1772188
"gt:nmbssncb:88____:007::8811601:8872009:12:2321:20260227" 77637 77648
"gt:nmbssncb:88____:007::8819406:8811007:4:658:20260823" 177807 177966
"gt:nmbssncb:88____:G70::8892908:8893708:15:2147:20261004" 1918140 1918154
"gt:nmbssncb:88____:070::8872009:8822004:26:613:20261106" 1466363 1466388
"gt:nmbssncb:88____:007::8841608:8881000:13:2121:20260814:1" 539643 539655
"gt:nmbssncb:88____:007::8831005:8821006:25:2011:20260118" 387491 387515
"gt:nmbssncb:88____:007::8841608:8881000:13:2121:20260814:2" 539656 539668
"gt:nmbssncb:88____:A72::8821006:8832409:13:1822:20261212" 1823142 1823154
"gt:nmbssncb:88____:007::8872009:8821006:13:1320:20260517" 709057 709069
"gt:nmbssncb:88____:075::8814308:8822004:15:1241:20260628" 1577927 1577941
"gt:nmbssncb:88____:007::8884004:8841673:19:1343:20260614:1" 811060 811078
"gt:nmbssncb:88____:007::8884004:8841673:19:1343:20260614:2" 811079 811097
"gt:nmbssncb:88____:046::8814001:8821006:17:2503:20260705:1" 1162808 1162824
"gt:nmbssncb:88____:046::8865300:8863008:15:1408:20260310:1" 1304908 1304922
"gt:nmbssncb:88____:046::8865300:8863008:15:1408:20260310:2" 1304923 1304937
"gt:nmbssncb:88____:C71::8871308:8872009:13:1208:20260113" 1884057 1884069
"gt:nmbssncb:88____:046::8814001:8821006:17:2503:20260705:2" 1162825 1162841
"gt:nmbssncb:88____:078::8811304:8895208:18:1905:20260315" 1600943 1600960
"gt:nmbssncb:88____:046::8814001:8821006:17:2503:20260705:3" 1162842 1162858
"gt:nmbssncb:88____:046::8814001:8821006:17:2503:20260705:4" 1162859 1162875
"gt:nmbssncb:88____:046::8895505:8881505:18:1052:20260614" 1363677 1363694
"gt:nmbssncb:88____:070::8821121:8814209:32:1356:20260411" 1460867 1460898
"gt:nmbssncb:88____:007::8872009:8821006:13:1320:20260525" 709070 709082
"gt:nmbssncb:88____:046::8833001:8831765:11:2420:20260424:1" 1222967 1222977
"gt:nmbssncb:88____:007::8821006:8872009:14:928:20261101" 308082 308095
"gt:nmbssncb:88____:046::8833001:8831765:11:2420:20260424:2" 1222978 1222988
"gt:nmbssncb:88____:046::8833001:8831765:11:2420:20260424:3" 1222989 1222999
"gt:nmbssncb:88____:097::8819406:8872009:28:2322:20260123" 1748477 1748504
"gt:nmbssncb:88____:071::8833001:8883006:24:840:20260329:1" 1501116 1501139
"gt:nmbssncb:88____:071::8833001:8883006:24:840:20260329:2" 1501140 1501163
"gt:nmbssncb:88____:079::8833001:8814209:20:1827:20261106" 1651887 1651906
"gt:nmbssncb:88____:007::8814001:8200100:16:1049:20260624:1" 81818 81833
"gt:nmbssncb:88____:007::8814001:8200100:16:1049:20260624:2" 81834 81849
"gt:nmbssncb:88____:007::8863008:8896008:43:1852:20260423:2" 658280 658322