GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-16T15:31:11Z,
for the dataset file:///shared/suffolk.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_dates.txt
  3. routes.txt
  4. shapes.txt
  5. stop_times.txt
  6. stops.txt
  7. transfers.txt
  8. trips.txt

Counts


  • Agencies: 1
  • Blocks: 285
  • Routes: 26
  • Shapes: 57
  • Stops: 2218
  • Trips: 2495

Specification Compliance report

508 notices reported (0 errors, 508 warnings, 0 infos)

Notice Code Severity Total
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 48

equal_shape_distance_diff_coordinates_distance_below_threshold

Two consecutive points have equal shape_dist_traveled and different lat/lon coordinates in shapes.txt and the distance between the two points is greater than 0 but less than 1.11m.

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 small difference of coordinates (greater than 0 but less than 1.11 m distance) result in a warning.

You can see more about this notice here.

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) The faulty record's `shape_dist_traveled` value. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) The previous shape point's `shape_dist_traveled` value. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`. actualDistanceBetweenShapePoints (?) Actual distance traveled along the shape from the first shape point to the previous shape point.
"[@2511.0.30592683@]2" 17093 953.0056638272167 19 17092 953.0056638272167 18 0.08411642842180081
"[@2511.0.30593181@]1" 6907 6935.003637026901 170 6906 6935.003637026901 169 0.017902776503112755
"[@2511.0.30593181@]3" 26546 13251.421846569538 259 26545 13251.421846569538 258 0.017902776503112755
"[@2511.0.30592773@]1" 37257 42037.104795715175 882 37256 42037.104795715175 881 0.05371975290502902
"[@2511.0.30592773@]1" 37399 46943.419859885755 1024 37398 46943.419859885755 1023 0.020085849448973306
"[@2511.0.30592773@]1" 37405 47017.528911580244 1030 37404 47017.528911580244 1029 0.11759532807401123
"[@2511.0.47843453@]1" 47368 8301.470481372167 266 47367 8301.470481372167 265 0.028479323565958604
"[@2511.0.47843453@]2" 8359 3152.413497792805 101 8358 3152.413497792805 100 0.028479323565958604
"[@2511.0.30592728@]1" 45550 228.2566306421833 11 45549 228.2566306421833 10 0.03335853105100428
"[@2511.0.30592728@]1" 45786 10109.545919216205 247 45785 10109.545919216205 246 0.1010575599585033
"[@2511.0.30592728@]1" 45787 10109.545919216205 248 45786 10109.545919216205 247 0.1010575599585033
"[@2511.0.39782543@]1" 9429 13599.934157223921 317 9428 13599.934157223921 316 0.017962331435746257
"[@2511.0.39782543@]1" 9436 13802.597939324956 324 9435 13802.597939324956 323 0.015688467301498168
"[@2511.0.39782543@]2" 19657 20463.337139959454 482 19656 20463.337139959454 481 0.006847831167451108
"[@2511.0.39782543@]2" 19664 20666.000922060488 489 19663 20666.000922060488 488 0.015688467301498168
"[@2511.0.30689747@]2" 1153 19863.723953892342 556 1152 19863.723953892342 555 0.02377554621145721
"[@2511.0.30689747@]2" 1154 19863.723953892342 557 1153 19863.723953892342 556 0.02377554621145721
"[@2511.0.30689747@]2" 1194 21851.725931220517 597 1193 21851.725931220517 596 0.08411642842180081
"[@2511.0.30689747@]2" 1371 29808.696982385445 774 1370 29808.696982385445 773 0.006847831167451108
"[@2511.0.30689747@]2" 1378 30011.36076448648 781 1377 30011.36076448648 780 0.015688467301498168
"[@2511.0.30689747@]2" 1620 40629.391471866766 1023 1619 40629.391471866766 1022 0.020085849448973306
"[@2511.0.30689747@]2" 1626 40703.500523561255 1029 1625 40703.500523561255 1028 0.11759532807401123
"[@2511.0.30689747@]1" 3070 11506.483684349203 264 3069 11506.483684349203 263 0.006847831167451108
"[@2511.0.30689747@]1" 3077 11709.147466450238 271 3076 11709.147466450238 270 0.015688467301498168
"[@2511.0.30593045@]1" 27559 13599.934157223921 317 27558 13599.934157223921 316 0.017962331435746257
"[@2511.0.30593045@]1" 27566 13802.597939324956 324 27565 13802.597939324956 323 0.015688467301498168
"[@2511.0.30460567@]2" 42397 4920.342252973022 131 42396 4920.342252973022 130 0.03195518933927269
"[@2511.0.30460567@]2" 42402 4952.783671080827 136 42401 4952.783671080827 135 0.03195518933927269
"[@2511.0.30593045@]3" 24842 20572.026641441247 446 24841 20572.026641441247 445 0.006847831167451108
"[@2511.0.30593045@]3" 24849 20774.69042354228 453 24848 20774.69042354228 452 0.015688467301498168
"[@2511.0.36292728@]2" 36145 56160.443280065476 1072 36144 56160.443280065476 1071 0.02377554621145721
"[@2511.0.36292728@]2" 36146 56160.443280065476 1073 36145 56160.443280065476 1072 0.02377554621145721
"[@2511.0.30592955@]2" 8709 3262.0937413986967 96 8708 3262.0937413986967 95 0.006956161276057002
"[@2511.0.39782588@]1" 32667 6935.003637026901 170 32666 6935.003637026901 169 0.017902776503112755
"[@2511.0.39782588@]1" 32952 21202.21561285868 455 32951 21202.21561285868 454 0.06572521590280682
"[@2511.0.39782588@]2" 114 5251.616040799067 112 113 5251.616040799067 111 0.06572521590280682
"[@2511.0.39782588@]2" 116 5351.671020883351 114 115 5351.671020883351 113 0.001337698777469511
"[@2511.0.39782588@]2" 407 19776.966403058308 405 406 19776.966403058308 404 0.017902776503112755
"[@2511.0.30592955@]1" 16978 18102.01189143022 402 16977 18102.01189143022 401 0.006956161276057002
"[@2511.0.30592955@]1" 16985 18480.693798465065 409 16984 18480.693798465065 408 0.011826277786748761
"[@2511.0.30593090@]2" 24365 23131.566944696257 490 24364 23131.566944696257 489 0.020085849448973306
"[@2511.0.30593090@]2" 24371 23205.675996390743 496 24370 23205.675996390743 495 0.11759532807401123
"[@2511.0.30592638@]2" 47944 5839.427433934202 142 47943 5839.427433934202 141 0.051404110763703485
"[@2511.0.30592638@]2" 47949 5868.606167023915 147 47948 5868.606167023915 146 0.051404110763703485
"[@2511.0.30592638@]1" 1930 11496.090883078767 279 1929 11496.090883078767 278 0.03335853105100428
"[@2511.0.30462409@]1" 4217 18622.547668299154 374 4216 18622.547668299154 373 0.08411642842180081
"[@2511.0.30462409@]2" 18671 39141.84982307883 716 18670 39141.84982307883 715 0.0964164015963797
"[@2511.0.30462409@]2" 18676 39159.31847415014 721 18675 39159.31847415014 720 0.0964164015963797
equal_shape_distance_same_coordinates WARNING 170

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 170 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`.
"[@2511.0.30592818@]2" 25157 0.0 1 25156 0.0 0
"[@2511.0.30592818@]2" 25319 5394.820038844536 163 25318 5394.820038844536 162
"[@2511.0.30592818@]2" 25385 9455.246728649365 229 25384 9455.246728649365 228
"[@2511.0.30592818@]2" 25386 9455.246728649365 230 25385 9455.246728649365 229
"[@2511.0.30592818@]1" 32170 21578.598322453436 544 32169 21578.598322453436 543
"[@2511.0.30592818@]1" 32171 21578.598322453436 545 32170 21578.598322453436 544
"[@2511.0.30592818@]1" 32188 22189.41723047287 562 32187 22189.41723047287 561
"[@2511.0.30592818@]1" 32189 22189.41723047287 563 32188 22189.41723047287 562
"[@2511.0.30592818@]1" 32335 30088.66147455712 709 32334 30088.66147455712 708
"[@2511.0.30592818@]1" 32496 35416.16349953851 870 32495 35416.16349953851 869
"[@2511.0.30592683@]1" 13926 622.4183992878344 21 13925 622.4183992878344 20
"[@2511.0.30592683@]1" 13927 622.4183992878344 22 13926 622.4183992878344 21
"[@2511.0.30592683@]1" 14079 6562.785804812234 174 14078 6562.785804812234 173
"[@2511.0.30592683@]1" 14488 27768.825750632626 583 14487 27768.825750632626 582
"[@2511.0.30592683@]1" 14489 27768.825750632626 584 14488 27768.825750632626 583
"[@2511.0.30592683@]1" 14737 39665.07063106992 832 14736 39665.07063106992 831
"[@2511.0.30592683@]2" 17075 0.0 1 17074 0.0 0
"[@2511.0.30592683@]2" 17338 12402.912337726908 264 17337 12402.912337726908 263
"[@2511.0.30592683@]2" 17339 12402.912337726908 265 17338 12402.912337726908 264
"[@2511.0.30592683@]2" 17777 34839.519243667346 703 17776 34839.519243667346 702
"[@2511.0.30593181@]1" 6902 6786.030391269618 165 6901 6786.030391269618 164
"[@2511.0.30593181@]1" 6903 6786.030391269618 166 6902 6786.030391269618 165
"[@2511.0.30593181@]3" 26541 13102.448600812253 254 26540 13102.448600812253 253
"[@2511.0.30593181@]3" 26542 13102.448600812253 255 26541 13102.448600812253 254
"[@2511.0.30460418@]4" 15323 31710.247203238603 585 15322 31710.247203238603 584
"[@2511.0.30592773@]1" 36948 25853.87593129675 573 36947 25853.87593129675 572
"[@2511.0.30592773@]1" 36949 25853.87593129675 574 36948 25853.87593129675 573
"[@2511.0.30592773@]1" 37138 36084.79798984962 763 37137 36084.79798984962 762
"[@2511.0.30592773@]1" 37139 36084.79798984962 764 37138 36084.79798984962 763
"[@2511.0.30592773@]2" 22468 10967.060016460466 260 22467 10967.060016460466 259
"[@2511.0.30592773@]2" 22469 10967.060016460466 261 22468 10967.060016460466 260
"[@2511.0.30592773@]2" 22631 19722.934960462437 423 22630 19722.934960462437 422
"[@2511.0.30592773@]2" 22677 22120.7603620026 469 22676 22120.7603620026 468
"[@2511.0.30592773@]2" 22678 22120.7603620026 470 22677 22120.7603620026 469
"[@2511.0.30460418@]3" 38956 12859.405970170907 251 38955 12859.405970170907 250
"[@2511.0.30460418@]2" 11910 12859.405970170907 251 11909 12859.405970170907 250
"[@2511.0.30460418@]2" 13420 89947.05840428323 1761 13419 89947.05840428323 1760
"[@2511.0.30460418@]1" 29563 31710.247203238603 585 29562 31710.247203238603 584
"[@2511.0.30460418@]1" 31073 108797.89963735094 2095 31072 108797.89963735094 2094
"[@2511.0.47843453@]1" 47362 8259.64796419273 260 47361 8259.64796419273 259
"[@2511.0.47843453@]1" 47363 8259.64796419273 261 47362 8259.64796419273 260
"[@2511.0.47843453@]2" 8353 3110.5909806133673 95 8352 3110.5909806133673 94
"[@2511.0.47843453@]2" 8354 3110.5909806133673 96 8353 3110.5909806133673 95
"[@2511.0.30462248@]1" 37625 10369.410795654225 195 37624 10369.410795654225 194
"[@2511.0.41863948@]1" 23276 2230.446132038864 42 23275 2230.446132038864 41
"[@2511.0.41863948@]1" 23277 2230.446132038864 43 23276 2230.446132038864 42
"[@2511.0.41863948@]1" 23301 3558.79534361976 67 23300 3558.79534361976 66
"[@2511.0.41863948@]1" 23302 3558.79534361976 68 23301 3558.79534361976 67
"[@2511.0.30592728@]1" 46550 43540.93189148714 1011 46549 43540.93189148714 1010
"[@2511.0.30592728@]2" 42957 0.0 1 42956 0.0 0
expired_calendar WARNING 285

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

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "12-02 (SAT)"
54 "52A-02 (SUN)"
112 "66-03 (WD)"
367 "2-04 (SAT)"
419 "52B-01 (WD)"
674 "51-05 (WD)"
929 "66-02 (WD)"
1184 "66-04 (SAT)"
1236 "2-05 (WD)"
1491 "2-02 (WD)"
1746 "51-02 (SUN)"
1804 "6-01 (SUN)"
1862 "92-08 (WIN WD)"
1960 "4-02 (SAT)"
2012 "92-01 (WIN SUN)"
2035 "80-01 (WD)"
2290 "55-03 (WD)"
2545 "92-06 (WIN WD)"
2643 "53-01 (SUN)"
2701 "92-11 (SUM SAT)"
2733 "92-09 (SUM SUN)"
2768 "92-05 (SUM SAT)"
2800 "92-09 (WIN SAT)"
2820 "1-03 (WD)"
3075 "66-01 (WD)"
3330 "92-09 (SUM SAT)"
3362 "17-02 (WD)"
3617 "92-07 (SUM SUN)"
3652 "7-03 (SAT)"
3704 "92-10 (SUM SAT)"
3736 "2-01 (SUN)"
3794 "7-01 (WD)"
4049 "2-04 (WD)"
4304 "92-05 (SUM SUN)"
4339 "2-02 (SUN)"
4397 "11-02 (WD)"
4652 "4-05 (WD)"
4907 "1-03 (SAT)"
4959 "77Y-04 (WD)"
5214 "7-01 (SAT)"
5266 "55-01 (SAT)"
5318 "10-01 (SAT)"
5370 "4-02 (SUN)"
5428 "3-02 (SUN)"
5486 "5-04 (SUN)"
5544 "92-14 (WIN WD)"
5642 "2-06 (WD)"
5897 "92-01 (WIN WD)"
5995 "5-07 (WD)"
6250 "92-07 (WIN SAT)"
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 3

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" "NYS 347/NYS 111" 803
"stops.txt" "stop_name" "NYS 347/NYS 111" 1111
"stops.txt" "stop_name" "NYS 111/NYS 347" 1477
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.
"20260116" "20250102" "20251231"