hamburger-verkehrsverbund — Source Data Validation Report

This report was generated by the Canonical GTFS Schedule validator, version 8.0.1 at 2026-07-24T14:54:45Z,
for the dataset file:///shared/hamburger-verkehrsverbund_de98b50f.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-07-09
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: 3626
  • Routes: 864
  • Shapes: 8121
  • Stops: 17628
  • Trips: 129778

Specification Compliance report

5718 notices reported (149 errors, 2961 warnings, 2608 infos)

Notice Code Severity Total
block_trips_with_overlapping_stop_times ERROR 149

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 149 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.
96600 "65562119" "898" 96601 "65568497" "898" "3475" "20260811"
96622 "65563105" "887" 96623 "65569267" "887" "3486" "20260709"
96620 "65563071" "171" 96621 "65568267" "886" "3485" "20260711"
96618 "65563018" "888" 96619 "65570820" "887" "3484" "20260709"
96616 "65562594" "166" 96617 "65568056" "886" "3483" "20260712"
96614 "65562436" "911" 96615 "65568059" "911" "3482" "20260709"
96612 "65562383" "911" 96613 "65570394" "911" "3481" "20260709"
96610 "65562381" "903" 96611 "65566700" "910" "3480" "20260709"
96608 "65562123" "898" 96609 "65568505" "898" "3479" "20260811"
96606 "65562122" "898" 96607 "65568503" "898" "3478" "20260811"
96604 "65562121" "898" 96605 "65568501" "898" "3477" "20260811"
96602 "65562120" "898" 96603 "65568499" "898" "3476" "20260811"
96644 "65563303" "887" 96645 "65568085" "886" "3497" "20260711"
96644 "65563303" "887" 96646 "65566702" "673" "3497" "20260709"
96642 "65563302" "887" 96643 "65569324" "887" "3496" "20260709"
96640 "65563301" "887" 96641 "65569322" "887" "3495" "20260709"
96638 "65563158" "887" 96639 "65569265" "887" "3494" "20260709"
96636 "65563157" "887" 96637 "65569263" "887" "3493" "20260709"
96634 "65563156" "887" 96635 "65569261" "887" "3492" "20260709"
96632 "65563155" "887" 96633 "65570425" "887" "3491" "20260709"
96630 "65563109" "887" 96631 "65570441" "887" "3490" "20260709"
96628 "65563108" "887" 96629 "65569273" "887" "3489" "20260709"
96626 "65563107" "887" 96627 "65569271" "887" "3488" "20260709"
96624 "65563106" "887" 96625 "65569269" "887" "3487" "20260709"
96650 "65563305" "887" 96651 "65568089" "886" "3499" "20260711"
96650 "65563305" "887" 96652 "65566706" "673" "3499" "20260709"
96647 "65563304" "887" 96648 "65568087" "886" "3498" "20260711"
96647 "65563304" "887" 96649 "65566704" "673" "3498" "20260709"
96668 "65563311" "887" 96669 "65567995" "886" "3505" "20260711"
96668 "65563311" "887" 96670 "65566718" "673" "3505" "20260709"
96665 "65563310" "887" 96666 "65567993" "886" "3504" "20260711"
96665 "65563310" "887" 96667 "65566716" "673" "3504" "20260709"
96662 "65563309" "887" 96663 "65567885" "886" "3503" "20260711"
96662 "65563309" "887" 96664 "65566851" "673" "3503" "20260709"
96659 "65563308" "887" 96660 "65570650" "886" "3502" "20260711"
96659 "65563308" "887" 96661 "65566849" "673" "3502" "20260709"
96656 "65563307" "887" 96657 "65567881" "886" "3501" "20260711"
96656 "65563307" "887" 96658 "65566847" "673" "3501" "20260709"
96653 "65563306" "887" 96654 "65568091" "886" "3500" "20260711"
96653 "65563306" "887" 96655 "65566708" "673" "3500" "20260709"
96678 "65563315" "887" 96679 "65570421" "887" "3509" "20260709"
96676 "65563314" "887" 96677 "65570419" "887" "3508" "20260709"
96674 "65563313" "887" 96675 "65570417" "887" "3507" "20260709"
96671 "65563312" "887" 96672 "65567997" "886" "3506" "20260711"
96671 "65563312" "887" 96673 "65566992" "673" "3506" "20260709"
96694 "65564247" "887" 96695 "65567931" "886" "3516" "20260711"
96694 "65564247" "887" 96696 "65566724" "673" "3516" "20260709"
96691 "65564246" "887" 96692 "65567929" "886" "3515" "20260711"
96691 "65564246" "887" 96693 "65566722" "673" "3515" "20260709"
96689 "65564201" "166" 96690 "65569222" "887" "3514" "20260712"
expired_calendar WARNING 136

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 136 affected records are displayed below.

