VMS GTFS feed validation results

Validation results for GTFS feed provided by VMS.

Also have a look at GTFS issue tracker.

Contact: Jens Flemming

GTFS feed version: 2026-10-12

Sections:

Non-IFOPT IDs [link]

Stops in DELFI's feed should use IFOPTs as stop ID. Some do, some do not, and some use an IFOPT suffixed by one or multiple _G. The table shows correponding counts.

See also GTFS issue 115.

location type IFOPT IFOPT with _G not IFOPT all
1 (station) 0 0 0 0
0 (platform) 8675 0 0 8675
2/3 (misc) 0 0 0 0
all 8675 0 0 8675

Non-IFOPT station IDs [link]

No stations with non-IFOPT ID found.

Non-IFOPT platform IDs [link]

No platforms with non-IFOPT ID found.

Non-IFOPT misc object IDs [link]

No misc objects with non-IFOPT ID found.

Not in ZHV [link]

Stops in DELFI's feed should use IFOPTs as stop ID. The table shows how many of the used IFOPTs starting with "de:" are listed in DELFI ZHV (_G suffixes are ignored).

See also GTFS issue 121.

location type in ZHV not in ZHV, but parent object and parent not in ZHV all
1 (station) 0 0 0 0
0 (platform) 8638 4 10 8652
2/3 (misc) 0 0 0 0
all 8638 4 10 8652

Stations not in ZHV [link]

No stations with IFOPT not in ZHV.

Platforms not in ZHV [link]

Found 14 platforms with IFOPT not in ZHV.

ID parent in ZHV name
de:14511:30204:0:BNEH False Chemnitz, Puschkinstr
de:14511:30204:0:BSEH False Chemnitz, Puschkinstr
de:14511:30407:0:BN False Chemnitz, Trützschlerstr
de:14521:40709:0:BNEH False Annaberg-Buchholz, EH Sparkasse/Annenkirche
de:14522:80095:0:BW False Döbeln, Am Walduferviertel
de:14524:1206:0:BO False Zwickau, Oberhohndorf Schule EH
de:14729:12362::01 False Narsdorf, Grüne Tanne
de:14729:12362::02 False Narsdorf, Grüne Tanne
de:14729:12362::03 False Narsdorf, Grüne Tanne
de:14729:12362::06 False Narsdorf, Grüne Tanne
de:14511:30447:2:BOEH True Chemnitz, Altendorfer Str
de:14524:10372:0:BWSB True Werdau, Theodor-Körner-Str
de:14524:1207:0:BS True Stenn, Schusterweg
de:14729:30769:0:BN2 True Böhlen, Schule

Misc objects not in ZHV [link]

No misc objects with IFOPT not in ZHV.

Not in Germany/Europe [link]

The list shows all stations, platforms, misc objects that violate at least one of the following criteria:

Thus, objects in the list do not lie in Germany (although ID starts with "de:") or not in Europe.

See also GTFS issue 35.

No objects outside Germany/Europe found.

Multiple objects at same location [link]

The three lists below show all stations, platforms, misc objects sharing their location with another object of same type. Two objects are considered "at the same location" if their distance is at most 1 meters. All objects of same type and location have a common group ID.

See also GTFS issue 44.

Stations [link]

No locations with multiple stations found.

Platforms [link]

Found 42 platforms sharing their location with another platform.

