GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-05T21:50:58Z,
for the dataset file:///shared/hanoi-gtfs.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. routes.txt
  4. stop_times.txt
  5. stops.txt
  6. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 224
  • Shapes: 0
  • Stops: 7670
  • Trips: 13038

Specification Compliance report

873 notices reported (0 errors, 873 warnings, 0 infos)

Notice Code Severity Total
expired_calendar WARNING 1

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 "FULLW"
fast_travel_between_consecutive_stops WARNING 556

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.

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

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.
2534 "25_2_MD_39" "25_2" 334.0563617148904 5.382019160962123 81326 26 "25_2_S26" "STOP_25_2_S26" "16:27:50" 81327 27 "25_2_S27" "STOP_25_2_S27" "16:28:48"
10969 "25_2_PM_8" "25_2" 334.0563617148904 5.382019160962123 363771 26 "25_2_S26" "STOP_25_2_S26" "18:07:50" 363772 27 "25_2_S27" "STOP_25_2_S27" "18:08:48"
12762 "100_1_PM_3" "100_1" 162.83247767005932 1.944943483281264 423454 3 "100_1_S3" "STOP_100_1_S3" "17:01:26" 423455 4 "100_1_S4" "STOP_100_1_S4" "17:02:09"
2525 "25_2_MD_30" "25_2" 334.0563617148904 5.382019160962123 81020 26 "25_2_S26" "STOP_25_2_S26" "14:57:50" 81021 27 "25_2_S27" "STOP_25_2_S27" "14:58:48"
1898 "20C_1_MD_5" "20C_1" 720.0841059200307 0.6000700882666922 62799 18 "20C_1_S18" "STOP_20C_1_S18" "13:35:15" 62800 19 "20C_1_S19" "STOP_20C_1_S19" "13:35:18"
1898 "20C_1_MD_5" "20C_1" 1221.382191489367 1.0178184929078058 62800 19 "20C_1_S19" "STOP_20C_1_S19" "13:35:18" 62801 20 "20C_1_S20" "STOP_20C_1_S20" "13:35:21"
1898 "20C_1_MD_5" "20C_1" 1299.6940818665778 0.7220522677036544 62801 20 "20C_1_S20" "STOP_20C_1_S20" "13:35:21" 62802 21 "20C_1_S21" "STOP_20C_1_S21" "13:35:23"
1898 "20C_1_MD_5" "20C_1" 2677.4589382545064 2.2312157818787552 62802 21 "20C_1_S21" "STOP_20C_1_S21" "13:35:23" 62803 22 "20C_1_S22" "STOP_20C_1_S22" "13:35:26"
1898 "20C_1_MD_5" "20C_1" 1272.1408051228418 0.7067448917349121 62803 22 "20C_1_S22" "STOP_20C_1_S22" "13:35:26" 62804 23 "20C_1_S23" "STOP_20C_1_S23" "13:35:28"
1898 "20C_1_MD_5" "20C_1" 986.6059099485465 0.8221715916237887 62804 23 "20C_1_S23" "STOP_20C_1_S23" "13:35:28" 62805 24 "20C_1_S24" "STOP_20C_1_S24" "13:35:31"
1898 "20C_1_MD_5" "20C_1" 829.4318940346543 0.6911932450288786 62805 24 "20C_1_S24" "STOP_20C_1_S24" "13:35:31" 62806 25 "20C_1_S25" "STOP_20C_1_S25" "13:35:34"
1898 "20C_1_MD_5" "20C_1" 712.438940477773 0.39579941137654057 62806 25 "20C_1_S25" "STOP_20C_1_S25" "13:35:34" 62807 26 "20C_1_S26" "STOP_20C_1_S26" "13:35:36"
1898 "20C_1_MD_5" "20C_1" 1478.7829339329535 1.2323191116107945 62807 26 "20C_1_S26" "STOP_20C_1_S26" "13:35:36" 62808 27 "20C_1_S27" "STOP_20C_1_S27" "13:35:39"
1898 "20C_1_MD_5" "20C_1" 770.1157059883257 0.6417630883236046 62808 27 "20C_1_S27" "STOP_20C_1_S27" "13:35:39" 62809 28 "20C_1_S28" "STOP_20C_1_S28" "13:35:42"
1898 "20C_1_MD_5" "20C_1" 1059.7463903599337 0.5887479946444076 62809 28 "20C_1_S28" "STOP_20C_1_S28" "13:35:42" 62810 29 "20C_1_S29" "STOP_20C_1_S29" "13:35:44"
1898 "20C_1_MD_5" "20C_1" 827.8175190895362 0.6898479325746134 62810 29 "20C_1_S29" "STOP_20C_1_S29" "13:35:44" 62811 30 "20C_1_S30" "STOP_20C_1_S30" "13:35:47"
1898 "20C_1_MD_5" "20C_1" 1716.2802340260282 0.953489018903349 62811 30 "20C_1_S30" "STOP_20C_1_S30" "13:35:47" 62812 31 "20C_1_S31" "STOP_20C_1_S31" "13:35:49"
1898 "20C_1_MD_5" "20C_1" 605.8940809119407 0.5049117340932839 62812 31 "20C_1_S31" "STOP_20C_1_S31" "13:35:49" 62813 32 "20C_1_S32" "STOP_20C_1_S32" "13:35:52"
1898 "20C_1_MD_5" "20C_1" 3220.544677214893 2.6837872310124107 62813 32 "20C_1_S32" "STOP_20C_1_S32" "13:35:52" 62814 33 "20C_1_S33" "STOP_20C_1_S33" "13:35:55"
1898 "20C_1_MD_5" "20C_1" 268.19111147635914 0.37248765482827656 62814 33 "20C_1_S33" "STOP_20C_1_S33" "13:35:55" 62815 34 "20C_1_S34" "STOP_20C_1_S34" "13:36:00"
7562 "20C_1_AM_1" "20C_1" 720.0841059200307 0.6000700882666922 252229 18 "20C_1_S18" "STOP_20C_1_S18" "07:35:15" 252230 19 "20C_1_S19" "STOP_20C_1_S19" "07:35:18"
7562 "20C_1_AM_1" "20C_1" 1221.382191489367 1.0178184929078058 252230 19 "20C_1_S19" "STOP_20C_1_S19" "07:35:18" 252231 20 "20C_1_S20" "STOP_20C_1_S20" "07:35:21"
7562 "20C_1_AM_1" "20C_1" 1299.6940818665778 0.7220522677036544 252231 20 "20C_1_S20" "STOP_20C_1_S20" "07:35:21" 252232 21 "20C_1_S21" "STOP_20C_1_S21" "07:35:23"
7562 "20C_1_AM_1" "20C_1" 2677.4589382545064 2.2312157818787552 252232 21 "20C_1_S21" "STOP_20C_1_S21" "07:35:23" 252233 22 "20C_1_S22" "STOP_20C_1_S22" "07:35:26"
7562 "20C_1_AM_1" "20C_1" 1272.1408051228418 0.7067448917349121 252233 22 "20C_1_S22" "STOP_20C_1_S22" "07:35:26" 252234 23 "20C_1_S23" "STOP_20C_1_S23" "07:35:28"
7562 "20C_1_AM_1" "20C_1" 986.6059099485465 0.8221715916237887 252234 23 "20C_1_S23" "STOP_20C_1_S23" "07:35:28" 252235 24 "20C_1_S24" "STOP_20C_1_S24" "07:35:31"
7562 "20C_1_AM_1" "20C_1" 829.4318940346543 0.6911932450288786 252235 24 "20C_1_S24" "STOP_20C_1_S24" "07:35:31" 252236 25 "20C_1_S25" "STOP_20C_1_S25" "07:35:34"
7562 "20C_1_AM_1" "20C_1" 712.438940477773 0.39579941137654057 252236 25 "20C_1_S25" "STOP_20C_1_S25" "07:35:34" 252237 26 "20C_1_S26" "STOP_20C_1_S26" "07:35:36"
7562 "20C_1_AM_1" "20C_1" 1478.7829339329535 1.2323191116107945 252237 26 "20C_1_S26" "STOP_20C_1_S26" "07:35:36" 252238 27 "20C_1_S27" "STOP_20C_1_S27" "07:35:39"
7562 "20C_1_AM_1" "20C_1" 770.1157059883257 0.6417630883236046 252238 27 "20C_1_S27" "STOP_20C_1_S27" "07:35:39" 252239 28 "20C_1_S28" "STOP_20C_1_S28" "07:35:42"
7562 "20C_1_AM_1" "20C_1" 1059.7463903599337 0.5887479946444076 252239 28 "20C_1_S28" "STOP_20C_1_S28" "07:35:42" 252240 29 "20C_1_S29" "STOP_20C_1_S29" "07:35:44"
7562 "20C_1_AM_1" "20C_1" 827.8175190895362 0.6898479325746134 252240 29 "20C_1_S29" "STOP_20C_1_S29" "07:35:44" 252241 30 "20C_1_S30" "STOP_20C_1_S30" "07:35:47"
7562 "20C_1_AM_1" "20C_1" 1716.2802340260282 0.953489018903349 252241 30 "20C_1_S30" "STOP_20C_1_S30" "07:35:47" 252242 31 "20C_1_S31" "STOP_20C_1_S31" "07:35:49"
7562 "20C_1_AM_1" "20C_1" 605.8940809119407 0.5049117340932839 252242 31 "20C_1_S31" "STOP_20C_1_S31" "07:35:49" 252243 32 "20C_1_S32" "STOP_20C_1_S32" "07:35:52"
7562 "20C_1_AM_1" "20C_1" 3220.544677214893 2.6837872310124107 252243 32 "20C_1_S32" "STOP_20C_1_S32" "07:35:52" 252244 33 "20C_1_S33" "STOP_20C_1_S33" "07:35:55"
7562 "20C_1_AM_1" "20C_1" 268.19111147635914 0.37248765482827656 252244 33 "20C_1_S33" "STOP_20C_1_S33" "07:35:55" 252245 34 "20C_1_S34" "STOP_20C_1_S34" "07:36:00"
10982 "25_2_PM_21" "25_2" 334.0563617148904 5.382019160962123 364213 26 "25_2_S26" "STOP_25_2_S26" "20:17:50" 364214 27 "25_2_S27" "STOP_25_2_S27" "20:18:48"
2510 "25_2_MD_15" "25_2" 334.0563617148904 5.382019160962123 80510 26 "25_2_S26" "STOP_25_2_S26" "12:27:50" 80511 27 "25_2_S27" "STOP_25_2_S27" "12:28:48"
10671 "20C_1_PM_5" "20C_1" 720.0841059200307 0.6000700882666922 355144 18 "20C_1_S18" "STOP_20C_1_S18" "20:25:15" 355145 19 "20C_1_S19" "STOP_20C_1_S19" "20:25:18"
10671 "20C_1_PM_5" "20C_1" 1221.382191489367 1.0178184929078058 355145 19 "20C_1_S19" "STOP_20C_1_S19" "20:25:18" 355146 20 "20C_1_S20" "STOP_20C_1_S20" "20:25:21"
10671 "20C_1_PM_5" "20C_1" 1299.6940818665778 0.7220522677036544 355146 20 "20C_1_S20" "STOP_20C_1_S20" "20:25:21" 355147 21 "20C_1_S21" "STOP_20C_1_S21" "20:25:23"
10671 "20C_1_PM_5" "20C_1" 2677.4589382545064 2.2312157818787552 355147 21 "20C_1_S21" "STOP_20C_1_S21" "20:25:23" 355148 22 "20C_1_S22" "STOP_20C_1_S22" "20:25:26"
10671 "20C_1_PM_5" "20C_1" 1272.1408051228418 0.7067448917349121 355148 22 "20C_1_S22" "STOP_20C_1_S22" "20:25:26" 355149 23 "20C_1_S23" "STOP_20C_1_S23" "20:25:28"
10671 "20C_1_PM_5" "20C_1" 986.6059099485465 0.8221715916237887 355149 23 "20C_1_S23" "STOP_20C_1_S23" "20:25:28" 355150 24 "20C_1_S24" "STOP_20C_1_S24" "20:25:31"
10671 "20C_1_PM_5" "20C_1" 829.4318940346543 0.6911932450288786 355150 24 "20C_1_S24" "STOP_20C_1_S24" "20:25:31" 355151 25 "20C_1_S25" "STOP_20C_1_S25" "20:25:34"
10671 "20C_1_PM_5" "20C_1" 712.438940477773 0.39579941137654057 355151 25 "20C_1_S25" "STOP_20C_1_S25" "20:25:34" 355152 26 "20C_1_S26" "STOP_20C_1_S26" "20:25:36"
10671 "20C_1_PM_5" "20C_1" 1478.7829339329535 1.2323191116107945 355152 26 "20C_1_S26" "STOP_20C_1_S26" "20:25:36" 355153 27 "20C_1_S27" "STOP_20C_1_S27" "20:25:39"
10671 "20C_1_PM_5" "20C_1" 770.1157059883257 0.6417630883236046 355153 27 "20C_1_S27" "STOP_20C_1_S27" "20:25:39" 355154 28 "20C_1_S28" "STOP_20C_1_S28" "20:25:42"
10671 "20C_1_PM_5" "20C_1" 1059.7463903599337 0.5887479946444076 355154 28 "20C_1_S28" "STOP_20C_1_S28" "20:25:42" 355155 29 "20C_1_S29" "STOP_20C_1_S29" "20:25:44"
10671 "20C_1_PM_5" "20C_1" 827.8175190895362 0.6898479325746134 355155 29 "20C_1_S29" "STOP_20C_1_S29" "20:25:44" 355156 30 "20C_1_S30" "STOP_20C_1_S30" "20:25:47"
fast_travel_between_far_stops WARNING 44

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.
1898 "20C_1_MD_5" "20C_1" 1163.2211884883752 10.339743897674447 62799 18 "20C_1_S18" "STOP_20C_1_S18" "13:35:15" 62811 30 "20C_1_S30" "STOP_20C_1_S30" "13:35:47"
7562 "20C_1_AM_1" "20C_1" 1163.2211884883752 10.339743897674447 252229 18 "20C_1_S18" "STOP_20C_1_S18" "07:35:15" 252241 30 "20C_1_S30" "STOP_20C_1_S30" "07:35:47"
10671 "20C_1_PM_5" "20C_1" 1163.2211884883752 10.339743897674447 355144 18 "20C_1_S18" "STOP_20C_1_S18" "20:25:15" 355156 30 "20C_1_S30" "STOP_20C_1_S30" "20:25:47"
1899 "20C_1_MD_6" "20C_1" 1163.2211884883752 10.339743897674447 62833 18 "20C_1_S18" "STOP_20C_1_S18" "14:20:15" 62845 30 "20C_1_S30" "STOP_20C_1_S30" "14:20:47"
1905 "20C_2_MD_1" "20C_2" 12543.519612274862 10.452933010229053 63038 19 "20C_2_S19" "STOP_20C_2_S19" "10:37:17" 63051 32 "20C_2_S32" "STOP_20C_2_S32" "10:37:20"
7571 "20C_2_AM_5" "20C_2" 12543.519612274862 10.452933010229053 252532 19 "20C_2_S19" "STOP_20C_2_S19" "10:37:17" 252545 32 "20C_2_S32" "STOP_20C_2_S32" "10:37:20"
1904 "20C_1_MD_11" "20C_1" 1163.2211884883752 10.339743897674447 63003 18 "20C_1_S18" "STOP_20C_1_S18" "18:05:15" 63015 30 "20C_1_S30" "STOP_20C_1_S30" "18:05:47"
7566 "20C_1_AM_5" "20C_1" 1163.2211884883752 10.339743897674447 252365 18 "20C_1_S18" "STOP_20C_1_S18" "10:35:15" 252377 30 "20C_1_S30" "STOP_20C_1_S30" "10:35:47"
1894 "20C_1_MD_1" "20C_1" 1163.2211884883752 10.339743897674447 62663 18 "20C_1_S18" "STOP_20C_1_S18" "10:35:15" 62675 30 "20C_1_S30" "STOP_20C_1_S30" "10:35:47"
10676 "20C_2_PM_4" "20C_2" 12543.519612274862 10.452933010229053 355312 19 "20C_2_S19" "STOP_20C_2_S19" "19:42:17" 355325 32 "20C_2_S32" "STOP_20C_2_S32" "19:42:20"
1902 "20C_1_MD_9" "20C_1" 1163.2211884883752 10.339743897674447 62935 18 "20C_1_S18" "STOP_20C_1_S18" "16:35:15" 62947 30 "20C_1_S30" "STOP_20C_1_S30" "16:35:47"
7567 "20C_2_AM_1" "20C_2" 12543.519612274862 10.452933010229053 252400 19 "20C_2_S19" "STOP_20C_2_S19" "07:37:17" 252413 32 "20C_2_S32" "STOP_20C_2_S32" "07:37:20"
1910 "20C_2_MD_6" "20C_2" 12543.519612274862 10.452933010229053 63203 19 "20C_2_S19" "STOP_20C_2_S19" "14:22:17" 63216 32 "20C_2_S32" "STOP_20C_2_S32" "14:22:20"
1914 "20C_2_MD_10" "20C_2" 12543.519612274862 10.452933010229053 63335 19 "20C_2_S19" "STOP_20C_2_S19" "17:22:17" 63348 32 "20C_2_S32" "STOP_20C_2_S32" "17:22:20"
1901 "20C_1_MD_8" "20C_1" 1163.2211884883752 10.339743897674447 62901 18 "20C_1_S18" "STOP_20C_1_S18" "15:50:15" 62913 30 "20C_1_S30" "STOP_20C_1_S30" "15:50:47"
7565 "20C_1_AM_4" "20C_1" 1163.2211884883752 10.339743897674447 252331 18 "20C_1_S18" "STOP_20C_1_S18" "09:50:15" 252343 30 "20C_1_S30" "STOP_20C_1_S30" "09:50:47"
1908 "20C_2_MD_4" "20C_2" 12543.519612274862 10.452933010229053 63137 19 "20C_2_S19" "STOP_20C_2_S19" "12:52:17" 63150 32 "20C_2_S32" "STOP_20C_2_S32" "12:52:20"
7569 "20C_2_AM_3" "20C_2" 12543.519612274862 10.452933010229053 252466 19 "20C_2_S19" "STOP_20C_2_S19" "09:07:17" 252479 32 "20C_2_S32" "STOP_20C_2_S32" "09:07:20"
7568 "20C_2_AM_2" "20C_2" 12543.519612274862 10.452933010229053 252433 19 "20C_2_S19" "STOP_20C_2_S19" "08:22:17" 252446 32 "20C_2_S32" "STOP_20C_2_S32" "08:22:20"
1915 "20C_2_MD_11" "20C_2" 12543.519612274862 10.452933010229053 63368 19 "20C_2_S19" "STOP_20C_2_S19" "18:07:17" 63381 32 "20C_2_S32" "STOP_20C_2_S32" "18:07:20"
1911 "20C_2_MD_7" "20C_2" 12543.519612274862 10.452933010229053 63236 19 "20C_2_S19" "STOP_20C_2_S19" "15:07:17" 63249 32 "20C_2_S32" "STOP_20C_2_S32" "15:07:20"
1897 "20C_1_MD_4" "20C_1" 1163.2211884883752 10.339743897674447 62765 18 "20C_1_S18" "STOP_20C_1_S18" "12:50:15" 62777 30 "20C_1_S30" "STOP_20C_1_S30" "12:50:47"
1896 "20C_1_MD_3" "20C_1" 1163.2211884883752 10.339743897674447 62731 18 "20C_1_S18" "STOP_20C_1_S18" "12:05:15" 62743 30 "20C_1_S30" "STOP_20C_1_S30" "12:05:47"
7564 "20C_1_AM_3" "20C_1" 1163.2211884883752 10.339743897674447 252297 18 "20C_1_S18" "STOP_20C_1_S18" "09:05:15" 252309 30 "20C_1_S30" "STOP_20C_1_S30" "09:05:47"
10674 "20C_2_PM_2" "20C_2" 12543.519612274862 10.452933010229053 355246 19 "20C_2_S19" "STOP_20C_2_S19" "18:12:17" 355259 32 "20C_2_S32" "STOP_20C_2_S32" "18:12:20"
7563 "20C_1_AM_2" "20C_1" 1163.2211884883752 10.339743897674447 252263 18 "20C_1_S18" "STOP_20C_1_S18" "08:20:15" 252275 30 "20C_1_S30" "STOP_20C_1_S30" "08:20:47"
10668 "20C_1_PM_2" "20C_1" 1163.2211884883752 10.339743897674447 355042 18 "20C_1_S18" "STOP_20C_1_S18" "18:10:15" 355054 30 "20C_1_S30" "STOP_20C_1_S30" "18:10:47"
7570 "20C_2_AM_4" "20C_2" 12543.519612274862 10.452933010229053 252499 19 "20C_2_S19" "STOP_20C_2_S19" "09:52:17" 252512 32 "20C_2_S32" "STOP_20C_2_S32" "09:52:20"
10673 "20C_2_PM_1" "20C_2" 12543.519612274862 10.452933010229053 355213 19 "20C_2_S19" "STOP_20C_2_S19" "17:27:17" 355226 32 "20C_2_S32" "STOP_20C_2_S32" "17:27:20"
10678 "20C_2_PM_6" "20C_2" 12543.519612274862 10.452933010229053 355378 19 "20C_2_S19" "STOP_20C_2_S19" "21:12:17" 355391 32 "20C_2_S32" "STOP_20C_2_S32" "21:12:20"
10667 "20C_1_PM_1" "20C_1" 1163.2211884883752 10.339743897674447 355008 18 "20C_1_S18" "STOP_20C_1_S18" "17:25:15" 355020 30 "20C_1_S30" "STOP_20C_1_S30" "17:25:47"
10670 "20C_1_PM_4" "20C_1" 1163.2211884883752 10.339743897674447 355110 18 "20C_1_S18" "STOP_20C_1_S18" "19:40:15" 355122 30 "20C_1_S30" "STOP_20C_1_S30" "19:40:47"
1909 "20C_2_MD_5" "20C_2" 12543.519612274862 10.452933010229053 63170 19 "20C_2_S19" "STOP_20C_2_S19" "13:37:17" 63183 32 "20C_2_S32" "STOP_20C_2_S32" "13:37:20"
10675 "20C_2_PM_3" "20C_2" 12543.519612274862 10.452933010229053 355279 19 "20C_2_S19" "STOP_20C_2_S19" "18:57:17" 355292 32 "20C_2_S32" "STOP_20C_2_S32" "18:57:20"
1906 "20C_2_MD_2" "20C_2" 12543.519612274862 10.452933010229053 63071 19 "20C_2_S19" "STOP_20C_2_S19" "11:22:17" 63084 32 "20C_2_S32" "STOP_20C_2_S32" "11:22:20"
10677 "20C_2_PM_5" "20C_2" 12543.519612274862 10.452933010229053 355345 19 "20C_2_S19" "STOP_20C_2_S19" "20:27:17" 355358 32 "20C_2_S32" "STOP_20C_2_S32" "20:27:20"
1912 "20C_2_MD_8" "20C_2" 12543.519612274862 10.452933010229053 63269 19 "20C_2_S19" "STOP_20C_2_S19" "15:52:17" 63282 32 "20C_2_S32" "STOP_20C_2_S32" "15:52:20"
1900 "20C_1_MD_7" "20C_1" 1163.2211884883752 10.339743897674447 62867 18 "20C_1_S18" "STOP_20C_1_S18" "15:05:15" 62879 30 "20C_1_S30" "STOP_20C_1_S30" "15:05:47"
1913 "20C_2_MD_9" "20C_2" 12543.519612274862 10.452933010229053 63302 19 "20C_2_S19" "STOP_20C_2_S19" "16:37:17" 63315 32 "20C_2_S32" "STOP_20C_2_S32" "16:37:20"
10672 "20C_1_PM_6" "20C_1" 1163.2211884883752 10.339743897674447 355178 18 "20C_1_S18" "STOP_20C_1_S18" "21:10:15" 355190 30 "20C_1_S30" "STOP_20C_1_S30" "21:10:47"
1895 "20C_1_MD_2" "20C_1" 1163.2211884883752 10.339743897674447 62697 18 "20C_1_S18" "STOP_20C_1_S18" "11:20:15" 62709 30 "20C_1_S30" "STOP_20C_1_S30" "11:20:47"
10669 "20C_1_PM_3" "20C_1" 1163.2211884883752 10.339743897674447 355076 18 "20C_1_S18" "STOP_20C_1_S18" "18:55:15" 355088 30 "20C_1_S30" "STOP_20C_1_S30" "18:55:47"
1903 "20C_1_MD_10" "20C_1" 1163.2211884883752 10.339743897674447 62969 18 "20C_1_S18" "STOP_20C_1_S18" "17:20:15" 62981 30 "20C_1_S30" "STOP_20C_1_S30" "17:20:47"
1907 "20C_2_MD_3" "20C_2" 12543.519612274862 10.452933010229053 63104 19 "20C_2_S19" "STOP_20C_2_S19" "12:07:17" 63117 32 "20C_2_S32" "STOP_20C_2_S32" "12:07:20"
missing_recommended_field WARNING 224

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 224 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 46

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.
"stops.txt" "stop_name" "STOP_BRT01_1_S1" 7626
"stops.txt" "stop_name" "STOP_BRT01_1_S2" 7627
"stops.txt" "stop_name" "STOP_BRT01_1_S3" 7628
"stops.txt" "stop_name" "STOP_BRT01_1_S4" 7629
"stops.txt" "stop_name" "STOP_BRT01_1_S5" 7630
"stops.txt" "stop_name" "STOP_BRT01_1_S6" 7631
"stops.txt" "stop_name" "STOP_BRT01_1_S7" 7632
"stops.txt" "stop_name" "STOP_BRT01_1_S8" 7633
"stops.txt" "stop_name" "STOP_BRT01_1_S9" 7634
"stops.txt" "stop_name" "STOP_BRT01_1_S10" 7635
"stops.txt" "stop_name" "STOP_BRT01_1_S11" 7636
"stops.txt" "stop_name" "STOP_BRT01_1_S12" 7637
"stops.txt" "stop_name" "STOP_BRT01_1_S13" 7638
"stops.txt" "stop_name" "STOP_BRT01_1_S14" 7639
"stops.txt" "stop_name" "STOP_BRT01_1_S15" 7640
"stops.txt" "stop_name" "STOP_BRT01_1_S16" 7641
"stops.txt" "stop_name" "STOP_BRT01_1_S17" 7642
"stops.txt" "stop_name" "STOP_BRT01_1_S18" 7643
"stops.txt" "stop_name" "STOP_BRT01_1_S19" 7644
"stops.txt" "stop_name" "STOP_BRT01_1_S20" 7645
"stops.txt" "stop_name" "STOP_BRT01_1_S21" 7646
"stops.txt" "stop_name" "STOP_BRT01_1_S22" 7647
"stops.txt" "stop_name" "STOP_BRT01_1_S23" 7648
"stops.txt" "stop_name" "STOP_BRT01_2_S1" 7649
"stops.txt" "stop_name" "STOP_BRT01_2_S2" 7650
"stops.txt" "stop_name" "STOP_BRT01_2_S3" 7651
"stops.txt" "stop_name" "STOP_BRT01_2_S4" 7652
"stops.txt" "stop_name" "STOP_BRT01_2_S5" 7653
"stops.txt" "stop_name" "STOP_BRT01_2_S6" 7654
"stops.txt" "stop_name" "STOP_BRT01_2_S7" 7655
"stops.txt" "stop_name" "STOP_BRT01_2_S8" 7656
"stops.txt" "stop_name" "STOP_BRT01_2_S9" 7657
"stops.txt" "stop_name" "STOP_BRT01_2_S10" 7658
"stops.txt" "stop_name" "STOP_BRT01_2_S11" 7659
"stops.txt" "stop_name" "STOP_BRT01_2_S12" 7660
"stops.txt" "stop_name" "STOP_BRT01_2_S13" 7661
"stops.txt" "stop_name" "STOP_BRT01_2_S14" 7662
"stops.txt" "stop_name" "STOP_BRT01_2_S15" 7663
"stops.txt" "stop_name" "STOP_BRT01_2_S16" 7664
"stops.txt" "stop_name" "STOP_BRT01_2_S17" 7665
"stops.txt" "stop_name" "STOP_BRT01_2_S18" 7666
"stops.txt" "stop_name" "STOP_BRT01_2_S19" 7667
"stops.txt" "stop_name" "STOP_BRT01_2_S20" 7668
"stops.txt" "stop_name" "STOP_BRT01_2_S21" 7669
"stops.txt" "stop_name" "STOP_BRT01_2_S22" 7670
"stops.txt" "stop_name" "STOP_BRT01_2_S23" 7671
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.
"20251205" "20180101" "20181231"