hamburger-verkehrsverbund — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-09-11T14:56:07Z,
for the dataset file:///shared/hamburger-verkehrsverbund_bd0c2907.zip. No country code was provided.

Use this report alongside our documentation.

Summary

Agencies included


  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)
  • Hamburger Verkehrsverbund (hvv)

Feed Info


Publisher Name:
Hamburger Verkehrsverbund (hvv)
Publisher URL:
http://www.hvv.de
Feed Email:
N/A
Feed Language:
German
Feed Start Date:
2026-09-03
Feed End Date:
2026-12-12

Files included


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

Counts


  • Agencies: 20
  • Blocks: 4847
  • Routes: 865
  • Shapes: 7912
  • Stops: 17549
  • Trips: 120171

Specification Compliance report

4278 notices reported (303 errors, 2357 warnings, 1618 infos)

Notice Code Severity Total
block_trips_with_overlapping_stop_times ERROR 303

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 303 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.
34382 "67013281" "311" 34383 "67016376" "303" "4285" "20260904"
34385 "67013282" "311" 34384 "67017438" "303" "4286" "20260904"
34386 "67013283" "311" 34387 "67012437" "303" "4287" "20260904"
34389 "67013284" "311" 34388 "67017439" "303" "4288" "20260904"
34390 "67013285" "311" 34391 "67016377" "303" "4289" "20260904"
34398 "67013295" "311" 34399 "67012440" "303" "4293" "20260904"
34401 "67013296" "311" 34400 "67017418" "303" "4294" "20260904"
34402 "67013297" "311" 34403 "67016366" "303" "4295" "20260904"
34405 "67013299" "311" 34404 "67016934" "290" "4296" "20261003"
34405 "67013299" "311" 34406 "67011329" "280" "4296" "20260904"
34407 "67013300" "311" 34408 "67016428" "290" "4297" "20261003"
34407 "67013300" "311" 34409 "67011395" "280" "4297" "20260904"
34411 "67013301" "311" 34410 "67016935" "290" "4298" "20261003"
34411 "67013301" "311" 34412 "67010962" "280" "4298" "20260904"
34413 "67013302" "311" 34414 "67012375" "290" "4299" "20261003"
34413 "67013302" "311" 34415 "67011396" "280" "4299" "20260904"
34393 "67013292" "311" 34392 "67017416" "303" "4290" "20260904"
34394 "67013293" "311" 34395 "67016365" "303" "4291" "20260904"
34397 "67013294" "311" 34396 "67017417" "303" "4292" "20260904"
34417 "67013303" "311" 34416 "67016892" "290" "4300" "20261003"
34417 "67013303" "311" 34418 "67010963" "280" "4300" "20260904"
34440 "67013528" "310" 34439 "67016929" "290" "4310" "20261003"
34441 "67013529" "310" 34442 "67012398" "290" "4311" "20261003"
34438 "67013526" "310" 34437 "67016884" "290" "4309" "20261003"
34419 "67013304" "311" 34420 "67016452" "290" "4301" "20261003"
34419 "67013304" "311" 34421 "67011376" "280" "4301" "20260904"
34422 "67013352" "311" 34423 "67016748" "280" "4302" "20260904"
34426 "67013353" "311" 34424 "67016870" "290" "4303" "20261003"
34426 "67013353" "311" 34425 "67013123" "280" "4303" "20260904"
34427 "67013399" "311" 34428 "67016757" "303" "4304" "20260904"
34430 "67013400" "311" 34429 "67016975" "303" "4305" "20260904"
34431 "67013519" "310" 34432 "67016423" "290" "4306" "20261003"
34434 "67013522" "310" 34433 "67016882" "290" "4307" "20261003"
34435 "67013525" "310" 34436 "67012397" "290" "4308" "20261003"
34460 "67013693" "310" 34461 "67012390" "290" "4320" "20261003"
34462 "67013695" "310" 34463 "67016440" "290" "4321" "20261003"
34465 "67013784" "311" 34464 "67017440" "303" "4322" "20260904"
34443 "67013531" "310" 34444 "67016449" "290" "4312" "20261003"
34446 "67013616" "311" 34445 "67016879" "290" "4313" "20261003"
34446 "67013616" "311" 34447 "67010835" "280" "4313" "20260904"
34448 "67013617" "310" 34449 "67012369" "290" "4314" "20261003"
34451 "67013618" "310" 34450 "67016924" "290" "4315" "20261003"
34453 "67013620" "310" 34452 "67016881" "290" "4316" "20261003"
34454 "67013621" "310" 34455 "67012370" "290" "4317" "20261003"
34456 "67013623" "310" 34457 "67016424" "290" "4318" "20261003"
34458 "67013627" "310" 34459 "67016448" "290" "4319" "20261003"
34481 "67013911" "280" 34482 "67010923" "280" "4330" "20260904"
34483 "67013912" "311" 34484 "67012999" "290" "4331" "20261003"
34483 "67013912" "311" 34485 "67011843" "280" "4331" "20260904"
34486 "67013913" "280" 34487 "67010924" "280" "4332" "20260904"
expired_calendar WARNING 43

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.
12 "11"
47 "46"
48 "47"
49 "48"
50 "49"
115 "114"
135 "134"
379 "378"
386 "385"
393 "392"
436 "435"
437 "436"
472 "471"
497 "496"
498 "497"
499 "498"
511 "510"
552 "551"
555 "554"
558 "557"
570 "569"
601 "600"
605 "604"
611 "610"
641 "640"
642 "641"
643 "642"
644 "643"
647 "646"
793 "792"
820 "819"
1014 "1013"
1017 "1016"
1263 "1262"
1320 "1319"
1326 "1325"
1328 "1327"
1339 "1338"
1384 "1383"
1439 "1438"
1530 "1529"
1623 "1622"
1932 "1931"
fast_travel_between_consecutive_stops WARNING 772

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 772 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.
29229 "64958729" "1466_402" 238.31612864901794 1.9859677387418162 696313 26 "090000349000" "349000" "25:21:00" 696314 27 "de:01062:34900:1:349002" "Ahrensburg West" "25:21:30"
29249 "64958577" "1466_402" 238.31612864901794 1.9859677387418162 696973 26 "090000349000" "349000" "11:21:00" 696974 27 "de:01062:34900:1:349002" "Ahrensburg West" "11:21:30"
29120 "63121620" "1466_402" 238.31612864901794 1.9859677387418162 691582 40 "090000349000" "349000" "19:41:00" 691583 41 "de:01062:34900:1:349002" "Ahrensburg West" "19:41:30"
29155 "63121908" "1466_402" 238.31612864901794 1.9859677387418162 693227 40 "090000349000" "349000" "13:41:00" 693228 41 "de:01062:34900:1:349002" "Ahrensburg West" "13:41:30"
29165 "63121917" "1466_402" 238.31612864901794 1.9859677387418162 693697 40 "090000349000" "349000" "17:01:00" 693698 41 "de:01062:34900:1:349002" "Ahrensburg West" "17:01:30"
6960 "60318799" "8763_3" 158.32670990471843 0.6596946246029934 142955 1 "de:01056:70156::971011" "Seester, Dieckhof" "12:54:15" 142956 2 "de:01056:70157::971021" "Seester, Hörnstraße" "12:54:30"
6960 "60318799" "8763_3" 205.19816968484093 0.4559959326329799 142958 4 "de:01056:97104::971041" "Seestermühe, Lauenrothsweg" "12:58:00" 142959 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "12:58:08"
6960 "60318799" "8763_3" 230.40828592018585 0.5120184131559685 142959 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "12:58:08" 142960 6 "de:01056:97106::971061" "Seestermühe, Zum Krückausperrwerk" "12:58:16"
6960 "60318799" "8763_3" 225.79710165007978 0.5017713370001773 142960 6 "de:01056:97106::971061" "Seestermühe, Zum Krückausperrwerk" "12:58:16" 142961 7 "de:01056:70162::970611" "Seestermühe, Op de Weddern" "12:58:24"
6960 "60318799" "8763_3" 233.18797607173568 0.5181955023816348 142963 9 "de:01056:70170::970591" "Seestermühe, Schulstraße" "12:58:40" 142964 10 "de:01056:70165::970581" "Seestermühe, Dorfstraße 50" "12:58:48"
6960 "60318799" "8763_3" 248.04266152867666 0.689007393135213 142965 11 "de:01056:97057::970572" "Seester, Abzw. Seestermühe" "13:02:00" 142966 12 "de:01056:97056::970562" "Seester, Groß Sonnendeich" "13:02:10"
6960 "60318799" "8763_3" 302.4762045248297 0.840211679235638 142966 12 "de:01056:97056::970562" "Seester, Groß Sonnendeich" "13:02:10" 142967 13 "de:01056:70155::970622" "Seester, Dorfstraße (West)" "13:02:20"
6960 "60318799" "8763_3" 175.6603496110667 0.4879454155862964 142967 13 "de:01056:70155::970622" "Seester, Dorfstraße (West)" "13:02:20" 142968 14 "de:01056:70154::972231" "Seester, Grundschule (Ost)" "13:02:30"
6960 "60318799" "8763_3" 234.9489507836128 0.6526359743989244 142968 14 "de:01056:70154::972231" "Seester, Grundschule (Ost)" "13:02:30" 142969 15 "de:01056:70153::971241" "Seester, Wendeplatz" "13:02:40"
6960 "60318799" "8763_3" 195.69589966949573 0.5435997213041548 142969 15 "de:01056:70153::971241" "Seester, Wendeplatz" "13:02:40" 142970 16 "de:01056:70171::970631" "Seester, Grundschule" "13:02:50"
6960 "60318799" "8763_3" 178.18133282399532 0.7424222200999805 142972 18 "de:01056:70151::970682" "Seester, Kurzenmoor 16" "13:06:15" 142973 19 "de:01056:70150::970672" "Seester, Kurzenmoor 12-14" "13:06:30"
6960 "60318799" "8763_3" 181.45790630093384 0.403239791779853 142975 21 "de:01056:70148::970532" "Elmshorn, Wilhelmstraße" "13:10:00" 142976 22 "de:01056:97041::970414" "Elmshorn, Köhnholz (Nord)" "13:10:08"
6960 "60318799" "8763_3" 171.86682339631105 0.38192627421402453 142978 24 "de:01056:97790::970028" "Elmshorn, Blücherstraße" "13:10:24" 142979 25 "de:01056:97042::970029" "Elmshorn, Eichstraße" "13:10:32"
6960 "60318799" "8763_3" 165.40685754346217 0.36757079454102703 142979 25 "de:01056:97042::970029" "Elmshorn, Eichstraße" "13:10:32" 142980 26 "de:01056:97050::970030" "Elmshorn, Reichenstraße" "13:10:40"
6960 "60318799" "8763_3" 189.92743849425773 0.42206097443168383 142980 26 "de:01056:97050::970030" "Elmshorn, Reichenstraße" "13:10:40" 142981 27 "de:01056:97044::970444" "Elmshorn, Probstendamm" "13:10:48"
6962 "60318793" "8763_3" 158.32670990471843 0.6596946246029934 143013 1 "de:01056:70156::971011" "Seester, Dieckhof" "14:54:15" 143014 2 "de:01056:70157::971021" "Seester, Hörnstraße" "14:54:30"
6962 "60318793" "8763_3" 205.19816968484093 0.4559959326329799 143016 4 "de:01056:97104::971041" "Seestermühe, Lauenrothsweg" "14:58:00" 143017 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "14:58:08"
6962 "60318793" "8763_3" 230.40828592018585 0.5120184131559685 143017 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "14:58:08" 143018 6 "de:01056:97106::971061" "Seestermühe, Zum Krückausperrwerk" "14:58:16"
6962 "60318793" "8763_3" 225.79710165007978 0.5017713370001773 143018 6 "de:01056:97106::971061" "Seestermühe, Zum Krückausperrwerk" "14:58:16" 143019 7 "de:01056:70162::970611" "Seestermühe, Op de Weddern" "14:58:24"
6962 "60318793" "8763_3" 233.18797607173568 0.5181955023816348 143021 9 "de:01056:70170::970591" "Seestermühe, Schulstraße" "14:58:40" 143022 10 "de:01056:70165::970581" "Seestermühe, Dorfstraße 50" "14:58:48"
6962 "60318793" "8763_3" 248.04266152867666 0.689007393135213 143023 11 "de:01056:97057::970572" "Seester, Abzw. Seestermühe" "15:02:00" 143024 12 "de:01056:97056::970562" "Seester, Groß Sonnendeich" "15:02:10"
6962 "60318793" "8763_3" 302.4762045248297 0.840211679235638 143024 12 "de:01056:97056::970562" "Seester, Groß Sonnendeich" "15:02:10" 143025 13 "de:01056:70155::970622" "Seester, Dorfstraße (West)" "15:02:20"
6962 "60318793" "8763_3" 175.6603496110667 0.4879454155862964 143025 13 "de:01056:70155::970622" "Seester, Dorfstraße (West)" "15:02:20" 143026 14 "de:01056:70154::972231" "Seester, Grundschule (Ost)" "15:02:30"
6962 "60318793" "8763_3" 234.9489507836128 0.6526359743989244 143026 14 "de:01056:70154::972231" "Seester, Grundschule (Ost)" "15:02:30" 143027 15 "de:01056:70153::971241" "Seester, Wendeplatz" "15:02:40"
6962 "60318793" "8763_3" 195.69589966949573 0.5435997213041548 143027 15 "de:01056:70153::971241" "Seester, Wendeplatz" "15:02:40" 143028 16 "de:01056:70171::970631" "Seester, Grundschule" "15:02:50"
6962 "60318793" "8763_3" 178.18133282399532 0.7424222200999805 143030 18 "de:01056:70151::970682" "Seester, Kurzenmoor 16" "15:06:15" 143031 19 "de:01056:70150::970672" "Seester, Kurzenmoor 12-14" "15:06:30"
6962 "60318793" "8763_3" 181.45790630093384 0.403239791779853 143033 21 "de:01056:70148::970532" "Elmshorn, Wilhelmstraße" "15:10:00" 143034 22 "de:01056:97041::970414" "Elmshorn, Köhnholz (Nord)" "15:10:08"
6962 "60318793" "8763_3" 171.86682339631105 0.38192627421402453 143036 24 "de:01056:97790::970028" "Elmshorn, Blücherstraße" "15:10:24" 143037 25 "de:01056:97042::970029" "Elmshorn, Eichstraße" "15:10:32"
6962 "60318793" "8763_3" 165.40685754346217 0.36757079454102703 143037 25 "de:01056:97042::970029" "Elmshorn, Eichstraße" "15:10:32" 143038 26 "de:01056:97050::970030" "Elmshorn, Reichenstraße" "15:10:40"
6962 "60318793" "8763_3" 189.92743849425773 0.42206097443168383 143038 26 "de:01056:97050::970030" "Elmshorn, Reichenstraße" "15:10:40" 143039 27 "de:01056:97044::970444" "Elmshorn, Probstendamm" "15:10:48"
28998 "58460856" "1466_402" 238.31612864901794 1.9859677387418162 685886 40 "090000349000" "349000" "10:21:00" 685887 41 "de:01062:34900:1:349002" "Ahrensburg West" "10:21:30"
28999 "58460862" "1466_402" 238.31612864901794 1.9859677387418162 685933 40 "090000349000" "349000" "10:41:00" 685934 41 "de:01062:34900:1:349002" "Ahrensburg West" "10:41:30"
29035 "58461097" "1466_402" 238.31612864901794 1.9859677387418162 687625 40 "090000349000" "349000" "19:41:00" 687626 41 "de:01062:34900:1:349002" "Ahrensburg West" "19:41:30"
29041 "58461152" "1466_402" 238.31612864901794 1.9859677387418162 687907 40 "090000349000" "349000" "21:41:00" 687908 41 "de:01062:34900:1:349002" "Ahrensburg West" "21:41:30"
100810 "65871786" "14257_3" 342.4235450875073 2.853529542395894 2175606 43 "de:03353:72201::7220101" "Bf. Handeloh (Hauptstraße)" "18:46:00" 2175607 44 "de:03353:72400::7240002" "Welle, Tostedter Straße" "18:46:30"
6959 "60318807" "8763_3" 158.32670990471843 0.6596946246029934 142926 1 "de:01056:70156::971011" "Seester, Dieckhof" "11:54:15" 142927 2 "de:01056:70157::971021" "Seester, Hörnstraße" "11:54:30"
6959 "60318807" "8763_3" 205.19816968484093 0.4559959326329799 142929 4 "de:01056:97104::971041" "Seestermühe, Lauenrothsweg" "11:58:00" 142930 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "11:58:08"
6959 "60318807" "8763_3" 230.40828592018585 0.5120184131559685 142930 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "11:58:08" 142931 6 "de:01056:97106::971061" "Seestermühe, Zum Krückausperrwerk" "11:58:16"
6959 "60318807" "8763_3" 225.79710165007978 0.5017713370001773 142931 6 "de:01056:97106::971061" "Seestermühe, Zum Krückausperrwerk" "11:58:16" 142932 7 "de:01056:70162::970611" "Seestermühe, Op de Weddern" "11:58:24"
6959 "60318807" "8763_3" 233.18797607173568 0.5181955023816348 142934 9 "de:01056:70170::970591" "Seestermühe, Schulstraße" "11:58:40" 142935 10 "de:01056:70165::970581" "Seestermühe, Dorfstraße 50" "11:58:48"
6959 "60318807" "8763_3" 248.04266152867666 0.689007393135213 142936 11 "de:01056:97057::970572" "Seester, Abzw. Seestermühe" "12:02:00" 142937 12 "de:01056:97056::970562" "Seester, Groß Sonnendeich" "12:02:10"
6959 "60318807" "8763_3" 302.4762045248297 0.840211679235638 142937 12 "de:01056:97056::970562" "Seester, Groß Sonnendeich" "12:02:10" 142938 13 "de:01056:70155::970622" "Seester, Dorfstraße (West)" "12:02:20"
6959 "60318807" "8763_3" 175.6603496110667 0.4879454155862964 142938 13 "de:01056:70155::970622" "Seester, Dorfstraße (West)" "12:02:20" 142939 14 "de:01056:70154::972231" "Seester, Grundschule (Ost)" "12:02:30"
6959 "60318807" "8763_3" 234.9489507836128 0.6526359743989244 142939 14 "de:01056:70154::972231" "Seester, Grundschule (Ost)" "12:02:30" 142940 15 "de:01056:70153::971241" "Seester, Wendeplatz" "12:02:40"
6959 "60318807" "8763_3" 195.69589966949573 0.5435997213041548 142940 15 "de:01056:70153::971241" "Seester, Wendeplatz" "12:02:40" 142941 16 "de:01056:70171::970631" "Seester, Grundschule" "12:02:50"
leading_or_trailing_whitespaces WARNING 75

