GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2025-12-12T19:40:46Z,
for the dataset file:///shared/hele-on-hi.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
GMV Syncromatics
Feed Email:
support@gmvsync.com
Feed Language:
English
Feed Start Date:
2023-05-31
Feed End Date:
N/A

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_attributes.txt
  4. calendar_dates.txt
  5. directions.txt
  6. feed_info.txt
  7. realtime_routes.txt
  8. routes.txt
  9. shapes.txt
  10. stop_times.txt
  11. stops.txt
  12. trips.txt

Counts


  • Agencies: 0
  • Blocks: 63
  • Routes: 0
  • Shapes: 44
  • Stops: 349
  • Trips: 285

Specification Compliance report

390 notices reported (21 errors, 366 warnings, 3 infos)

Notice Code Severity Total
decreasing_or_equal_stop_time_distance ERROR 1

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.

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`.
"75-2220" "7121250" 3643 0.0 1 3642 16976.783068890603 0
invalid_url ERROR 20

invalid_url

A field contains a malformed URL.

Definitions for valid URLs are quite vague. We perform strict validation using the Apache Commons UrlValidator.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
"agency.txt" 2 "agency_fare_url" "https://www.heleonbus.org.hele-on-fares/"
"routes.txt" 2 "route_url" "http://www.heleonbus.org/sandbox/Route 10.pdf"
"routes.txt" 3 "route_url" "http://www.heleonbus.org/sandbox/Route 102.pdf"
"routes.txt" 4 "route_url" "http://www.heleonbus.org/sandbox/Route 103.pdf"
"routes.txt" 5 "route_url" "http://www.heleonbus.org/sandbox/Route 101.pdf"
"routes.txt" 6 "route_url" "http://www.heleonbus.org/sandbox/Route 70.pdf"
"routes.txt" 7 "route_url" "http://www.heleonbus.org/sandbox/Route 1.pdf"
"routes.txt" 8 "route_url" "http://www.heleonbus.org/sandbox/Route 201.pdf"
"routes.txt" 9 "route_url" "http://www.heleonbus.org/sandbox/Route 2.pdf"
"routes.txt" 10 "route_url" "http://www.heleonbus.org/sandbox/Route 11.pdf"
"routes.txt" 11 "route_url" "http://www.heleonbus.org/sandbox/Route 40.pdf"
"routes.txt" 12 "route_url" "http://www.heleonbus.org/sandbox/Route 60.pdf"
"routes.txt" 13 "route_url" "http://www.heleonbus.org/sandbox/Route 75.pdf"
"routes.txt" 14 "route_url" "http://www.heleonbus.org/sandbox/Route 76.pdf"
"routes.txt" 15 "route_url" "http://www.heleonbus.org/sandbox/Route 80.pdf"
"routes.txt" 16 "route_url" "http://www.heleonbus.org/sandbox/Route 90.pdf"
"routes.txt" 17 "route_url" "http://www.heleonbus.org/sandbox/Route 104.pdf"
"routes.txt" 18 "route_url" "http://www.heleonbus.org/sandbox/Route 202.pdf"
"routes.txt" 19 "route_url" "http://www.heleonbus.org/sandbox/Route 402.pdf"
"routes.txt" 20 "route_url" "http://www.heleonbus.org/sandbox/Route 403.pdf"
equal_shape_distance_same_coordinates WARNING 7

equal_shape_distance_same_coordinates

Two consecutive points have equal shape_dist_traveled and the same lat/lon coordinates in shapes.txt.

When sorted by shape.shape_pt_sequence, the values for shape_dist_traveled must increase along a shape. Two consecutive points with equal values for shape_dist_traveled and the same coordinates indicate a duplicative shape point.

You can see more about this notice here.

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous shape point. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`.
"19783" 4050 9823.208511238226 180 4049 9823.208511238226 179
"19783" 4793 57279.57955315154 923 4792 57279.57955315154 922
"19783" 7236 204794.45326495502 3366 7235 204794.45326495502 3365
"20949" 21940 9823.27665125871 180 21939 9823.27665125871 179
"20949" 22683 57279.64769317203 923 22682 57279.64769317203 922
"20949" 25268 210716.02504134105 3508 25267 210716.02504134105 3507
"20104" 10180 130961.22494784897 1452 10179 130961.22494784897 1451
leading_or_trailing_whitespaces WARNING 10

leading_or_trailing_whitespaces

The value in CSV file has leading or trailing whitespaces.

This notice is emitted for values protected with double quotes since whitespaces for non-protected values are trimmed automatically by CSV parser.

