GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-23T16:40:00Z,
for the dataset file:///shared/maryland-transit-administration.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


Feed Info


Publisher Name:
Transit Services of Frederick County
Feed Email:
Transit@FrederickCountyMD.gov
Feed Language:
English
Feed Start Date:
2023-12-31
Feed End Date:
2025-02-28

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. routes.txt
  8. shapes.txt
  9. stop_times.txt
  10. stops.txt
  11. transfers.txt
  12. trips.txt

Counts


  • Agencies: 1
  • Blocks: 56
  • Routes: 16
  • Shapes: 37
  • Stops: 383
  • Trips: 824

Specification Compliance report

354 notices reported (148 errors, 206 warnings, 0 infos)

Notice Code Severity Total
decreasing_or_equal_stop_time_distance ERROR 36

decreasing_or_equal_stop_time_distance

Decreasing or equal shape_dist_traveled in stop_times.txt.

When sorted by stop_times.stop_sequence, two consecutive entries in stop_times.txt should have increasing distance, based on the field shape_dist_traveled. If the values are equal, this is considered as an error.

You can see more about this notice here.

tripId (?) The id of the faulty trip. stopId (?) The id of the faulty stop. csvRowNumber (?) The row number from `stop_times.txt`. shapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the faulty record. stopSequence (?) The faulty record's `stop_times.stop_sequence`. prevCsvRowNumber (?) The row number from `stop_times.txt` of the previous stop time. prevShapeDistTraveled (?) Actual distance traveled along the shape from the first shape point to the previous stop time. prevStopSequence (?) The previous record's `stop_times.stop_sequence`.
"20 Connector Monday - Friday Transit Center_T20" "41" 4452 3.587 10 4451 3.587 9
"20 Connector Monday - Friday Transit Center_T21" "41" 4468 3.587 10 4467 3.587 9
"20 Connector Monday - Friday Transit Center_T22" "41" 4484 3.587 10 4483 3.587 9
"20 Connector Monday - Friday Transit Center_T23" "41" 4500 3.587 10 4499 3.587 9
"20 Connector Monday - Friday Transit Center_T13" "41" 4340 3.587 10 4339 3.587 9
"20 Connector Monday - Friday Transit Center_T14" "41" 4356 3.587 10 4355 3.587 9
"20 Connector Monday - Friday Transit Center_T15" "41" 4372 3.587 10 4371 3.587 9
"20 Connector Monday - Friday Transit Center_T16" "41" 4388 3.587 10 4387 3.587 9
"20 Connector Monday - Friday Transit Center_T10" "41" 4292 3.587 10 4291 3.587 9
"20 Connector Monday - Friday Transit Center_T11" "41" 4308 3.587 10 4307 3.587 9
"20 Connector Monday - Friday Transit Center_T12" "41" 4324 3.587 10 4323 3.587 9
"20 Connector Monday - Friday Transit Center_T17" "41" 4404 3.587 10 4403 3.587 9
"20 Connector Monday - Friday Transit Center_T18" "41" 4420 3.587 10 4419 3.587 9
"20 Connector Monday - Friday Transit Center_T19" "41" 4436 3.587 10 4435 3.587 9
"20 Connector Monday - Friday Transit Center_T02" "41" 4164 3.587 10 4163 3.587 9
"20 Connector Monday - Friday Transit Center_T03" "41" 4180 3.587 10 4179 3.587 9
"20 Connector Monday - Friday Transit Center_T04" "41" 4196 3.587 10 4195 3.587 9
"20 Connector Monday - Friday Transit Center_T05" "41" 4212 3.587 10 4211 3.587 9
"20 Connector Monday - Friday Transit Center_T01" "41" 4148 3.587 10 4147 3.587 9
"20 Connector Monday - Friday Transit Center_T06" "41" 4228 3.587 10 4227 3.587 9
"20 Connector Monday - Friday Transit Center_T07" "41" 4244 3.587 10 4243 3.587 9
"20 Connector Monday - Friday Transit Center_T08" "41" 4260 3.587 10 4259 3.587 9
"20 Connector Monday - Friday Transit Center_T09" "41" 4276 3.587 10 4275 3.587 9
"20 Connector Saturday to Transit Center_T12" "41" 4986 3.587 10 4985 3.587 9
"20 Connector Saturday to Transit Center_T11" "41" 4970 3.587 10 4969 3.587 9
"20 Connector Saturday to Transit Center_T10" "41" 4954 3.587 10 4953 3.587 9
"20 Connector Saturday to Transit Center_T13" "41" 5002 3.587 10 5001 3.587 9
"20 Connector Saturday to Transit Center_T09" "41" 4938 3.587 10 4937 3.587 9
"20 Connector Saturday to Transit Center_T08" "41" 4922 3.587 10 4921 3.587 9
"20 Connector Saturday to Transit Center_T07" "41" 4906 3.587 10 4905 3.587 9
"20 Connector Saturday to Transit Center_T06" "41" 4890 3.587 10 4889 3.587 9
"20 Connector Saturday to Transit Center_T01" "41" 4810 3.587 10 4809 3.587 9
"20 Connector Saturday to Transit Center_T05" "41" 4874 3.587 10 4873 3.587 9
"20 Connector Saturday to Transit Center_T04" "41" 4858 3.587 10 4857 3.587 9
"20 Connector Saturday to Transit Center_T03" "41" 4842 3.587 10 4841 3.587 9
"20 Connector Saturday to Transit Center_T02" "41" 4826 3.587 10 4825 3.587 9
stop_time_timepoint_without_times ERROR 112

