GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-06-29T08:03:44Z,
for the dataset file:///shared/bas-my-seremban_0db73b30.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Busmaps.com
Publisher URL:
https://busmaps.com
Feed Email:
alex@busmaps.com
Feed Language:
Multiple languages
Feed Start Date:
2026-06-28
Feed End Date:
2026-06-28

Files included


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

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 10
  • Shapes: 20
  • Stops: 959
  • Trips: 322

Specification Compliance report

111 notices reported (0 errors, 111 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 "3501-Bas.my"
fast_travel_between_consecutive_stops WARNING 96

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 96 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.
161 "3501-R1705035_T10" "3501-N10A" 223.72215139628676 7.457405046542892 10640 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "12:45:00" 10641 66 "3501-PKAR_PPR" "Pakar Paroi" "12:46:00"
180 "3501-R1705036_T5" "3501-N10B" 220.9870719641746 7.366235732139153 12271 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "08:58:00" 12272 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "08:59:00"
164 "3501-R1705035_T13" "3501-N10A" 223.72215139628676 7.457405046542892 10898 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "14:45:00" 10899 66 "3501-PKAR_PPR" "Pakar Paroi" "14:46:00"
199 "3501-R1705036_T24" "3501-N10B" 220.9870719641746 7.366235732139153 14114 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "22:48:00" 14115 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "22:49:00"
170 "3501-R1705035_T19" "3501-N10A" 223.72215139628676 7.457405046542892 11414 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "18:45:00" 11415 66 "3501-PKAR_PPR" "Pakar Paroi" "18:46:00"
128 "3501-R1705034_T1" "3501-N10A" 222.97863080199934 7.432621026733312 7710 21 "3501-PKAR_PP" "Pakar Paroi" "06:01:00" 7711 22 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "06:02:00"
131 "3501-R1705034_T4" "3501-N10A" 222.97863080199934 7.432621026733312 7974 21 "3501-PKAR_PP" "Pakar Paroi" "08:01:00" 7975 22 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "08:02:00"
172 "3501-R1705035_T21" "3501-N10A" 223.72215139628676 7.457405046542892 11586 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "20:05:00" 11587 66 "3501-PKAR_PPR" "Pakar Paroi" "20:06:00"
211 "3501-R1705038_T12" "3501-N10B" 223.72215139628676 7.457405046542892 15315 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "14:37:00" 15316 78 "3501-PKAR_PPR" "Pakar Paroi" "14:38:00"
137 "3501-R1705034_T10" "3501-N10A" 222.97863080199934 7.432621026733312 8502 21 "3501-PKAR_PP" "Pakar Paroi" "12:01:00" 8503 22 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "12:02:00"
175 "3501-R1705035_T24" "3501-N10A" 223.72215139628676 7.457405046542892 11844 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "23:05:00" 11845 66 "3501-PKAR_PPR" "Pakar Paroi" "23:06:00"
157 "3501-R1705035_T6" "3501-N10A" 223.72215139628676 7.457405046542892 10296 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "10:05:00" 10297 66 "3501-PKAR_PPR" "Pakar Paroi" "10:06:00"
188 "3501-R1705036_T13" "3501-N10B" 220.9870719641746 7.366235732139153 13047 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "14:18:00" 13048 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "14:19:00"
181 "3501-R1705036_T6" "3501-N10B" 220.9870719641746 7.366235732139153 12368 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "09:38:00" 12369 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "09:39:00"
144 "3501-R1705034_T17" "3501-N10A" 222.97863080199934 7.432621026733312 9118 21 "3501-PKAR_PP" "Pakar Paroi" "16:41:00" 9119 22 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "16:42:00"
213 "3501-R1705038_T14" "3501-N10B" 223.72215139628676 7.457405046542892 15505 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "15:57:00" 15506 78 "3501-PKAR_PPR" "Pakar Paroi" "15:58:00"
162 "3501-R1705035_T11" "3501-N10A" 223.72215139628676 7.457405046542892 10726 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "13:25:00" 10727 66 "3501-PKAR_PPR" "Pakar Paroi" "13:26:00"
143 "3501-R1705034_T16" "3501-N10A" 222.97863080199934 7.432621026733312 9030 21 "3501-PKAR_PP" "Pakar Paroi" "16:01:00" 9031 22 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "16:02:00"
165 "3501-R1705035_T14" "3501-N10A" 223.72215139628676 7.457405046542892 10984 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "15:25:00" 10985 66 "3501-PKAR_PPR" "Pakar Paroi" "15:26:00"
208 "3501-R1705038_T9" "3501-N10B" 223.72215139628676 7.457405046542892 15030 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "12:37:00" 15031 78 "3501-PKAR_PPR" "Pakar Paroi" "12:38:00"
192 "3501-R1705036_T17" "3501-N10B" 220.9870719641746 7.366235732139153 13435 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "16:58:00" 13436 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "16:59:00"
148 "3501-R1705034_T21" "3501-N10A" 222.97863080199934 7.432621026733312 9470 21 "3501-PKAR_PP" "Pakar Paroi" "19:21:00" 9471 22 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "19:22:00"
216 "3501-R1705038_T17" "3501-N10B" 223.72215139628676 7.457405046542892 15790 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "17:57:00" 15791 78 "3501-PKAR_PPR" "Pakar Paroi" "17:58:00"
159 "3501-R1705035_T8" "3501-N10A" 223.72215139628676 7.457405046542892 10468 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "11:25:00" 10469 66 "3501-PKAR_PPR" "Pakar Paroi" "11:26:00"
185 "3501-R1705036_T10" "3501-N10B" 220.9870719641746 7.366235732139153 12756 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "12:18:00" 12757 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "12:19:00"
203 "3501-R1705038_T4" "3501-N10B" 223.72215139628676 7.457405046542892 14555 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "09:17:00" 14556 78 "3501-PKAR_PPR" "Pakar Paroi" "09:18:00"
156 "3501-R1705035_T5" "3501-N10A" 223.72215139628676 7.457405046542892 10210 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "09:25:00" 10211 66 "3501-PKAR_PPR" "Pakar Paroi" "09:26:00"
222 "3501-R1705038_T23" "3501-N10B" 223.72215139628676 7.457405046542892 16360 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "22:47:00" 16361 78 "3501-PKAR_PPR" "Pakar Paroi" "22:48:00"
210 "3501-R1705038_T11" "3501-N10B" 223.72215139628676 7.457405046542892 15220 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "13:57:00" 15221 78 "3501-PKAR_PPR" "Pakar Paroi" "13:58:00"
201 "3501-R1705038_T2" "3501-N10B" 223.72215139628676 7.457405046542892 14365 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "07:57:00" 14366 78 "3501-PKAR_PPR" "Pakar Paroi" "07:58:00"
196 "3501-R1705036_T21" "3501-N10B" 220.9870719641746 7.366235732139153 13823 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "19:48:00" 13824 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "19:49:00"
173 "3501-R1705035_T22" "3501-N10A" 223.72215139628676 7.457405046542892 11672 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "21:05:00" 11673 66 "3501-PKAR_PPR" "Pakar Paroi" "21:06:00"
184 "3501-R1705036_T9" "3501-N10B" 220.9870719641746 7.366235732139153 12659 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "11:38:00" 12660 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "11:39:00"
198 "3501-R1705036_T23" "3501-N10B" 220.9870719641746 7.366235732139153 14017 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "21:48:00" 14018 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "21:49:00"
171 "3501-R1705035_T20" "3501-N10A" 223.72215139628676 7.457405046542892 11500 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "19:25:00" 11501 66 "3501-PKAR_PPR" "Pakar Paroi" "19:26:00"
182 "3501-R1705036_T7" "3501-N10B" 220.9870719641746 7.366235732139153 12465 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "10:18:00" 12466 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "10:19:00"
169 "3501-R1705035_T18" "3501-N10A" 223.72215139628676 7.457405046542892 11328 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "18:05:00" 11329 66 "3501-PKAR_PPR" "Pakar Paroi" "18:06:00"
183 "3501-R1705036_T8" "3501-N10B" 220.9870719641746 7.366235732139153 12562 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "10:58:00" 12563 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "10:59:00"
176 "3501-R1705036_T1" "3501-N10B" 220.9870719641746 7.366235732139153 11883 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "06:18:00" 11884 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "06:19:00"
150 "3501-R1705034_T23" "3501-N10A" 222.97863080199934 7.432621026733312 9646 21 "3501-PKAR_PP" "Pakar Paroi" "21:21:00" 9647 22 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "21:22:00"
206 "3501-R1705038_T7" "3501-N10B" 223.72215139628676 7.457405046542892 14840 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "11:17:00" 14841 78 "3501-PKAR_PPR" "Pakar Paroi" "11:18:00"
138 "3501-R1705034_T11" "3501-N10A" 222.97863080199934 7.432621026733312 8590 21 "3501-PKAR_PP" "Pakar Paroi" "12:41:00" 8591 22 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "12:42:00"
132 "3501-R1705034_T5" "3501-N10A" 222.97863080199934 7.432621026733312 8062 21 "3501-PKAR_PP" "Pakar Paroi" "08:41:00" 8063 22 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "08:42:00"
160 "3501-R1705035_T9" "3501-N10A" 223.72215139628676 7.457405046542892 10554 65 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "12:05:00" 10555 66 "3501-PKAR_PPR" "Pakar Paroi" "12:06:00"
134 "3501-R1705034_T7" "3501-N10A" 222.97863080199934 7.432621026733312 8238 21 "3501-PKAR_PP" "Pakar Paroi" "10:01:00" 8239 22 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "10:02:00"
221 "3501-R1705038_T22" "3501-N10B" 223.72215139628676 7.457405046542892 16265 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "21:47:00" 16266 78 "3501-PKAR_PPR" "Pakar Paroi" "21:48:00"
215 "3501-R1705038_T16" "3501-N10B" 223.72215139628676 7.457405046542892 15695 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "17:17:00" 15696 78 "3501-PKAR_PPR" "Pakar Paroi" "17:18:00"
194 "3501-R1705036_T19" "3501-N10B" 220.9870719641746 7.366235732139153 13629 18 "3501-PPKR1_PPKR1" "Paroi Pakar1" "18:18:00" 13630 19 "3501-RKUB_RKUB" "Hutan Lipur ULU Bendul" "18:19:00"
205 "3501-R1705038_T6" "3501-N10B" 223.72215139628676 7.457405046542892 14745 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "10:37:00" 14746 78 "3501-PKAR_PPR" "Pakar Paroi" "10:38:00"
207 "3501-R1705038_T8" "3501-N10B" 223.72215139628676 7.457405046542892 14935 77 "3501-RKUB_RKUBR" "Hutan Lipur ULU Bendul" "11:57:00" 14936 78 "3501-PKAR_PPR" "Pakar Paroi" "11:58: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 "20260629" "20260628" "20260706"
mixed_case_recommended_field WARNING 2

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" "KFC BT 4" 346
"stops.txt" "stop_name" "KFC BT 4" 347
route_short_name_too_long WARNING 10

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`.
"3501-N10A" 2 "Terminal 1 - Bahau VIA Juaseh"
"3501-N10B" 3 "Terminal 1 - Bahau VIA BT Kikir"
"3501-N11" 4 "Kuala Pilah - Beting Uitm"
"3501-N30A" 5 "Terminal 1-Port Dickson VIA Springhill"
"3501-N30B" 6 "Terminal 1-Port Dickson VIA SPG Siliau"
"3501-N31" 7 "Terminal1-Pekan Linggi"
"3501-N32" 8 "Port Dickson - Polymall"
"3501-N34" 9 "Polymall - Tanjung Agas"
"3501-N53" 10 "Terminal 1- Port Dickson VIA Rantau"
"3501-N70" 11 "Terminal 1 - Kuala Klawang - Titi"
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.
"20260629" "20260628" "20260628"