vvt — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-08-31T08:23:57Z,
for the dataset file:///shared/vvt_a2630594.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Österreichische Postbus AG
  • Tyroltours GmbH
  • ARGE Tiroler Zugspitzbahn Tyroltours
  • Tiroler Linien Bus GmbH
  • Paznauntaler Verkehrsunternehmen GmbH
  • IVB und Stubaitalbahn GmbH
  • Ötztaler Verkehrsgesellschaft mbH
  • Reisebüro Breuss
  • Regionalverkehr Oberbayern GmbH
  • Ledermair Linienverkehr
  • Ledermair Linienverkehr
  • Christophorus Busbetriebs GmbH
  • Ledermair Linienverkehr
  • Innbus Regionalverkehr GmbH
  • Ledermair Linienverkehr
  • Achensee Autoreisen Betriebs GmbH
  • Busreisen Tirol GmbH
  • Dödlinger Touristik GmbH
  • Zillertaler Verkehrsbetriebe AG
  • Ledermair Linienverkehr
  • Taxi Gebhart
  • Achenseebahn Infrastruktur- und Betriebs-GmbH
  • Seilbahn Komperdell GmbH
  • Feuerstein GmbH
  • Auderer GmbH & Co KG
  • Quaxis Taxi & Busreisen
  • Taxiunternehmen Danler
  • Salzburger Mietwagen und Reiseservice GmbH
  • Fuhrwerken Nikolaus Ribis
  • Taxi - Mietwagen Grießer Franz Josef
  • Kaisertaxi Georg Schönauer
  • Autoreisen Blaßnig - Thomas Blaßnig
  • Bundschuh Reisen GmbH
  • Busreisen Wipptal Mair GmbH
  • Verkehrsverbund Tirol GesmbH
  • Ralf Schlechter Autobus GmbH & Co KG
  • Egid Wechselberger Touristik GmbH
  • Wildschönauer-Verkehrs-Betrieb
  • Wetterstein Bus & KFZ GmbH
  • Deutschmann Reisen GmbH
  • Wilder Kaiser Skibus
  • Wegscheider Autoreisen
  • Achenseeschifffahrt GmbH
  • Hotel Fischer am See

Feed Info


Publisher Name:
Mobilitätsverbünde Österreich OG
Feed Email:
services@mobilitaetsverbuende.at
Feed Language:
German
Feed Start Date:
2025-12-14
Feed End Date:
2026-12-12

Files included


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

Counts


  • Agencies: 44
  • Blocks: 5214
  • Routes: 443
  • Shapes: 9176
  • Stops: 7046
  • Trips: 65467

Specification Compliance report

2983 notices reported (26 errors, 1666 warnings, 1291 infos)

Notice Code Severity Total
block_trips_with_overlapping_stop_times ERROR 11

block_trips_with_overlapping_stop_times

Trips with the same block id have overlapping stop times.

You can see more about this notice here.

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.
29100 "8.T0ivb.1-T-P-j26-4.7.R" "T0ivb#14" 29214 "9.T0ivb.1-T-P-j26-4.15.R" "T0ivb#14" "3028" "20260622"
63621 "61.UL.5-STB-P-j26-1.15.H" "UL#1" 63630 "63.T1ivb.5-STB-P-j26-1.11.H" "T1ivb" "5093" "20251231"
63378 "30.T1ivb.5-STB-P-j26-1.8.R" "T1ivb" 63383 "30.UL.5-STB-P-j26-1.8.R" "UL#1" "5093" "20251231"
63615 "60.UW.5-STB-P-j26-1.12.H" "UW#1" 63637 "64.T1ivb.5-STB-P-j26-1.12.H" "T1ivb" "5162" "20251224"
63385 "31.T1ivb.5-STB-P-j26-1.9.R" "T1ivb" 63390 "31.UL.5-STB-P-j26-1.9.R" "UL#1" "5163" "20251231"
63622 "61.UW.5-STB-P-j26-1.12.H" "UW#1" 63651 "66.T1ivb.5-STB-P-j26-1.12.H" "T1ivb" "5164" "20251224"
63397 "32.UL.5-STB-P-j26-1.9.R" "UL#1" 63399 "33.T1ivb.5-STB-P-j26-1.9.R" "T1ivb" "5166" "20251231"
63629 "62.UW.5-STB-P-j26-1.12.H" "UW#1" 63663 "68.T1ivb.5-STB-P-j26-1.12.H" "T1ivb" "5167" "20251224"
63404 "33.UL.5-STB-P-j26-1.9.R" "UL#1" 63413 "35.T1ivb.5-STB-P-j26-1.9.R" "T1ivb" "5168" "20251231"
63636 "63.UW.5-STB-P-j26-1.12.H" "UW#1" 63669 "69.T1ivb.5-STB-P-j26-1.12.H" "T1ivb" "5169" "20251224"
29067 "76.T8ivb.1-T-P-j26-1.3.R" "T8ivb#2" 29077 "77.T8ivb.1-T-P-j26-1.22.R" "T8ivb#2" "2967" "20251215"
number_out_of_range ERROR 15

number_out_of_range

Out of range value.

