GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-04-23T18:11:19Z,
for the dataset file:///shared/detroit-dot_f94846f3.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Detroit Department of Transportation

Feed Info


Publisher Name:
Detroit Department of Transportation
Feed Email:
N/A
Feed Language:
English
Feed Start Date:
2026-04-27
Feed End Date:
2026-07-03

Files included


  1. agency.txt
  2. calendar.txt
  3. calendar_dates.txt
  4. fare_attributes.txt
  5. fare_rules.txt
  6. feed_info.txt
  7. frequencies.txt
  8. routes.txt
  9. shapes.txt
  10. stop_times.txt
  11. stops.txt
  12. transfers.txt
  13. trips.txt

Counts


  • Agencies: 1
  • Blocks: 418
  • Routes: 37
  • Shapes: 107
  • Stops: 5120
  • Trips: 5872

Specification Compliance report

345 notices reported (104 errors, 241 warnings, 0 infos)

Notice Code Severity Total
block_trips_with_overlapping_stop_times ERROR 104

block_trips_with_overlapping_stop_times

Trips with the same block id have overlapping stop times.

You can see more about this notice here.

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

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.
566 "5279010" "1" 1506 "3613010" "1" "900-1" "20260503"
501 "5790010" "1" 1181 "1617010" "1" "900-1" "20260503"
4857 "1536070" "3" 1176 "1622070" "3" "900-1" "20260502"
1181 "1617010" "1" 584 "5697010" "1" "900-1" "20260503"
1176 "1622070" "3" 4873 "4374070" "3" "900-1" "20260502"
1176 "1622070" "3" 636 "4347070" "3" "900-1" "20260502"
636 "4347070" "3" 1274 "2508070" "3" "900-1" "20260502"
509 "2934010" "1" 1311 "4203010" "1" "900-1" "20260503"
1311 "4203010" "1" 569 "564010" "1" "900-1" "20260503"
1274 "2508070" "3" 655 "1532070" "3" "900-1" "20260502"
1274 "2508070" "3" 4852 "2626070" "3" "900-1" "20260502"
569 "564010" "1" 1130 "358010" "1" "900-1" "20260503"
4852 "2626070" "3" 1155 "552070" "3" "900-1" "20260502"
1130 "358010" "1" 3292 "4515010" "1" "900-1" "20260503"
1155 "552070" "3" 4918 "667070" "3" "900-1" "20260502"
1155 "552070" "3" 606 "2290070" "3" "900-1" "20260502"
1272 "2633010" "1" 3273 "4683010" "1" "900-1" "20260503"
1272 "2633010" "1" 3396 "2515010" "1" "900-1" "20260503"
2379 "1919070" "3" 670 "4602070" "3" "900-1" "20260502"
2379 "1919070" "3" 4858 "650070" "3" "900-1" "20260502"
4858 "650070" "3" 2274 "2645070" "3" "900-1" "20260502"
3396 "2515010" "1" 1149 "5734010" "1" "900-1" "20260503"
2274 "2645070" "3" 4895 "1072070" "3" "900-1" "20260502"
1149 "5734010" "1" 3160 "2786010" "1" "900-1" "20260503"
631 "5068070" "3" 2375 "1534070" "3" "900-1" "20260502"
2375 "1534070" "3" 641 "4682070" "3" "900-1" "20260502"
1265 "2881010" "1" 3313 "711010" "1" "900-1" "20260503"
2132 "4399070" "3" 4828 "3232070" "3" "900-1" "20260502"
4814 "4107070" "3" 309 "4371070" "3" "900-3" "20260502"
309 "4371070" "3" 4751 "2402070" "3" "900-3" "20260502"
4751 "2402070" "3" 404 "599070" "3" "900-3" "20260502"
404 "599070" "3" 4089 "1497070" "3" "900-3" "20260502"
4089 "1497070" "3" 239 "976070" "3" "900-3" "20260502"
239 "976070" "3" 4136 "3516070" "3" "900-3" "20260502"
4136 "3516070" "3" 329 "1619070" "3" "900-3" "20260502"
329 "1619070" "3" 4822 "5422070" "3" "900-3" "20260502"
4822 "5422070" "3" 193 "1956070" "3" "900-3" "20260502"
193 "1956070" "3" 4739 "3717070" "3" "900-3" "20260502"
4739 "3717070" "3" 438 "3594070" "3" "900-3" "20260502"
438 "3594070" "3" 4069 "3989070" "3" "900-3" "20260502"
4619 "5438070" "3" 4107 "2219070" "3" "900-3" "20260502"
4700 "4655070" "3" 4807 "3299070" "3" "900-3" "20260502"
4101 "4831070" "3" 463 "4154070" "3" "900-2" "20260502"
5118 "682010" "1" 2438 "4877010" "1" "900-2" "20260503"
463 "4154070" "3" 4803 "1513070" "3" "900-2" "20260502"
4803 "1513070" "3" 196 "2397070" "3" "900-2" "20260502"
2180 "2282010" "1" 5024 "68010" "1" "900-2" "20260503"
5024 "68010" "1" 1214 "5183010" "1" "900-2" "20260503"
196 "2397070" "3" 4735 "4133070" "3" "900-2" "20260502"
4735 "4133070" "3" 353 "3227070" "3" "900-2" "20260502"
fast_travel_between_consecutive_stops WARNING 225

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 225 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.
2871 "1807010" "32" 214.30891977842376 0.3571815329640396 141112 2 "4073" "Mack & Lannoo" "07:30:11" 141113 3 "5007" "Mack & Warren" "07:30:17"
2871 "1807010" "32" 226.58399408844033 0.3146999917895005 141113 3 "5007" "Mack & Warren" "07:30:17" 141114 4 "4041" "Mack & Canyon" "07:30:22"
2871 "1807010" "32" 174.9189767370325 0.43729744184258124 141114 4 "4041" "Mack & Canyon" "07:30:22" 141115 5 "5008" "Mack & Radnor" "07:30:31"
2871 "1807010" "32" 152.69241624341862 0.21207280033808143 141116 6 "4037" "Mack & Marseilles" "07:30:38" 141117 7 "4030" "Mack & University" "07:30:43"
2871 "1807010" "32" 183.33044555021124 0.15277537129184268 141117 7 "4030" "Mack & University" "07:30:43" 141118 8 "4029" "Mack & Hereford" "07:30:46"
2871 "1807010" "32" 176.35751810071596 0.2939291968345266 141118 8 "4029" "Mack & Hereford" "07:30:46" 141119 9 "4026" "Mack & Woodhall" "07:30:52"
2871 "1807010" "32" 263.42155503293264 0.21951796252744385 141119 9 "4026" "Mack & Woodhall" "07:30:52" 141120 10 "5235" "Mack & Bluehill" "07:30:55"
2863 "961010" "32" 214.30891977842376 0.3571815329640396 75167 2 "4073" "Mack & Lannoo" "09:30:11" 75168 3 "5007" "Mack & Warren" "09:30:17"
2863 "961010" "32" 226.58399408844033 0.3146999917895005 75168 3 "5007" "Mack & Warren" "09:30:17" 75169 4 "4041" "Mack & Canyon" "09:30:22"
2863 "961010" "32" 174.9189767370325 0.43729744184258124 75169 4 "4041" "Mack & Canyon" "09:30:22" 75170 5 "5008" "Mack & Radnor" "09:30:31"
2863 "961010" "32" 152.69241624341862 0.21207280033808143 75171 6 "4037" "Mack & Marseilles" "09:30:38" 75172 7 "4030" "Mack & University" "09:30:43"
2863 "961010" "32" 183.33044555021124 0.15277537129184268 75172 7 "4030" "Mack & University" "09:30:43" 75173 8 "4029" "Mack & Hereford" "09:30:46"
2863 "961010" "32" 176.35751810071596 0.2939291968345266 75173 8 "4029" "Mack & Hereford" "09:30:46" 75174 9 "4026" "Mack & Woodhall" "09:30:52"
2863 "961010" "32" 263.42155503293264 0.21951796252744385 75174 9 "4026" "Mack & Woodhall" "09:30:52" 75175 10 "5235" "Mack & Bluehill" "09:30:55"
2813 "5078010" "32" 186.97358207880723 0.15581131839900603 394954 139 "490" "Mack & Cadieux" "16:18:00" 394955 140 "4024" "Mack & Notre Dame" "16:18:03"
2813 "5078010" "32" 164.07611840970176 0.22788349779125244 394955 140 "4024" "Mack & Notre Dame" "16:18:03" 394956 141 "4025" "Mack & Woodhall" "16:18:08"
2813 "5078010" "32" 167.7134118587961 0.13976117654899675 394956 141 "4025" "Mack & Woodhall" "16:18:08" 394957 142 "4027" "Mack & Neff" "16:18:11"
2813 "5078010" "32" 158.51463239335803 0.30822289632041844 394957 142 "4027" "Mack & Neff" "16:18:11" 394958 143 "5233" "Mack & University" "16:18:18"
2813 "5078010" "32" 178.60744591428417 0.3472922559444414 394958 143 "5233" "Mack & University" "16:18:18" 394959 144 "4038" "Mack & Washington" "16:18:25"
2813 "5078010" "32" 189.76948590057168 0.1581412382504764 394959 144 "4038" "Mack & Washington" "16:18:25" 394960 145 "4039" "Mack & Lincoln" "16:18:28"
2813 "5078010" "32" 196.98848477017322 0.38303316483089234 394961 146 "4040" "Mack & Fisher" "16:18:33" 394962 147 "4042" "Mack & Cloverly" "16:18:40"
2813 "5078010" "32" 165.88811154167502 0.18432012393519445 394962 147 "4042" "Mack & Cloverly" "16:18:40" 394963 148 "4043" "Mack & Calvin" "16:18:44"
2868 "1932010" "32" 214.30891977842376 0.3571815329640396 151539 2 "4073" "Mack & Lannoo" "13:30:11" 151540 3 "5007" "Mack & Warren" "13:30:17"
2868 "1932010" "32" 226.58399408844033 0.3146999917895005 151540 3 "5007" "Mack & Warren" "13:30:17" 151541 4 "4041" "Mack & Canyon" "13:30:22"
2868 "1932010" "32" 174.9189767370325 0.43729744184258124 151541 4 "4041" "Mack & Canyon" "13:30:22" 151542 5 "5008" "Mack & Radnor" "13:30:31"
2868 "1932010" "32" 152.69241624341862 0.21207280033808143 151543 6 "4037" "Mack & Marseilles" "13:30:38" 151544 7 "4030" "Mack & University" "13:30:43"
2868 "1932010" "32" 183.33044555021124 0.15277537129184268 151544 7 "4030" "Mack & University" "13:30:43" 151545 8 "4029" "Mack & Hereford" "13:30:46"
2868 "1932010" "32" 176.35751810071596 0.2939291968345266 151545 8 "4029" "Mack & Hereford" "13:30:46" 151546 9 "4026" "Mack & Woodhall" "13:30:52"
2868 "1932010" "32" 263.42155503293264 0.21951796252744385 151546 9 "4026" "Mack & Woodhall" "13:30:52" 151547 10 "5235" "Mack & Bluehill" "13:30:55"
2764 "5549010" "32" 186.97358207880723 0.15581131839900603 430593 139 "490" "Mack & Cadieux" "18:17:00" 430594 140 "4024" "Mack & Notre Dame" "18:17:03"
2764 "5549010" "32" 164.07611840970176 0.22788349779125244 430594 140 "4024" "Mack & Notre Dame" "18:17:03" 430595 141 "4025" "Mack & Woodhall" "18:17:08"
2764 "5549010" "32" 167.7134118587961 0.13976117654899675 430595 141 "4025" "Mack & Woodhall" "18:17:08" 430596 142 "4027" "Mack & Neff" "18:17:11"
2764 "5549010" "32" 158.51463239335803 0.30822289632041844 430596 142 "4027" "Mack & Neff" "18:17:11" 430597 143 "5233" "Mack & University" "18:17:18"
2764 "5549010" "32" 178.60744591428417 0.3472922559444414 430597 143 "5233" "Mack & University" "18:17:18" 430598 144 "4038" "Mack & Washington" "18:17:25"
2764 "5549010" "32" 189.76948590057168 0.1581412382504764 430598 144 "4038" "Mack & Washington" "18:17:25" 430599 145 "4039" "Mack & Lincoln" "18:17:28"
2764 "5549010" "32" 196.98848477017322 0.38303316483089234 430600 146 "4040" "Mack & Fisher" "18:17:33" 430601 147 "4042" "Mack & Cloverly" "18:17:40"
2764 "5549010" "32" 165.88811154167502 0.18432012393519445 430601 147 "4042" "Mack & Cloverly" "18:17:40" 430602 148 "4043" "Mack & Calvin" "18:17:44"
2797 "1113010" "32" 186.97358207880723 0.15581131839900603 87939 139 "490" "Mack & Cadieux" "08:13:00" 87940 140 "4024" "Mack & Notre Dame" "08:13:03"
2797 "1113010" "32" 164.07611840970176 0.22788349779125244 87940 140 "4024" "Mack & Notre Dame" "08:13:03" 87941 141 "4025" "Mack & Woodhall" "08:13:08"
2797 "1113010" "32" 167.7134118587961 0.13976117654899675 87941 141 "4025" "Mack & Woodhall" "08:13:08" 87942 142 "4027" "Mack & Neff" "08:13:11"
2797 "1113010" "32" 158.51463239335803 0.30822289632041844 87942 142 "4027" "Mack & Neff" "08:13:11" 87943 143 "5233" "Mack & University" "08:13:18"
2797 "1113010" "32" 178.60744591428417 0.3472922559444414 87943 143 "5233" "Mack & University" "08:13:18" 87944 144 "4038" "Mack & Washington" "08:13:25"
2797 "1113010" "32" 189.76948590057168 0.1581412382504764 87944 144 "4038" "Mack & Washington" "08:13:25" 87945 145 "4039" "Mack & Lincoln" "08:13:28"
2797 "1113010" "32" 196.98848477017322 0.38303316483089234 87946 146 "4040" "Mack & Fisher" "08:13:33" 87947 147 "4042" "Mack & Cloverly" "08:13:40"
2797 "1113010" "32" 165.88811154167502 0.18432012393519445 87947 147 "4042" "Mack & Cloverly" "08:13:40" 87948 148 "4043" "Mack & Calvin" "08:13:44"
2865 "4382010" "32" 214.30891977842376 0.3571815329640396 342224 2 "4073" "Mack & Lannoo" "20:30:11" 342225 3 "5007" "Mack & Warren" "20:30:17"
2865 "4382010" "32" 226.58399408844033 0.3146999917895005 342225 3 "5007" "Mack & Warren" "20:30:17" 342226 4 "4041" "Mack & Canyon" "20:30:22"
2865 "4382010" "32" 174.9189767370325 0.43729744184258124 342226 4 "4041" "Mack & Canyon" "20:30:22" 342227 5 "5008" "Mack & Radnor" "20:30:31"
2865 "4382010" "32" 152.69241624341862 0.21207280033808143 342228 6 "4037" "Mack & Marseilles" "20:30:38" 342229 7 "4030" "Mack & University" "20:30:43"
2865 "4382010" "32" 183.33044555021124 0.15277537129184268 342229 7 "4030" "Mack & University" "20:30:43" 342230 8 "4029" "Mack & Hereford" "20:30:46"
missing_feed_contact_email_and_url WARNING 1