leading_or_trailing_whitespaces

The value in CSV file has leading or trailing whitespaces.

This notice is emitted for values protected with double quotes since whitespaces for non-protected values are trimmed automatically by CSV parser.

The validator strips whitespaces from protected values. We do not see any use case when such a whitespace may be needed. On the other hand, some real-world feeds use trailing whitespaces for some values and omit them for the others. This is causing the largest problem when a primary key and a foreign key differ just by a whitespace: it is clear that they are intended to be the same, that is why we always strip whitespaces.

You can see more about this notice here.

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

filename (?) The name of the faulty file. csvRowNumber (?) The row of the faulty record. fieldName (?) Faulty record's field name. fieldValue (?) Faulty value.
"routes.txt" 255 "route_long_name" " Gesamtverkehr: Lübeck > Hamburg "
"routes.txt" 263 "route_long_name" "Einhaus, Hauptstraße > Krummesse, Schule "
"routes.txt" 344 "route_long_name" "Schlamersdorf > Berlin > Seedorf > Hutzfeld "
"routes.txt" 564 "route_long_name" "Heide-Shuttle 6 Bf. Winsen > Undeloh, Osterdiecksfeld "
"routes.txt" 567 "route_long_name" "Kutenholz > Fredenbeck - Horneburg > Buxtehude "
"routes.txt" 606 "route_long_name" "Sauensiek > Wiegersen "
"routes.txt" 647 "route_long_name" "Kamperlien > Inzmühlen > Welle > Kakenstorf > Tostedt "
"routes.txt" 722 "route_long_name" "Beethovenstraße > Bahnhof > Altländer Viertel "
"routes.txt" 741 "route_long_name" "Lohbarbek >Schlotfeld > Hohenlockstedt "
"routes.txt" 764 "route_long_name" "ZOB > Berufsbildungszentrum RBZ > ZOB "
"routes.txt" 784 "route_long_name" "Neuhaus> Herrenhof - Tripkau - Kaarßen > Laave "
"stops.txt" 10147 "stop_name" "Ecklak, Hauptstraße 2 "
"stops.txt" 10148 "stop_name" "Ecklak, Hauptstraße 2 "
"stops.txt" 10155 "stop_name" "Ecklak, Hörner Weg "
"stops.txt" 10156 "stop_name" "Ecklak, Hörner Weg "
"stops.txt" 10161 "stop_name" "Neuendorf-Sachsenbande, Goldbogen "
"stops.txt" 10162 "stop_name" "Neuendorf-Sachsenbande, Goldbogen "
"stops.txt" 10163 "stop_name" "Brokdorf, Arentsee 28 "
"stops.txt" 10164 "stop_name" "Brokdorf, Arentsee 28 "
"stops.txt" 13144 "platform_code" "2 "
"stops.txt" 14917 "stop_name" "Gribbohm, Fasanenweg "
"stops.txt" 14920 "stop_name" "Hadenfeld, Lindenweg "
"stops.txt" 14950 "stop_name" "Ottenbüttel, Ünnerst Dörpstraat "
"stops.txt" 14954 "stop_name" "Rethwisch (IZ), Op de Wellen "
"stops.txt" 15066 "stop_name" "Nienbüttel, Hörstenweg "
"stops.txt" 15103 "stop_name" "Gribbohm, Fasanenweg "
"stops.txt" 15106 "stop_name" "Hadenfeld, Lindenweg "
"stops.txt" 15169 "stop_name" "Ottenbüttel, Ünnerst Dörpstraat "
"stops.txt" 15177 "stop_name" "Rethwisch (IZ), Op de Wellen "
"stops.txt" 15244 "stop_name" "Horst (Holst.), Jacob-Struve-Schule "
"stops.txt" 15498 "stop_name" "Glückstadt, St. Marien Kirche "
"stops.txt" 15778 "stop_name" "Glückstadt, St. Marien Kirche "
"stops.txt" 16372 "platform_code" "3 "
"stops.txt" 16491 "stop_name" "Groß Sarau, Grüner Weg "
"stops.txt" 16492 "stop_name" "Groß Sarau, Grüner Weg "
"stops.txt" 16991 "stop_name" "Oststeinbek, Neustadt-Glewe-Weg "
"stops.txt" 16992 "stop_name" "Oststeinbek, Neustadt-Glewe-Weg "
"stops.txt" 16993 "stop_name" "Oststeinbek, Helmut-Landt-Weg "
"stops.txt" 16994 "stop_name" "Oststeinbek, Helmut-Landt-Weg "
"stops.txt" 17476 "stop_name" "Ostersode(OHZ) "
"trips.txt" 828 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 829 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 830 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 831 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 832 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 833 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 834 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 835 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 836 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 837 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
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
mixed_case_recommended_field WARNING 23

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" "RB71-SEV" 223
"routes.txt" "route_short_name" "RE1-SEV" 228
"routes.txt" "route_short_name" "RB47-SEV" 229
"routes.txt" "route_short_name" "RB38-SEV" 230
"routes.txt" "route_short_name" "RB82-SEV" 231
"routes.txt" "route_short_name" "RE83-SEV" 232
"routes.txt" "route_short_name" "RB61-SEV" 233
"routes.txt" "route_short_name" "RB41-SEV" 234
"routes.txt" "route_short_name" "RB31-SEV" 235
"routes.txt" "route_short_name" "RE7-SEV" 236
"routes.txt" "route_short_name" "RE80-SEV" 237
"stops.txt" "stop_name" "dodenhof" 13089
"trips.txt" "trip_headsign" "dodenhof" 110742
"trips.txt" "trip_headsign" "dodenhof" 110743
"trips.txt" "trip_headsign" "dodenhof" 110744
"trips.txt" "trip_headsign" "dodenhof" 110745
"trips.txt" "trip_headsign" "dodenhof" 110746
"trips.txt" "trip_headsign" "dodenhof" 110747
"trips.txt" "trip_headsign" "dodenhof" 110748
"trips.txt" "trip_headsign" "dodenhof" 110749
"trips.txt" "trip_headsign" "dodenhof" 110750
"trips.txt" "trip_headsign" "dodenhof" 110751
"trips.txt" "trip_headsign" "dodenhof" 110752
route_color_contrast WARNING 9