The values in the given column of the input rows are out of range.

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 faulty field. fieldType (?) The type of the faulty field. fieldValue (?) Faulty value.
"pathways.txt" 108 "traversal_time" "positive integer" 0
"pathways.txt" 119 "traversal_time" "positive integer" 0
"pathways.txt" 148 "traversal_time" "positive integer" 0
"pathways.txt" 160 "traversal_time" "positive integer" 0
"pathways.txt" 173 "traversal_time" "positive integer" 0
"pathways.txt" 259 "traversal_time" "positive integer" 0
"pathways.txt" 278 "traversal_time" "positive integer" 0
"pathways.txt" 559 "traversal_time" "positive integer" 0
"pathways.txt" 605 "traversal_time" "positive integer" 0
"pathways.txt" 632 "traversal_time" "positive integer" 0
"pathways.txt" 704 "traversal_time" "positive integer" 0
"pathways.txt" 723 "traversal_time" "positive integer" 0
"pathways.txt" 765 "traversal_time" "positive integer" 0
"pathways.txt" 777 "traversal_time" "positive integer" 0
"pathways.txt" 792 "traversal_time" "positive integer" 0
duplicate_route_name WARNING 12

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.

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`.
147 "at:vvt:406166:" 156 "at:vvt:406183:" "A" "A" 3 "102"
147 "at:vvt:406166:" 163 "at:vvt:406194:" "A" "A" 3 "102"
162 "at:vvt:406190:" 165 "at:vvt:406196:" "D" "D" 3 "102"
155 "at:vvt:406182:" 167 "at:vvt:406198:" "B" "B" 3 "102"
365 "at:vvt:835252:" 375 "at:vvt:835272:" "52" "Leite - Giggijochbahn" 3 "35"
366 "at:vvt:835253:" 376 "at:vvt:835273:" "53" "Granstein - Giggijochbahn / Postamt" 3 "35"
367 "at:vvt:835254:" 377 "at:vvt:835274:" "54" "Granbichl - Giggijochbahn / Postamt" 3 "35"
368 "at:vvt:835255:" 378 "at:vvt:835275:" "55" "Moos - Gaislachkoglbahn" 3 "35"
365 "at:vvt:835252:" 381 "at:vvt:835292:" "52" "Leite - Giggijochbahn" 3 "35"
367 "at:vvt:835254:" 383 "at:vvt:835294:" "54" "Granbichl - Giggijochbahn / Postamt" 3 "35"
368 "at:vvt:835255:" 384 "at:vvt:835295:" "55" "Moos - Gaislachkoglbahn" 3 "35"
369 "at:vvt:835256:" 385 "at:vvt:835296:" "56" "See - Gaislachkoglbahn / Giggijochbahn" 3 "35"
equal_shape_distance_diff_coordinates_distance_below_threshold WARNING 335

equal_shape_distance_diff_coordinates_distance_below_threshold

Two consecutive points have equal shape_dist_traveled and different lat/lon coordinates in shapes.txt and the distance between the two points is greater than 0 but less than 1.11m.

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 small difference of coordinates (greater than 0 but less than 1.11 m distance) result in a warning.

You can see more about this notice here.

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

shapeId (?) The id of the faulty shape. csvRowNumber (?) The row number from `shapes.txt`. shapeDistTraveled (?) The faulty record's `shape_dist_traveled` value. shapePtSequence (?) The faulty record's `shapes.shape_pt_sequence`. prevCsvRowNumber (?) The row number from `shapes.txt` of the previous shape point. prevShapeDistTraveled (?) The previous shape point's `shape_dist_traveled` value. prevShapePtSequence (?) The previous record's `shapes.shape_pt_sequence`. actualDistanceBetweenShapePoints (?) Actual distance traveled along the shape from the first shape point to the previous shape point.
"1-431-j26-24.6.H" 4237007 14898.27 853 4237006 14898.27 852 0.1160726656119885
"1-431-j26-24.6.H" 4237056 15722.62 902 4237055 15722.62 901 0.33940007340229306
"1-431-j26-24.6.H" 4237082 16532.43 928 4237081 16532.43 927 0.9973569169134401
"1-60-j26-1.6.R" 5599197 5032.45 248 5599196 5032.45 247 0.03097416672164871
"1-60-j26-1.6.R" 5599251 5702.14 302 5599250 5702.14 301 0.07192242087220656
"1-431-j26-1.17.R" 4199466 11569.64 448 4199465 11569.64 447 0.6550818606150627
"1-431-j26-1.17.R" 4199490 12365.84 472 4199489 12365.84 471 0.7742179715655709
"1-431-j26-1.17.R" 4199538 13188.22 520 4199537 13188.22 519 0.03804408156731762
"1-320-j26-2.8.H" 2064884 54599.99 2604 2064883 54599.99 2603 0.03097416672164871
"1-320-j26-2.8.H" 2064938 55269.69 2658 2064937 55269.69 2657 0.07192242087220656
"1-LED-2-j26-1.7.H" 7794848 688.79 46 7794847 688.79 45 0.2061692311906291
"1-330-j26-2.1.H" 2388647 2247.24 94 2388646 2247.24 93 0.03097416672164871
"1-330-j26-2.1.H" 2388701 2916.94 148 2388700 2916.94 147 0.07192242087220656
"1-419-4-j26-1.3.H" 3744615 54739.34 2573 3744614 54739.34 2572 0.03097416672164871
"1-419-4-j26-1.3.H" 3744669 55409.04 2627 3744668 55409.04 2626 0.07192242087220656
"1-320-j26-3.2.H" 2090795 44684.88 2166 2090794 44684.88 2165 0.03097416672164871
"1-320-j26-3.2.H" 2090849 45354.58 2220 2090848 45354.58 2219 0.07192242087220656
"1-431-j26-24.5.H" 4235630 16594.0 962 4235629 16594.0 961 0.1160726656119885
"1-431-j26-24.5.H" 4235679 17418.35 1011 4235678 17418.35 1010 0.33940007340229306
"1-431-j26-24.5.H" 4235705 18228.16 1037 4235704 18228.16 1036 0.9973569169134401
"1-419-4-j26-1.15.H" 3738205 53509.06 2534 3738204 53509.06 2533 0.03097416672164871
"1-419-4-j26-1.15.H" 3738259 54178.76 2588 3738258 54178.76 2587 0.07192242087220656
"1-60-j26-1.7.R" 5600087 5032.45 248 5600086 5032.45 247 0.03097416672164871
"1-60-j26-1.7.R" 5600141 5702.14 302 5600140 5702.14 301 0.07192242087220656
"1-320-j26-1.22.R" 1956284 12352.5 604 1956283 12352.5 603 0.010356096039543626
"1-320-j26-1.22.R" 1956330 12994.74 650 1956329 12994.74 649 0.009548180404521833
"1-320-j26-2.7.H" 2061638 55830.27 2643 2061637 55830.27 2642 0.03097416672164871
"1-320-j26-2.7.H" 2061692 56499.97 2697 2061691 56499.97 2696 0.07192242087220656
"1-LED-2-j26-1.6.H" 7794396 2420.14 107 7794395 2420.14 106 0.05469810267342719
"1-320-j26-2.19.R" 2018086 12352.5 604 2018085 12352.5 603 0.010356096039543626
"1-320-j26-2.19.R" 2018132 12994.74 650 2018131 12994.74 649 0.009548180404521833
"1-320-j26-3.1.H" 2070629 45915.16 2205 2070628 45915.16 2204 0.03097416672164871
"1-320-j26-3.1.H" 2070683 46584.86 2259 2070682 46584.86 2258 0.07192242087220656
"1-419-4-j26-1.2.H" 3741400 54518.42 2553 3741399 54518.42 2552 0.03097416672164871
"1-419-4-j26-1.2.H" 3741454 55188.12 2607 3741453 55188.12 2606 0.07192242087220656
"1-320-j26-3.12.R" 2077325 12352.5 604 2077324 12352.5 603 0.010356096039543626
"1-320-j26-3.12.R" 2077371 12994.74 650 2077370 12994.74 649 0.009548180404521833
"1-330-j26-1.9.R" 2388430 5995.31 310 2388429 5995.31 309 0.010356096039543626
"1-330-j26-1.9.R" 2388476 6637.56 356 2388475 6637.56 355 0.009548180404521833
"1-430-j26-1.3.R" 4183212 621.51 37 4183211 621.51 36 0.1160726656119885
"1-430-j26-1.3.R" 4183261 1445.86 86 4183260 1445.86 85 0.33940007340229306
"1-430-j26-1.3.R" 4183287 2255.66 112 4183286 2255.66 111 0.9973569169134401
"1-431-j26-1.8.H" 4214752 15742.97 951 4214751 15742.97 950 0.1160726656119885
"1-431-j26-1.8.H" 4214801 16567.32 1000 4214800 16567.32 999 0.33940007340229306
"1-431-j26-1.8.H" 4214827 17377.13 1026 4214826 17377.13 1025 0.9973569169134401
"1-60-j26-1.3.H" 5598396 12352.5 604 5598395 12352.5 603 0.010356096039543626
"1-60-j26-1.3.H" 5598442 12994.74 650 5598441 12994.74 649 0.009548180404521833
"1-320-j26-2.31.H" 2053099 55830.27 2643 2053098 55830.27 2642 0.03097416672164871
"1-320-j26-2.31.H" 2053153 56499.97 2697 2053152 56499.97 2696 0.07192242087220656
"1-320-j26-1.23.R" 1959161 12352.5 604 1959160 12352.5 603 0.010356096039543626
expired_calendar WARNING 1096

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.

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

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
2 "T0"
4 "T0#10"
5 "T0#11"
6 "T0#12"
7 "T0#13"
8 "T0#14"
9 "T0#15"
10 "T0#16"
11 "T0#17"
12 "T0#18"
15 "T0#20"
16 "T0#21"
17 "T0#22"
19 "T0#24"
20 "T0#25"
22 "T0#27"
25 "T0#3"
27 "T0#31"
28 "T0#32"
29 "T0#33"
31 "T0#35"
33 "T0#37"
34 "T0#38"
37 "T0#40"
38 "T0#41"
41 "T0#44"
42 "T0#45"
45 "T0#48"
47 "T0#5"
49 "T0#51"
52 "T0#54"
53 "T0#55"
55 "T0#57"
56 "T0#58"
58 "T0#6"
60 "T0#61"
62 "T0#63"
63 "T0#64"
66 "T0#67"
68 "T0#69"
70 "T0#70"
72 "T0#72"
75 "T0#75"
76 "T0#76"
78 "T0#78"
80 "T0#8"
82 "T0#81"
83 "T0#82"
84 "T0#83"
85 "T0#84"
fast_travel_between_consecutive_stops WARNING 1

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.
33515 "1.T0.1-405-6-j26-1.8.H" "at:vvt:405699:" 160.39460554498007 2.673243425749668 673 3 "at:47:62287:0:1" "Langkampfen Gewerbegebiet" "05:27:00" 674 4 "at:47:62288:0:1" "Niederbreitenbach Kreisverkehr" "05:27:00"
missing_bike_allowance WARNING 75

missing_bike_allowance

Ferry trips should include bike allowance information.

All ferry trips should have a valid value in the bikes_allowed field in trips.txt.

You can see more about this notice here.

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

csvRowNumber (?) The row number of the faulty record. routeId (?) The faulty record's route id. tripId (?) The faulty record's trip id.
26931 "at:vvt:310996:" "1.TA.36-SEE-3-j26-1.5.H"
26932 "at:vvt:310996:" "10.TA.36-SEE-3-j26-1.3.R"
26933 "at:vvt:310996:" "11.TA.36-SEE-3-j26-1.3.R"
26934 "at:vvt:310996:" "3.TA.36-SEE-3-j26-1.5.H"
26935 "at:vvt:310996:" "5.TA.36-SEE-3-j26-1.5.H"
26936 "at:vvt:310996:" "8.TA.36-SEE-3-j26-1.3.R"
26937 "at:vvt:310997:" "18.TA.36-SEE-2-j26-1.5.H"
26938 "at:vvt:310997:" "2.TA.36-SEE-2-j26-1.5.H"
26939 "at:vvt:310997:" "4.TA.36-SEE-2-j26-1.5.H"
26940 "at:vvt:310997:" "6.TA.36-SEE-2-j26-1.3.R"
26941 "at:vvt:310997:" "7.TA.36-SEE-2-j26-1.3.R"
26942 "at:vvt:310997:" "9.TA.36-SEE-2-j26-1.3.R"
26943 "at:vvt:310998:" "1.TA.36-SEE-1-j26-1.1.H"
26944 "at:vvt:310998:" "1.TA.36-SEE-1-j26-2.1.H"
26945 "at:vvt:310998:" "1.TA.36-SEE-1-j26-3.1.H"
26946 "at:vvt:310998:" "1.TA.36-SEE-1-j26-4.1.H"
26947 "at:vvt:310998:" "1.TA.36-SEE-1-j26-5.1.H"
26948 "at:vvt:310998:" "1.TA.36-SEE-1-j26-6.4.H"
26949 "at:vvt:310998:" "1.TA.36-SEE-1-j26-7.3.H"
26950 "at:vvt:310998:" "1.TA.36-SEE-1-j26-8.1.H"
26951 "at:vvt:310998:" "10.TA.36-SEE-1-j26-6.2.H"
26952 "at:vvt:310998:" "10.TA.36-SEE-1-j26-7.2.H"
26953 "at:vvt:310998:" "2.TA.36-SEE-1-j26-1.1.H"
26954 "at:vvt:310998:" "2.TA.36-SEE-1-j26-2.1.H"
26955 "at:vvt:310998:" "2.TA.36-SEE-1-j26-3.1.H"
26956 "at:vvt:310998:" "2.TA.36-SEE-1-j26-4.1.H"
26957 "at:vvt:310998:" "2.TA.36-SEE-1-j26-5.1.H"
26958 "at:vvt:310998:" "2.TA.36-SEE-1-j26-6.3.H"
26959 "at:vvt:310998:" "2.TA.36-SEE-1-j26-7.3.H"
26960 "at:vvt:310998:" "2.TA.36-SEE-1-j26-8.1.H"
26961 "at:vvt:310998:" "3.TA.36-SEE-1-j26-1.2.H"
26962 "at:vvt:310998:" "3.TA.36-SEE-1-j26-2.2.H"
26963 "at:vvt:310998:" "3.TA.36-SEE-1-j26-3.2.H"
26964 "at:vvt:310998:" "3.TA.36-SEE-1-j26-4.2.H"
26965 "at:vvt:310998:" "3.TA.36-SEE-1-j26-5.2.H"
26966 "at:vvt:310998:" "3.TA.36-SEE-1-j26-6.4.H"
26967 "at:vvt:310998:" "3.TA.36-SEE-1-j26-7.3.H"
26968 "at:vvt:310998:" "3.TA.36-SEE-1-j26-8.1.H"
26969 "at:vvt:310998:" "4.TA.36-SEE-1-j26-1.1.H"
26970 "at:vvt:310998:" "4.TA.36-SEE-1-j26-2.1.H"
26971 "at:vvt:310998:" "4.TA.36-SEE-1-j26-3.1.H"
26972 "at:vvt:310998:" "4.TA.36-SEE-1-j26-4.1.H"
26973 "at:vvt:310998:" "4.TA.36-SEE-1-j26-5.1.H"
26974 "at:vvt:310998:" "4.TA.36-SEE-1-j26-6.4.H"
26975 "at:vvt:310998:" "4.TA.36-SEE-1-j26-7.3.H"
26976 "at:vvt:310998:" "4.TA.36-SEE-1-j26-8.1.H"
26977 "at:vvt:310998:" "5.TA.36-SEE-1-j26-1.2.H"
26978 "at:vvt:310998:" "5.TA.36-SEE-1-j26-2.2.H"
26979 "at:vvt:310998:" "5.TA.36-SEE-1-j26-3.2.H"
26980 "at:vvt:310998:" "5.TA.36-SEE-1-j26-4.2.H"
mixed_case_recommended_field WARNING 3

mixed_case_recommended_field

This field has customer-facing text and should use Mixed Case (should contain upper and lower case letters).

This field contains customer-facing text and should use Mixed Case (upper and lower case letters) to ensure good readability when displayed to riders. Avoid the use of abbreviations throughout the feed (e.g. St. for Street) unless a location is called by its abbreviated name (e.g. “JFK Airport”). Abbreviations may be problematic for accessibility by screen reader software and voice user interfaces.

Good examples:
Field Text Dataset
"Schwerin, Hauptbahnhof" Verkehrsverbund Berlin-Brandenburg
"Red Hook/Atlantic Basin" NYC Ferry
"Campo Grande Norte" Carris
Bad examples:
Field Text
"GALLERIA MALL"
"3427 GG 17"
"21 Clark Rd Est"

You can see more about this notice here.

filename (?) Name of the faulty file. fieldName (?) Name of the faulty field. fieldValue (?) Faulty value. csvRowNumber (?) The row number of the faulty record.
"routes.txt" "route_short_name" "3SE" 275
"routes.txt" "route_short_name" "ENG BUS" 353
"stops.txt" "stop_name" "B (STB, TS)" 276
route_long_name_contains_short_name WARNING 37

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.

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`.
"at:vvt:406166:" 147 "A" "A"
"at:vvt:406170:" 150 "5" "5"
"at:vvt:406173:" 151 "D" "D"
"at:vvt:406174:" 152 "6" "6"
"at:vvt:406180:" 153 "N" "N"
"at:vvt:406181:" 154 "C" "C"
"at:vvt:406182:" 155 "B" "B"
"at:vvt:406183:" 156 "A" "A"
"at:vvt:406185:" 157 "4" "4"
"at:vvt:406186:" 158 "3" "3"
"at:vvt:406187:" 159 "7" "7"
"at:vvt:406188:" 160 "2" "2"
"at:vvt:406189:" 161 "1" "1"
"at:vvt:406190:" 162 "D" "D"
"at:vvt:406194:" 163 "A" "A"
"at:vvt:406195:" 164 "C2" "C2"
"at:vvt:406196:" 165 "D" "D"
"at:vvt:406197:" 166 "C1" "C1"
"at:vvt:406198:" 167 "B" "B"
"at:vvt:666001:" 281 "ZHS" "ZHS"
"at:vvt:70:" 286 "SH" "SH"
"at:vvt:832782:" 335 "S1" "S1"
"at:vvt:832783:" 336 "S2" "S2"
"at:vvt:832784:" 337 "F Zillergrund" "F Zillergrund"
"at:vvt:832785:" 338 "F Hochstegen" "F Hochstegen"
"at:vvt:832786:" 339 "E" "E"
"at:vvt:832787:" 340 "D" "D"
"at:vvt:832788:" 341 "C" "C"
"at:vvt:832789:" 342 "B" "B"
"at:vvt:832790:" 343 "A" "A"
"at:vvt:832791:" 344 "H4" "H4"
"at:vvt:832792:" 345 "H3" "H3"
"at:vvt:832793:" 346 "H2" "H2"
"at:vvt:832794:" 347 "H1" "H1"
"at:vvt:832795:" 348 "G2 Wischberg" "G2 Wischberg"
"at:vvt:832796:" 349 "G2 Ramsberg" "G2 Ramsberg"
"at:vvt:832797:" 350 "G1" "G1"
route_short_name_too_long WARNING 4