The validator strips whitespaces from protected values. We do not see any use case when such a whitespace may be needed. On the other hand, some real-world feeds use trailing whitespaces for some values and omit them for the others. This is causing the largest problem when a primary key and a foreign key differ just by a whitespace: it is clear that they are intended to be the same, that is why we always strip whitespaces.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
"stops.txt" 8 "stop_name" "W.Kawaili St @ Waiakea High School "
"stops.txt" 9 "stop_name" "Kawaili Street @ UH-Hawaii Community College "
"stops.txt" 32 "stop_name" "Fern Acres Highway 11 @ South Kulani Rd "
"stops.txt" 62 "stop_name" "Mokuea St @ Across Hilo Post Office "
"stops.txt" 81 "stop_name" "Kaumana Drive @ across Chong Street "
"stops.txt" 83 "stop_name" "Kaumana Drive @ Ainako Avenue (farside) "
"stops.txt" 130 "stop_name" "Hwy 270 @ Kawaihae Rd "
"stops.txt" 165 "stop_name" "Ali'i Drive @ Across from Kona Bali Kai "
"stops.txt" 231 "stop_name" " Kakahiaka Street @ Lokahi Apartments"
"stops.txt" 350 "stop_name" "Four Seasons Resort Hualalai "
missing_feed_info_date WARNING 1

missing_feed_info_date

One of feed_start_date or feed_end_date is specified, but not both.

Even though feed_info.start_date and feed_info.end_date are optional, if one field is provided the second one should also be provided.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record. fieldName (?) Either `feed_end_date` or `feed_start_date`.
2 "feed_end_date"
missing_recommended_field WARNING 1

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.

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) The name of the missing field.
"feed_info.txt" 2 "feed_end_date"
mixed_case_recommended_field WARNING 271

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 271 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.
"routes.txt" "route_long_name" "12 VOLCANO TO OCEANVIEW" 21
"routes.txt" "route_long_name" "203 NORTH KAILUA-KONA" 22
"routes.txt" "route_desc" "NORTH KAILUA- KONA" 22
"routes.txt" "route_long_name" "502 WAIKOLA VILLAGE TRIPPER" 23
"routes.txt" "route_long_name" "504 KEALAKEKUA TO KONA TRIPPER" 24
"trips.txt" "trip_headsign" "1 KAILUA-KONA KONA COMMONS VIA HAMAKUA COAST" 2
"trips.txt" "trip_headsign" "1 KAILUA-KONA KONA COMMONS VIA HAMAKUA COAST" 4
"trips.txt" "trip_headsign" "1 KAILUA-KONA KONA COMMONS VIA HAMAKUA COAST" 6
"trips.txt" "trip_headsign" "10 HILO MO'OHEAU BUS TERMINAL VIA VOLCANOES NAT PARK" 7
"trips.txt" "trip_headsign" "10 OCEAN VIEW OCEAN VIEW P & R LOT VIA VOLCANOES NAT PARK" 8
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 9
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 10
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 11
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 12
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 13
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 14
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 15
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 16
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 17
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 18
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 19
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 20
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 21
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 22
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 23
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 24
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 25
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 26
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 27
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 28
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 29
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 30
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 31
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 32
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 33
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 34
"trips.txt" "trip_headsign" "101 KEAUKAHA KINGS LANDING" 35
"trips.txt" "trip_headsign" "101 KEAUKAHA MO'OHEAU BUS TERMINAL" 36
"trips.txt" "trip_headsign" "102 KAUMANA GENTRY SUBDIVISION" 37
"trips.txt" "trip_headsign" "102 KAUMANA MO'OHEAU BUS TERMINAL" 38
"trips.txt" "trip_headsign" "102 KAUMANA GENTRY SUBDIVISION" 39
"trips.txt" "trip_headsign" "102 KAUMANA MO'OHEAU BUS TERMINAL" 40
"trips.txt" "trip_headsign" "102 KAUMANA GENTRY SUBDIVISION" 41
"trips.txt" "trip_headsign" "102 KAUMANA MO'OHEAU BUS TERMINAL" 42
"trips.txt" "trip_headsign" "102 KAUMANA GENTRY SUBDIVISION" 43
"trips.txt" "trip_headsign" "102 KAUMANA MO'OHEAU BUS TERMINAL" 44
"trips.txt" "trip_headsign" "102 KAUMANA GENTRY SUBDIVISION" 45
"trips.txt" "trip_headsign" "102 KAUMANA MO'OHEAU BUS TERMINAL" 46
"trips.txt" "trip_headsign" "102 KAUMANA GENTRY SUBDIVISION" 47
"trips.txt" "trip_headsign" "102 KAUMANA MO'OHEAU BUS TERMINAL" 48
route_color_contrast WARNING 1

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.
"5981" 23 "#FFC000" "#FFFFFF"
route_long_name_contains_short_name WARNING 4

route_long_name_contains_short_name

Long name should not contain short name for a single route.

In routes.txt, route_long_name should not contain the value for route_short_name, because when both are provided, they are often combined by transit applications. Note that only one of the two fields is required. If there is no short name used for a route, use route_long_name only.

