GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-23T19:45:02Z,
for the dataset file:///shared/brockton-area-transit-authority.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Brockton Area Transit Authority (BAT)

Feed Info


Publisher Name:
Passio Technologies
Publisher URL:
https://passiotech.com
Feed Email:
support@passiotech.com
Feed Language:
English
Feed Start Date:
2026-01-21
Feed End Date:
2026-02-21

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: 1
  • Blocks: 149
  • Routes: 20
  • Shapes: 28
  • Stops: 813
  • Trips: 1868

Specification Compliance report

306 notices reported (11 errors, 295 warnings, 0 infos)

Notice Code Severity Total
block_trips_with_overlapping_stop_times ERROR 11

block_trips_with_overlapping_stop_times

Trips with the same block id have overlapping stop times.

You can see more about this notice here.

csvRowNumberA (?) The row number from `trips.txt` of the first faulty trip. tripIdA (?) The id of first faulty trip. serviceIdA (?) The service id of the first faulty trip. csvRowNumberB (?) The row number from `trips.txt` of the second faulty trip. tripIdB (?) The id of the other faulty trip. serviceIdB (?) The service id of the other faulty trip. blockId (?) The `trips.block_id` of the overlapping trip. intersection (?) The overlapping period.
662 "974504" "14436.38079" 586 "974527" "14420" "40051" "20250105"
661 "943224" "14436.38079" 585 "943225" "14420" "40055" "20250105"
663 "974505" "14436.38079" 587 "974528" "14420" "40047" "20250105"
1839 "943048" "14436.38078" 1762 "943056" "14436.38078" "38488" "20211111"
682 "974524" "14436.38079" 605 "974546" "14420" "40440" "20250105"
680 "974522" "14436.38079" 603 "974544" "14420" "40431" "20250105"
681 "974523" "14436.38079" 604 "974545" "14420" "40439" "20250105"
683 "974525" "14436.38079" 606 "974547" "14420" "40438" "20250105"
2 "192582" "14447" 74 "615045" "14447" "22180" "20250101"
74 "615045" "14447" 191 "615103" "14447" "22180" "20250101"
127 "322698" "14436.38078" 12 "204239" "14436.38078" "22275" "20211111"
equal_shape_distance_same_coordinates WARNING 290

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 290 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`.
"14450" 2943 1094.96 28 2942 1094.96 27
"14450" 3262 8357.47 347 3261 8357.47 346
"14450" 3391 12257.73 476 3390 12257.73 475
"14450" 3416 12880.86 501 3415 12880.86 500
"14450" 3508 16234.25 593 3507 16234.25 592
"14450" 3538 17106.04 623 3537 17106.04 622
"14450" 3582 17732.1 667 3581 17732.1 666
"14450" 3620 18217.51 705 3619 18217.51 704
"14450" 3630 18334.42 715 3629 18334.42 714
"14450" 3861 22629.2 946 3860 22629.2 945
"14450" 3881 23682.86 966 3880 23682.86 965
"14450" 3914 25210.35 999 3913 25210.35 998
"14450" 3920 25278.9 1005 3919 25278.9 1004
"14450" 3941 25481.32 1026 3940 25481.32 1025
"58274" 7583 519.35 25 7582 519.35 24
"58274" 7587 593.79 29 7586 593.79 28
"58274" 7590 633.48 32 7589 633.48 31
"58274" 7592 659.31 34 7591 659.31 33
"58274" 7594 690.86 36 7593 690.86 35
"58274" 7619 1504.04 61 7618 1504.04 60
"58274" 7625 1659.9 67 7624 1659.9 66
"58274" 7631 1848.45 73 7630 1848.45 72
"58274" 7633 1875.22 75 7632 1875.22 74
"58274" 7636 1937.31 78 7635 1937.31 77
"58274" 7641 2031.27 83 7640 2031.27 82
"58274" 7646 2130.37 88 7645 2130.37 87
"58274" 7650 2157.11 92 7649 2157.11 91
"58274" 7652 2160.45 94 7651 2160.45 93
"58274" 7654 2173.83 96 7653 2173.83 95
"58274" 7656 2189.5 98 7655 2189.5 97
"58274" 7660 2234.3 102 7659 2234.3 101
"58274" 7672 2388.28 114 7671 2388.28 113
"58274" 7684 2787.4 126 7683 2787.4 125
"58274" 7727 5130.06 169 7726 5130.06 168
"58274" 7758 5979.42 200 7757 5979.42 199
"58274" 7796 6713.45 238 7795 6713.45 237
"58274" 7798 6727.94 240 7797 6727.94 239
"58274" 7800 6743.61 242 7799 6743.61 241
"58274" 7804 6765.98 246 7803 6765.98 245
"58274" 7811 6811.7 253 7810 6811.7 252
"58274" 7813 6826.2 255 7812 6826.2 254
"58274" 7817 6841.83 259 7816 6841.83 258
"58274" 7820 6867.08 262 7819 6867.08 261
"58274" 7824 6886.14 266 7823 6886.14 265
"58274" 7826 6896.3 268 7825 6896.3 267
"58274" 7828 6907.55 270 7827 6907.55 269
"58274" 7837 7011.57 279 7836 7011.57 278
"58274" 7839 7011.91 281 7838 7011.91 280
"58274" 7841 7022.12 283 7840 7022.12 282
"58274" 7843 7030.96 285 7842 7030.96 284
fast_travel_between_far_stops WARNING 1

fast_travel_between_far_stops

A transit vehicle moves too fast between two far stops.

Two stops are considered "far" if they are more than 10 km apart. This normally indicates a more serious problem than too fast travel between consecutive stops.

The speed threshold depends on route type and are the same as fast_travel_between_consecutive_stops.

You can see more about this notice here.

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.
217 "674901" "1622" 1490.073340402507 24.834555673375114 20985 1 "38962" "BAT Centre" "16:45:00" 21088 104 "144868" "Ashmont Station OB" "16:45:00"
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 "20260123" "20260221" "20260222"
stop_too_far_from_shape WARNING 1

stop_too_far_from_shape

Stop too far from trip shape.

Per GTFS Best Practices, route alignments (in shapes.txt) should be within 100 meters of stop locations which a trip serves. This potentially indicates a problem with the location of the stop or the path of the shape.

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the faulty record from `trips.txt`. shapeId (?) The id of the shape that is referred to. tripId (?) The id of the trip that is referred to. stopTimeCsvRowNumber (?) The row number of the faulty record from `stop_times.txt`. stopId (?) The id of the stop that is referred to. stopName (?) The name of the stop that is referred to. match (?) Latitude and longitude pair of the location. geoDistanceToShape (?) Distance from stop to shape.
1574 "31043" "402818" 66415 "39702" "Battles Farm Dr at Rental Office" [42.09779900000001,-71.028146] 112.59305873859202
stops_match_shape_out_of_order WARNING 2

stops_match_shape_out_of_order

Two stop entries are different than their arrival-departure order defined by shapes.txt.

This could indicate a problem with the location of the stops, the path of the shape, or the sequence of the stops for their trip.

You can see more about this notice here.

tripCsvRowNumber (?) The row number of the faulty record from `trips.txt`. shapeId (?) The id of the shape that is referred to. tripId (?) The id of the trip that is referred to. stopTimeCsvRowNumber1 (?) The row number of the first faulty record from `stop_times.txt`. stopId1 (?) The id of the first stop that is referred to. stopName1 (?) The name of the first stop that is referred to. match1 (?) Latitude and longitude pair of the first matching location. stopTimeCsvRowNumber2 (?) The row number of the second faulty record from `stop_times.txt`. stopId2 (?) The id of the second stop that is referred to. stopName2 (?) The name of the second stop that is referred to. match2 (?) Latitude and longitude pair of the second matching location.
1316 "58273" "828147" 54612 "38943" "Belair St at Belair Hi Rise IB" [42.09196762262991,-71.03680277113358] 54611 "38944" "Belair St and Earle St IB" [42.093237945155636,-71.03881789115431]
838 "14485" "193470" 39148 "39302" "Torrey St and Brewster Rd" [42.073124620496806,-71.05030531479346] 39147 "39334" "Torrey St and Harwich Rd" [42.07368724824122,-71.04707375880628]