thebus-org-thebus-1 — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-05-09T22:35:20Z,
for the dataset file:///shared/thebus-org-thebus-1_f1f65fd6.zip. No country code was provided.

Use this report alongside our documentation.

A new version of the Canonical GTFS Schedule validator is available! Please update to get the latest/best validation results.

Summary

Agencies included


Feed Info


Publisher Name:
TheBus
Publisher URL:
http://www.thebus.org
Feed Email:
N/A
Feed Language:
English
Feed Start Date:
2026-04-12
Feed End Date:
2026-05-30

Files included


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

Counts


  • Agencies: 2
  • Blocks: 2580
  • Routes: 120
  • Shapes: 523
  • Stops: 3821
  • Trips: 37632

Specification Compliance report

133602 notices reported (1192 errors, 132399 warnings, 11 infos)

Notice Code Severity Total
decreasing_or_equal_stop_time_distance ERROR 1192

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 1192 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`.
"5282914" "4416" 173565 123679.1 76 181403 123679.1 75
"5282913" "4417" 327773 85011.6 53 313365 85011.6 52
"5282906" "4416" 173564 123679.1 76 181402 123679.1 75
"5282902" "4417" 327771 85011.6 53 313363 85011.6 52
"5282905" "4417" 327772 85011.6 53 313364 85011.6 52
"5282933" "4416" 187191 116795.4 73 183305 116795.4 72
"5282938" "4416" 173566 123679.1 76 181404 123679.1 75
"5282937" "4416" 187192 116795.4 73 183306 116795.4 72
"5282941" "4416" 175825 122561.9 74 187193 122561.9 73
"5282929" "4417" 327775 85011.6 53 313367 85011.6 52
"5282921" "4417" 327774 85011.6 53 313366 85011.6 52
"5282922" "4416" 173471 55479.3 76 181309 55479.3 75
"5282930" "4416" 173472 55479.3 76 181310 55479.3 75
"5282953" "4416" 173567 123679.1 76 181405 123679.1 75
"5282961" "4416" 173568 123679.1 76 181406 123679.1 75
"5282960" "4416" 1159350 4628.7 4 1163513 4628.7 3
"5282943" "4416" 1159346 4628.7 4 1163509 4628.7 3
"5282949" "4416" 175826 122561.9 74 187194 122561.9 73
"5282952" "4416" 926768 35373.7 17 897931 35373.7 16
"5282951" "4416" 187195 116795.4 73 183309 116795.4 72
"5282976" "4416" 175829 122561.9 74 187198 122561.9 73
"5282975" "4417" 327776 85011.6 53 313369 85011.6 52
"5282977" "4416" 173570 123679.1 76 181408 123679.1 75
"5282981" "4417" 327777 85011.6 53 313370 85011.6 52
"5282983" "4416" 173571 123679.1 76 181409 123679.1 75
"5282984" "4417" 327778 85011.6 53 313371 85011.6 52
"5282965" "4417" 572403 60998.2 33 607066 60998.2 32
"5282967" "4416" 173526 129388.3 76 181364 129388.3 75
"5282968" "4416" 173569 123679.1 76 181407 123679.1 75
"5282997" "4417" 327781 85011.6 53 313374 85011.6 52
"5282999" "4416" 173573 123679.1 76 181411 123679.1 75
"5282989" "4416" 173473 55479.3 76 181311 55479.3 75
"5282992" "4417" 327779 85011.6 53 313372 85011.6 52
"5282991" "4416" 173572 123679.1 76 181410 123679.1 75
"5282993" "4417" 327780 85011.6 53 313373 85011.6 52
"5292144" "4416" 173621 123679.1 76 181459 123679.1 75
"5292136" "4416" 173620 123679.1 76 181458 123679.1 75
"5292128" "4416" 173490 55479.3 76 181328 55479.3 75
"5282804" "4416" 173468 55479.3 76 181306 55479.3 75
"5282836" "4417" 327764 85011.6 53 313355 85011.6 52
"5282838" "4416" 173559 123679.1 76 181397 123679.1 75
"5282822" "4416" 820420 42257.4 20 846257 42257.4 19
"5282828" "4417" 327763 85011.6 53 313354 85011.6 52
"5282830" "4417" 229365 90301.8 61 255783 90301.8 60
"5282858" "4417" 327765 85011.6 53 313356 85011.6 52
"5282862" "4416" 173560 123679.1 76 181398 123679.1 75
"5282846" "4416" 173469 55479.3 76 181307 55479.3 75
"5282882" "4417" 327767 85011.6 53 313359 85011.6 52
"5282881" "4416" 173562 123679.1 76 181400 123679.1 75
"5282886" "4416" 173470 55479.3 76 181308 55479.3 75
expired_calendar WARNING 63

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 63 affected records are displayed below.

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "27490"
4 "27495"
5 "27496"
6 "27497"
7 "27498"
8 "27499"
9 "27500"
10 "27501"
11 "27502"
12 "27505"
13 "27508"
14 "27509"
15 "27511"
16 "27515"
17 "27516"
18 "27517"
19 "27518"
20 "27519"
21 "27520"
22 "27521"
23 "27524"
24 "27527"
25 "27528"
26 "27533"
27 "27536"
28 "27537"
29 "27538"
30 "27539"
31 "27542"
32 "27543"
33 "27546"
34 "27547"
35 "27548"
36 "27549"
37 "27550"
38 "27551"
39 "27552"
40 "27553"
80 "27489"
81 "27491"
82 "27492"
84 "27503"
85 "27504"
86 "27506"
87 "27507"
88 "27510"
89 "27512"
90 "27513"
91 "27514"
92 "27522"
feed_expiration_date30_days WARNING 1

feed_expiration_date30_days

Dataset should cover at least the next 30 days of service.

At any time, the GTFS dataset should cover at least the next 30 days of service, and ideally for as long as the operator is confident that the schedule will continue to be operated.

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 "20260509" "20260530" "20260608"
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 100000

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 100000 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 "5277418" 1
3 "5277420" 1
4 "5277424" 1
5 "5277426" 1
6 "5277428" 1
7 "5277431" 1
8 "5277432" 1
9 "5277434" 1
10 "5277436" 1
11 "5277439" 1
12 "5277440" 1
13 "5277441" 1
14 "5277442" 1
15 "5277443" 1
16 "5277444" 1
17 "5277447" 1
18 "5277448" 1
19 "5277449" 1
20 "5277450" 1
21 "5277451" 1
22 "5277455" 1
23 "5277456" 1
24 "5277457" 1
25 "5277458" 1
26 "5277459" 1
27 "5277463" 1
28 "5277465" 1
29 "5277466" 1
30 "5277467" 1
31 "5277469" 1
32 "5277470" 1
33 "5277471" 1
34 "5277473" 1
35 "5277475" 1
36 "5277477" 1
37 "5277478" 1
38 "5277479" 1
39 "5277481" 1
40 "5277483" 1
41 "5277485" 1
42 "5277486" 1
43 "5277487" 1
44 "5277489" 1
45 "5277493" 1
46 "5277494" 1
47 "5277495" 1
48 "5277496" 1
49 "5277497" 1
50 "5277501" 1
51 "5277502" 1
mixed_case_recommended_field WARNING 32331

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 32331 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.
"stops.txt" "stop_name" "PAKI AVE + PONI MOI RD" 2
"stops.txt" "stop_name" "PAKI AVE + DIAMOND HEAD TENNIS CTR" 3
"stops.txt" "stop_name" "PAKI AVE + NOELA ST" 4
"stops.txt" "stop_name" "PAKI AVE + PAKI PLAYGROUND" 5
"stops.txt" "stop_name" "PAKI AVE + MONSARRAT AVE" 6
"stops.txt" "stop_name" "PAKI AVE + KAPAHULU AVE" 7
"stops.txt" "stop_name" "KAPAHULU AVE + ALA WAI BL" 8
"stops.txt" "stop_name" "KAPAHULU AVE + KUHIO AVE" 9
"stops.txt" "stop_name" "KUHIO AVE + PAOAKALANI AVE" 10
"stops.txt" "stop_name" "KUHIO AVE + LILIUOKALANI AVE" 11
"stops.txt" "stop_name" "KUHIO AVE + KAIULANI AVE" 12
"stops.txt" "stop_name" "KUHIO AVE + WALINA ST" 13
"stops.txt" "stop_name" "KUHIO AVE + SEASIDE AVE" 14
"stops.txt" "stop_name" "KUHIO AVE + LEWERS ST" 15
"stops.txt" "stop_name" "KUHIO AVE + LAUNIU ST" 16
"stops.txt" "stop_name" "KUHIO AVE + NAMAHANA ST" 17
"stops.txt" "stop_name" "KALAKAUA AVE + PAU ST" 18
"stops.txt" "stop_name" "KALAKAUA AVE + MCCULLY ST" 19
"stops.txt" "stop_name" "KALAKAUA AVE + KAPIOLANI BL" 20
"stops.txt" "stop_name" "KALAKAUA AVE + KAPIOLANI BL" 21
"stops.txt" "stop_name" "KALAKAUA AVE + OPP MAKALOA ST" 22
"stops.txt" "stop_name" "KALAKAUA AVE + PHILIP ST" 23
"stops.txt" "stop_name" "KALAKAUA AVE + S KING ST" 24
"stops.txt" "stop_name" "S BERETANIA ST + OPP KALAKAUA AVE" 25
"stops.txt" "stop_name" "S BERETANIA ST + KEEAUMOKU ST" 26
"stops.txt" "stop_name" "S BERETANIA ST + PIIKOI ST" 27
"stops.txt" "stop_name" "S BERETANIA ST + PENSACOLA ST" 28
"stops.txt" "stop_name" "S BERETANIA ST + WARD AVE" 29
"stops.txt" "stop_name" "S BERETANIA ST + ALAPAI ST" 30
"stops.txt" "stop_name" "S BERETANIA ST + PUNCHBOWL ST" 31
"stops.txt" "stop_name" "S HOTEL ST + ALAKEA ST" 32
"stops.txt" "stop_name" "S HOTEL ST + BISHOP ST" 33
"stops.txt" "stop_name" "S HOTEL ST + BETHEL ST" 34
"stops.txt" "stop_name" "N HOTEL ST + KEKAULIKE ST" 35
"stops.txt" "stop_name" "N KING ST + N BERETANIA ST" 36
"stops.txt" "stop_name" "LILIHA ST + N KING ST" 37
"stops.txt" "stop_name" "LILIHA ST + VINEYARD BL" 38
"stops.txt" "stop_name" "LILIHA ST + KAULUWELA PL" 39
"stops.txt" "stop_name" "LILIHA ST + SCHOOL ST" 40
"stops.txt" "stop_name" "LILIHA ST + 1657" 41
"stops.txt" "stop_name" "LILIHA ST + KUAKINI ST" 42
"stops.txt" "stop_name" "LILIHA ST + ELENA ST" 43
"stops.txt" "stop_name" "LILIHA ST + BATES ST" 44
"stops.txt" "stop_name" "LILIHA ST + JUDD ST" 45
"stops.txt" "stop_name" "LILIHA ST + BACHELOT ST" 46
"stops.txt" "stop_name" "LILIHA ST + HALAPIA PL" 47
"stops.txt" "stop_name" "LILIHA ST + OPP EKEKELA ST" 48
"stops.txt" "stop_name" "LILIHA ST + WYLLIE ST" 49
"stops.txt" "stop_name" "LILIHA ST + NAMAUU DR" 50
"stops.txt" "stop_name" "SCHOOL ST + LILIHA ST" 51
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.
3779 "4851" "KALEWA ST TERMINUS"
3804 "32003" "KALIHI FACILITY GARAGE"
3805 "32004" "PEARL CITY FACILITY GARAGE"
unknown_column INFO 11

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.
"stop_times.txt" "stop_code" 11
"stops.txt" "stop_serial_number" 11
"trips.txt" "trip_headsign_short" 8
"trips.txt" "apc_trip_id" 9
"trips.txt" "display_code" 10
"trips.txt" "trip_serial_number" 11
"trips.txt" "block" 12
"calendar.txt" "events_and_status" 11
"calendar.txt" "operating_days" 12
"calendar.txt" "duty" 13
"feed_info.txt" "feed_description" 7