GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-16T20:17:35Z,
for the dataset file:///shared/kwanwiang-transport.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. frequencies.txt
  4. routes.txt
  5. shapes.txt
  6. stop_times.txt
  7. stops.txt
  8. transfer.txt
  9. trips.txt

Counts


  • Agencies: 5
  • Blocks: 0
  • Routes: 558
  • Shapes: 1772
  • Stops: 5251
  • Trips: 1772

Specification Compliance report

412 notices reported (1 errors, 410 warnings, 1 infos)

Notice Code Severity Total
overlapping_frequency ERROR 1

overlapping_frequency

Trip frequencies overlap.

Trip frequencies must not overlap in time. Two entries X and Y are considered to directly overlap if X.start_time <= Y.start_time and Y.start_time < X.end_time.

You can see more about this notice here.

prevCsvRowNumber (?) The row number of the first frequency. prevEndTime (?) The first frequency end time. currCsvRowNumber (?) The overlapping frequency's row number. currStartTime (?) The overlapping frequency's start time. tripId (?) The trip id associated to the first frequency.
128 "18:00:00" 136 "10:00:00" "BP.0"
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 400

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 400 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.
"trips.txt" "trip_headsign" "CHOA CHU KANG to SENJA" 2
"trips.txt" "trip_headsign" "DHOBY GHAUT to HARBOURFRONT" 3
"trips.txt" "trip_headsign" "PROMENADE to MARINA BAY" 4
"trips.txt" "trip_headsign" "TANAH MERAH to CHANGI AIRPORT" 5
"trips.txt" "trip_headsign" "BUKIT PANJANG to EXPO" 6
"trips.txt" "trip_headsign" "PASIR RIS to TUAS LINK" 7
"trips.txt" "trip_headsign" "HARBOURFRONT to PUNGGOL" 8
"trips.txt" "trip_headsign" "JURONG EAST to MARINA SOUTH PIER" 9
"trips.txt" "trip_headsign" "PUNGGOL to DAMAI" 10
"trips.txt" "trip_headsign" "PUNGGOL to SOO TECK" 11
"trips.txt" "trip_headsign" "SENGKANG to RANGGUNG" 12
"trips.txt" "trip_headsign" "SENGKANG to RENJONG" 13
"trips.txt" "trip_headsign" "WOODLANDS NORTH to WOODLANDS SOUTH" 14
"trips.txt" "trip_headsign" "SENJA to CHOA CHU KANG" 15
"trips.txt" "trip_headsign" "HARBOURFRONT to DHOBY GHAUT" 16
"trips.txt" "trip_headsign" "MARINA BAY to PROMENADE" 17
"trips.txt" "trip_headsign" "CHANGI AIRPORT to TANAH MERAH" 18
"trips.txt" "trip_headsign" "EXPO to BUKIT PANJANG" 19
"trips.txt" "trip_headsign" "TUAS LINK to PASIR RIS" 20
"trips.txt" "trip_headsign" "PUNGGOL to HARBOURFRONT" 21
"trips.txt" "trip_headsign" "MARINA SOUTH PIER to JURONG EAST" 22
"trips.txt" "trip_headsign" "DAMAI to PUNGGOL" 23
"trips.txt" "trip_headsign" "SOO TECK to PUNGGOL" 24
"trips.txt" "trip_headsign" "RANGGUNG to SENGKANG" 25
"trips.txt" "trip_headsign" "RENJONG to SENGKANG" 26
"trips.txt" "trip_headsign" "WOODLANDS SOUTH to WOODLANDS NORTH" 27
"routes.txt" "route_long_name" "('CHOA CHU KANG', 'SENJA')" 547
"routes.txt" "route_desc" "MRT line operates from CHOA CHU KANG to SENJA as well as from SENJA to CHOA CHU KANG." 547
"routes.txt" "route_long_name" "('DHOBY GHAUT', 'HARBOURFRONT')" 548
"routes.txt" "route_desc" "MRT line operates from DHOBY GHAUT to HARBOURFRONT as well as from HARBOURFRONT to DHOBY GHAUT." 548
"routes.txt" "route_long_name" "('PROMENADE', 'MARINA BAY')" 549
"routes.txt" "route_desc" "MRT line operates from PROMENADE to MARINA BAY as well as from MARINA BAY to PROMENADE." 549
"routes.txt" "route_long_name" "('TANAH MERAH', 'CHANGI AIRPORT')" 550
"routes.txt" "route_desc" "MRT line operates from TANAH MERAH to CHANGI AIRPORT as well as from CHANGI AIRPORT to TANAH MERAH." 550
"routes.txt" "route_long_name" "('BUKIT PANJANG', 'EXPO')" 551
"routes.txt" "route_desc" "MRT line operates from BUKIT PANJANG to EXPO as well as from EXPO to BUKIT PANJANG." 551
"routes.txt" "route_long_name" "('PASIR RIS', 'TUAS LINK')" 552
"routes.txt" "route_desc" "MRT line operates from PASIR RIS to TUAS LINK as well as from TUAS LINK to PASIR RIS." 552
"routes.txt" "route_long_name" "('HARBOURFRONT', 'PUNGGOL')" 553
"routes.txt" "route_desc" "MRT line operates from HARBOURFRONT to PUNGGOL as well as from PUNGGOL to HARBOURFRONT." 553
"routes.txt" "route_long_name" "('JURONG EAST', 'MARINA SOUTH PIER')" 554
"routes.txt" "route_desc" "MRT line operates from JURONG EAST to MARINA SOUTH PIER as well as from MARINA SOUTH PIER to JURONG EAST." 554
"routes.txt" "route_long_name" "('PUNGGOL', 'DAMAI')" 555
"routes.txt" "route_desc" "MRT line operates from PUNGGOL to DAMAI as well as from DAMAI to PUNGGOL." 555
"routes.txt" "route_long_name" "('PUNGGOL', 'SOO TECK')" 556
"routes.txt" "route_desc" "MRT line operates from PUNGGOL to SOO TECK as well as from SOO TECK to PUNGGOL." 556
"routes.txt" "route_long_name" "('SENGKANG', 'RANGGUNG')" 557
"routes.txt" "route_desc" "MRT line operates from SENGKANG to RANGGUNG as well as from RANGGUNG to SENGKANG." 557
"routes.txt" "route_long_name" "('SENGKANG', 'RENJONG')" 558
"routes.txt" "route_desc" "MRT line operates from SENGKANG to RENJONG as well as from RENJONG to SENGKANG." 558
stop_without_stop_time WARNING 9

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.
3159 "58601" "Blk 108A"
3160 "58609" "Blk 109A"
3161 "58611" "Blk 115C"
3162 "58619" "Opp Blk 115C"
3163 "58621" "Blk 126 Cp"
3966 "68181" "Bef Jtc Aerospace"
3967 "68189" "Aft Jtc Aerospace"
3968 "68191" "Bef Seletar A'Space Lk"
3969 "68199" "Aft Seletar A'Space Lk"
unknown_file INFO 1

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"transfer.txt"