ID lat lon group ID name
de:14511:30029:2:BN2 50.79082409 12.92627185 108 Chemnitz, Altchemnitz 2
gen:14511:30029:2:2U 50.79082977 12.92626287 108 Chemnitz, Altchemnitz
de:14511:30029:2:BS 50.79072187 12.92574184 110 Chemnitz, Altchemnitz 3
gen:14511:30029:2:3U 50.79072755 12.92574184 110 Chemnitz, Altchemnitz
de:14511:30277:1:TN 50.79413467 12.92240909 645 Chemnitz, Schneeberger Str
de:14511:30277:2:BN 50.79413467 12.92240909 645 Chemnitz, Schneeberger Str
de:14511:30416:0:BO 50.88326177 12.94571139 922 Chemnitz, Lichtenauer Weg
gen:14511:30416:0:BOU 50.88326177 12.94571139 922 Chemnitz, Lichtenauer Weg
de:14511:30416:0:BW 50.88331844 12.94569343 923 Chemnitz, Lichtenauer Weg
gen:14511:30416:0:BWU 50.88332411 12.94568444 923 Chemnitz, Lichtenauer Weg
gen:14521:20299:0:BOU 50.77725563 12.80462199 1565 Leukersdorf, Hauptstr
de:14521:20299:0:BO 50.77725563 12.80462199 1565 Leukersdorf, Hauptstr
de:14521:40029:0:BS 50.57236604 13.00249390 2106 Annaberg-Buchholz, Bärensteiner Str
gen:14521:40029:0:BSU 50.57236604 13.00249390 2106 Annaberg-Buchholz, Bärensteiner Str
gen:14521:40302:0:BWU 50.62728106 13.10977970 2566 Großrückerswalde, Wendeschleife
de:14521:40302:0:BW 50.62728106 13.10978868 2566 Großrückerswalde, Wendeschleife
gen:14522:60095:2:BO1U 50.93455832 12.69761468 3951 Penig, Bahnhof
de:14522:60095:0:BO1 50.93455832 12.69761468 3951 Penig, Bahnhof
gen:14522:70067:0:BWU 50.87316120 13.29668317 4886 St. Michaelis, Schulhof
de:14522:70067:0:BO 50.87316120 13.29668317 4886 St. Michaelis, Schulhof
de:14522:80573:0:BO 51.09490208 12.97576004 6430 Hartha, Richard-Wagner-Str
gen:14522:80573:0:BOU 51.09490772 12.97575106 6430 Hartha, Richard-Wagner-Str
de:14524:1009:2:BW 50.70274363 12.49045419 6495 Zwickau, Reuterweg
de:14524:1009:1:TO 50.70274363 12.49045419 6495 Zwickau, Reuterweg
de:14524:1011:2:BS 50.69597273 12.48001577 6513 Zwickau, Himmelfürststr
de:14524:1011:1:TN 50.69597273 12.48001577 6513 Zwickau, Himmelfürststr
de:14524:10340:0:BO 50.74512206 12.60057866 6880 Mülsen St Jacob, Funkenburg
gen:14524:10340:0:BOU 50.74512774 12.60056968 6880 Mülsen St Jacob, Funkenburg
de:14524:1090:2:BN 50.72361917 12.43451610 7711 Zwickau, Klinikum
de:14524:1090:1:TS 50.72361917 12.43451610 7711 Zwickau, Klinikum
gen:14524:1120:0:GOU 50.72022966 12.48122849 7851 Zwickau, Brunnenstr
de:14524:1120:0:GO 50.72022966 12.48121951 7851 Zwickau, Brunnenstr
gen:14524:1135:0:GWU 50.72047421 12.47509300 7873 Zwickau, Kopernikusstr
de:14524:1135:0:GW 50.72047421 12.47509300 7873 Zwickau, Kopernikusstr
de:14524:1191:1:BNSEV 50.69643364 12.46187878 7958 Neuplanitz, Marchlewskistr
de:14524:1191:0:TS 50.69643364 12.46187878 7958 Neuplanitz, Marchlewskistr
de:14524:20226:0:BS 50.79862601 12.69770451 8160 Hohenstein-Ernstthal, Schlackenweg
gen:14524:20226:0:BSU 50.79863169 12.69770451 8160 Hohenstein-Ernstthal, Schlackenweg
gen:14524:20319:0:BOU 50.85422382 12.78279293 8237 Limbach-Oberfrohna, Chemnitzer Str/Ostring
de:14524:20319:0:BO 50.85421815 12.78280192 8237 Limbach-Oberfrohna, Chemnitzer Str/Ostring
gen:14524:20422:0:BWU 50.78925673 12.73458035 8303 Oberlungwitz, Rathaus
de:14524:20422:0:BW 50.78925105 12.73458933 8303 Oberlungwitz, Rathaus

Misc objects [link]

No locations with multiple misc objects found.

Duplicate trips [link]

