GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-05-04T16:07:56Z,
for the dataset file:///shared/kalamazoo-metro-transit_af8ca7fc.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Capital Area Transportation Authority

Feed Info


Publisher Name:
Busmaps.com
Publisher URL:
https://busmaps.com
Feed Email:
alex@busmaps.com
Feed Language:
English
Feed Start Date:
2026-03-09
Feed End Date:
2026-08-24

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: 911
  • Routes: 32
  • Shapes: 102
  • Stops: 1362
  • Trips: 16511

Specification Compliance report

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

Notice Code Severity Total
expired_calendar WARNING 10

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.

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
3 "2090-1_merged_4279288"
5 "2090-10_merged_4279286"
7 "2090-16_merged_4279287"
9 "2090-3_merged_4279289"
11 "2090-3f60607dd591d381c7ad"
12 "2090-4_merged_4279291"
14 "2090-4e947e9342803a87c665"
15 "2090-5_merged_4279290"
19 "2090-9_merged_4279292"
21 "2090-f9848528a6bae755748f"
fast_travel_between_consecutive_stops WARNING 881

fast_travel_between_consecutive_stops

A transit vehicle moves too fast between two consecutive stops.

The speed threshold depends on route type:

Route type Description Threshold, km/h
0 Light rail 100
1 Subway 150
2 Rail 500
3 Bus 150
4 Ferry 80
5 Cable tram 30
6 Aerial lift 50
7 Funicular 50
11 Trolleybus 150
12 Monorail 150
- Unknown 200