route_color_contrast

Insufficient route color contrast.

A route's color and route_text_color should be contrasting.

You can see more about this notice here.

routeId (?) The id of the faulty record. csvRowNumber (?) The row number of the faulty record. routeColor (?) The faulty record's HTML route color. routeTextColor (?) The faulty record's HTML route text color.
"8804_402" 205 "#0098A1" "#0098A1"
"8803_402" 206 "#FFDD00" "#FFDD00"
"8802_402" 207 "#E2001A" "#E2001A"
"1466_402" 208 "#006AB3" "#006AB3"
"5111_109" 217 "#1A962B" "#1A962B"
"14373_109" 731 "#CC7720" "#CC7720"
"13051_109" 734 "#0089BB" "#0089BB"
"9475_109" 735 "#622181" "#622181"
"9473_109" 736 "#B51143" "#B51143"
route_long_name_contains_short_name WARNING 1

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`.
"14166_3" 564 "Heide-Shuttle 6" "Heide-Shuttle 6 Bf. Winsen > Undeloh, Osterdiecksfeld"
route_short_name_too_long WARNING 6

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`.
"14826_3" 561 "Heide-Shuttle 5"
"14166_3" 564 "Heide-Shuttle 6"
"8543_3" 620 "Heide-Shuttle 4"
"8542_3" 621 "Heide-Shuttle 2"
"8541_3" 622 "Heide-Shuttle 1"
"8309_3" 628 "Heide-Shuttle 3"
service_has_no_active_day_of_the_week WARNING 1087

