GTFS Schedule Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 7.1.0 at 2026-01-23T14:36:25Z,
for the dataset file:///shared/tuticket.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. routes.txt
  5. shapes.txt
  6. stop_times.txt
  7. stops.txt
  8. trips.txt

Counts


  • Agencies: 1
  • Blocks: 0
  • Routes: 364
  • Shapes: 2157
  • Stops: 713
  • Trips: 16381

Specification Compliance report

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

Notice Code Severity Total
duplicate_route_name WARNING 312

duplicate_route_name

Two distinct routes have either the same route_short_name, the same route_long_name, or the same combination of route_short_name and route_long_name.

All routes of the same route_type with the same agency_id should have unique combinations of route_short_name and route_long_name.

Note that there may be valid cases where routes have the same short and long name, e.g., if they serve different areas. However, different directions must be modeled as the same route.

Example of bad data:

route_id route_short_name route_long_name
route1 U1 Southern
route2 U1 Southern

You can see more about this notice here.

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

csvRowNumber1 (?) The row number of the first occurrence. routeId1 (?) The id of the the first occurrence. csvRowNumber2 (?) The row number of the other occurrence. routeId2 (?) The id of the the other occurrence. routeShortName (?) Common `routes.route_short_name`. routeLongName (?) Common `routes.route_long_name`. routeTypeValue (?) Common `routes.route_type`. agencyId (?) Common `routes.agency_id`.
2 "1-105-j23-10" 3 "1-105-j23-11" "105" "105" 3 "1"
2 "1-105-j23-10" 4 "1-105-j23-12" "105" "105" 3 "1"
2 "1-105-j23-10" 5 "1-105-j23-6" "105" "105" 3 "1"
2 "1-105-j23-10" 6 "1-105-j23-7" "105" "105" 3 "1"
2 "1-105-j23-10" 7 "1-105-j23-8" "105" "105" 3 "1"
2 "1-105-j23-10" 8 "1-105-j23-9" "105" "105" 3 "1"
9 "1-107-j23-3" 10 "1-107-j23-4" "107" "107" 3 "1"
9 "1-107-j23-3" 11 "1-107-j23-5" "107" "107" 3 "1"
9 "1-107-j23-3" 12 "1-107-j23-6" "107" "107" 3 "1"
9 "1-107-j23-3" 13 "1-107-j23-7" "107" "107" 3 "1"
9 "1-107-j23-3" 14 "1-107-j23-8" "107" "107" 3 "1"
9 "1-107-j23-3" 15 "1-107-j23-9" "107" "107" 3 "1"
16 "1-110-j23-10" 17 "1-110-j23-11" "110" "110" 3 "1"
16 "1-110-j23-10" 18 "1-110-j23-12" "110" "110" 3 "1"
16 "1-110-j23-10" 19 "1-110-j23-6" "110" "110" 3 "1"
16 "1-110-j23-10" 20 "1-110-j23-7" "110" "110" 3 "1"
16 "1-110-j23-10" 21 "1-110-j23-8" "110" "110" 3 "1"
16 "1-110-j23-10" 22 "1-110-j23-9" "110" "110" 3 "1"
23 "1-112-j23-3" 24 "1-112-j23-4" "112" "112" 3 "1"
23 "1-112-j23-3" 25 "1-112-j23-5" "112" "112" 3 "1"
23 "1-112-j23-3" 26 "1-112-j23-6" "112" "112" 3 "1"
23 "1-112-j23-3" 27 "1-112-j23-7" "112" "112" 3 "1"
23 "1-112-j23-3" 28 "1-112-j23-8" "112" "112" 3 "1"
23 "1-112-j23-3" 29 "1-112-j23-9" "112" "112" 3 "1"
30 "1-115-j23-10" 31 "1-115-j23-11" "115" "115" 3 "1"
30 "1-115-j23-10" 32 "1-115-j23-12" "115" "115" 3 "1"
30 "1-115-j23-10" 33 "1-115-j23-6" "115" "115" 3 "1"
30 "1-115-j23-10" 34 "1-115-j23-7" "115" "115" 3 "1"
30 "1-115-j23-10" 35 "1-115-j23-8" "115" "115" 3 "1"
30 "1-115-j23-10" 36 "1-115-j23-9" "115" "115" 3 "1"
37 "1-117-j23-10" 38 "1-117-j23-11" "117" "117" 3 "1"
37 "1-117-j23-10" 39 "1-117-j23-12" "117" "117" 3 "1"
37 "1-117-j23-10" 40 "1-117-j23-6" "117" "117" 3 "1"
37 "1-117-j23-10" 41 "1-117-j23-7" "117" "117" 3 "1"
37 "1-117-j23-10" 42 "1-117-j23-8" "117" "117" 3 "1"
37 "1-117-j23-10" 43 "1-117-j23-9" "117" "117" 3 "1"
44 "1-120-j23-10" 45 "1-120-j23-11" "120" "120" 3 "1"
44 "1-120-j23-10" 46 "1-120-j23-12" "120" "120" 3 "1"
44 "1-120-j23-10" 47 "1-120-j23-6" "120" "120" 3 "1"
44 "1-120-j23-10" 48 "1-120-j23-7" "120" "120" 3 "1"
44 "1-120-j23-10" 49 "1-120-j23-8" "120" "120" 3 "1"
44 "1-120-j23-10" 50 "1-120-j23-9" "120" "120" 3 "1"
51 "1-122-j23-3" 52 "1-122-j23-4" "122" "122" 3 "1"
51 "1-122-j23-3" 53 "1-122-j23-5" "122" "122" 3 "1"
51 "1-122-j23-3" 54 "1-122-j23-6" "122" "122" 3 "1"
51 "1-122-j23-3" 55 "1-122-j23-7" "122" "122" 3 "1"
51 "1-122-j23-3" 56 "1-122-j23-8" "122" "122" 3 "1"
51 "1-122-j23-3" 57 "1-122-j23-9" "122" "122" 3 "1"
58 "1-130-j23-10" 59 "1-130-j23-11" "130" "130" 3 "1"
58 "1-130-j23-10" 60 "1-130-j23-12" "130" "130" 3 "1"
equal_shape_distance_same_coordinates WARNING 24094

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 24094 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`.
"1-220-j23-8.10.R" 245701 793.98 27 245700 793.98 26
"1-220-j23-8.10.R" 245710 1231.02 36 245709 1231.02 35
"1-220-j23-8.10.R" 245757 2645.66 83 245756 2645.66 82
"1-220-j23-8.10.R" 245776 3210.93 102 245775 3210.93 101
"1-220-j23-8.10.R" 245796 3841.86 122 245795 3841.86 121
"1-220-j23-8.10.R" 245856 5965.56 182 245855 5965.56 181
"1-220-j23-8.10.R" 245884 6988.31 210 245883 6988.31 209
"1-220-j23-8.10.R" 245900 7347.71 226 245899 7347.71 225
"1-220-j23-8.10.R" 246013 10590.88 339 246012 10590.88 338
"1-220-j23-8.10.R" 246040 11147.78 366 246039 11147.78 365
"1-220-j23-8.10.R" 246057 11408.18 383 246056 11408.18 382
"1-220-j23-8.10.R" 246072 11772.31 398 246071 11772.31 397
"1-220-j23-8.10.R" 246084 12036.25 410 246083 12036.25 409
"1-220-j23-8.10.R" 246122 13843.38 448 246121 13843.38 447
"1-220-j23-8.10.R" 246130 13998.22 456 246129 13998.22 455
"1-220-j23-8.10.R" 246199 15183.34 525 246198 15183.34 524
"1-220-j23-8.10.R" 246201 15201.6 527 246200 15201.6 526
"1-220-j23-8.10.R" 246230 15731.89 556 246229 15731.89 555
"1-212-j23-6.4.R" 209310 517.93 17 209309 517.93 16
"1-212-j23-6.4.R" 209445 4366.77 152 209444 4366.77 151
"1-212-j23-6.4.R" 209460 4740.51 167 209459 4740.51 166
"1-212-j23-6.4.R" 209502 6165.77 209 209501 6165.77 208
"1-212-j23-6.4.R" 209566 7176.48 273 209565 7176.48 272
"1-212-j23-6.4.R" 209602 8145.21 309 209601 8145.21 308
"1-142-j23-7.6.R" 116220 306.61 11 116219 306.61 10
"1-142-j23-7.6.R" 116227 639.75 18 116226 639.75 17
"1-142-j23-7.6.R" 116235 920.37 26 116234 920.37 25
"1-142-j23-7.6.R" 116249 1323.09 40 116248 1323.09 39
"1-142-j23-7.6.R" 116282 2010.13 73 116281 2010.13 72
"1-142-j23-7.6.R" 116315 2643.33 106 116314 2643.33 105
"1-142-j23-7.6.R" 116343 3853.79 134 116342 3853.79 133
"1-142-j23-7.6.R" 116388 6467.32 179 116387 6467.32 178
"1-142-j23-7.6.R" 116397 6856.93 188 116396 6856.93 187
"1-142-j23-7.6.R" 116408 7342.39 199 116407 7342.39 198
"1-142-j23-7.6.R" 116428 7942.43 219 116427 7942.43 218
"1-142-j23-7.6.R" 116437 8237.24 228 116436 8237.24 227
"1-142-j23-7.6.R" 116449 8495.0 240 116448 8495.0 239
"1-142-j23-7.6.R" 116464 8792.45 255 116463 8792.45 254
"1-142-j23-7.6.R" 116480 9250.68 271 116479 9250.68 270
"1-142-j23-7.6.R" 116512 10130.76 303 116511 10130.76 302
"1-142-j23-7.6.R" 116537 10583.42 328 116536 10583.42 327
"1-142-j23-7.6.R" 116550 10913.19 341 116549 10913.19 340
"1-142-j23-7.6.R" 116561 11251.1 352 116560 11251.1 351
"1-142-j23-7.6.R" 116576 11686.55 367 116575 11686.55 366
"1-212-j23-5.6.R" 205619 725.22 21 205618 725.22 20
"1-212-j23-5.6.R" 205641 1677.07 43 205640 1677.07 42
"1-212-j23-5.6.R" 205657 2195.0 59 205656 2195.0 58
"1-212-j23-5.6.R" 205792 6043.85 194 205791 6043.85 193
"1-212-j23-5.6.R" 205807 6417.58 209 205806 6417.58 208
"1-212-j23-5.6.R" 205849 7842.84 251 205848 7842.84 250
expired_calendar WARNING 24

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 "T0"
3 "T0#1"
4 "T0#2"
5 "T0#3"
6 "T0#4"
7 "T0#5"
8 "T0#6"
9 "T0+o8"
10 "T0+o9"
11 "T0+r0"
12 "T0+r1"
13 "T0+s8"
14 "T0+s9"
15 "T2"
16 "T2#1"
17 "T2#2"
18 "T2#3"
19 "T2#4"
20 "T2#5"
21 "T3"
22 "T3#1"
23 "T3#2"
24 "T3#3"
25 "T3#4"
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"
route_long_name_contains_short_name WARNING 364

route_long_name_contains_short_name

Long name should not contain short name for a single route.

In routes.txt, route_long_name should not contain the value for route_short_name, because when both are provided, they are often combined by transit applications. Note that only one of the two fields is required. If there is no short name used for a route, use route_long_name only.

Good examples:

route_short_name/route_long_name Dataset
"N"/"Judah" Muni San Fransisco
"6"/"ML King Jr Blvd" Trimet Portland Streetcar
"55"/"Boulevard Saint Laurent" STM Montreal
"1"/"Rangiora/Cashmere" Metro Christchurch

Bad examples:

route_short_name/route_long_name
"604"/"604"
"14"/"Route 14"
"2"/"Route 2: Bellows Falls In-Town"

You can see more about this notice here.

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

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeShortName (?) The faulty record's `route_short_name`. routeLongName (?) The faulty record's `route_long_name`.
"1-105-j23-10" 2 "105" "105"
"1-105-j23-11" 3 "105" "105"
"1-105-j23-12" 4 "105" "105"
"1-105-j23-6" 5 "105" "105"
"1-105-j23-7" 6 "105" "105"
"1-105-j23-8" 7 "105" "105"
"1-105-j23-9" 8 "105" "105"
"1-107-j23-3" 9 "107" "107"
"1-107-j23-4" 10 "107" "107"
"1-107-j23-5" 11 "107" "107"
"1-107-j23-6" 12 "107" "107"
"1-107-j23-7" 13 "107" "107"
"1-107-j23-8" 14 "107" "107"
"1-107-j23-9" 15 "107" "107"
"1-110-j23-10" 16 "110" "110"
"1-110-j23-11" 17 "110" "110"
"1-110-j23-12" 18 "110" "110"
"1-110-j23-6" 19 "110" "110"
"1-110-j23-7" 20 "110" "110"
"1-110-j23-8" 21 "110" "110"
"1-110-j23-9" 22 "110" "110"
"1-112-j23-3" 23 "112" "112"
"1-112-j23-4" 24 "112" "112"
"1-112-j23-5" 25 "112" "112"
"1-112-j23-6" 26 "112" "112"
"1-112-j23-7" 27 "112" "112"
"1-112-j23-8" 28 "112" "112"
"1-112-j23-9" 29 "112" "112"
"1-115-j23-10" 30 "115" "115"
"1-115-j23-11" 31 "115" "115"
"1-115-j23-12" 32 "115" "115"
"1-115-j23-6" 33 "115" "115"
"1-115-j23-7" 34 "115" "115"
"1-115-j23-8" 35 "115" "115"
"1-115-j23-9" 36 "115" "115"
"1-117-j23-10" 37 "117" "117"
"1-117-j23-11" 38 "117" "117"
"1-117-j23-12" 39 "117" "117"
"1-117-j23-6" 40 "117" "117"
"1-117-j23-7" 41 "117" "117"
"1-117-j23-8" 42 "117" "117"
"1-117-j23-9" 43 "117" "117"
"1-120-j23-10" 44 "120" "120"
"1-120-j23-11" 45 "120" "120"
"1-120-j23-12" 46 "120" "120"
"1-120-j23-6" 47 "120" "120"
"1-120-j23-7" 48 "120" "120"
"1-120-j23-8" 49 "120" "120"
"1-120-j23-9" 50 "120" "120"
"1-122-j23-3" 51 "122" "122"
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" "20230213" "20231208"