A GTFS feed may (but shouldn't) contain duplicate trips. Two trips are considered identical if all of the following criteria are satisfied:

Thus, two trips are considered identical if corresponding vehicles travel at the same time along routes with (almost) identical stop locations.

See also GTFS issue 89.

Pairs of duplicate trips [link]

Column "identical stops" contains "True" if all stop pairs of the two trips are identical (same ID). If at least one stop pair has different IDs, the value is "False". Last two columns show how many of each trip's service days overlap with the other trip. A value of 100 in both columns thus means that all service days of both trips are identical.

Found 21 pairs of duplicate trips.

Trip pairs with 100 per cent service day overlap: 16

Trip pairs with partial service day overlap: 5

ID trip 1 ID trip 2 route ID for trip 1 route ID for trip 2 identical stops overlapping days in trip 1 [per cent] overlapping days in trip 2 [per cent]
37.T2.51-C13-j25-4.5.H 38.T2.51-C13-j25-4.5.H de:vms:52-C13:SEV de:vms:52-C13:SEV True 100 100
1.T0.40-430-j25-2.1.H 2.T0.40-430-j25-2.1.H de:vms:40-430 de:vms:40-430 True 100 100
1.T0.40-430-j25-3.1.H 2.T0.40-430-j25-3.1.H de:vms:40-430 de:vms:40-430 True 100 100
1.T0.40-430-j25-4.1.H 2.T0.40-430-j25-4.1.H de:vms:40-430 de:vms:40-430 True 100 100
1.T0.40-430-j25-5.1.H 2.T0.40-430-j25-5.1.H de:vms:40-430 de:vms:40-430 True 100 100
1.T0.40-430-j25-6.1.H 2.T0.40-430-j25-6.1.H de:vms:40-430 de:vms:40-430 True 100 100
1.T0.40-430-j25-7.1.H 2.T0.40-430-j25-7.1.H de:vms:40-430 de:vms:40-430 True 100 100
105.T0.20-196-j25-1.4.R 106.T0.20-196-j25-1.4.R de:vms:20-196 de:vms:20-196 True 100 100
5.T0.20-247-j25-1.4.R 6.T0.20-247-j25-1.4.R de:vms:20-247 de:vms:20-247 True 100 100
12.T0.32-26-j25-1.1.R 13.T0.32-26-j25-1.1.R de:vms:32-26 de:vms:32-26 True 100 100
22.T0.70-786-D-j25-2.11.H 23.T0.70-786-D-j25-2.11.H de:vms:70-786-D de:vms:70-786-D True 100 100
22.T0.70-786-D-j25-3.25.H 23.T0.70-786-D-j25-3.25.H de:vms:70-786-D de:vms:70-786-D True 100 100
8.T2.60-640-D-j25-1.28.R 9.T2.60-640-D-j25-1.28.R de:vms:60-640-D de:vms:60-640-D True 100 100
8.T3.60-640-D-j25-1.28.R 9.T3.60-640-D-j25-1.28.R de:vms:60-640-D de:vms:60-640-D True 100 100
17.T0.40-364-j25-2.12.H 18.T0.40-364-j25-2.12.H de:vms:40-364 de:vms:40-364 True 100 100
8.T3.70-737-D-j25-1.4.H 9.T3.70-737-D-j25-1.4.H de:vms:70-737-D de:vms:70-737-D True 100 100
23.T0.10-173-j25-2.5.H 32.T0.10-173-j25-2.5.H de:vms:10-173 de:vms:10-173 True 100 92
23.T0.10-173-j25-1.5.H 32.T0.10-173-j25-1.5.H de:vms:10-173 de:vms:10-173 True 100 76
23.T0.10-173-j25-3.5.H 32.T0.10-173-j25-3.5.H de:vms:10-173 de:vms:10-173 True 100 40
23.T0.10-173-j25-4.5.H 24.T0.10-173-j25-4.5.H de:vms:10-173 de:vms:10-173 True 84 100
37.T3.51-C13-j25-4.5.H 38.T3.51-C13-j25-4.5.H de:vms:52-C13:SEV de:vms:52-C13:SEV True 50 100

Routes with duplicate trips [link]

Found 10 routes with duplicate trips.

Routes with duplicate trips within the route: 10

Routes with duplicate trips in other routes: 0

route ID short name agency ID route type trips total duplicates within route duplicates in other routes IDs of other routes
de:vms:70-786-D 786 80 3 113 2 0
de:vms:70-737-D 737 80 3 403 1 0
de:vms:60-640-D 640 60 3 821 2 0
de:vms:52-C13:SEV C13EV 53 3 516 2 0
de:vms:40-430 430 40 3 190 6 0
de:vms:40-364 364 40 3 103 1 0
de:vms:32-26 26 30 3 450 1 0
de:vms:20-196 196 20 3 53 1 0
de:vms:20-247 247 20 3 25 1 0
de:vms:10-173 173 10 3 244 4 0

Stop pairs from duplicate trips [link]

No stop pairs from duplicate trips found.

Funding

The code for creating these validation results originates from the VeriBus project. VeriBus was a government-funded project at Zwickau University of Applied Sciences. Funding was provided by the German Federal Ministry of Transport from 2024 till 2026. For legal reasons, we state the following funding information in German:

Das Projekt VeriBus wird im Rahmen der Innovationsinitiative mFUND mit insgesamt 158.464,31 Euro durch das Bundesministerium für Verkehr gefördert.

Logo Bundesministerium für Verkehr Logo mFUND