csvRowNumber (?) The row of the faulty record. serviceId (?) The service id of the faulty record.
31 "30"
32 "31"
33 "32"
36 "35"
41 "40"
46 "45"
51 "50"
90 "89"
91 "90"
92 "91"
93 "92"
94 "93"
97 "96"
98 "97"
99 "98"
160 "159"
164 "163"
222 "221"
237 "236"
238 "237"
239 "238"
240 "239"
241 "240"
242 "241"
243 "242"
260 "259"
261 "260"
329 "328"
335 "334"
347 "346"
426 "425"
427 "426"
542 "541"
549 "548"
550 "549"
551 "550"
597 "596"
598 "597"
599 "598"
600 "599"
799 "798"
801 "800"
803 "802"
816 "815"
885 "884"
897 "896"
986 "985"
987 "986"
991 "990"
1006 "1005"
fast_travel_between_consecutive_stops WARNING 878

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 878 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.
92041 "64958729" "1466_402" 238.31612864901794 1.9859677387418162 2095515 26 "090000349000" "349000" "25:21:00" 2095516 27 "de:01062:34900:1:349002" "Ahrensburg West" "25:21:30"
91917 "64951718" "1466_402" 238.31612864901794 1.9859677387418162 2091213 29 "090000349000" "349000" "08:01:00" 2091214 30 "de:01062:34900:1:349002" "Ahrensburg West" "08:01:30"
15722 "58402448" "9164_3" 154.12999948828627 1.2844166624023856 315285 12 "000000440061" "440061" "07:20:00" 315286 13 "de:03353:41927::419597" "Ehestorf, Museum Kiekeberg" "07:20:30"
92063 "64958577" "1466_402" 238.31612864901794 1.9859677387418162 2096241 26 "090000349000" "349000" "11:21:00" 2096242 27 "de:01062:34900:1:349002" "Ahrensburg West" "11:21:30"
91827 "63121620" "1466_402" 238.31612864901794 1.9859677387418162 2087082 40 "090000349000" "349000" "19:41:00" 2087083 41 "de:01062:34900:1:349002" "Ahrensburg West" "19:41:30"
91862 "63121908" "1466_402" 238.31612864901794 1.9859677387418162 2088727 40 "090000349000" "349000" "13:41:00" 2088728 41 "de:01062:34900:1:349002" "Ahrensburg West" "13:41:30"
91872 "63121917" "1466_402" 238.31612864901794 1.9859677387418162 2089197 40 "090000349000" "349000" "17:01:00" 2089198 41 "de:01062:34900:1:349002" "Ahrensburg West" "17:01:30"
68824 "60318799" "8763_3" 158.32670990471843 0.6596946246029934 1514695 1 "de:01056:70156::971011" "Seester, Dieckhof" "12:54:15" 1514696 2 "de:01056:70157::971021" "Seester, Hörnstraße" "12:54:30"
68824 "60318799" "8763_3" 205.19816968484093 0.4559959326329799 1514698 4 "de:01056:97104::971041" "Seestermühe, Lauenrothsweg" "12:58:00" 1514699 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "12:58:08"
68824 "60318799" "8763_3" 230.40828592018585 0.5120184131559685 1514699 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "12:58:08" 1514700 6 "de:01056:97106::971061" "Seestermühe, Zum Krückausperrwerk" "12:58:16"
68824 "60318799" "8763_3" 225.79710165007978 0.5017713370001773 1514700 6 "de:01056:97106::971061" "Seestermühe, Zum Krückausperrwerk" "12:58:16" 1514701 7 "de:01056:70162::970611" "Seestermühe, Op de Weddern" "12:58:24"
68824 "60318799" "8763_3" 233.18797607173568 0.5181955023816348 1514703 9 "de:01056:70170::970591" "Seestermühe, Schulstraße" "12:58:40" 1514704 10 "de:01056:70165::970581" "Seestermühe, Dorfstraße 50" "12:58:48"
68824 "60318799" "8763_3" 248.04266152867666 0.689007393135213 1514705 11 "de:01056:97057::970572" "Seester, Abzw. Seestermühe" "13:02:00" 1514706 12 "de:01056:97056::970562" "Seester, Groß Sonnendeich" "13:02:10"
68824 "60318799" "8763_3" 302.4762045248297 0.840211679235638 1514706 12 "de:01056:97056::970562" "Seester, Groß Sonnendeich" "13:02:10" 1514707 13 "de:01056:70155::970622" "Seester, Dorfstraße (West)" "13:02:20"
68824 "60318799" "8763_3" 175.6603496110667 0.4879454155862964 1514707 13 "de:01056:70155::970622" "Seester, Dorfstraße (West)" "13:02:20" 1514708 14 "de:01056:70154::972231" "Seester, Grundschule (Ost)" "13:02:30"
68824 "60318799" "8763_3" 234.9489507836128 0.6526359743989244 1514708 14 "de:01056:70154::972231" "Seester, Grundschule (Ost)" "13:02:30" 1514709 15 "de:01056:70153::971241" "Seester, Wendeplatz" "13:02:40"
68824 "60318799" "8763_3" 195.69589966949573 0.5435997213041548 1514709 15 "de:01056:70153::971241" "Seester, Wendeplatz" "13:02:40" 1514710 16 "de:01056:70171::970631" "Seester, Grundschule" "13:02:50"
68824 "60318799" "8763_3" 178.18133282399532 0.7424222200999805 1514712 18 "de:01056:70151::970682" "Seester, Kurzenmoor 16" "13:06:15" 1514713 19 "de:01056:70150::970672" "Seester, Kurzenmoor 12-14" "13:06:30"
68824 "60318799" "8763_3" 181.45790630093384 0.403239791779853 1514715 21 "de:01056:70148::970532" "Elmshorn, Wilhelmstraße" "13:10:00" 1514716 22 "de:01056:97041::970414" "Elmshorn, Köhnholz (Nord)" "13:10:08"
68824 "60318799" "8763_3" 171.86682339631105 0.38192627421402453 1514718 24 "de:01056:97790::970028" "Elmshorn, Blücherstraße" "13:10:24" 1514719 25 "de:01056:97042::970029" "Elmshorn, Eichstraße" "13:10:32"
68824 "60318799" "8763_3" 165.40685754346217 0.36757079454102703 1514719 25 "de:01056:97042::970029" "Elmshorn, Eichstraße" "13:10:32" 1514720 26 "de:01056:97050::970030" "Elmshorn, Reichenstraße" "13:10:40"
68824 "60318799" "8763_3" 189.92743849425773 0.42206097443168383 1514720 26 "de:01056:97050::970030" "Elmshorn, Reichenstraße" "13:10:40" 1514721 27 "de:01056:97044::970444" "Elmshorn, Probstendamm" "13:10:48"
68826 "60318793" "8763_3" 158.32670990471843 0.6596946246029934 1514753 1 "de:01056:70156::971011" "Seester, Dieckhof" "14:54:15" 1514754 2 "de:01056:70157::971021" "Seester, Hörnstraße" "14:54:30"
68826 "60318793" "8763_3" 205.19816968484093 0.4559959326329799 1514756 4 "de:01056:97104::971041" "Seestermühe, Lauenrothsweg" "14:58:00" 1514757 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "14:58:08"
68826 "60318793" "8763_3" 230.40828592018585 0.5120184131559685 1514757 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "14:58:08" 1514758 6 "de:01056:97106::971061" "Seestermühe, Zum Krückausperrwerk" "14:58:16"
68826 "60318793" "8763_3" 225.79710165007978 0.5017713370001773 1514758 6 "de:01056:97106::971061" "Seestermühe, Zum Krückausperrwerk" "14:58:16" 1514759 7 "de:01056:70162::970611" "Seestermühe, Op de Weddern" "14:58:24"
68826 "60318793" "8763_3" 233.18797607173568 0.5181955023816348 1514761 9 "de:01056:70170::970591" "Seestermühe, Schulstraße" "14:58:40" 1514762 10 "de:01056:70165::970581" "Seestermühe, Dorfstraße 50" "14:58:48"
68826 "60318793" "8763_3" 248.04266152867666 0.689007393135213 1514763 11 "de:01056:97057::970572" "Seester, Abzw. Seestermühe" "15:02:00" 1514764 12 "de:01056:97056::970562" "Seester, Groß Sonnendeich" "15:02:10"
68826 "60318793" "8763_3" 302.4762045248297 0.840211679235638 1514764 12 "de:01056:97056::970562" "Seester, Groß Sonnendeich" "15:02:10" 1514765 13 "de:01056:70155::970622" "Seester, Dorfstraße (West)" "15:02:20"
68826 "60318793" "8763_3" 175.6603496110667 0.4879454155862964 1514765 13 "de:01056:70155::970622" "Seester, Dorfstraße (West)" "15:02:20" 1514766 14 "de:01056:70154::972231" "Seester, Grundschule (Ost)" "15:02:30"
68826 "60318793" "8763_3" 234.9489507836128 0.6526359743989244 1514766 14 "de:01056:70154::972231" "Seester, Grundschule (Ost)" "15:02:30" 1514767 15 "de:01056:70153::971241" "Seester, Wendeplatz" "15:02:40"
68826 "60318793" "8763_3" 195.69589966949573 0.5435997213041548 1514767 15 "de:01056:70153::971241" "Seester, Wendeplatz" "15:02:40" 1514768 16 "de:01056:70171::970631" "Seester, Grundschule" "15:02:50"
68826 "60318793" "8763_3" 178.18133282399532 0.7424222200999805 1514770 18 "de:01056:70151::970682" "Seester, Kurzenmoor 16" "15:06:15" 1514771 19 "de:01056:70150::970672" "Seester, Kurzenmoor 12-14" "15:06:30"
68826 "60318793" "8763_3" 181.45790630093384 0.403239791779853 1514773 21 "de:01056:70148::970532" "Elmshorn, Wilhelmstraße" "15:10:00" 1514774 22 "de:01056:97041::970414" "Elmshorn, Köhnholz (Nord)" "15:10:08"
68826 "60318793" "8763_3" 171.86682339631105 0.38192627421402453 1514776 24 "de:01056:97790::970028" "Elmshorn, Blücherstraße" "15:10:24" 1514777 25 "de:01056:97042::970029" "Elmshorn, Eichstraße" "15:10:32"
68826 "60318793" "8763_3" 165.40685754346217 0.36757079454102703 1514777 25 "de:01056:97042::970029" "Elmshorn, Eichstraße" "15:10:32" 1514778 26 "de:01056:97050::970030" "Elmshorn, Reichenstraße" "15:10:40"
68826 "60318793" "8763_3" 189.92743849425773 0.42206097443168383 1514778 26 "de:01056:97050::970030" "Elmshorn, Reichenstraße" "15:10:40" 1514779 27 "de:01056:97044::970444" "Elmshorn, Probstendamm" "15:10:48"
91705 "58460856" "1466_402" 238.31612864901794 1.9859677387418162 2081386 40 "090000349000" "349000" "10:21:00" 2081387 41 "de:01062:34900:1:349002" "Ahrensburg West" "10:21:30"
15758 "58402465" "9164_3" 154.12999948828627 1.2844166624023856 316437 12 "000000440061" "440061" "15:12:00" 316438 13 "de:03353:41927::419597" "Ehestorf, Museum Kiekeberg" "15:12:30"
91926 "64951719" "1466_402" 238.31612864901794 1.9859677387418162 2091537 29 "090000349000" "349000" "11:01:00" 2091538 30 "de:01062:34900:1:349002" "Ahrensburg West" "11:01:30"
91706 "58460862" "1466_402" 238.31612864901794 1.9859677387418162 2081433 40 "090000349000" "349000" "10:41:00" 2081434 41 "de:01062:34900:1:349002" "Ahrensburg West" "10:41:30"
91742 "58461097" "1466_402" 238.31612864901794 1.9859677387418162 2083125 40 "090000349000" "349000" "19:41:00" 2083126 41 "de:01062:34900:1:349002" "Ahrensburg West" "19:41:30"
15772 "58402462" "9164_3" 154.12999948828627 1.2844166624023856 316885 12 "000000440061" "440061" "18:12:00" 316886 13 "de:03353:41927::419597" "Ehestorf, Museum Kiekeberg" "18:12:30"
91922 "64951723" "1466_402" 238.31612864901794 1.9859677387418162 2091393 29 "090000349000" "349000" "09:41:00" 2091394 30 "de:01062:34900:1:349002" "Ahrensburg West" "09:41:30"
91944 "64951696" "1466_402" 238.31612864901794 1.9859677387418162 2092185 29 "090000349000" "349000" "17:01:00" 2092186 30 "de:01062:34900:1:349002" "Ahrensburg West" "17:01:30"
91935 "64951734" "1466_402" 238.31612864901794 1.9859677387418162 2091861 29 "090000349000" "349000" "14:01:00" 2091862 30 "de:01062:34900:1:349002" "Ahrensburg West" "14:01:30"
91748 "58461152" "1466_402" 238.31612864901794 1.9859677387418162 2083407 40 "090000349000" "349000" "21:41:00" 2083408 41 "de:01062:34900:1:349002" "Ahrensburg West" "21:41:30"
91912 "64662442" "1466_402" 238.31612864901794 1.9859677387418162 2091033 38 "090000349000" "349000" "05:51:00" 2091034 39 "de:01062:34900:1:349002" "Ahrensburg West" "05:51:30"
68823 "60318807" "8763_3" 158.32670990471843 0.6596946246029934 1514666 1 "de:01056:70156::971011" "Seester, Dieckhof" "11:54:15" 1514667 2 "de:01056:70157::971021" "Seester, Hörnstraße" "11:54:30"
68823 "60318807" "8763_3" 205.19816968484093 0.4559959326329799 1514669 4 "de:01056:97104::971041" "Seestermühe, Lauenrothsweg" "11:58:00" 1514670 5 "de:01056:70160::971051" "Seestermühe, Mühlendeich" "11:58:08"
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" 186 "route_long_name" "Uetersen > Moorrege > Appen "
"routes.txt" 403 "route_long_name" " Gesamtverkehr: Lübeck > Hamburg "
"routes.txt" 411 "route_long_name" "Einhaus, Hauptstraße > Krummesse, Schule "
"routes.txt" 492 "route_long_name" "Schlamersdorf > Berlin > Seedorf > Hutzfeld "
"routes.txt" 650 "route_long_name" "ZOB > Berufsbildungszentrum RBZ > ZOB "
"routes.txt" 671 "route_long_name" "Heide-Shuttle 6 Bf. Winsen > Undeloh, Osterdiecksfeld "
"routes.txt" 713 "route_long_name" "Sauensiek > Wiegersen "
"routes.txt" 754 "route_long_name" "Kamperlien > Inzmühlen > Welle > Kakenstorf > Tostedt "
"routes.txt" 848 "route_long_name" "Lohbarbek >Schlotfeld > Hohenlockstedt "
"stops.txt" 10177 "stop_name" "Ecklak, Hauptstraße 2 "
"stops.txt" 10178 "stop_name" "Ecklak, Hauptstraße 2 "
"stops.txt" 10185 "stop_name" "Ecklak, Hörner Weg "
"stops.txt" 10186 "stop_name" "Ecklak, Hörner Weg "
"stops.txt" 10191 "stop_name" "Neuendorf-Sachsenbande, Goldbogen "
"stops.txt" 10192 "stop_name" "Neuendorf-Sachsenbande, Goldbogen "
"stops.txt" 10193 "stop_name" "Brokdorf, Arentsee 28 "
"stops.txt" 10194 "stop_name" "Brokdorf, Arentsee 28 "
"stops.txt" 13176 "platform_code" "2 "
"stops.txt" 14953 "stop_name" "Gribbohm, Fasanenweg "
"stops.txt" 14956 "stop_name" "Hadenfeld, Lindenweg "
"stops.txt" 14986 "stop_name" "Ottenbüttel, Ünnerst Dörpstraat "
"stops.txt" 14990 "stop_name" "Rethwisch (IZ), Op de Wellen "
"stops.txt" 15102 "stop_name" "Nienbüttel, Hörstenweg "
"stops.txt" 15138 "stop_name" "Gribbohm, Fasanenweg "
"stops.txt" 15141 "stop_name" "Hadenfeld, Lindenweg "
"stops.txt" 15204 "stop_name" "Ottenbüttel, Ünnerst Dörpstraat "
"stops.txt" 15212 "stop_name" "Rethwisch (IZ), Op de Wellen "
"stops.txt" 15279 "stop_name" "Horst (Holst.), Jacob-Struve-Schule "
"stops.txt" 15533 "stop_name" "Glückstadt, St. Marien Kirche "
"stops.txt" 15813 "stop_name" "Glückstadt, St. Marien Kirche "
"stops.txt" 16411 "platform_code" "3 "
"stops.txt" 16531 "stop_name" "Groß Sarau, Grüner Weg "
"stops.txt" 16532 "stop_name" "Groß Sarau, Grüner Weg "
"stops.txt" 17044 "stop_name" "Oststeinbek, Neustadt-Glewe-Weg "
"stops.txt" 17045 "stop_name" "Oststeinbek, Neustadt-Glewe-Weg "
"stops.txt" 17046 "stop_name" "Oststeinbek, Helmut-Landt-Weg "
"stops.txt" 17047 "stop_name" "Oststeinbek, Helmut-Landt-Weg "
"stops.txt" 17306 "stop_name" "Ostersode(OHZ) "
"stops.txt" 17622 "stop_name" " Kiel Bahnhofsvorplatz"
"trips.txt" 62831 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 62832 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 62833 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 62834 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 62835 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 62836 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 62837 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 62838 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 62839 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 62840 "trip_headsign" "Oststeinbek, Helmut-Landt-Weg "
"trips.txt" 62841 "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 25

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" "RB47-SEV" 377
"routes.txt" "route_short_name" "RB82-SEV" 378
"routes.txt" "route_short_name" "RE83-SEV" 379
"routes.txt" "route_short_name" "RB61-SEV" 380
"routes.txt" "route_short_name" "RB41-SEV" 381
"routes.txt" "route_short_name" "RB31-SEV" 382
"routes.txt" "route_short_name" "RE7-SEV" 383
"routes.txt" "route_short_name" "RE80-SEV" 384
"routes.txt" "route_short_name" "RE80-SEV" 385
"stops.txt" "stop_name" "dodenhof" 13121
"trips.txt" "trip_headsign" "dodenhof" 128201
"trips.txt" "trip_headsign" "dodenhof" 128202
"trips.txt" "trip_headsign" "dodenhof" 128203
"trips.txt" "trip_headsign" "dodenhof" 128204
"trips.txt" "trip_headsign" "dodenhof" 128205
"trips.txt" "trip_headsign" "dodenhof" 128206
"trips.txt" "trip_headsign" "dodenhof" 128207
"trips.txt" "trip_headsign" "dodenhof" 128208
"trips.txt" "trip_headsign" "dodenhof" 128209
"trips.txt" "trip_headsign" "dodenhof" 128210
"trips.txt" "trip_headsign" "dodenhof" 128211
"trips.txt" "trip_headsign" "dodenhof" 128212
"trips.txt" "trip_headsign" "dodenhof" 128213
"trips.txt" "trip_headsign" "dodenhof" 128214
"trips.txt" "trip_headsign" "dodenhof" 128215
route_color_contrast WARNING 8

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" 327 "#0098A1" "#0098A1"
"8802_402" 329 "#E2001A" "#E2001A"
"1466_402" 330 "#006AB3" "#006AB3"
"5111_109" 368 "#1A962B" "#1A962B"
"14373_109" 838 "#CC7720" "#CC7720"
"13051_109" 841 "#0089BB" "#0089BB"
"9475_109" 842 "#622181" "#622181"
"9473_109" 843 "#B51143" "#B51143"
route_long_name_contains_short_name WARNING 3

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" 671 "Heide-Shuttle 6" "Heide-Shuttle 6 Bf. Winsen > Undeloh, Osterdiecksfeld"
"8543_3" 727 "Heide-Shuttle 4" "Heide-Shuttle 4 Soltau > Schneverdingen"
"8541_3" 729 "Heide-Shuttle 1" "Heide-Shuttle 1 Schneverdingen - Bispingen - Oberhaverbeck"
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" 668 "Heide-Shuttle 5"
"14166_3" 671 "Heide-Shuttle 6"
"8543_3" 727 "Heide-Shuttle 4"
"8542_3" 728 "Heide-Shuttle 2"
"8541_3" 729 "Heide-Shuttle 1"
"8309_3" 735 "Heide-Shuttle 3"
service_has_no_active_day_of_the_week WARNING 1476

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 1476 affected records are displayed below.