route_short_name_too_long

Short name of a route is too long (more than 12 characters).

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeShortName (?) The faulty record's `route_short_name`.
"at:vvt:406168:" 148 "30 Hintersteiner See"
"at:vvt:406169:" 149 "40 Wochenbrunner Alm"
"at:vvt:406203:" 168 "Dorfabendbus 81"
"at:vvt:832784:" 337 "F Zillergrund"
stop_without_stop_time WARNING 103

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.

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

csvRowNumber (?) The row number of the faulty record. stopId (?) The id of the faulty stop. stopName (?) The name of the faulty stop.
82 "at:47:1153:21" "Steig 1+2"
83 "at:47:1153:22" "Steig 3+4"
89 "at:47:1155:21" "Steig 1"
90 "at:47:1155:22" "Steig 2"
97 "at:47:1157:21" "Steig 1+2"
100 "at:47:1157:5" "Steig 3+4"
109 "at:47:1160:21" "Steig 1+2"
110 "at:47:1160:22" "Steig 3+4"
117 "at:47:1161:21" "Steig 1"
118 "at:47:1161:3" "Steig 2"
126 "at:47:1162:21" "Steig 1"
127 "at:47:1162:22" "Steig 2"
130 "at:47:1163:1" "Steig 1"
134 "at:47:1163:2" "SEV Vorplatz"
135 "at:47:1163:21" "Steig 2+3"
141 "at:47:1165:1" "Steig 1"
144 "at:47:1165:21" "Steig 2"
151 "at:47:1167:1" "Steig 1"
154 "at:47:1167:21" "Steig 2"
163 "at:47:1168:21" "Steig 1"
164 "at:47:1168:22" "Steig 2"
180 "at:47:1170:21" "Steig 1"
183 "at:47:1170:5" "Steig 12+13"
184 "at:47:1170:6" "Steig 11"
185 "at:47:1170:7" "Steig 2+3"
186 "at:47:1170:8" "Steig 4+5"
187 "at:47:1170:9" "Steig 6+7"
191 "at:47:1172:21" "Steig 1"
192 "at:47:1172:22" "Steig 2"
201 "at:47:1174:21" "Steig 1+2"
204 "at:47:1174:33" "Nebeneingang"
212 "at:47:1179:13" "Steig 4"
213 "at:47:1179:21" "Steig 1"
214 "at:47:1179:22" "Steig 2+3"
219 "at:47:1180:21" "Steig 1"
220 "at:47:1180:22" "Steig 2"
225 "at:47:1181:21" "Steig 1"
226 "at:47:1181:22" "Steig 2"
235 "at:47:1182:21" "Steig 3+4"
236 "at:47:1182:22" "Steig 1+2"
246 "at:47:1184:21" "Steig 2+3"
247 "at:47:1184:22" "Steig 1"
258 "at:47:1186:21" "Steig 1"
259 "at:47:1186:22" "Steig 2"
276 "at:47:1187:15" "B (STB, TS)"
278 "at:47:1187:20" "E Ersatz"
279 "at:47:1187:25" "Steig 1"
280 "at:47:1187:26" "Steig 2+3"
281 "at:47:1187:27" "Steig 4+5"
282 "at:47:1187:28" "Steig 6+7"
big_gap_in_service INFO 811