missing_feed_contact_email_and_url

Best Practices for feed_info.txt suggest providing at least one of feed_contact_email and feed_contact_url.

You can see more about this notice here.

csvRowNumber (?) The row number of the validated record.
2
missing_recommended_field WARNING 3

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.
"fare_attributes.txt" 2 "agency_id"
"fare_attributes.txt" 3 "agency_id"
"fare_attributes.txt" 4 "agency_id"
stop_without_stop_time WARNING 10

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.
1082 "5445" "Clairmount & Linwood"
2177 "3212" "Junction & Christiancy"
2184 "3220" "Junction & Toledo"
2193 "3233" "35th & I-94 Service Dr"
2194 "3234" "35th & Horatio"
2196 "3238" "Junction & Devereaux"
2219 "3268" "Junction & Porter"
2687 "940" "Junction & I-75 Service Dr"
3824 "1505" "Junction & McGraw"
4957 "4846" "Junction & Vernor"
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.
"20260423" "20260427" "20260710"
unused_shape WARNING 1

unused_shape

Shape is not used in GTFS file trips.txt.

All records defined by GTFS shapes.txt should be used in trips.txt.

You can see more about this notice here.

shapeId (?) The faulty record's id. csvRowNumber (?) The row number of the faulty record.
"shp-11-57" 6749