oxford-transit — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-07T19:33:45Z,
for the dataset file:///shared/oxford-transit_832d3446.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.txt
    3. calendar_dates.txt
    4. fare_attributes.txt
    5. fare_rules.txt
    6. frequencies.txt
    7. routes.txt
    8. shapes.txt
    9. stop_times.txt
    10. stops.txt
    11. transfers.txt
    12. trips.txt

    Counts


    • Agencies: 0
    • Blocks: 40
    • Routes: 35
    • Shapes: 34
    • Stops: 243
    • Trips: 450

    Specification Compliance report

    159 notices reported (108 errors, 28 warnings, 23 infos)

    Notice Code Severity Total
    block_trips_with_overlapping_stop_times ERROR 105

    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 105 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.
    11 "TL-5425" "TL-14" 12 "TL-5426" "TL-14" "SR_Sat_01" "20230310"
    312 "TL-17741" "TL-67" 313 "TL-17742" "TL-67" "Route 15_Rebel Red" "20260130"
    285 "TL-17725" "TL-67" 286 "TL-17745" "TL-67" "Route 6_Green" "20260130"
    78 "TL-17243" "TL-36" 81 "TL-17246" "TL-37" "Route 22_Bus 2_AM" "20240927"
    79 "TL-17244" "TL-36" 82 "TL-17247" "TL-37" "Route 22_Bus 2_AM" "20240927"
    79 "TL-17244" "TL-36" 80 "TL-17245" "TL-36" "Route 22_Bus 2_AM" "20240927"
    82 "TL-17247" "TL-37" 80 "TL-17245" "TL-36" "Route 22_Bus 2_AM" "20240927"
    181 "TL-17727" "TL-67" 182 "TL-17746" "TL-67" "Route 7_Hathorn" "20260130"
    181 "TL-17727" "TL-67" 183 "TL-17748" "TL-67" "Route 7_Hathorn" "20260130"
    182 "TL-17746" "TL-67" 183 "TL-17748" "TL-67" "Route 7_Hathorn" "20260130"
    315 "TL-17744" "TL-67" 314 "TL-17743" "TL-67" "Route 16_Rebel Blue" "20260130"
    310 "TL-17737" "TL-67" 311 "TL-17738" "TL-67" "Route 14_Gold/SOC" "20260130"
    442 "TL-2432" "TL-7" 443 "TL-2452" "TL-7" "1500" "20220918"
    442 "TL-2432" "TL-7" 444 "TL-2453" "TL-7" "1500" "20220918"
    442 "TL-2432" "TL-7" 445 "TL-2454" "TL-7" "1500" "20220918"
    442 "TL-2432" "TL-7" 446 "TL-2455" "TL-7" "1500" "20220918"
    442 "TL-2432" "TL-7" 447 "TL-2456" "TL-7" "1500" "20220918"
    442 "TL-2432" "TL-7" 448 "TL-2457" "TL-7" "1500" "20220918"
    442 "TL-2432" "TL-7" 449 "TL-2458" "TL-7" "1500" "20220918"
    442 "TL-2432" "TL-7" 450 "TL-2459" "TL-7" "1500" "20220918"
    442 "TL-2432" "TL-7" 451 "TL-2460" "TL-7" "1500" "20220918"
    443 "TL-2452" "TL-7" 444 "TL-2453" "TL-7" "1500" "20220918"
    443 "TL-2452" "TL-7" 445 "TL-2454" "TL-7" "1500" "20220918"
    443 "TL-2452" "TL-7" 446 "TL-2455" "TL-7" "1500" "20220918"
    443 "TL-2452" "TL-7" 447 "TL-2456" "TL-7" "1500" "20220918"
    443 "TL-2452" "TL-7" 448 "TL-2457" "TL-7" "1500" "20220918"
    443 "TL-2452" "TL-7" 449 "TL-2458" "TL-7" "1500" "20220918"
    443 "TL-2452" "TL-7" 450 "TL-2459" "TL-7" "1500" "20220918"
    443 "TL-2452" "TL-7" 451 "TL-2460" "TL-7" "1500" "20220918"
    444 "TL-2453" "TL-7" 445 "TL-2454" "TL-7" "1500" "20220918"
    444 "TL-2453" "TL-7" 446 "TL-2455" "TL-7" "1500" "20220918"
    444 "TL-2453" "TL-7" 447 "TL-2456" "TL-7" "1500" "20220918"
    444 "TL-2453" "TL-7" 448 "TL-2457" "TL-7" "1500" "20220918"
    444 "TL-2453" "TL-7" 449 "TL-2458" "TL-7" "1500" "20220918"
    444 "TL-2453" "TL-7" 450 "TL-2459" "TL-7" "1500" "20220918"
    444 "TL-2453" "TL-7" 451 "TL-2460" "TL-7" "1500" "20220918"
    445 "TL-2454" "TL-7" 446 "TL-2455" "TL-7" "1500" "20220918"
    445 "TL-2454" "TL-7" 447 "TL-2456" "TL-7" "1500" "20220918"
    445 "TL-2454" "TL-7" 448 "TL-2457" "TL-7" "1500" "20220918"
    445 "TL-2454" "TL-7" 449 "TL-2458" "TL-7" "1500" "20220918"
    445 "TL-2454" "TL-7" 450 "TL-2459" "TL-7" "1500" "20220918"
    445 "TL-2454" "TL-7" 451 "TL-2460" "TL-7" "1500" "20220918"
    446 "TL-2455" "TL-7" 447 "TL-2456" "TL-7" "1500" "20220918"
    446 "TL-2455" "TL-7" 448 "TL-2457" "TL-7" "1500" "20220918"
    446 "TL-2455" "TL-7" 449 "TL-2458" "TL-7" "1500" "20220918"
    446 "TL-2455" "TL-7" 450 "TL-2459" "TL-7" "1500" "20220918"
    446 "TL-2455" "TL-7" 451 "TL-2460" "TL-7" "1500" "20220918"
    447 "TL-2456" "TL-7" 448 "TL-2457" "TL-7" "1500" "20220918"
    447 "TL-2456" "TL-7" 449 "TL-2458" "TL-7" "1500" "20220918"
    447 "TL-2456" "TL-7" 450 "TL-2459" "TL-7" "1500" "20220918"
    duplicate_key ERROR 1

    duplicate_key

    Duplicated entity.

    The values of the given key and rows are duplicates.

    You can see more about this notice here.

    filename (?) The name of the faulty file oldCsvRowNumber (?) The row of the first occurrence. newCsvRowNumber (?) The row of the other occurrence. fieldName1 (?) Composite key's first field name. fieldValue1 (?) Composite key's first value.
    "stop_times.txt" 1925 1926 "trip_id,stop_sequence" "TL-17734,180"
    invalid_url ERROR 1

    invalid_url

    A field contains a malformed URL.

    Definitions for valid URLs are quite vague. We perform strict validation using the Apache Commons UrlValidator.

    You can see more about this notice here.

    filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
    "agency.txt" 2 "agency_url" "outransit.transloc.com"
    start_and_end_range_equal ERROR 1

    start_and_end_range_equal

    Two date or time fields are equal.

    The fields frequencies.start_date and frequencies.end_date have been found equal in frequencies.txt. The GTFS spec is currently unclear how this case should be handled (e.g., is it a trip that circulates once?). It is recommended to use a trip not defined via frequencies.txt for this case.

    You can see more about this notice here.

    filename (?) The name of the faulty file. csvRowNumber (?) The row number of the faulty record. startFieldName (?) The start value's field name. endFieldName (?) The end value's field name. value (?) The faulty value.
    "frequencies.txt" 83 "start_time" "end_time" "23:53:00"
    fast_travel_between_consecutive_stops WARNING 19

    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.

    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.
    102 "TL-17622" "TL-99" 224.77503096092641 3.74625051601544 1051 20 "TL-106" "Anderson/Heritage" "23:56:00" 1060 110 "TL-219" "Square Parking" "23:56:00"
    436 "TL-17871" "TL-97" 173.64537117911783 2.894089519651964 3760 210 "TL-53" "Post Office" "16:30:00" 3762 1050 "TL-287" "Safety Stop WB" "16:30:00"
    432 "TL-17867" "TL-97" 173.64537117911783 2.894089519651964 3656 210 "TL-53" "Post Office" "13:10:00" 3658 1050 "TL-287" "Safety Stop WB" "13:10:00"
    425 "TL-17860" "TL-97" 173.64537117911783 2.894089519651964 3474 210 "TL-53" "Post Office" "07:20:00" 3476 1050 "TL-287" "Safety Stop WB" "07:20:00"
    438 "TL-17873" "TL-97" 173.64537117911783 2.894089519651964 3812 210 "TL-53" "Post Office" "18:10:00" 3814 1050 "TL-287" "Safety Stop WB" "18:10:00"
    434 "TL-17869" "TL-97" 173.64537117911783 2.894089519651964 3708 210 "TL-53" "Post Office" "14:50:00" 3710 1050 "TL-287" "Safety Stop WB" "14:50:00"
    429 "TL-17864" "TL-97" 173.64537117911783 2.894089519651964 3578 210 "TL-53" "Post Office" "10:40:00" 3580 1050 "TL-287" "Safety Stop WB" "10:40:00"
    430 "TL-17865" "TL-97" 173.64537117911783 2.894089519651964 3604 210 "TL-53" "Post Office" "11:30:00" 3606 1050 "TL-287" "Safety Stop WB" "11:30:00"
    164 "TL-17711" "TL-98" 168.08340431251943 2.8013900718753235 1664 1 "TL-247" "South Lamar/Taylor" "00:00:00" 1672 90 "TL-98" "The Azul" "00:00:00"
    433 "TL-17868" "TL-97" 173.64537117911783 2.894089519651964 3682 210 "TL-53" "Post Office" "14:00:00" 3684 1050 "TL-287" "Safety Stop WB" "14:00:00"
    428 "TL-17863" "TL-97" 173.64537117911783 2.894089519651964 3552 210 "TL-53" "Post Office" "09:50:00" 3554 1050 "TL-287" "Safety Stop WB" "09:50:00"
    426 "TL-17861" "TL-97" 173.64537117911783 2.894089519651964 3500 210 "TL-53" "Post Office" "08:10:00" 3502 1050 "TL-287" "Safety Stop WB" "08:10:00"
    427 "TL-17862" "TL-97" 173.64537117911783 2.894089519651964 3526 210 "TL-53" "Post Office" "09:00:00" 3528 1050 "TL-287" "Safety Stop WB" "09:00:00"
    440 "TL-17875" "TL-97" 173.64537117911783 2.894089519651964 3864 210 "TL-53" "Post Office" "19:50:00" 3866 1050 "TL-287" "Safety Stop WB" "19:50:00"
    431 "TL-17866" "TL-97" 173.64537117911783 2.894089519651964 3630 210 "TL-53" "Post Office" "12:20:00" 3632 1050 "TL-287" "Safety Stop WB" "12:20:00"
    435 "TL-17870" "TL-97" 173.64537117911783 2.894089519651964 3734 210 "TL-53" "Post Office" "15:40:00" 3736 1050 "TL-287" "Safety Stop WB" "15:40:00"
    437 "TL-17872" "TL-97" 173.64537117911783 2.894089519651964 3786 210 "TL-53" "Post Office" "17:20:00" 3788 1050 "TL-287" "Safety Stop WB" "17:20:00"
    439 "TL-17874" "TL-97" 173.64537117911783 2.894089519651964 3838 210 "TL-53" "Post Office" "19:00:00" 3840 1050 "TL-287" "Safety Stop WB" "19:00:00"
    165 "TL-17712" "TL-98" 150.97513578020153 2.516252263003359 1675 1 "TL-247" "South Lamar/Taylor" "00:03:00" 1676 20 "TL-151" "North Mill" "00:03:00"
    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"
    stop_too_far_from_shape WARNING 5

    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.
    425 "TL-97" "TL-17860" 3463 "TL-319" "Red Point 1" [34.3697324688,-89.5681250944] 177.6624354998539
    288 "TL-76" "TL-17729" 1845 "TL-320" "Red Point 2" [34.371274007237275,-89.56694599276504] 166.12156488099666
    288 "TL-76" "TL-17729" 1846 "TL-319" "Red Point 1" [34.3708421623542,-89.56716466828168] 153.66881047062358
    95 "TL-99" "TL-17615" 975 "TL-319" "Red Point 1" [34.369697807,-89.568002048] 185.28738368606622
    137 "TL-29" "TL-2431" 5751 "TL-237" "Obersvatory" [34.37001999999999,-89.54567] 1060.0258740837612
    stops_match_shape_out_of_order WARNING 1

    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.
    16 "TL-62" "TL-16096" 291 "TL-287" "Safety Stop WB" [34.368213444767385,-89.56054647438775] 290 "TL-102" "Campus Walk" [34.36296,-89.54779]
    unused_shape WARNING 2

    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.
    "TL-19" 25643
    "TL-20" 26424
    service_extends_far_in_the_future INFO 22

    service_extends_far_in_the_future

    A service end date is more than 2 years in the future.

    You can see more about this notice here.

    serviceId (?) The service_id that ends far in the future. serviceWindowEndDate (?) The end date of the service (YYYY-MM-DD format).
    "TL-6" "2032-09-25"
    "TL-7" "2032-09-26"
    "TL-14" "2050-03-06"
    "TL-31" "2050-12-25"
    "TL-32" "2050-12-24"
    "TL-35" "2050-12-30"
    "TL-36" "2050-12-30"
    "TL-37" "2050-12-30"
    "TL-41" "2050-05-25"
    "TL-42" "2050-05-25"
    "TL-43" "2050-05-20"
    "TL-44" "2050-05-21"
    "TL-45" "2050-05-25"
    "TL-49" "2050-05-25"
    "TL-54" "2050-05-21"
    "TL-55" "2050-05-22"
    "TL-56" "2050-05-21"
    "TL-64" "2050-05-22"
    "TL-65" "2050-05-21"
    "TL-66" "2050-05-22"
    "TL-67" "2050-12-30"
    "TL-68" "2050-12-24"
    unsorted_stop_times INFO 1

    unsorted_stop_times

    Stop times are not sorted by trip_id and stop_sequence.

    'stop_times.txt' entries for a given trip are not sorted by stop_sequence, or are not contiguous in the file.

    You can see more about this notice here.

    tripId (?) The faulty record's trip_id. startCsvRowNumber (?) CSV row number of the first stop_times entry for this trip. endCsvRowNumber (?) CSV row number of the last stop_times entry for this trip.
    "TL-17734" 1908 1926