csvRowNumber (?) The row number in calendar.txt where the error occurs. serviceId (?) The service_id field value.
3 "2"
5 "4"
6 "5"
8 "7"
9 "8"
10 "9"
11 "10"
12 "11"
13 "12"
14 "13"
24 "23"
25 "24"
26 "25"
28 "27"
31 "30"
32 "31"
33 "32"
34 "33"
36 "35"
41 "40"
46 "45"
51 "50"
57 "56"
59 "58"
60 "59"
61 "60"
81 "80"
82 "81"
83 "82"
84 "83"
85 "84"
90 "89"
91 "90"
92 "91"
93 "92"
94 "93"
97 "96"
98 "97"
99 "98"
102 "101"
104 "103"
105 "104"
108 "107"
111 "110"
113 "112"
114 "113"
115 "114"
116 "115"
117 "116"
121 "120"
stop_too_far_from_shape WARNING 263

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 263 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.
112530 "4980" "60740364" 2390809 "de:03355:50307::5030701" "Reppenstedt, Landwehrplatz" [53.247946000000006,10.355847] 104.48964603482354
61311 "5" "65107788" 1365396 "de:02000:60007:5:190208" "U Wandsbek Markt" [53.572857,10.069429000000001] 128.99840556932304
61100 "6" "65107744" 1362064 "de:02000:60007:5:190208" "U Wandsbek Markt" [53.572857,10.069429000000001] 128.99840556932304
101171 "3645" "65574862" 2244369 "de:03359:8007809:1:780901" "Mulsum-Essel" [53.49835723624789,9.305649645450282] 120.22330026652328
101172 "3646" "65574802" 2244392 "de:03359:8007809:1:780901" "Mulsum-Essel" [53.49835723624789,9.305649645450282] 120.22330026652328
101272 "3657" "65574651" 2245684 "de:03359:8007809:1:780901" "Mulsum-Essel" [53.49835723624789,9.305649645450282] 120.22330026652328
101315 "3658" "65574589" 2246395 "de:03359:8007809:1:780901" "Mulsum-Essel" [53.49835723624789,9.305649645450282] 120.22330026652328
67860 "2363" "58585000" 1498899 "de:02000:11031::110039" "U Meßberg" [53.547356,10.001678] 110.47414893285108
67680 "2362" "58585035" 1496019 "de:02000:11031::110039" "U Meßberg" [53.547356,10.001678] 110.47414893285108
54100 "205" "65572987" 1224442 "de:02000:65026::650029" "U Berne (Berner Heerweg)" [53.626713,10.138523] 121.05390207851742
66551 "2407" "58605997" 1473508 "de:02000:22034::220152" "Grandkoppel" [53.503935,10.191070000000002] 170.0774236413679
1103 "1164" "65218342" 12366 "de:02000:11006::110153" "Brandstwiete" [53.547371,9.996986] 103.71445109736214
64829 "2490" "60319985" 1424855 "de:01056:97032::970048" "Uetersen, Großer Wulfhagen" [53.68410600000001,9.662825000000002] 111.07441660228407
64828 "2489" "60319986" 1424844 "de:01056:97032::970048" "Uetersen, Großer Wulfhagen" [53.68410600000001,9.662825000000002] 111.07441660228407
64782 "2488" "60320007" 1424519 "de:01056:97032::970048" "Uetersen, Großer Wulfhagen" [53.68410600000001,9.662825000000002] 111.07441660228407
1333 "1169" "65348440" 17881 "de:02000:11006::110153" "Brandstwiete" [53.547371,9.996986] 103.71445109736214
1218 "1167" "65231261" 15352 "de:02000:11006::110153" "Brandstwiete" [53.547371,9.996986] 103.71445109736214
46885 "371" "65468049" 1070170 "de:02000:60007:5:190208" "U Wandsbek Markt" [53.572857,10.069429000000001] 128.99840556932304
63914 "2559" "60320180" 1409298 "de:01056:97030::970121" "Uetersen, Ostbahnhof" [53.679929,9.677091999999998] 128.34203160124875
40415 "478" "65571156" 873455 "de:02000:10059::100155" "Alfredstraße" [53.557614,10.033024999999999] 116.94355788358781
40416 "491" "65572577" 873496 "de:02000:10059::100155" "Alfredstraße" [53.557614,10.033024999999999] 116.94355788358781
40417 "495" "65587309" 873537 "de:02000:10059::100155" "Alfredstraße" [53.557614,10.033024999999999] 116.94355788358781
63174 "2600" "58606844" 1394493 "de:02000:25029::250039" "Binnenfeldredder" [53.503665999999996,10.210640999999999] 129.4132672968344
85055 "1310" "58592237" 1942696 "de:01062:22042::220045" "Havighorst, Krähenberg" [53.525193,10.168535] 127.83167276029681
110667 "3988" "60479955" 2359562 "de:01060:36049::920001" "Norderstedt, Schulzentrum Süd" [53.68917941480157,10.029788924147642] 206.51573574880288
110663 "3989" "60479951" 2359446 "de:01060:36049::920001" "Norderstedt, Schulzentrum Süd" [53.68917941480157,10.029788924147642] 206.51573574880288
33875 "598" "62725550" 704289 "de:02000:11006::110153" "Brandstwiete" [53.547371,9.996986] 103.71445109736214
120291 "6299" "64753409" 2556361 "de:03353:41069::410080" "S Neu Wulmstorf" [53.472609,9.789236] 103.12627905594807
82391 "1491" "58599673" 1872401 "de:01060:36049::920001" "Norderstedt, Schulzentrum Süd" [53.689707000000006,10.029576] 215.2618651402604
33879 "600" "62725534" 704382 "de:02000:11006::110153" "Brandstwiete" [53.547371,9.996986] 103.71445109736214
33893 "601" "62725529" 704837 "de:02000:11006::110153" "Brandstwiete" [53.547371,9.996986] 103.71445109736214
33901 "618" "64966033" 705052 "de:02000:11006::110153" "Brandstwiete" [53.547371,9.996986] 103.71445109736214
33915 "626" "65349940" 705512 "de:02000:11006::110153" "Brandstwiete" [53.547371,9.996986] 103.71445109736214
34060 "627" "65349878" 710000 "de:02000:11006::110153" "Brandstwiete" [53.547371,9.996986] 103.71445109736214
34065 "640" "65373685" 710129 "de:02000:11006::110153" "Brandstwiete" [53.547371,9.996986] 103.71445109736214
116809 "7602" "60891367" 2477862 "de:02000:40001::400007" "Knoopstraße/Bremer Straße" [53.457378000000006,9.979646] 119.1994510233837
116838 "7604" "60891327" 2478929 "de:02000:40001::400007" "Knoopstraße/Bremer Straße" [53.457378000000006,9.979646] 119.1994510233837
116810 "7603" "60891366" 2477899 "de:02000:40001::400007" "Knoopstraße/Bremer Straße" [53.457378000000006,9.979646] 119.1994510233837
116866 "7605" "60891310" 2479790 "de:02000:40001::400007" "Knoopstraße/Bremer Straße" [53.457378000000006,9.979646] 119.1994510233837
116720 "7631" "60311541" 2474890 "de:02000:40001::400007" "Knoopstraße/Bremer Straße" [53.457378000000006,9.979646] 119.1994510233837
116719 "7630" "60311542" 2474871 "de:02000:40001::400007" "Knoopstraße/Bremer Straße" [53.457378000000006,9.979646] 119.1994510233837
116721 "7632" "60311540" 2474933 "de:02000:40001::400007" "Knoopstraße/Bremer Straße" [53.457378000000006,9.979646] 119.1994510233837
116703 "7628" "60311515" 2474342 "de:02000:40001::400007" "Knoopstraße/Bremer Straße" [53.457378000000006,9.979646] 119.1994510233837
116713 "7629" "60311500" 2474688 "de:02000:40001::400007" "Knoopstraße/Bremer Straße" [53.457378000000006,9.979646] 119.1994510233837
120303 "6311" "64753399" 2556581 "de:03353:41069::410080" "S Neu Wulmstorf" [53.472609,9.789236] 103.12627905594807
120301 "6310" "64753400" 2556533 "de:03353:41069::410080" "S Neu Wulmstorf" [53.472609,9.789236] 103.12627905594807
120306 "6313" "64753396" 2556645 "de:03353:41069::410080" "S Neu Wulmstorf" [53.472609,9.789236] 103.12627905594807
120304 "6312" "64753398" 2556601 "de:03353:41069::410080" "S Neu Wulmstorf" [53.472609,9.789236] 103.12627905594807
120293 "6304" "64753377" 2556396 "de:03353:75002::7500203" "Trelde, Trelder Berg" [53.325535,9.810620000000002] 123.88985758767016
120293 "6304" "64753377" 2556417 "de:03353:41069::410080" "S Neu Wulmstorf" [53.472609,9.789236] 103.12627905594807
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.
49937 "305" "57982150" 1138670 "000000860042" "860042" [53.631009999999996,9.895181] 1138669 "000000860041" "860041" [53.630809000000006,9.894345000000001]
49273 "306" "58130844" 1118865 "de:02000:91022::910195" "U Niendorf Markt" [53.61911664313046,9.95204782587695] 1118864 "de:02000:91022::910080" "U Niendorf Markt" [53.61948054492593,9.952365547024552]
49174 "307" "58130720" 1116630 "de:02000:91022::910195" "U Niendorf Markt" [53.61911664313046,9.95204782587695] 1116629 "de:02000:91022::910080" "U Niendorf Markt" [53.61948054492593,9.952365547024552]
49333 "308" "58130671" 1121025 "de:02000:91022::910195" "U Niendorf Markt" [53.61911664313046,9.95204782587695] 1121024 "de:02000:91022::910080" "U Niendorf Markt" [53.61948054492593,9.952365547024552]
49360 "316" "65571679" 1121970 "de:02000:91022::910195" "U Niendorf Markt" [53.61911664313046,9.95204782587695] 1121969 "de:02000:91022::910080" "U Niendorf Markt" [53.61948054492593,9.952365547024552]
49420 "317" "65571551" 1124070 "de:02000:91022::910195" "U Niendorf Markt" [53.61911664313046,9.95204782587695] 1124069 "de:02000:91022::910080" "U Niendorf Markt" [53.61948054492593,9.952365547024552]
57923 "60" "62713038" 1304680 "000000430161" "430161" [53.428341,10.015741] 1304679 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
57805 "62" "62713020" 1302211 "000000430161" "430161" [53.428341,10.015741] 1302210 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
57968 "63" "62713019" 1306075 "000000430161" "430161" [53.428341,10.015741] 1306074 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
57972 "69" "62713001" 1306173 "000000430161" "430161" [53.428341,10.015741] 1306172 "de:03353:43056::430084" "Meckelfeld, Am Blöcken" [53.428479101930954,10.015604729303284]
120814 "6182" "63798696" 2564203 "de:03359:31801::3180102" "Wethe, Blumenstraße" [53.686877265480476,9.450822437203119] 2564202 "de:03359:31802::3180202" "Wethe, Wether Straße" [53.68867282012342,9.443131492593068]
82905 "1448" "61103341" 1888713 "de:01053:28055::280229" "Geesthacht, ZOB" [53.43582183618406,10.37347134982965] 1888712 "de:01053:28055::280230" "Geesthacht, ZOB" [53.43586941437703,10.373495902468743]
82859 "1446" "61103404" 1887789 "de:01053:28055::280229" "Geesthacht, ZOB" [53.43582183618406,10.37347134982965] 1887788 "de:01053:28055::280230" "Geesthacht, ZOB" [53.43586941437703,10.373495902468743]
116233 "7726" "64609411" 2468447 "de:03359:35603::3560301" "Estorf, Ole Dörpstroot" [53.57613110718043,9.196852036452615] 2468446 "de:03359:35607::3560701" "Estorf, Schröden" [53.578491844436975,9.19898739178607]
95740 "2982" "58325666" 2189655 "de:01053:37738::375447" "Lehmrade, Oldenburger Straße" [53.59448768823629,10.75239782276608] 2189654 "de:01053:37738::375422" "Lehmrade, Oldenburger Straße" [53.594351,10.752419]
79985 "1734" "58603489" 1824763 "de:01053:26061::260611" "Escheburg, Schule" [53.470943011331194,10.31084787956281] 1824762 "de:01053:26061::260613" "Escheburg, Schule" [53.471318,10.310985999999998]
79987 "1735" "58603488" 1824834 "de:01053:26061::260611" "Escheburg, Schule" [53.470943011331194,10.31084787956281] 1824833 "de:01053:26061::260613" "Escheburg, Schule" [53.471318,10.310985999999998]
77105 "1864" "65237574" 1757024 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1757023 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77099 "1863" "65237570" 1756674 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1756673 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77147 "1867" "65237547" 1758608 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1758607 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77228 "1880" "65237367" 1762534 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1762533 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77346 "1877" "65237408" 1767508 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1767507 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77270 "1876" "65237407" 1764678 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1764677 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77210 "1875" "65237457" 1761490 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1761489 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77195 "1873" "65237504" 1760806 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1760805 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77160 "1872" "65237481" 1759384 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1759383 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77158 "1871" "65237506" 1759280 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1759279 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77221 "1879" "65237420" 1762107 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1762106 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77249 "1888" "65237289" 1763748 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1763747 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77241 "1887" "65237326" 1763260 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1763259 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77312 "1886" "65237290" 1766160 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1766159 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77309 "1885" "65237349" 1766038 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1766037 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
77308 "1884" "65237389" 1765997 "de:01056:99005::990044" "Bf. Pinneberg" [53.65597083236482,9.797491145295405] 1765996 "de:01056:99005::990043" "Bf. Pinneberg" [53.656079000000005,9.797335]
118724 "6914" "64754618" 2523159 "de:03353:72204::7220402" "Inzmühlen, Voßwinkel" [53.23835693421496,9.857985414554328] 2523158 "de:03353:72201::7220102" "Bf. Handeloh (Hauptstraße)" [53.24380724114291,9.84349646897092]
118726 "6922" "64754597" 2523185 "de:03353:72201::7220101" "Bf. Handeloh (Hauptstraße)" [53.2440318760364,9.843038562782635] 2523184 "de:03353:72204::7220401" "Inzmühlen, Voßwinkel" [53.238383,9.857934000000002]
118727 "6923" "64754596" 2523201 "de:03353:72201::7220101" "Bf. Handeloh (Hauptstraße)" [53.2440318760364,9.843038562782635] 2523200 "de:03353:72204::7220401" "Inzmühlen, Voßwinkel" [53.238383,9.857934000000002]
108931 "4458" "64098742" 2324370 "de:01060:75026::750262" "Berlin (Seedorf), Unter den Linden" [54.03655072380055,10.4491815625371] 2324369 "de:01060:75287::752876" "Seedorf, Seedorfer Allee" [54.040447605867634,10.410307138692705]
108380 "4668" "62389897" 2312252 "de:01003:57862::1" "Kronsforde, Kirche" [53.80262969551085,10.622539589842136] 2312251 "de:01003:57874::1" "Kronsforde, Kronsforder Koppel" [53.804416260778844,10.623808596129567]
108381 "4669" "62389878" 2312266 "de:01003:57874::2" "Kronsforde, Kronsforder Koppel" [53.80442723913976,10.623817908142005] 2312265 "de:01003:57862::2" "Kronsforde, Kirche" [53.80262969551085,10.622539589842136]
107996 "4784" "60346831" 2305924 "de:01061:9026249::2" "St. Margarethen, Stuven 13" [53.90805867562609,9.257395633175202] 2305923 "de:01061:86392::2" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358]
108007 "4790" "60346824" 2306136 "de:01061:86392::1" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358] 2306135 "de:01061:9026249::1" "St. Margarethen, Stuven 13" [53.90806309037964,9.25740284046628]
108003 "4791" "60346821" 2306074 "de:01061:86392::1" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358] 2306073 "de:01061:9026249::1" "St. Margarethen, Stuven 13" [53.90806309037964,9.25740284046628]
108010 "4793" "60346822" 2306201 "de:01061:86392::1" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358] 2306200 "de:01061:9026249::1" "St. Margarethen, Stuven 13" [53.90806309037964,9.25740284046628]
107997 "4785" "60346836" 2305948 "de:01061:9026249::2" "St. Margarethen, Stuven 13" [53.90805867562609,9.257395633175202] 2305947 "de:01061:86392::2" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358]
107998 "4786" "60346833" 2305976 "de:01061:9026249::2" "St. Margarethen, Stuven 13" [53.90805867562609,9.257395633175202] 2305975 "de:01061:86392::2" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358]
108000 "4787" "60346830" 2306028 "de:01061:9026249::2" "St. Margarethen, Stuven 13" [53.90805867562609,9.257395633175202] 2306027 "de:01061:86392::2" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358]
118642 "7011" "64754736" 2522077 "de:03353:15302::5300201" "Rosenweide, Sinnenweg" [53.42216799934463,10.115543678477477] 2522076 "de:03353:53100::5300101" "Wuhlenburg, Schleuse" [53.42325863392629,10.107291830801243]
118644 "7020" "64754743" 2522134 "de:03353:15302::5300201" "Rosenweide, Sinnenweg" [53.42216799934463,10.115543678477477] 2522133 "de:03353:53100::5300101" "Wuhlenburg, Schleuse" [53.42325863392629,10.107291830801243]
118643 "7019" "64754744" 2522106 "de:03353:15302::5300201" "Rosenweide, Sinnenweg" [53.42216799934463,10.115543678477477] 2522105 "de:03353:53100::5300101" "Wuhlenburg, Schleuse" [53.42325863392629,10.107291830801243]
107973 "4807" "60346849" 2305585 "de:01061:86392::1" "St. Margarethen, Holstendamm (Ost)" [53.90705875969825,9.255970175673358] 2305584 "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" 12 "route_type" 702
"routes.txt" 17 "route_type" 702
"routes.txt" 29 "route_type" 702
"routes.txt" 34 "route_type" 702
"routes.txt" 39 "route_type" 702
"routes.txt" 40 "route_type" 702
"routes.txt" 127 "route_type" 702
"routes.txt" 140 "route_type" 702
"routes.txt" 141 "route_type" 702
"routes.txt" 142 "route_type" 702
"routes.txt" 145 "route_type" 702
"routes.txt" 148 "route_type" 702
"routes.txt" 149 "route_type" 702
"routes.txt" 158 "route_type" 702
"routes.txt" 162 "route_type" 702
"routes.txt" 177 "route_type" 702
"routes.txt" 178 "route_type" 702
"routes.txt" 179 "route_type" 702
"routes.txt" 327 "route_type" 402
"routes.txt" 328 "route_type" 402
"routes.txt" 329 "route_type" 402
"routes.txt" 330 "route_type" 402
"routes.txt" 366 "route_type" 1200
"routes.txt" 367 "route_type" 1200
"routes.txt" 368 "route_type" 109
"routes.txt" 369 "route_type" 1200
"routes.txt" 370 "route_type" 1200
"routes.txt" 371 "route_type" 1200
"routes.txt" 372 "route_type" 1200
"routes.txt" 373 "route_type" 1200
"routes.txt" 562 "route_type" 702
"routes.txt" 838 "route_type" 109
"routes.txt" 839 "route_type" 109
"routes.txt" 840 "route_type" 109
"routes.txt" 841 "route_type" 109
"routes.txt" 842 "route_type" 109
"routes.txt" 843 "route_type" 109
"routes.txt" 853 "route_type" 1200
"routes.txt" 854 "route_type" 1200
big_gap_in_service INFO 646

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 646 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.
"44" "2026-10-16" "2026-11-02" 16
"75" "2026-07-24" "2026-08-17" 23
"76" "2026-07-26" "2026-08-16" 20
"77" "2026-07-25" "2026-08-15" 20
"78" "2026-07-26" "2026-08-15" 19
"79" "2026-07-26" "2026-08-15" 19
"125" "2026-09-25" "2026-11-02" 37
"173" "2026-07-10" "2026-08-03" 23
"176" "2026-07-10" "2026-08-03" 23
"177" "2026-07-11" "2026-08-08" 27
"178" "2026-07-12" "2026-08-02" 20
"179" "2026-07-11" "2026-08-01" 20
"180" "2026-07-12" "2026-08-02" 20
"197" "2026-10-16" "2026-11-02" 16
"210" "2026-07-11" "2026-08-01" 20
"211" "2026-07-10" "2026-08-03" 23
"212" "2026-07-12" "2026-08-02" 20
"213" "2026-07-11" "2026-08-08" 27
"214" "2026-08-19" "2026-10-19" 60
"215" "2026-07-10" "2026-07-30" 19
"216" "2026-07-10" "2026-07-30" 19
"219" "2026-07-09" "2026-07-30" 20
"220" "2026-07-09" "2026-07-30" 20
"224" "2026-07-09" "2026-07-30" 20
"272" "2026-07-10" "2026-08-03" 23
"273" "2026-07-12" "2026-08-02" 20
"274" "2026-07-09" "2026-08-03" 24
"276" "2026-07-11" "2026-08-01" 20
"278" "2026-07-12" "2026-08-02" 20
"280" "2026-07-10" "2026-08-07" 27
"281" "2026-07-11" "2026-08-01" 20
"284" "2026-10-16" "2026-11-02" 16
"297" "2026-08-09" "2026-09-21" 42
"299" "2026-08-08" "2026-09-25" 47
"303" "2026-07-25" "2026-08-15" 20
"305" "2026-07-26" "2026-08-16" 20
"307" "2026-07-24" "2026-08-17" 23
"309" "2026-07-25" "2026-08-15" 20
"311" "2026-07-26" "2026-08-15" 19
"314" "2026-07-26" "2026-08-15" 19
"320" "2026-07-11" "2026-07-30" 18
"322" "2026-07-12" "2026-07-30" 17
"325" "2026-07-11" "2026-07-31" 19
"338" "2026-07-19" "2026-08-04" 15
"341" "2026-07-12" "2026-07-30" 17
"350" "2026-07-10" "2026-08-03" 23
"351" "2026-07-10" "2026-08-01" 21
"352" "2026-07-11" "2026-08-01" 20
"355" "2026-07-09" "2026-07-30" 20
"356" "2026-07-09" "2026-07-30" 20
platform_without_parent_station INFO 1124

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 1124 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::400057" "S Harburg Rathaus"
145 "de:02000:40004::400016" "S Harburg Rathaus"
160 "de:02000:40004::400042" "S Harburg Rathaus"
163 "de:02000:40004::400015" "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:60003::600038" "Bahngärten"
645 "de:02000:60007:1:600039" "U Wandsbek Markt"
666 "de:02000:60013:2:600069" "Wagnerstraße"
667 "de:02000:60016:2:600074" "Maxstraße"
668 "de:02000:60016:1:600075" "Maxstraße"
669 "de:02000:60017:2:600077" "Seumestraße"
670 "de:02000:60017:1:600078" "Seumestraße"
690 "de:02000:60007:2:600125" "U Wandsbek Markt"
691 "de:02000:60007:3:600126" "U Wandsbek Markt"
692 "de:02000:60007:3:600127" "U Wandsbek Markt"
715 "de:02000:61008::610079" "U Billstedt"
716 "de:02000:61008::610082" "U Billstedt"
742 "de:02000:61017::610132" "U Horner Rennbahn"
743 "de:02000:61017::610139" "U Horner Rennbahn"
1082 "de:02000:65005::650074" "Bf. Rahlstedt (Amtsstraße)"
trip_headsign_matches_intermediate_stop INFO 838

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 838 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.
45 "58009665" "U Niendorf Markt" "de:02000:91022::910195" 0 "de:02000:91022::910081"
46 "58009664" "U Niendorf Markt" "de:02000:91022::910195" 0 "de:02000:91022::910081"
47 "58009663" "U Niendorf Markt" "de:02000:91022::910195" 0 "de:02000:91022::910081"
48 "58009662" "U Niendorf Markt" "de:02000:91022::910195" 0 "de:02000:91022::910081"
49 "58009661" "U Niendorf Markt" "de:02000:91022::910195" 0 "de:02000:91022::910081"
50 "58009660" "U Niendorf Markt" "de:02000:91022::910195" 0 "de:02000:91022::910081"
10767 "58216580" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10768 "58216494" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10769 "58216497" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10770 "58216581" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10771 "58216496" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10772 "58216492" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10773 "58216486" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10774 "58216495" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10775 "58216493" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10776 "58216485" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10777 "58216512" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10778 "58216511" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10779 "58216487" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10780 "58216510" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10781 "58216612" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10782 "58216611" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10783 "58216488" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10784 "58216610" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10785 "58216609" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10786 "58216617" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10787 "58216476" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10788 "58216616" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10789 "58216615" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10790 "58216491" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10791 "58216620" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10792 "58216619" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10793 "58216490" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10794 "58216614" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10795 "58216478" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10796 "58216613" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10797 "58216489" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10798 "58216618" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10799 "58216477" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10800 "58216604" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10801 "58216540" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10802 "58216480" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10803 "58216603" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10804 "58216554" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10805 "58216479" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10806 "58216606" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10807 "58216553" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10808 "58216481" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10809 "58216605" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"
10810 "58216552" "U S Barmbek" "de:02000:70028:1:700048" 0 "de:02000:70028:1:700085"