big_gap_in_service

A service has a gap of more than 13 days between active service dates.

You can see more about this notice here.

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

serviceId (?) The service_id that has the gap. gapStartDate (?) The first day of the gap. gapEndDate (?) The last day of the gap. gapDurationDays (?) The number of days in the gap.
"T0#34" "2026-05-22" "2026-09-14" 114
"T0#39" "2026-05-22" "2026-09-14" 114
"T0#50" "2026-03-17" "2026-08-17" 152
"T0#50" "2026-08-25" "2026-10-05" 40
"T0#53" "2026-03-20" "2026-05-21" 61
"T0#56" "2025-12-19" "2026-03-16" 86
"T0#60" "2026-07-10" "2026-08-31" 51
"T0#66" "2026-08-11" "2026-10-13" 62
"T0#73" "2026-08-17" "2026-09-14" 27
"T0#80" "2026-04-30" "2026-05-26" 25
"T0+13" "2025-12-19" "2026-03-09" 79
"T0+13#1" "2025-12-23" "2026-01-07" 14
"T0+13#11" "2026-07-10" "2026-09-14" 65
"T0+13#13" "2025-12-23" "2026-01-07" 14
"T0+13#2" "2026-05-12" "2026-11-09" 180
"T0+13#24" "2026-07-10" "2026-09-14" 65
"T0+13#25" "2025-12-23" "2026-01-07" 14
"T0+13#27" "2025-12-23" "2026-01-07" 14
"T0+13#28" "2026-07-10" "2026-09-14" 65
"T0+13#3" "2026-07-10" "2026-09-14" 65
"T0+13#32" "2026-05-22" "2026-09-14" 114
"T0+13#36" "2025-12-23" "2026-01-07" 14
"T0+13#37" "2026-05-22" "2026-09-14" 114
"T0+13#38" "2025-12-23" "2026-01-07" 14
"T0+13#40" "2025-12-23" "2026-01-07" 14
"T0+13#40" "2026-07-10" "2026-09-14" 65
"T0+13#41" "2025-12-23" "2026-01-07" 14
"T0+13#41" "2026-03-20" "2026-05-21" 61
"T0+13#44" "2025-12-19" "2026-03-16" 86
"T0+13#44" "2026-07-10" "2026-09-14" 65
"T0+13#45" "2025-12-23" "2026-01-07" 14
"T0+13#46" "2025-12-23" "2026-01-07" 14
"T0+13#47" "2025-12-23" "2026-01-07" 14
"T0+13#47" "2026-03-17" "2026-10-05" 201
"T0+13#50" "2025-12-23" "2026-01-07" 14
"T0+13#50" "2026-07-10" "2026-09-14" 65
"T0+13#51" "2025-12-23" "2026-01-07" 14
"T0+13#51" "2026-07-10" "2026-09-14" 65
"T0+13#53" "2025-12-23" "2026-01-07" 14
"T0+13#57" "2026-07-10" "2026-09-14" 65
"T0+13#58" "2025-12-23" "2026-01-07" 14
"T0+13#58" "2026-03-17" "2026-10-05" 201
"T0+13#59" "2025-12-23" "2026-01-07" 14
"T0+13#60" "2026-07-10" "2026-09-14" 65
"T0+13#61" "2026-07-10" "2026-09-14" 65
"T0+13#63" "2026-07-10" "2026-09-14" 65
"T0+13#64" "2025-12-23" "2026-01-07" 14
"T0+13#66" "2026-07-10" "2026-09-14" 65
"T0+13#67" "2025-12-23" "2026-01-07" 14
"T0+13#67" "2026-04-30" "2026-05-26" 25
platform_without_parent_station INFO 438