service_has_no_active_day_of_the_week

A service is not valid for any day of the week.

You can see more about this notice here.

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

csvRowNumber (?) The row number in calendar.txt where the error occurs. serviceId (?) The service_id field value.
12 "11"
13 "12"
15 "14"
16 "15"
17 "16"
18 "17"
19 "18"
28 "27"
29 "28"
30 "29"
31 "30"
32 "31"
33 "32"
34 "33"
43 "42"
44 "43"
47 "46"
48 "47"
49 "48"
50 "49"
60 "59"
61 "60"
64 "63"
65 "64"
69 "68"
80 "79"
81 "80"
82 "81"
83 "82"
84 "83"
85 "84"
91 "90"
92 "91"
103 "102"
105 "104"
107 "106"
109 "108"
111 "110"
115 "114"
116 "115"
117 "116"
118 "117"
121 "120"
127 "126"
128 "127"
129 "128"
132 "131"
133 "132"
134 "133"
135 "134"
stop_too_far_from_shape WARNING 236

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.

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

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.
41484 "3631" "60481020" 878400 "de:01060:75144::751441" "Kaltenkirchen, Ohland-Park" [53.82911073598592,9.979015264721022] 123.94556307391629
44762 "3650" "65743134" 941535 "000000153852" "Zeven Bahnhof Süd" [53.283711,9.279054000000002] 161.83123056940326
44762 "3650" "65743134" 941552 "000000154892" "Sittensen, Schulzentrum" [53.28011692166025,9.500023869966476] 830.3478118203266
44763 "3651" "65743118" 941587 "000000153856" "Zeven Bahnhof Süd" [53.28368799999999,9.279088] 155.00917456004643
44761 "3649" "65743135" 941500 "000000153852" "Zeven Bahnhof Süd" [53.283711,9.279054000000002] 161.83123056940326
44761 "3649" "65743135" 941516 "000000154892" "Sittensen, Schulzentrum" [53.28335697653245,9.508644348977898] 488.5101709662001
44745 "3647" "65743137" 940955 "000000153852" "Zeven Bahnhof Süd" [53.283708,9.279056] 161.74470796689752
44747 "3648" "65743153" 941024 "000000153852" "Zeven Bahnhof Süd" [53.283711,9.279054000000002] 161.83123056940326
44777 "3652" "65743117" 942048 "000000154892" "Sittensen, Schulzentrum" [53.28335697653245,9.508644348977898] 488.5101709662001
44777 "3652" "65743117" 942065 "000000153856" "Zeven Bahnhof Süd" [53.28368799999999,9.279088] 155.00917456004643
44724 "3655" "66257977" 940707 "000000323342" "Elm Glüsing" [53.521978000000004,9.210336999999999] 2887.1378227497366
44725 "3657" "66257975" 940718 "000000323342" "Elm Glüsing" [53.521978000000004,9.210336999999999] 2887.1378227497366
37049 "2361" "67031631" 837104 "de:03359:50461::50046101" "Mulsum, Bahnhof" [53.498379702752416,9.305741585418557] 112.21974807193955
37048 "2360" "67031694" 837081 "de:03359:50461::50046101" "Mulsum, Bahnhof" [53.498379702752416,9.305741585418557] 112.21974807193955
37169 "2372" "67031499" 838728 "de:03359:50461::50046101" "Mulsum, Bahnhof" [53.498379702752416,9.305741585418557] 112.21974807193955
37137 "2371" "67031553" 838196 "de:03359:50461::50046101" "Mulsum, Bahnhof" [53.498379702752416,9.305741585418557] 112.21974807193955
114471 "7242" "67026209" 2408207 "de:03355:50307::5030701" "Reppenstedt, Landwehrplatz" [53.247946000000006,10.355847] 104.48964603482354
114475 "7243" "67028088" 2408344 "de:03355:50307::5030701" "Reppenstedt, Landwehrplatz" [53.247946000000006,10.355847] 104.48964603482354
5927 "1165" "66829881" 126286 "de:02000:11031::110039" "U Meßberg" [53.547356,10.001678] 110.47414893285108
5973 "1164" "58585000" 127022 "de:02000:11031::110039" "U Meßberg" [53.547356,10.001678] 110.47414893285108
5747 "1163" "58585035" 123406 "de:02000:11031::110039" "U Meßberg" [53.547356,10.001678] 110.47414893285108
19587 "305" "58599673" 470747 "de:01060:36049::920001" "Norderstedt, Schulzentrum Süd" [53.689707000000006,10.029576] 215.2618651402604
19349 "314" "66579386" 467625 "de:01060:36049::920001" "Norderstedt, Schulzentrum Süd" [53.68917941480157,10.029788924147642] 206.51573574880288
18929 "344" "58601546" 461839 "de:01060:36049::920001" "Norderstedt, Schulzentrum Süd" [53.689708,10.029578999999998] 215.48853952095385
18930 "345" "58601547" 461860 "de:01060:36049::920001" "Norderstedt, Schulzentrum Süd" [53.689708,10.029578999999998] 215.48853952095385
18936 "351" "58601539" 461942 "de:01060:36077::360377" "Harksheide, Festsaal am Falkenberg" [53.708483,10.007939000000002] 112.58466299231486
18892 "354" "66827903" 460982 "de:01060:37034::590607" "Rhen, Paracelsus-Klinik" [53.749235,10.009433] 101.57188231202376
103104 "6014" "65875329" 2226921 "de:03353:46001::4600102" "Rahmstorf, Am Berge" [53.40111638369567,9.660787539815527] 139.3212766723145
92742 "3863" "58103719" 2015192 "de:02000:65026::650029" "U Berne (Berner Heerweg)" [53.626713,10.138523] 121.05390207851742
4557 "1209" "58605997" 99919 "de:02000:22034::220152" "Grandkoppel" [53.503935,10.191070000000002] 170.0774236413679
3446 "1260" "66827650" 66309 "de:02000:21077::210771" "Pinkertweg (Ost)" [53.52239350467094,10.104852547736009] 135.5112854797952
2859 "1290" "60319985" 51450 "de:01056:97032::970048" "Uetersen, Großer Wulfhagen" [53.68410600000001,9.662825000000002] 111.07441660228407
2858 "1289" "60319986" 51439 "de:01056:97032::970048" "Uetersen, Großer Wulfhagen" [53.68410600000001,9.662825000000002] 111.07441660228407
2812 "1288" "60320007" 51114 "de:01056:97032::970048" "Uetersen, Großer Wulfhagen" [53.68410600000001,9.662825000000002] 111.07441660228407
18346 "440" "66938787" 446056 "de:02000:21077::210771" "Pinkertweg (Ost)" [53.522382606306714,10.10486076073738] 134.92504074334707
18415 "441" "66938781" 448115 "de:02000:21077::210771" "Pinkertweg (Ost)" [53.522382606306714,10.10486076073738] 134.92504074334707
18419 "442" "66938788" 448183 "de:02000:21077::210771" "Pinkertweg (Ost)" [53.522382606306714,10.10486076073738] 134.92504074334707
17825 "476" "58602292" 434386 "de:01062:22042::220045" "Havighorst, Krähenberg" [53.525193,10.168535] 127.83167276029681
17826 "477" "58602293" 434397 "de:01062:22042::220045" "Havighorst, Krähenberg" [53.525193,10.168535] 127.83167276029681
17829 "478" "58602294" 434442 "de:01062:22042::220045" "Havighorst, Krähenberg" [53.525193,10.168535] 127.83167276029681
113977 "7452" "66583300" 2400183 "de:03355:62505::25000501" "Lüneburg, Vor dem Neuen Tore" [53.25007,10.391113000000002] 102.32747140916345
17830 "480" "58602290" 434454 "de:01062:22042::220045" "Havighorst, Krähenberg" [53.525193,10.168535] 127.83167276029681
17804 "493" "59964288" 434023 "de:01062:34015::340044" "Ahrensburg, Berufsschule" [53.678695,10.231178] 118.64988828903216
17806 "494" "59964286" 434081 "de:01062:34015::340044" "Ahrensburg, Berufsschule" [53.678695,10.231178] 118.64988828903216
17800 "495" "59964284" 433863 "de:01062:34015::340044" "Ahrensburg, Berufsschule" [53.678695,10.231178] 118.64988828903216
1859 "1363" "66827977" 33680 "de:01060:37034::590607" "Rhen, Paracelsus-Klinik" [53.749235,10.009433] 101.57188231202376
1858 "1362" "66827978" 33671 "de:01060:37034::590607" "Rhen, Paracelsus-Klinik" [53.749235,10.009433] 101.57188231202376
44719 "2693" "60479951" 940568 "de:01060:36049::920001" "Norderstedt, Schulzentrum Süd" [53.68917941480157,10.029788924147642] 206.51573574880288
44723 "2692" "60479955" 940684 "de:01060:36049::920001" "Norderstedt, Schulzentrum Süd" [53.68917941480157,10.029788924147642] 206.51573574880288
1953 "1358" "60320180" 35320 "de:01056:97030::970121" "Uetersen, Ostbahnhof" [53.679929,9.677091999999998] 128.34203160124875
stop_without_stop_time WARNING 14

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.
7264 "de:03359:28202::2820202" "Hüll, Gehrden 18"
7269 "de:03359:28304::2830402" "Hüll, Birkenweg"
7289 "de:03359:28802::2880201" "Wolfsbruchermoor, Fasanenweg 6"
9831 "de:03359:54110::50041101" "Bredenbeck, Bredenbeck 18"
9868 "de:03359:50454::50045401" "Reith, Klein Reith"
9889 "de:03359:50467::50046701" "Reith, Alte Schule"
9897 "de:03359:50480::50048001" "Wohlerst, Feuerwehr"
9898 "de:03359:50481::50048101" "Wohlerst, Wohlerster Horst"
9899 "de:03359:50482::50048201" "Wohlerst, Wohlerst 2"
9902 "de:03359:50484::50048402" "Bredenbeck, Eichenstraße 18"
9907 "de:03359:50487::50048702" "Bredenbeck, Eichenstraße 22"
9910 "de:03359:50503::50050301" "Reith, Reither Damm"
9913 "de:03359:50506::50050601" "Kakerbeck, Im Drauen"
9916 "de:03359:50508::50050801" "Wohlerst, Klein Wohlerst"
stops_match_shape_out_of_order WARNING 51

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.

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

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.
20186 "257" "61103404" 492291 "de:01053:28055::280229" "Geesthacht, ZOB" [53.43582183618406,10.37347134982965] 492290 "de:01053:28055::280230" "Geesthacht, ZOB" [53.43586941437703,10.373495902468743]
20232 "259" "61103341" 493215 "de:01053:28055::280229" "Geesthacht, ZOB" [53.43582183618406,10.37347134982965] 493214 "de:01053:28055::280230" "Geesthacht, ZOB" [53.43586941437703,10.373495902468743]
96035 "3727" "62713020" 2085242 "000000430161" "430161" [53.428341,10.015741] 2085241 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
96230 "3728" "62713019" 2089495 "000000430161" "430161" [53.428341,10.015741] 2089494 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
96185 "3725" "62713038" 2088100 "000000430161" "430161" [53.428341,10.015741] 2088099 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
96234 "3734" "62713001" 2089593 "000000430161" "430161" [53.428341,10.015741] 2089592 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
96049 "3750" "65895937" 2085487 "000000430161" "430161" [53.428341,10.015741] 2085486 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
96331 "3748" "65895958" 2091937 "000000430161" "430161" [53.428341,10.015741] 2091936 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
96376 "3751" "65895931" 2093328 "000000430161" "430161" [53.428341,10.015741] 2093327 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
96380 "3752" "65895930" 2093440 "000000430161" "430161" [53.428341,10.015741] 2093439 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
87901 "3990" "57982150" 1913287 "000000860042" "860042" [53.631009999999996,9.895181] 1913286 "000000860041" "860041" [53.630809000000006,9.894345000000001]
87352 "3991" "58130844" 1897855 "de:02000:91022::910195" "U Niendorf Markt" [53.61911664313046,9.95204782587695] 1897854 "de:02000:91022::910080" "U Niendorf Markt" [53.61948054492593,9.952365547024552]
87253 "3992" "58130720" 1895620 "de:02000:91022::910195" "U Niendorf Markt" [53.61911664313046,9.95204782587695] 1895619 "de:02000:91022::910080" "U Niendorf Markt" [53.61948054492593,9.952365547024552]
87412 "3993" "58130671" 1900015 "de:02000:91022::910195" "U Niendorf Markt" [53.61911664313046,9.95204782587695] 1900014 "de:02000:91022::910080" "U Niendorf Markt" [53.61948054492593,9.952365547024552]
16922 "571" "65741620" 417167 "de:01053:26061::260611" "Escheburg, Schule" [53.470943011331194,10.31084787956281] 417166 "de:01053:26061::260613" "Escheburg, Schule" [53.471318,10.310985999999998]
16924 "572" "65741619" 417240 "de:01053:26061::260611" "Escheburg, Schule" [53.470943011331194,10.31084787956281] 417239 "de:01053:26061::260613" "Escheburg, Schule" [53.471318,10.310985999999998]
14451 "693" "65237570" 357535 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 357534 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14457 "694" "65237574" 357885 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 357884 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14499 "697" "65237547" 359469 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 359468 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14510 "701" "65237506" 360141 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 360140 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14512 "702" "65237481" 360245 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 360244 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14547 "703" "65237504" 361667 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 361666 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14562 "705" "65237457" 362351 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 362350 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14622 "706" "65237407" 365539 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 365538 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14698 "707" "65237408" 368369 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 368368 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14573 "709" "65237420" 362968 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 362967 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14580 "710" "65237367" 363395 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 363394 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14660 "714" "65237389" 366858 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 366857 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14661 "715" "65237349" 366899 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 366898 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14664 "716" "65237290" 367021 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 367020 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14593 "717" "65237326" 364121 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 364120 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
14601 "718" "65237289" 364609 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 364608 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
105188 "5100" "65870811" 2268915 "de:03359:31801::3180102" "Wethe, Blumenstraße" [53.686877265480476,9.450822437203119] 2268914 "de:03359:31802::3180202" "Wethe, Wether Straße" [53.68867282012342,9.443131492593068]
42988 "3162" "66712088" 905355 "de:01060:75026::750262" "Berlin (Seedorf), Unter den Linden" [54.03655072380055,10.4491815625371] 905354 "de:01060:75287::752876" "Seedorf, Seedorfer Allee" [54.040447605867634,10.410307138692705]
103251 "5873" "65875125" 2228953 "de:03353:72201::7220101" "Bf. Handeloh (Hauptstraße)" [53.2440318760364,9.843038562782635] 2228952 "de:03353:72204::7220401" "Inzmühlen, Voßwinkel" [53.238383,9.857934000000002]
103247 "5865" "65875139" 2228888 "de:03353:72204::7220402" "Inzmühlen, Voßwinkel" [53.23835693421496,9.857985414554328] 2228887 "de:03353:72201::7220102" "Bf. Handeloh (Hauptstraße)" [53.24380724114291,9.84349646897092]
103252 "5874" "65875124" 2228969 "de:03353:72201::7220101" "Bf. Handeloh (Hauptstraße)" [53.2440318760364,9.843038562782635] 2228968 "de:03353:72204::7220401" "Inzmühlen, Voßwinkel" [53.238383,9.857934000000002]
103169 "5957" "65875245" 2227838 "de:03353:15302::5300201" "Rosenweide, Sinnenweg" [53.42216799934463,10.115543678477477] 2227837 "de:03353:53100::5300101" "Wuhlenburg, Schleuse" [53.42325863392629,10.107291830801243]
103170 "5964" "65875238" 2227867 "de:03353:15302::5300201" "Rosenweide, Sinnenweg" [53.42216799934463,10.115543678477477] 2227866 "de:03353:53100::5300101" "Wuhlenburg, Schleuse" [53.42325863392629,10.107291830801243]
103171 "5965" "65875247" 2227895 "de:03353:15302::5300201" "Rosenweide, Sinnenweg" [53.42216799934463,10.115543678477477] 2227894 "de:03353:53100::5300101" "Wuhlenburg, Schleuse" [53.42325863392629,10.107291830801243]
42433 "3376" "62389878" 893129 "de:01003:57874::2" "Kronsforde, Kronsforder Koppel" [53.80442723913976,10.623817908142005] 893128 "de:01003:57862::2" "Kronsforde, Kirche" [53.80262969551085,10.622539589842136]
42432 "3375" "62389897" 893115 "de:01003:57862::1" "Kronsforde, Kirche" [53.80262969551085,10.622539589842136] 893114 "de:01003:57874::1" "Kronsforde, Kronsforder Koppel" [53.804416260778844,10.623808596129567]
42059 "3497" "66379336" 886999 "de:01061:86392::1" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358] 886998 "de:01061:9026249::1" "St. Margarethen, Stuven 13" [53.90806309037964,9.25740284046628]
42052 "3494" "66379346" 886891 "de:01061:9026249::2" "St. Margarethen, Stuven 13" [53.90805867562609,9.257395633175202] 886890 "de:01061:86392::2" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358]
42050 "3493" "66379347" 886839 "de:01061:9026249::2" "St. Margarethen, Stuven 13" [53.90805867562609,9.257395633175202] 886838 "de:01061:86392::2" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358]
42049 "3492" "66379349" 886811 "de:01061:9026249::2" "St. Margarethen, Stuven 13" [53.90805867562609,9.257395633175202] 886810 "de:01061:86392::2" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358]
42048 "3491" "66379350" 886787 "de:01061:9026249::2" "St. Margarethen, Stuven 13" [53.90805867562609,9.257395633175202] 886786 "de:01061:86392::2" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358]
42055 "3498" "66379333" 886937 "de:01061:86392::1" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358] 886936 "de:01061:9026249::1" "St. Margarethen, Stuven 13" [53.90806309037964,9.25740284046628]
42062 "3500" "66379331" 887064 "de:01061:86392::1" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358] 887063 "de:01061:9026249::1" "St. Margarethen, Stuven 13" [53.90806309037964,9.25740284046628]
42025 "3514" "66379359" 886448 "de:01061:86392::1" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358] 886447 "de:01061:9026249::1" "St. Margarethen, Stuven 13" [53.90806309037964,9.25740284046628]
unexpected_enum_value WARNING 39