Good examples:

route_short_name/route_long_name Dataset
"N"/"Judah" Muni San Fransisco
"6"/"ML King Jr Blvd" Trimet Portland Streetcar
"55"/"Boulevard Saint Laurent" STM Montreal
"1"/"Rangiora/Cashmere" Metro Christchurch

Bad examples:

route_short_name/route_long_name
"604"/"604"
"14"/"Route 14"
"2"/"Route 2: Bellows Falls In-Town"

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`. routeLongName (?) The faulty record's `route_long_name`.
"5821" 21 "12" "12 VOLCANO TO OCEANVIEW"
"5824" 22 "203" "203 NORTH KAILUA-KONA"
"5981" 23 "502" "502 WAIKOLA VILLAGE TRIPPER"
"5982" 24 "504" "504 KEALAKEKUA TO KONA TRIPPER"
stop_without_stop_time WARNING 11

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.
6 "7096154" "ILWU Union Hall"
68 "7111999" "Ainako Avenue @ Apoke St"
135 "7121241" "Parker Square"
179 "7124785" "Waikoloa Village Lua Kula"
185 "7129714" "Hilo Civic Auditorium"
233 "7215035" "Kona Palisades"
253 "7493918" "Volcano Village (Kilauea St)"
254 "7493919" "Volcano Village (Old Volcano Rd)"
278 "7600503" "Hilo High School 2"
280 "7600906" "Kilauea Avenue"
328 "7850960" "Kupuna Place Heights Housing"
trip_distance_exceeds_shape_distance_below_threshold WARNING 60

trip_distance_exceeds_shape_distance_below_threshold

The distance between the last shape point and last stop point is greater than 0 but less than the 11.1m threshold.

You can see more about this notice here.

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

tripId (?) The faulty record's trip id. shapeId (?) The faulty record's shape id. maxTripDistanceTraveled (?) The faulty record's trip max distance traveled. maxShapeDistanceTraveled (?) The faulty record's shape max distance traveled. geoDistanceToShape (?) The distance in meters between the shape and the stop.
"10-0640" "20104" 137950.11376151233 135859.76998713682 0.0
"10-1530" "20103" 136074.6102617328 136074.40778979973 0.0
"102-0615" "21061" 23967.057751734195 23967.050278395436 0.0
"102-0715" "21061" 23967.057751734195 23967.050278395436 0.0
"102-0815" "21061" 23967.057751734195 23967.050278395436 0.0
"102-0915" "21061" 23967.057751734195 23967.050278395436 0.0
"102-1015" "21061" 23967.057751734195 23967.050278395436 0.0
"102-1115" "21061" 23967.057751734195 23967.050278395436 0.0
"102-1215" "21061" 23967.057751734195 23967.050278395436 0.0
"102-1315" "21061" 23967.057751734195 23967.050278395436 0.0
"102-1415" "21061" 23967.057751734195 23967.050278395436 0.0
"102-1515" "21061" 23967.057751734195 23967.050278395436 0.0
"102-1615" "21061" 23967.057751734195 23967.050278395436 0.0
"102-1715" "21061" 23967.057751734195 23967.050278395436 0.0
"102-1815" "21061" 23967.057751734195 23967.050278395436 0.0
"11-0500" "21006" 52564.90240261213 52564.69993067908 0.0
"11-0615" "19692" 53789.45894957312 53789.25647764007 0.0
"11-0740" "21006" 52564.90240261213 52564.69993067908 0.0
"11-0915" "20179" 53234.84755434579 53234.64508241274 0.0
"11-1040" "21006" 52564.90240261213 52564.69993067908 0.0
"11-1215" "20179" 53234.84755434579 53234.64508241274 0.0
"11-1340" "21006" 52564.90240261213 52564.69993067908 0.0
"11-1515" "20179" 53234.84755434579 53234.64508241274 0.0
"11-1640" "21018" 53351.17112516776 53350.96865323471 0.0
"11-1815" "20179" 53234.84755434579 53234.64508241274 0.0
"40-0530-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-0630-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-0630-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-0730-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-0730-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-0830-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-0830-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-0930-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-0930-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-1030-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-1030-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-1130-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-1130-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-1230-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-1230-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-1330-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-1330-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-1430-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-1430-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-1530-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-1530-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-1630-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-1630-S" "21073" 33753.50181199698 33753.33361201189 0.0
"40-1730-N" "20554" 38053.20879343622 38053.00632150317 0.0
"40-1730-S" "21073" 33753.50181199698 33753.33361201189 0.0
unknown_file INFO 3

unknown_file

A file is unknown.

You can see more about this notice here.

filename (?) The name of the unknown file.
"calendar_attributes.txt"
"realtime_routes.txt"
"directions.txt"