platform_without_parent_station

A platform has no parent_station field set.

This is different from location_without_parent_station since it is less severe.

You can see more about this notice here.

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

csvRowNumber (?) Row number of the faulty record. stopId (?) The id of the faulty record. stopName (?) The stop name of the faulty record.
147 "at:47:1166:0:2" "Windau Bahnhof"
148 "at:47:1166:0:3" "Windau Bahnhof"
168 "at:47:1169:0:2" "Wörgl Süd-Bruckhäusl Bahnhof"
169 "at:47:1169:0:5" "Wörgl Süd-Bruckhäusl Bahnhof"
359 "at:47:1206:0:2" "Imst-Pitztal Bahnhof"
360 "at:47:1206:0:3" "Imst-Pitztal Bahnhof"
361 "at:47:1209:0:1" "Imsterberg Bahnhof"
362 "at:47:1209:0:2" "Imsterberg Bahnhof"
418 "at:47:2203:0:2" "Strass i. Z. Bahnhof"
420 "at:47:2203:0:4" "Strass i. Z. Bahnhof"
430 "at:47:2206:0:3" "Fügen-Hart i. Z. Bahnhof"
435 "at:47:2208:0:3" "Uderns Bahnhof"
436 "at:47:2208:0:4" "Uderns Bahnhof"
439 "at:47:2210:0:1" "Kaltenbach-Stumm Bahnhof"
440 "at:47:2210:0:2" "Kaltenbach-Stumm Bahnhof"
441 "at:47:2210:0:3" "Kaltenbach-Stumm Bahnhof"
442 "at:47:2210:0:4" "Kaltenbach-Stumm Bahnhof"
443 "at:47:2210:0:5" "Kaltenbach-Stumm Bahnhof"
455 "at:47:2214:0:1" "Ramsau i. Z.-Hippach Bahnhof"
456 "at:47:2214:0:2" "Ramsau i. Z.-Hippach Bahnhof"
457 "at:47:2214:0:3" "Ramsau i. Z.-Hippach Bahnhof"
497 "at:47:2231:0:2" "Scharnitz Bahnhof"
498 "at:47:2244:0:3" "Ehrwald Zugspitzbahn Bahnhof"
500 "at:47:2251:0:3" "Reutte Bahnhof"
501 "at:47:2251:0:4" "Reutte Bahnhof"
502 "at:47:2251:0:5" "Reutte Bahnhof"
556 "at:47:3876:0:1" "Mittewald Bahnhof"
557 "at:47:3876:0:2" "Mittewald Bahnhof"
558 "at:47:3878:0:4" "Tassenbach Bahnhof"
559 "at:47:3878:0:5" "Tassenbach Bahnhof"
560 "at:47:3879:0:1" "Sillian Bahnhof"
822 "at:47:61095:0:1" "Nauders Bergkastelbahn"
827 "at:47:61098:0:1" "St. Anton a. A. Stadle"
1012 "at:47:61307:0:1" "Hall in Tirol Stadtgraben"
1013 "at:47:61307:0:2" "Hall in Tirol Stadtgraben"
1066 "at:47:61335:0:1" "Innsbruck Tivoli Stadion"
1067 "at:47:61335:0:2" "Innsbruck Tivoli Stadion"
1115 "at:47:61369:0:1" "Zwieselstein Grüne"
1116 "at:47:61369:0:2" "Zwieselstein Grüne"
1212 "at:47:61444:0:2" "Heiterwang Fischer am See"
1276 "at:47:61503:0:2" "Innsbruck Andreas-Dipauli-Straße"
1279 "at:47:61504:0:3" "Innsbruck Hans-Untermüller-Straße"
1291 "at:47:61511:0:1" "Innsbruck Lohbachsiedlung West"
1292 "at:47:61511:0:2" "Innsbruck Lohbachsiedlung West"
1310 "at:47:61521:0:1" "Innsbruck Flughafen"
1354 "at:47:61546:0:1" "Innsbruck Botanikerstraße"
1355 "at:47:61546:0:2" "Innsbruck Botanikerstraße"
1356 "at:47:61546:0:3" "Innsbruck Botanikerstraße"
1368 "at:47:61553:0:1" "Innsbruck Brandjochstraße"
1369 "at:47:61553:0:3" "Innsbruck Brandjochstraße"
trip_headsign_matches_intermediate_stop INFO 42