unexpected_enum_value

An enum has an unexpected value.

You can see more about this notice here.

filename (?) The name of the faulty file. csvRowNumber (?) The row number of the faulty record. fieldName (?) The name of the field where the error occurred. fieldValue (?) Faulty value.
"routes.txt" 5 "route_type" 702
"routes.txt" 18 "route_type" 702
"routes.txt" 19 "route_type" 702
"routes.txt" 20 "route_type" 702
"routes.txt" 23 "route_type" 702
"routes.txt" 26 "route_type" 702
"routes.txt" 27 "route_type" 702
"routes.txt" 36 "route_type" 702
"routes.txt" 40 "route_type" 702
"routes.txt" 55 "route_type" 702
"routes.txt" 56 "route_type" 702
"routes.txt" 57 "route_type" 702
"routes.txt" 205 "route_type" 402
"routes.txt" 206 "route_type" 402
"routes.txt" 207 "route_type" 402
"routes.txt" 208 "route_type" 402
"routes.txt" 215 "route_type" 1200
"routes.txt" 216 "route_type" 1200
"routes.txt" 217 "route_type" 109
"routes.txt" 218 "route_type" 1200
"routes.txt" 219 "route_type" 1200
"routes.txt" 220 "route_type" 1200
"routes.txt" 221 "route_type" 1200
"routes.txt" 222 "route_type" 1200
"routes.txt" 422 "route_type" 702
"routes.txt" 427 "route_type" 702
"routes.txt" 438 "route_type" 702
"routes.txt" 443 "route_type" 702
"routes.txt" 448 "route_type" 702
"routes.txt" 449 "route_type" 702
"routes.txt" 731 "route_type" 109
"routes.txt" 732 "route_type" 109
"routes.txt" 733 "route_type" 109
"routes.txt" 734 "route_type" 109
"routes.txt" 735 "route_type" 109
"routes.txt" 736 "route_type" 109
"routes.txt" 774 "route_type" 1200
"routes.txt" 775 "route_type" 1200
"routes.txt" 788 "route_type" 702
big_gap_in_service INFO 390

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 390 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.
"1" "2026-10-08" "2026-10-26" 17
"2" "2026-10-09" "2026-10-26" 16
"24" "2026-10-16" "2026-11-02" 16
"39" "2026-10-16" "2026-11-02" 16
"42" "2026-09-19" "2026-10-04" 14
"45" "2026-10-16" "2026-11-06" 20
"54" "2026-10-09" "2026-10-27" 17
"55" "2026-10-09" "2026-10-30" 20
"56" "2026-10-07" "2026-10-26" 18
"72" "2026-10-16" "2026-11-02" 16
"90" "2026-10-03" "2026-10-31" 27
"94" "2026-10-09" "2026-10-29" 19
"95" "2026-10-09" "2026-10-26" 16
"96" "2026-10-07" "2026-10-28" 20
"97" "2026-10-08" "2026-10-26" 17
"98" "2026-10-09" "2026-10-28" 18
"112" "2026-10-16" "2026-11-02" 16
"135" "2026-10-16" "2026-11-02" 16
"147" "2026-10-08" "2026-10-29" 20
"148" "2026-10-09" "2026-10-26" 16
"159" "2026-10-09" "2026-10-26" 16
"160" "2026-10-09" "2026-10-26" 16
"162" "2026-10-15" "2026-11-02" 17
"174" "2026-09-04" "2026-09-28" 23
"246" "2026-09-24" "2026-10-15" 20
"248" "2026-09-24" "2026-10-15" 20
"249" "2026-09-24" "2026-10-15" 20
"251" "2026-09-20" "2026-10-18" 27
"252" "2026-09-24" "2026-10-15" 20
"254" "2026-09-20" "2026-10-17" 26
"256" "2026-09-24" "2026-10-15" 20
"258" "2026-09-20" "2026-10-17" 26
"260" "2026-09-24" "2026-10-15" 20
"275" "2026-10-09" "2026-10-26" 16
"276" "2026-10-08" "2026-10-26" 17
"316" "2026-09-18" "2026-10-12" 23
"322" "2026-09-22" "2026-10-08" 15
"324" "2026-09-22" "2026-10-08" 15
"331" "2026-09-26" "2026-11-16" 50
"335" "2026-10-21" "2026-11-18" 27
"342" "2026-09-13" "2026-10-03" 19
"344" "2026-09-13" "2026-10-03" 19
"346" "2026-09-14" "2026-10-05" 20
"347" "2026-09-13" "2026-10-03" 19
"350" "2026-10-19" "2026-11-21" 32
"357" "2026-10-03" "2026-10-25" 21
"360" "2026-09-29" "2026-10-20" 20
"363" "2026-10-04" "2026-10-31" 26
"363" "2026-11-01" "2026-11-28" 26
"379" "2026-10-18" "2026-11-07" 19
platform_without_parent_station INFO 1122

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 1122 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.
6 "de:02000:10006:2:100021" "U Burgstraße"
19 "de:02000:10006:2:100096" "U Burgstraße"
23 "de:02000:10006:2:100105" "U Burgstraße"
87 "de:02000:11013:2:110064" "U Stephansplatz"
88 "de:02000:11013:2:110065" "U Stephansplatz"
89 "de:02000:11013:1:110070" "U Stephansplatz"
90 "de:02000:11013:1:110071" "U Stephansplatz"
95 "de:02000:11022:3:110100" "Bf. Dammtor"
96 "de:02000:11022:2:110101" "Bf. Dammtor"
97 "de:02000:11022:2:110103" "Bf. Dammtor"
98 "de:02000:11022:1:110105" "Bf. Dammtor"
113 "de:02000:11022:1:110137" "Bf. Dammtor"
144 "de:02000:40004::400015" "S Harburg Rathaus"
145 "de:02000:40004::400016" "S Harburg Rathaus"
160 "de:02000:40004::400042" "S Harburg Rathaus"
163 "de:02000:40004::400057" "S Harburg Rathaus"
171 "de:02000:41019::410026" "S Neugraben"
179 "de:02000:41019::410054" "S Neugraben"
209 "de:02000:41036::410115" "S Neuwiedenthal"
242 "de:02000:41019::410211" "S Neugraben"
243 "de:02000:41036::410213" "S Neuwiedenthal"
244 "de:02000:41036::410214" "S Neuwiedenthal"
492 "de:02000:52002::520027" "Dradenaubrücke"
536 "de:02000:54006::540025" "S Wilhelmsburg"
537 "de:02000:54006::540026" "S Wilhelmsburg"
538 "de:02000:54006::540027" "S Wilhelmsburg"
539 "de:02000:54006::540029" "S Wilhelmsburg"
553 "de:02000:54018::540050" "S Veddel"
554 "de:02000:54018::540051" "S Veddel"
555 "de:02000:54018::540052" "S Veddel"
556 "de:02000:54018::540053" "S Veddel"
586 "de:02000:54006::540124" "S Wilhelmsburg"
639 "de:02000:60007:3:600012" "U Wandsbek Markt"
640 "de:02000:60007:3:600013" "U Wandsbek Markt"
641 "de:02000:60007:3:600021" "U Wandsbek Markt"
644 "de:02000:60007:1:600039" "U Wandsbek Markt"
665 "de:02000:60013:2:600069" "Wagnerstraße"
666 "de:02000:60016:2:600074" "Maxstraße"
667 "de:02000:60016:1:600075" "Maxstraße"
668 "de:02000:60017:2:600077" "Seumestraße"
669 "de:02000:60017:1:600078" "Seumestraße"
689 "de:02000:60007:2:600125" "U Wandsbek Markt"
690 "de:02000:60007:3:600126" "U Wandsbek Markt"
691 "de:02000:60007:3:600127" "U Wandsbek Markt"
714 "de:02000:61008::610079" "U Billstedt"
715 "de:02000:61008::610082" "U Billstedt"
741 "de:02000:61017::610132" "U Horner Rennbahn"
742 "de:02000:61017::610139" "U Horner Rennbahn"
1079 "de:02000:65005::650074" "Bf. Rahlstedt (Amtsstraße)"
1080 "de:02000:65005::650075" "Bf. Rahlstedt (Amtsstraße)"
trip_headsign_matches_intermediate_stop INFO 106

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.

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

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.
5 "66826800" "Pinneberg, An der Raa" "de:01056:99048::990024" 8 "de:01056:99048::990010"
6 "66826796" "Pinneberg, An der Raa" "de:01056:99048::990024" 8 "de:01056:99048::990010"
7 "66826798" "Pinneberg, An der Raa" "de:01056:99048::990024" 8 "de:01056:99048::990010"
8 "66826797" "Pinneberg, An der Raa" "de:01056:99048::990024" 8 "de:01056:99048::990010"
9 "66826799" "Pinneberg, An der Raa" "de:01056:99048::990024" 8 "de:01056:99048::990010"
818 "64628030" "Achterdeich" "de:02000:24028:2:240178" 18 "de:02000:24028:1:240244"
819 "64628029" "Achterdeich" "de:02000:24028:2:240178" 18 "de:02000:24028:1:240244"
820 "64628028" "Achterdeich" "de:02000:24028:2:240178" 18 "de:02000:24028:1:240244"
2253 "65373079" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2254 "65373091" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2255 "65373090" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2256 "65373089" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2257 "65373088" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2258 "65373087" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2259 "65373086" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2260 "65373085" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2261 "65373084" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2262 "65373083" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2263 "65373082" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2264 "65373081" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2265 "65373080" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2266 "65373078" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2267 "65373077" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2268 "65373076" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2269 "65373075" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2270 "58602633" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2271 "58602645" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2272 "58602644" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2273 "58602643" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2274 "58602642" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2275 "58602641" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2276 "58602640" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2277 "58602639" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2278 "58602638" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2279 "58602637" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2280 "58602636" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2281 "58602635" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2282 "58602634" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2283 "58602632" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2284 "58602631" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2285 "58602630" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2286 "58602629" "Bf. Schwarzenbek" "de:01053:85231::852312" 0 "de:01053:85231::852314"
2287 "65875899" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2288 "65875898" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2289 "65875897" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2290 "65875896" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2291 "65875895" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2292 "65875894" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2293 "65875893" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"
2294 "65875892" "Bf. Schwarzenbek" "de:01053:85231::852313" 0 "de:01053:85231::852314"