You can see more about this notice here.

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

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.
1350 "2090-4274228" "2090-12461" 165.65541531854035 0.23007696572019493 41112 5 "2090-3795" "SBD Holmes past Hazel St" "12:05:16" 41113 6 "2090-3796" "EBD Perkins past Holmes St" "12:05:21"
5508 "2090-4260212" "2090-12461" 165.65541531854035 0.23007696572019493 172577 5 "2090-3795" "SBD Holmes past Hazel St" "12:05:16" 172578 6 "2090-3796" "EBD Perkins past Holmes St" "12:05:21"
10095 "2090-4274354" "2090-12461" 165.65541531854035 0.23007696572019493 306717 5 "2090-3795" "SBD Holmes past Hazel St" "12:05:16" 306718 6 "2090-3796" "EBD Perkins past Holmes St" "12:05:21"
5937 "2090-4274312" "2090-12461" 165.65541531854035 0.23007696572019493 185566 5 "2090-3795" "SBD Holmes past Hazel St" "12:05:16" 185567 6 "2090-3796" "EBD Perkins past Holmes St" "12:05:21"
1350 "2090-4274228" "2090-12461" 220.75205952679497 0.42924011574654575 41120 13 "2090-2002" "EBD Forest past Aurelius Rd" "12:12:00" 41121 14 "2090-2003" "EBD Forest past Aurora Dr" "12:12:07"
5508 "2090-4260212" "2090-12461" 220.75205952679497 0.42924011574654575 172585 13 "2090-2002" "EBD Forest past Aurelius Rd" "12:12:00" 172586 14 "2090-2003" "EBD Forest past Aurora Dr" "12:12:07"
10095 "2090-4274354" "2090-12461" 220.75205952679497 0.42924011574654575 306725 13 "2090-2002" "EBD Forest past Aurelius Rd" "12:12:00" 306726 14 "2090-2003" "EBD Forest past Aurora Dr" "12:12:07"
5937 "2090-4274312" "2090-12461" 220.75205952679497 0.42924011574654575 185574 13 "2090-2002" "EBD Forest past Aurelius Rd" "12:12:00" 185575 14 "2090-2003" "EBD Forest past Aurora Dr" "12:12:07"
1350 "2090-4274228" "2090-12461" 362.2894745855726 0.7044517561386134 41133 26 "2090-4469" "EBD Jolly Rd past Five Oaks Dr" "12:19:35" 41134 27 "2090-5581" "EBD Jolly Past Belle Chase" "12:19:42"
5508 "2090-4260212" "2090-12461" 362.2894745855726 0.7044517561386134 172598 26 "2090-4469" "EBD Jolly Rd past Five Oaks Dr" "12:19:35" 172599 27 "2090-5581" "EBD Jolly Past Belle Chase" "12:19:42"
10095 "2090-4274354" "2090-12461" 362.2894745855726 0.7044517561386134 306738 26 "2090-4469" "EBD Jolly Rd past Five Oaks Dr" "12:19:35" 306739 27 "2090-5581" "EBD Jolly Past Belle Chase" "12:19:42"
5937 "2090-4274312" "2090-12461" 362.2894745855726 0.7044517561386134 185587 26 "2090-4469" "EBD Jolly Rd past Five Oaks Dr" "12:19:35" 185588 27 "2090-5581" "EBD Jolly Past Belle Chase" "12:19:42"
78 "2090-4260130" "2090-12461" 165.65541531854035 0.23007696572019493 2783 5 "2090-3795" "SBD Holmes past Hazel St" "13:35:19" 2784 6 "2090-3796" "EBD Perkins past Holmes St" "13:35:24"
78 "2090-4260130" "2090-12461" 220.75205952679497 0.42924011574654575 2791 13 "2090-2002" "EBD Forest past Aurelius Rd" "13:42:00" 2792 14 "2090-2003" "EBD Forest past Aurora Dr" "13:42:07"
78 "2090-4260130" "2090-12461" 362.2894745855726 0.7044517561386134 2804 26 "2090-4469" "EBD Jolly Rd past Five Oaks Dr" "13:49:35" 2805 27 "2090-5581" "EBD Jolly Past Belle Chase" "13:49:42"
10431 "2090-4277121" "2090-12426" 309.052883337513 0.42924011574654575 317027 12 "2090-2002" "EBD Forest past Aurelius Rd" "10:31:33" 317028 13 "2090-2003" "EBD Forest past Aurora Dr" "10:31:38"
13456 "2090-4277247" "2090-12426" 309.052883337513 0.42924011574654575 412527 12 "2090-2002" "EBD Forest past Aurelius Rd" "10:31:33" 412528 13 "2090-2003" "EBD Forest past Aurora Dr" "10:31:38"
14685 "2090-4277205" "2090-12426" 309.052883337513 0.42924011574654575 448656 12 "2090-2002" "EBD Forest past Aurelius Rd" "10:31:33" 448657 13 "2090-2003" "EBD Forest past Aurora Dr" "10:31:38"
11501 "2090-4277163" "2090-12426" 309.052883337513 0.42924011574654575 350107 12 "2090-2002" "EBD Forest past Aurelius Rd" "10:31:33" 350108 13 "2090-2003" "EBD Forest past Aurora Dr" "10:31:38"
7889 "2090-4273878" "2090-12459" 178.61879235858194 0.24808165605358604 242926 13 "2090-3268" "SBD Cedar past E Mason St" "16:09:49" 242927 14 "2090-1911" "SBD Cedar past E Cavanaugh Rd" "16:09:54"
5824 "2090-4273596" "2090-12459" 178.61879235858194 0.24808165605358604 182311 13 "2090-3268" "SBD Cedar past E Mason St" "16:09:49" 182312 14 "2090-1911" "SBD Cedar past E Cavanaugh Rd" "16:09:54"
10190 "2090-4273784" "2090-12459" 178.61879235858194 0.24808165605358604 309023 13 "2090-3268" "SBD Cedar past E Mason St" "16:09:49" 309024 14 "2090-1911" "SBD Cedar past E Cavanaugh Rd" "16:09:54"
2859 "2090-4273690" "2090-12459" 178.61879235858194 0.24808165605358604 87280 13 "2090-3268" "SBD Cedar past E Mason St" "16:09:49" 87281 14 "2090-1911" "SBD Cedar past E Cavanaugh Rd" "16:09:54"
13983 "2090-4262243" "2090-12422" 937.7159005072015 0.2604766390297782 429168 24 "2090-2411" "WBD Delta River at Newport Dr" "20:57:18" 429169 25 "2090-2412" "WBD Delta River past Amherst Dr" "20:57:19"
13477 "2090-4262184" "2090-12422" 937.7159005072015 0.2604766390297782 413008 24 "2090-2411" "WBD Delta River at Newport Dr" "20:57:18" 413009 25 "2090-2412" "WBD Delta River past Amherst Dr" "20:57:19"
1122 "2090-4262361" "2090-12422" 937.7159005072015 0.2604766390297782 34801 24 "2090-2411" "WBD Delta River at Newport Dr" "20:57:18" 34802 25 "2090-2412" "WBD Delta River past Amherst Dr" "20:57:19"
8434 "2090-4262302" "2090-12422" 937.7159005072015 0.2604766390297782 257968 24 "2090-2411" "WBD Delta River at Newport Dr" "20:57:18" 257969 25 "2090-2412" "WBD Delta River past Amherst Dr" "20:57:19"
2928 "2090-4261128" "2090-12463" 202.86350367953384 0.22540389297725982 89600 46 "2090-4578" "SBD Balfour Dr. past Miller" "20:23:48" 89601 47 "2090-4739" "SBD Balfour Dr. before Georgetown" "20:23:52"
6659 "2090-4262275" "2090-12422" 937.7159005072015 0.2604766390297782 206610 24 "2090-2411" "WBD Delta River at Newport Dr" "06:12:18" 206611 25 "2090-2412" "WBD Delta River past Amherst Dr" "06:12:19"
12920 "2090-4262216" "2090-12422" 937.7159005072015 0.2604766390297782 395341 24 "2090-2411" "WBD Delta River at Newport Dr" "06:12:18" 395342 25 "2090-2412" "WBD Delta River past Amherst Dr" "06:12:19"
8706 "2090-4262157" "2090-12422" 937.7159005072015 0.2604766390297782 266261 24 "2090-2411" "WBD Delta River at Newport Dr" "06:12:18" 266262 25 "2090-2412" "WBD Delta River past Amherst Dr" "06:12:19"
15370 "2090-4262334" "2090-12422" 937.7159005072015 0.2604766390297782 468454 24 "2090-2411" "WBD Delta River at Newport Dr" "06:12:18" 468455 25 "2090-2412" "WBD Delta River past Amherst Dr" "06:12:19"
4896 "2090-4272959" "2090-12456" 800.1574166582598 0.22226594907173883 153377 20 "2090-1803" "NBD Washington before Loa St" "19:50:51" 153378 21 "2090-1804" "NBD Washington past Dunlap St" "19:50:52"
15246 "2090-4272900" "2090-12456" 800.1574166582598 0.22226594907173883 465150 20 "2090-1803" "NBD Washington before Loa St" "19:50:51" 465151 21 "2090-1804" "NBD Washington past Dunlap St" "19:50:52"
3556 "2090-4272841" "2090-12456" 800.1574166582598 0.22226594907173883 109312 20 "2090-1803" "NBD Washington before Loa St" "19:50:51" 109313 21 "2090-1804" "NBD Washington past Dunlap St" "19:50:52"
12914 "2090-4272723" "2090-12456" 800.1574166582598 0.22226594907173883 395172 20 "2090-1803" "NBD Washington before Loa St" "19:50:51" 395173 21 "2090-1804" "NBD Washington past Dunlap St" "19:50:52"
10118 "2090-4272782" "2090-12456" 800.1574166582598 0.22226594907173883 307255 20 "2090-1803" "NBD Washington before Loa St" "19:50:51" 307256 21 "2090-1804" "NBD Washington past Dunlap St" "19:50:52"
2042 "2090-4272941" "2090-12456" 400.0787083291299 0.22226594907173883 63319 20 "2090-1803" "NBD Washington before Loa St" "14:18:08" 63320 21 "2090-1804" "NBD Washington past Dunlap St" "14:18:10"
16088 "2090-4272882" "2090-12456" 400.0787083291299 0.22226594907173883 489255 20 "2090-1803" "NBD Washington before Loa St" "14:18:08" 489256 21 "2090-1804" "NBD Washington past Dunlap St" "14:18:10"
9302 "2090-4272823" "2090-12456" 400.0787083291299 0.22226594907173883 283773 20 "2090-1803" "NBD Washington before Loa St" "14:18:08" 283774 21 "2090-1804" "NBD Washington past Dunlap St" "14:18:10"
14072 "2090-4272764" "2090-12456" 400.0787083291299 0.22226594907173883 431266 20 "2090-1803" "NBD Washington before Loa St" "14:18:08" 431267 21 "2090-1804" "NBD Washington past Dunlap St" "14:18:10"
1802 "2090-4272705" "2090-12456" 400.0787083291299 0.22226594907173883 55397 20 "2090-1803" "NBD Washington before Loa St" "14:18:08" 55398 21 "2090-1804" "NBD Washington past Dunlap St" "14:18:10"
11557 "2090-4279232" "2090-12482" 990.8125768519117 0.825677147376593 352063 7 "2090-5951" "Lot 92 - MSU Clinical Center" "11:10:00" 352064 8 "2090-5802" "SBD Farm Lane past Green Way Drive" "11:10:03"
13388 "2090-4279132" "2090-12482" 990.8125768519117 0.825677147376593 410723 7 "2090-5951" "Lot 92 - MSU Clinical Center" "11:10:00" 410724 8 "2090-5802" "SBD Farm Lane past Green Way Drive" "11:10:03"
7364 "2090-4279182" "2090-12482" 990.8125768519117 0.825677147376593 227532 7 "2090-5951" "Lot 92 - MSU Clinical Center" "11:10:00" 227533 8 "2090-5802" "SBD Farm Lane past Green Way Drive" "11:10:03"
5397 "2090-4279082" "2090-12482" 990.8125768519117 0.825677147376593 168501 7 "2090-5951" "Lot 92 - MSU Clinical Center" "11:10:00" 168502 8 "2090-5802" "SBD Farm Lane past Green Way Drive" "11:10:03"
1514 "2090-4275158" "2090-12463" 202.86350367953384 0.22540389297725982 46702 46 "2090-4578" "SBD Balfour Dr. past Miller" "19:53:48" 46703 47 "2090-4739" "SBD Balfour Dr. before Georgetown" "19:53:52"
5390 "2090-4272960" "2090-12456" 800.1574166582598 0.22226594907173883 168238 20 "2090-1803" "NBD Washington before Loa St" "18:50:51" 168239 21 "2090-1804" "NBD Washington past Dunlap St" "18:50:52"
1477 "2090-4272901" "2090-12456" 800.1574166582598 0.22226594907173883 45428 20 "2090-1803" "NBD Washington before Loa St" "18:50:51" 45429 21 "2090-1804" "NBD Washington past Dunlap St" "18:50:52"
2107 "2090-4272842" "2090-12456" 800.1574166582598 0.22226594907173883 65587 20 "2090-1803" "NBD Washington before Loa St" "18:50:51" 65588 21 "2090-1804" "NBD Washington past Dunlap St" "18:50:52"
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.
796 "2090-57266" "2090-4273660" 24805 "2090-3268" "SBD Cedar past E Mason St" [42.690159774316506,-84.54817627666597] 208.96442017894267
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.
108 "2090-57326" "2090-4263081" 3733 "2090-6042" "Capital Area Multimodal Gateway" [42.7188692993846,-84.49643649168124] 3732 "2090-2572" "SBD Harrison before Service Rd" [42.718819000017255,-84.493899]
294 "2090-57278" "2090-4274169" 9398 "2090-5647" "WBD Jolly before Cedar" [42.68297315468037,-84.54599068988091] 9397 "2090-6180" "EBD Jolly past Ora" [42.682987573455605,-84.55469469456926]
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.
"20260504" "20260309" "20260501"