GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-04-13T21:15:13Z,
for the dataset file:/tmp/gtfs-validator-temp14707328856751952055/4150c1af-0953-4326-accc-9a78e3cef3ea3880401796619495588.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Suffolk County Transit - West
  • Suffolk County Transit - East
  • Suffolk County Transit - Central

Feed Info


Publisher Name:
GMV Syncromatics
Feed Email:
support@gmvsync.com
Feed Language:
English
Feed Start Date:
2025-12-09
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: 3
  • Blocks: 264
  • Routes: 25
  • Shapes: 53
  • Stops: 2283
  • Trips: 2378

Specification Compliance report

559 notices reported (0 errors, 556 warnings, 3 infos)

Notice Code Severity Total
equal_shape_distance_same_coordinates WARNING 137

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.

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

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`.
"28819" 2572 0.0 1 2571 0.0 0
"28819" 2807 12243.549008882492 236 2806 12243.549008882492 235
"28819" 2808 12243.549008882492 237 2807 12243.549008882492 236
"28819" 2867 17050.62540248735 296 2866 17050.62540248735 295
"28819" 3153 34136.38587871306 582 3152 34136.38587871306 581
"28817" 1535 6401.485102022488 128 1534 6401.485102022488 127
"28817" 1605 10479.459785233856 198 1604 10479.459785233856 197
"28817" 1887 26972.85331129556 480 1886 26972.85331129556 479
"28817" 1888 26972.85331129556 481 1887 26972.85331129556 480
"28817" 2124 38663.083176582615 717 2123 38663.083176582615 716
"28818" 2356 12414.842563479557 231 2355 12414.842563479557 230
"28818" 2357 12414.842563479557 232 2356 12414.842563479557 231
"28818" 2480 17869.18931278683 355 2479 17869.18931278683 354
"28818" 2481 17869.18931278683 356 2480 17869.18931278683 355
"28855" 24653 9964.68187652323 144 24652 9964.68187652323 143
"28853" 22909 6627.205201723941 177 22908 6627.205201723941 176
"28853" 22910 6627.205201723941 178 22909 6627.205201723941 177
"28854" 23469 2358.456877533061 38 23468 2358.456877533061 37
"28854" 23470 2358.456877533061 39 23469 2358.456877533061 38
"28854" 24339 56180.97274572583 908 24338 56180.97274572583 907
"28854" 24340 56180.97274572583 909 24339 56180.97274572583 908
"28815" 687 3346.982998021014 98 686 3346.982998021014 97
"28815" 688 3346.982998021014 99 687 3346.982998021014 98
"28816" 1047 584.0970441857554 16 1046 584.0970441857554 15
"28816" 1048 584.0970441857554 17 1047 584.0970441857554 16
"28857" 25025 11345.534752829435 169 25024 11345.534752829435 168
"28857" 25162 18362.824158497206 306 25161 18362.824158497206 305
"28857" 25163 18362.824158497206 307 25162 18362.824158497206 306
"28814" 22 639.2939136169622 20 21 639.2939136169622 19
"28814" 23 639.2939136169622 21 22 639.2939136169622 20
"28814" 450 22117.40552803497 448 449 22117.40552803497 447
"28814" 451 22117.40552803497 449 450 22117.40552803497 448
"28858" 25274 6594.501224348509 110 25273 6594.501224348509 109
"29500" 38419 11330.278047139172 171 38418 11330.278047139172 170
"29500" 38422 11435.224535356687 174 38421 11435.224535356687 173
"29500" 38423 11435.224535356687 175 38422 11435.224535356687 174
"29500" 38928 40507.19498339991 680 38927 40507.19498339991 679
"28850" 21948 13058.677699595017 242 21947 13058.677699595017 241
"28850" 21949 13058.677699595017 243 21948 13058.677699595017 242
"28850" 21961 13445.172037580858 255 21960 13445.172037580858 254
"28850" 21962 13445.172037580858 256 21961 13445.172037580858 255
"28850" 21974 13812.174191019756 268 21973 13812.174191019756 267
"28850" 21988 14332.253435773491 282 21987 14332.253435773491 281
"28850" 22126 21645.549949929948 420 22125 21645.549949929948 419
"28850" 22127 21645.549949929948 421 22126 21645.549949929948 420
"28828" 9156 1844.7731723776046 22 9155 1844.7731723776046 21
"28828" 9157 1844.7731723776046 23 9156 1844.7731723776046 22
"28949" 27629 2189.668658142161 56 27628 2189.668658142161 55
"28949" 27630 2189.668658142161 57 27629 2189.668658142161 56
"28949" 27662 3468.9442189252873 89 27661 3468.9442189252873 88
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 130

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 130 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" "NYS 347/NYS 111" 1212
"stops.txt" "stop_name" "NYS 347/NYS 111" 1381
"stops.txt" "stop_name" "NYS 111/NYS 347" 1590
"trips.txt" "trip_headsign" "TANGER OUTLETS" 932
"trips.txt" "trip_headsign" "TANGER OUTLETS" 933
"trips.txt" "trip_headsign" "TANGER OUTLETS" 934
"trips.txt" "trip_headsign" "TANGER OUTLETS" 935
"trips.txt" "trip_headsign" "TANGER OUTLETS" 936
"trips.txt" "trip_headsign" "TANGER OUTLETS" 937
"trips.txt" "trip_headsign" "TANGER OUTLETS" 938
"trips.txt" "trip_headsign" "TANGER OUTLETS" 939
"trips.txt" "trip_headsign" "TANGER OUTLETS" 940
"trips.txt" "trip_headsign" "TANGER OUTLETS" 941
"trips.txt" "trip_headsign" "TANGER OUTLETS" 942
"trips.txt" "trip_headsign" "TANGER OUTLETS" 943
"trips.txt" "trip_headsign" "TANGER OUTLETS" 944
"trips.txt" "trip_headsign" "TANGER OUTLETS" 945
"trips.txt" "trip_headsign" "TANGER OUTLETS" 946
"trips.txt" "trip_headsign" "TANGER OUTLETS" 947
"trips.txt" "trip_headsign" "TANGER OUTLETS" 948
"trips.txt" "trip_headsign" "TANGER OUTLETS" 949
"trips.txt" "trip_headsign" "TANGER OUTLETS" 950
"trips.txt" "trip_headsign" "TANGER OUTLETS" 951
"trips.txt" "trip_headsign" "TANGER OUTLETS" 952
"trips.txt" "trip_headsign" "TANGER OUTLETS" 953
"trips.txt" "trip_headsign" "TANGER OUTLETS" 954
"trips.txt" "trip_headsign" "TANGER OUTLETS" 955
"trips.txt" "trip_headsign" "TANGER OUTLETS" 956
"trips.txt" "trip_headsign" "TANGER OUTLETS" 957
"trips.txt" "trip_headsign" "TANGER OUTLETS" 958
"trips.txt" "trip_headsign" "TANGER OUTLETS" 959
"trips.txt" "trip_headsign" "TANGER OUTLETS" 960
"trips.txt" "trip_headsign" "TANGER OUTLETS" 961
"trips.txt" "trip_headsign" "TANGER OUTLETS" 962
"trips.txt" "trip_headsign" "TANGER OUTLETS" 963
"trips.txt" "trip_headsign" "TANGER OUTLETS" 964
"trips.txt" "trip_headsign" "TANGER OUTLETS" 965
"trips.txt" "trip_headsign" "TANGER OUTLETS" 966
"trips.txt" "trip_headsign" "TANGER OUTLETS" 967
"trips.txt" "trip_headsign" "TANGER OUTLETS" 968
"trips.txt" "trip_headsign" "TANGER OUTLETS" 969
"trips.txt" "trip_headsign" "TANGER OUTLETS" 970
"trips.txt" "trip_headsign" "TANGER OUTLETS" 971
"trips.txt" "trip_headsign" "TANGER OUTLETS" 972
"trips.txt" "trip_headsign" "TANGER OUTLETS" 973
"trips.txt" "trip_headsign" "TANGER OUTLETS" 974
"trips.txt" "trip_headsign" "TANGER OUTLETS" 975
"trips.txt" "trip_headsign" "TANGER OUTLETS" 976
"trips.txt" "trip_headsign" "TANGER OUTLETS" 977
"trips.txt" "trip_headsign" "TANGER OUTLETS" 978
route_long_name_contains_short_name WARNING 18

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`.
"6860" 3 "12" "12 - Farmingdale State College to Bay Shore"
"6861" 4 "10" "10 - Amityville RR to Babylon RR"
"6867" 10 "77Y" "77Y - Patchogue RR to East Yaphank"
"6868" 11 "51" "51 - Patchogue RR to Port Jefferson Station"
"6870" 13 "58" "58 - Brentwood RR to Riverhead RR"
"6871" 14 "62" "62 - Hauppauge to Riverhead RR"
"6872" 15 "55" "55 - Patchogue RR to Port Jefferson Station"
"6873" 16 "77" "77 - Patchogue RR to Bellport"
"6874" 17 "17" "17 - East Islip to Hauppauge"
"6875" 18 "56" "56 - Kings Park Manor to Smithtown RR"
"6876" 19 "52B" "52B - Central Islip RR to Gordon Heights"
"6877" 20 "66" "66 - Patchogue RR to Riverhead RR"
"6878" 21 "52A" "52A - Central Islip RR to Gordon Heights"
"6879" 22 "15" "15 - Babylon RR to Robert Moses State Park"
"6880" 23 "11" "11 - Bay Shore to Hauppauge"
"6887" 24 "80" "80 Riverhead Circulator"
"6892" 25 "92" "92 East Hampton RR to Orient Point Ferry Dock"
"6896" 26 "53" "53 - Patchogue RR to Port Jefferson Station"
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.
1540 "11284296" "Robert Moses State Park"
1555 "11284311" "Babylon LIRR (15)"
1978 "11284735" "Captree State Park Fishing Basin"
trip_distance_exceeds_shape_distance_below_threshold WARNING 266

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 266 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.
"262-199" "28828" 20500.515515484076 20500.515515479594 0.0
"262-200" "28828" 20500.515515484076 20500.515515479594 0.0
"262-201" "28828" 20500.515515484076 20500.515515479594 0.0
"262-202" "28828" 20500.515515484076 20500.515515479594 0.0
"262-203" "28828" 20500.515515484076 20500.515515479594 0.0
"262-204" "28828" 20500.515515484076 20500.515515479594 0.0
"262-205" "28828" 20500.515515484076 20500.515515479594 0.0
"262-206" "28828" 20500.515515484076 20500.515515479594 0.0
"262-207" "28828" 20500.515515484076 20500.515515479594 0.0
"262-208" "28828" 20500.515515484076 20500.515515479594 0.0
"262-209" "28828" 20500.515515484076 20500.515515479594 0.0
"262-210" "28828" 20500.515515484076 20500.515515479594 0.0
"262-211" "28828" 20500.515515484076 20500.515515479594 0.0
"262-212" "28828" 20500.515515484076 20500.515515479594 0.0
"262-229" "28828" 20500.515515484076 20500.515515479594 0.0
"262-230" "28828" 20500.515515484076 20500.515515479594 0.0
"262-231" "28828" 20500.515515484076 20500.515515479594 0.0
"262-232" "28828" 20500.515515484076 20500.515515479594 0.0
"262-233" "28828" 20500.515515484076 20500.515515479594 0.0
"262-234" "28828" 20500.515515484076 20500.515515479594 0.0
"262-235" "28828" 20500.515515484076 20500.515515479594 0.0
"262-236" "28828" 20500.515515484076 20500.515515479594 0.0
"262-237" "28828" 20500.515515484076 20500.515515479594 0.0
"262-238" "28828" 20500.515515484076 20500.515515479594 0.0
"262-239" "28828" 20500.515515484076 20500.515515479594 0.0
"262-240" "28828" 20500.515515484076 20500.515515479594 0.0
"262-241" "28828" 20500.515515484076 20500.515515479594 0.0
"262-242" "28828" 20500.515515484076 20500.515515479594 0.0
"262-243" "28828" 20500.515515484076 20500.515515479594 0.0
"262-244" "28828" 20500.515515484076 20500.515515479594 0.0
"262-245" "28828" 20500.515515484076 20500.515515479594 0.0
"262-264" "28828" 20500.515515484076 20500.515515479594 0.0
"262-265" "28828" 20500.515515484076 20500.515515479594 0.0
"262-266" "28828" 20500.515515484076 20500.515515479594 0.0
"262-267" "28828" 20500.515515484076 20500.515515479594 0.0
"262-268" "28828" 20500.515515484076 20500.515515479594 0.0
"262-269" "28828" 20500.515515484076 20500.515515479594 0.0
"262-270" "28828" 20500.515515484076 20500.515515479594 0.0
"262-271" "28828" 20500.515515484076 20500.515515479594 0.0
"262-272" "28828" 20500.515515484076 20500.515515479594 0.0
"262-273" "28828" 20500.515515484076 20500.515515479594 0.0
"262-274" "28828" 20500.515515484076 20500.515515479594 0.0
"262-275" "28828" 20500.515515484076 20500.515515479594 0.0
"262-276" "28828" 20500.515515484076 20500.515515479594 0.0
"262-277" "28828" 20500.515515484076 20500.515515479594 0.0
"262-278" "28828" 20500.515515484076 20500.515515479594 0.0
"262-279" "28828" 20500.515515484076 20500.515515479594 0.0
"262-280" "28828" 20500.515515484076 20500.515515479594 0.0
"262-281" "28828" 20500.515515484076 20500.515515479594 0.0
"262-852" "28822" 24783.519911279167 24766.196478676502 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"