trip_headsign_matches_intermediate_stop

Trip headsign matches the name of an intermediate stop, not the last stop.

The trip_headsign matches the stop_name of a stop that is not the last stop of the trip. This may confuse passengers boarding after that stop, since the headsign suggests the vehicle is heading to a stop it has already passed.

You can see more about this notice here.

csvRowNumber (?) The row number of the faulty record in `trips.txt`. tripId (?) The id of the trip with the problematic headsign. tripHeadsign (?) The headsign value that matches an intermediate stop name. stopId1 (?) The id of the intermediate stop whose name matches the headsign. stopSequence (?) The stop_sequence value of the intermediate stop that matches the headsign. stopId2 (?) The id of the actual last stop of the trip.
8368 "1.T0.1-198-7-j26-3.1.H" "Ehrwald Kirchplatz" "at:47:65116:0:2" 23 "at:47:65116:0:2"
8369 "1.T0.1-198-7-j26-4.6.H" "Ehrwald Hauptstraße/Hallenbad" "at:47:65269:0:2" 24 "at:47:65269:0:1"
8371 "2.T0.1-198-7-j26-1.8.H" "Ehrwald Kirchplatz" "at:47:65116:0:2" 23 "at:47:65116:0:2"
8372 "2.T0.1-198-7-j26-2.8.H" "Ehrwald Kirchplatz" "at:47:65116:0:2" 23 "at:47:65116:0:2"
8399 "1.TA.8-198-T-j26-1.5.H" "Lermoos Bahnhof" "at:47:2245:0:1" 19 "at:47:2245:0:1"
8400 "1.TA.8-198-T-j26-2.1.H" "Lermoos Bahnhof" "at:47:2245:0:1" 20 "at:47:2245:0:1"
8418 "18.TA.8-198-T-j26-2.6.H" "Lermoos Kirchplatz" "at:47:65279:0:1" 1 "at:47:65279:0:2"
8420 "2.TA.8-198-T-j26-1.5.H" "Lermoos Bahnhof" "at:47:2245:0:1" 19 "at:47:2245:0:1"
8421 "2.TA.8-198-T-j26-2.1.H" "Lermoos Bahnhof" "at:47:2245:0:1" 20 "at:47:2245:0:1"
8422 "3.TA.8-198-T-j26-1.5.H" "Lermoos Bahnhof" "at:47:2245:0:1" 19 "at:47:2245:0:1"
8423 "3.TA.8-198-T-j26-2.1.H" "Lermoos Bahnhof" "at:47:2245:0:1" 20 "at:47:2245:0:1"
8424 "4.TA.8-198-T-j26-1.5.H" "Lermoos Bahnhof" "at:47:2245:0:1" 19 "at:47:2245:0:1"
8425 "4.TA.8-198-T-j26-2.1.H" "Lermoos Bahnhof" "at:47:2245:0:1" 20 "at:47:2245:0:1"
8427 "5.TA.8-198-T-j26-2.6.H" "Lermoos Kirchplatz" "at:47:65279:0:1" 1 "at:47:65279:0:2"
8428 "6.TA.8-198-T-j26-1.6.H" "Lermoos Bahnhof" "at:47:2245:0:1" 17 "at:47:2245:0:1"
8429 "6.TA.8-198-T-j26-2.1.H" "Lermoos Bahnhof" "at:47:2245:0:1" 20 "at:47:2245:0:1"
8430 "7.TA.8-198-T-j26-1.6.H" "Lermoos Bahnhof" "at:47:2245:0:1" 17 "at:47:2245:0:1"
8431 "7.TA.8-198-T-j26-2.1.H" "Lermoos Bahnhof" "at:47:2245:0:1" 20 "at:47:2245:0:1"
8432 "8.TA.8-198-T-j26-1.6.H" "Lermoos Bahnhof" "at:47:2245:0:1" 17 "at:47:2245:0:1"
8433 "8.TA.8-198-T-j26-2.1.H" "Lermoos Bahnhof" "at:47:2245:0:1" 20 "at:47:2245:0:1"
8434 "9.TA.8-198-T-j26-1.6.H" "Lermoos Bahnhof" "at:47:2245:0:1" 17 "at:47:2245:0:1"
8435 "9.TA.8-198-T-j26-2.1.H" "Lermoos Bahnhof" "at:47:2245:0:1" 20 "at:47:2245:0:1"
8436 "1.TA.1-198-8-j26-1.1.H" "Ehrwald Kirchplatz" "at:47:65116:0:2" 9 "at:47:65116:0:2"
8436 "1.TA.1-198-8-j26-1.1.H" "Ehrwald Kirchplatz" "at:47:65116:0:1" 18 "at:47:65116:0:2"
8437 "10.TA.1-198-8-j26-1.11.H" "Ehrwald Kirchplatz" "at:47:65116:0:2" 9 "at:47:65116:0:2"
8437 "10.TA.1-198-8-j26-1.11.H" "Ehrwald Kirchplatz" "at:47:65116:0:1" 17 "at:47:65116:0:2"
8439 "12.TA.1-198-8-j26-1.11.H" "Ehrwald Kirchplatz" "at:47:65116:0:2" 9 "at:47:65116:0:2"
8439 "12.TA.1-198-8-j26-1.11.H" "Ehrwald Kirchplatz" "at:47:65116:0:1" 17 "at:47:65116:0:2"
8441 "14.TA.1-198-8-j26-1.2.H" "Ehrwald Kirchplatz" "at:47:65116:0:2" 9 "at:47:65116:0:2"
8441 "14.TA.1-198-8-j26-1.2.H" "Ehrwald Kirchplatz" "at:47:65116:0:1" 17 "at:47:65116:0:2"
8443 "3.TA.1-198-8-j26-1.4.H" "Ehrwald Kirchplatz" "at:47:65116:0:2" 9 "at:47:65116:0:2"
8443 "3.TA.1-198-8-j26-1.4.H" "Ehrwald Kirchplatz" "at:47:65116:0:1" 19 "at:47:65116:0:2"
8445 "5.TA.1-198-8-j26-1.10.H" "Ehrwald Kirchplatz" "at:47:65116:0:2" 9 "at:47:65116:0:2"
8445 "5.TA.1-198-8-j26-1.10.H" "Ehrwald Kirchplatz" "at:47:65116:0:1" 18 "at:47:65116:0:2"
17297 "1.TA.6-P13-j26-1.1.H" "Ischgl Tunnel Prenner" "at:47:68182:0:1" 4 "at:47:68182:0:2"
17298 "2.TA.6-P13-j26-1.1.H" "Ischgl Tunnel Prenner" "at:47:68182:0:1" 4 "at:47:68182:0:2"
17299 "3.TA.6-P13-j26-1.1.H" "Ischgl Tunnel Prenner" "at:47:68182:0:1" 4 "at:47:68182:0:2"
17300 "4.TA.6-P13-j26-1.1.H" "Ischgl Tunnel Prenner" "at:47:68182:0:1" 4 "at:47:68182:0:2"
17301 "5.TA.6-P13-j26-1.1.H" "Ischgl Tunnel Prenner" "at:47:68182:0:1" 4 "at:47:68182:0:2"
17302 "6.TA.6-P13-j26-1.1.H" "Ischgl Tunnel Prenner" "at:47:68182:0:1" 4 "at:47:68182:0:2"
17303 "7.TA.6-P13-j26-1.1.H" "Ischgl Tunnel Prenner" "at:47:68182:0:1" 4 "at:47:68182:0:2"
17304 "8.TA.6-P13-j26-1.1.H" "Ischgl Tunnel Prenner" "at:47:68182:0:1" 4 "at:47:68182:0:2"