stop_time_timepoint_without_times

arrival_time or departure_time not specified for timepoint.

Any records with stop_times.timepoint set to 1 must define a value for stop_times.arrival_time and stop_times.departure_time fields.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. tripId (?) The faulty record's id. stopSequence (?) The faulty record's `stops.stop_sequence`. specifiedField (?) Either `departure_time` or `arrival_time`.
4524 "20 Connector Saturday to FSK Mall_T01" 18 "arrival_time"
4524 "20 Connector Saturday to FSK Mall_T01" 18 "departure_time"
4545 "20 Connector Saturday to FSK Mall_T02" 18 "arrival_time"
4545 "20 Connector Saturday to FSK Mall_T02" 18 "departure_time"
4566 "20 Connector Saturday to FSK Mall_T03" 18 "arrival_time"
4566 "20 Connector Saturday to FSK Mall_T03" 18 "departure_time"
4587 "20 Connector Saturday to FSK Mall_T04" 18 "arrival_time"
4587 "20 Connector Saturday to FSK Mall_T04" 18 "departure_time"
4608 "20 Connector Saturday to FSK Mall_T05" 18 "arrival_time"
4608 "20 Connector Saturday to FSK Mall_T05" 18 "departure_time"
4629 "20 Connector Saturday to FSK Mall_T06" 18 "arrival_time"
4629 "20 Connector Saturday to FSK Mall_T06" 18 "departure_time"
4650 "20 Connector Saturday to FSK Mall_T07" 18 "arrival_time"
4650 "20 Connector Saturday to FSK Mall_T07" 18 "departure_time"
4671 "20 Connector Saturday to FSK Mall_T08" 18 "arrival_time"
4671 "20 Connector Saturday to FSK Mall_T08" 18 "departure_time"
4692 "20 Connector Saturday to FSK Mall_T09" 18 "arrival_time"
4692 "20 Connector Saturday to FSK Mall_T09" 18 "departure_time"
4713 "20 Connector Saturday to FSK Mall_T10" 18 "arrival_time"
4713 "20 Connector Saturday to FSK Mall_T10" 18 "departure_time"
4734 "20 Connector Saturday to FSK Mall_T11" 18 "arrival_time"
4734 "20 Connector Saturday to FSK Mall_T11" 18 "departure_time"
4755 "20 Connector Saturday to FSK Mall_T12" 18 "arrival_time"
4755 "20 Connector Saturday to FSK Mall_T12" 18 "departure_time"
4776 "20 Connector Saturday to FSK Mall_T13" 18 "arrival_time"
4776 "20 Connector Saturday to FSK Mall_T13" 18 "departure_time"
4797 "20 Connector Saturday to FSK Mall_T14" 18 "arrival_time"
4797 "20 Connector Saturday to FSK Mall_T14" 18 "departure_time"
5792 "40 Connector Holiday to Transit Center_T01" 7 "arrival_time"
5792 "40 Connector Holiday to Transit Center_T01" 7 "departure_time"
5806 "40 Connector Holiday to Transit Center_T02" 7 "arrival_time"
5806 "40 Connector Holiday to Transit Center_T02" 7 "departure_time"
5820 "40 Connector Holiday to Transit Center_T03" 7 "arrival_time"
5820 "40 Connector Holiday to Transit Center_T03" 7 "departure_time"
5834 "40 Connector Holiday to Transit Center_T04" 7 "arrival_time"
5834 "40 Connector Holiday to Transit Center_T04" 7 "departure_time"
5848 "40 Connector Holiday to Transit Center_T05" 7 "arrival_time"
5848 "40 Connector Holiday to Transit Center_T05" 7 "departure_time"
5862 "40 Connector Holiday to Transit Center_T06" 7 "arrival_time"
5862 "40 Connector Holiday to Transit Center_T06" 7 "departure_time"
5876 "40 Connector Holiday to Transit Center_T07" 7 "arrival_time"
5876 "40 Connector Holiday to Transit Center_T07" 7 "departure_time"
5890 "40 Connector Holiday to Transit Center_T08" 7 "arrival_time"
5890 "40 Connector Holiday to Transit Center_T08" 7 "departure_time"
5904 "40 Connector Holiday to Transit Center_T09" 7 "arrival_time"
5904 "40 Connector Holiday to Transit Center_T09" 7 "departure_time"
5918 "40 Connector Holiday to Transit Center_T10" 7 "arrival_time"
5918 "40 Connector Holiday to Transit Center_T10" 7 "departure_time"
5932 "40 Connector Holiday to Transit Center_T11" 7 "arrival_time"
5932 "40 Connector Holiday to Transit Center_T11" 7 "departure_time"
equal_shape_distance_same_coordinates WARNING 189

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 189 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`.
"51ftm" 1356 2.013 30 1355 2.013 29
"51ftm" 1393 5.011 67 1392 5.011 66
"ET_ob_s" 4021 2.806 27 4020 2.806 26
"ET_ob_s" 4038 3.859 44 4037 3.859 43
"ET_ob_s" 4091 10.06 97 4090 10.06 96
"ET_ob_s" 4129 14.06 135 4128 14.06 134
"ET_ob_s" 4144 18.06 150 4143 18.06 149
"ET_ob_s" 4162 22.06 168 4161 22.06 167
"ET_ob_s" 4213 29.904 219 4212 29.904 218
"ET_ob_s" 4246 33.904 252 4245 33.904 251
"ET_ob_s" 4272 37.904 278 4271 37.904 277
"ET_ib_s" 5266 8.044 79 5265 8.044 78
"ET_ib_s" 5321 16.225 134 5320 16.225 133
"ET_ib_s" 5346 20.225 159 5345 20.225 158
"ET_ib_s" 5364 24.225 177 5363 24.225 176
"ET_ib_s" 5376 28.225 189 5375 28.225 188
"ET_ib_s" 5408 32.225 221 5407 32.225 220
"ET_ob" 3730 2.81 26 3729 2.81 25
"ET_ob" 3747 3.862 43 3746 3.862 42
"ET_ob" 3775 7.862 71 3774 7.862 70
"ET_ob" 3813 11.862 109 3812 11.862 108
"ET_ob" 3828 15.862 124 3827 15.862 123
"ET_ob" 3846 19.862 142 3845 19.862 141
"ET_ob" 3897 27.706 193 3896 27.706 192
"ET_ob" 3930 31.706 226 3929 31.706 225
"ET_ob" 3956 35.706 252 3955 35.706 251
"51tc" 1465 0.679 14 1464 0.679 13
"51tc" 1490 1.679 39 1489 1.679 38
"51tc" 1514 2.678 63 1513 2.678 62
"51tc" 1537 3.678 86 1536 3.678 85
"51tc" 1547 4.678 96 1546 4.678 95
"51tc" 1566 5.678 115 1565 5.678 114
"51tc" 1582 6.678 131 1581 6.678 130
"51tc" 1595 7.653 144 1594 7.653 143
"51tc" 1608 8.651 157 1607 8.651 156
"40ftm" 7244 0.0 2 7243 0.0 1
"40ftm" 7245 0.0 3 7244 0.0 2
"40ftm" 7277 2.0 35 7276 2.0 34
"ET_ib" 5615 8.051 76 5614 8.051 75
"ET_ib" 5669 16.225 130 5668 16.225 129
"ET_ib" 5694 20.225 155 5693 20.225 154
"ET_ib" 5712 24.225 173 5711 24.225 172
"ET_ib" 5724 28.225 185 5723 28.225 184
"ET_ib" 5756 32.225 217 5755 32.225 216
"POR_ob" 2695 0.0 2 2694 0.0 1
"POR_ob" 2696 0.0 3 2695 0.0 2
"POR_ob" 2711 1.0 18 2710 1.0 17
"POR_ob" 2721 2.0 28 2720 2.0 27
"POR_ob" 2734 3.0 41 2733 3.0 40
"POR_ob" 2755 4.0 62 2754 4.0 61
expired_calendar WARNING 4

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.
2 "mf"
3 "s"
4 "h"
5 "ms"
feed_expiration_date7_days WARNING 1

feed_expiration_date7_days

Dataset should be valid for at least the next 7 days.

The dataset expiration date defined in feed_info.txt is in seven days or less. At any time, the published GTFS dataset should be valid for at least the next 7 days.

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" "20250228" "20260130"
stop_too_far_from_shape WARNING 3

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.
502 "60fcc" "60 Connector Holiday to FCC_T01" 11481 "170" "East South Street at Water Street" [39.411598999999995,-77.405301] 180.95085928670028
51 "10fsk" "10 Connector_ Monday - Friday to FSK_on-call MARC_T01" 1930 "386" "Monocacy MARC Train Station" [39.3822,-77.40218] 673.8452400071305
723 "bwk_ib" "BJ Shuttle ib holiday_T01" 15661 "519" "Jefferson Tech Park (Jefferson Station Boulevard at Mary Lou Lane)" [39.391234019860384,-77.4492672051019] 333.5857977512846
stop_too_far_from_shape_using_user_distance WARNING 5

stop_too_far_from_shape_using_user_distance

Stop time too far from shape.

A stop time entry that is a large distance away from the location of the shape in shapes.txt as defined by shape_dist_traveled values.

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.
586 "65walk" "65_ob_mf_T01" 13277 "467" "North East Street (northbound) at 16th Street" [39.43505,-77.40274000000001] 162.25410987503025
586 "65walk" "65_ob_mf_T01" 13282 "355" "Stauffer Road at Dream Place (Discovery)" [39.46377000000001,-77.36087] 107.49147779845639
502 "60fcc" "60 Connector Holiday to FCC_T01" 11482 "162" "East Street at Transit Center" [39.413868,-77.405316] 193.1845269029028
602 "65tc" "65_ib_mf_T01" 13477 "471" "North East Street (southbound) at 16th Street" [39.43505,-77.40274000000001] 166.58457380477876
723 "bwk_ib" "BJ Shuttle ib holiday_T01" 15660 "441" "Jefferson Market" [39.360913,-77.540094] 112.40483231781181
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.
61 "73" "Spectrum Drive at New Horizon Way"
62 "74" "Spectrum Drive at New Technology Way"
204 "316" "Spectrum Drive across from Sleep Inn"
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.
"20260123" "20240102" "20250228"