 Ja, hallo. Ich begrüße euch zum nächsten Talk hier im Open Hub. Eine Frage vorweg. Wer ist denn Bahnfahrer unter den Gästen hier? Okay, quasi alle. Wer ist viel Bahnfahrer? Okay, so ein Drittel. Und wer ist so richtig viel Bahnfahrer, so täglich? Ja, noch immer zehn Prozent oder so. Gut. Wie zufrieden seid ihr mit den Auskünften, die ihr so aus den offiziellen Quellen der Bahn bekommt? Mehr so abwartend. Okay, dann, ja genau. Marudor hat sich dem Problem mal ein bisschen angenommen, hat sich auf langen Reisen, hat sich auf lange Datenreisen im Nah- und Fernverkehr der Bahn begeben, um mal zu schauen, was man aus diesen Apis, die die Bahn da so öffentlich, semi-öffentlich und vielleicht nicht öffentlich rumliegen hat, doch mal vernünftige Infos rausziehen kann und gesehen, dass man eigentlich alle Infos, die man so haben will, aus den Apis der Bahn rauskriegt, auch wenn die Bahn das gar nicht weiß oder nicht glaubt, dass das so ist. Um jetzt nicht alles wegzuerzählen, Marudor, dein Talk. Ja, danke Telegram. Ja, also um dein Einruf vorwegzunehmen, nein, Marudor, der ist nicht offiziell, das hat dann ja Haftungsgründe, da bin ich schön raus. Das ist auch gut so. Genau, sagt ja schon, Marudor.de, das ist quasi meine Website, was ihr da findet, sind Abfahrtsdaten und Informationen über Züge, die an bestimmten Bahnhöfen abfahren, dafür braucht man recht viel und das gucken wir uns einfach mal nach und auch an, also was braucht man alles, um sowas bereitzustellen und dann auch, wo kriegen wir das her, wie ist die Qualität von den Daten und finden wir da vielleicht auch Dinge, die die Bahn gar nicht zugibt oder sagt, dass sie die hat, also das finden, gucken wir mal raus. Ich habe tatsächlich keine Ahnung, wie weit ich komme, ich werde versuchen relativ schnell durchzugehen, weil ich wenig Zeit habe und viel Content. Gucken wir mal, aber fangen wir mal an, was brauchen wir denn? Also was für Daten agrigiere ich da auf dieser Seite? Ja, fangen wir mal mit Stationsdaten, also ich muss ja irgendwie wissen, welche Bahnhöfe gibt es, wie heißen die und vor allem auch so Autocomplete ist immer ganz nett, damit ihr nicht den kompletten Namen wissen müsst und wie heißen die eigentlich, das wird auch noch relevant. Ja, dann natürlich Abfahrts- und Ankunftsdaten, möglich in Echtzeit, möglichst schnell aktualisiert und möglichst genau, also vor allem auch genaue Gründe, warum sind immer ganz nett, damit man schon weiß, plus 20 Personen im Gleis, das könnte noch mehr werden, das dauert halt manchmal. Wagenreihung ist ganz nett zu wissen, wo man im Bahnhof stehen muss, um seinen Platz zu bekommen oder wenn man Vielfahrer ist, auch einfach, wo sind die Komfortplätze, damit ich da möglichst direkt an der Tür stehe und mir den schnappen kann, bevor der Rest dran kommt und auch abweichende Wagenreihung ist ja teilweise mehr so standard bei manchen Strecken, wäre auch ganz geil das vorher zu wissen. Ausfassungsprognose, gerade wenn man so eine Bank hat 100 und flexibel ist, wenn man einen Zug hat, der quasi ausgebucht ist und den anderen, der quasi keiner nimmt, welchen nimmt man dann wohl bei ähnlicher Fahrzeit, wäre auch ganz gut zu wissen. Dann noch Routen, das wäre auch noch ganz nett, damit man auch weiß, wo man eigentlich langen muss und wie man da lang kommt und was da so fährt. Das habe ich hier jetzt tatsächlich nicht betrachtet, weil das wäre noch mal mindestens genauso lange, aber also vielleicht habt ihr es gehört, die Bahn macht doch jetzt Open Data, also eigentlich müsste ich doch jetzt eigentlich auf dieses Open Data Portal gehen, mir diese APIs angucken und alles finden. Das haben sie ja schon sehr oft sehr großzügig gesagt, so wie wir machen das jetzt, das haben wir uns auf die Fahne geschrieben. Ja, aber gucken wir uns mal an, wieso ich da jetzt so ein Aber sage, fangen wir mit den Stationsdaten an, also wie bekomme ich raus, welche Stationen es gibt und vielleicht noch ein paar Zusatzinfos, je nachdem gucken wir uns mal ein paar Sachen an. Was gibt es denn da? Ich habe hier so zwei Haltestellendaten und Stationsdaten, da ist die Bahn nicht einheitlich, was ist eine Haltestelle, was ist eine Station, das ist die Bahn sich selber nicht sicher, das wird manchmal so manchmal so bezeichnet, in dem Fall handelt es sich einfach um zwei CSVs, die man runterladen kann, da hat man eine Liste. Was gibt es noch? Es gibt diese unter Stada, das sind Stationdaten, das ist eine API, da kann ich einen String gegenwerfen und zurück kommt eine Liste an Stationen. Dann gibt es Hafas, das ist, das Hafas ist ein sehr sehr großes System, das macht quasi alles, das hat auch ungefähr 35.000 verschiedene Arten, wie man es anspricht. Es wäre schön, wenn die einheitlich wären oder ähnlich, sind sie nicht. Das jetzt ist ajaxgetstop.exe, wenn ihr das mal in eurem Browser gesehen habt, das ist das, was Bahn.de macht und M-Gate ist das, was Mobildinge machen. Dann gibt es OpenDB, das ist die erste OpenData API, die die Bahn hat für Stationsdaten. Dann haben wir Timetable, die gibt es auch an verschiedenen Arten, einmal auf einer Non-CD-Iris-Domain und einmal von OpenDB. Dann gibt es Favendo, naja, also habe ich jetzt ja schön viel Auswahl und eigentlich ist das ja kein schwieriges Problem, also die Bahn wird ja wissen, welche Bahnhöfe sie hat. Station Service, das ist deren Job. Ja, das tun sie auch, also das muss mal den lassen, das wissen sie. Aber das sagen sie nicht jeder API oder jeden Datengrund. Die haben alle eine andere Datengrundlage. Gucken wir mal ein bisschen drauf, wo ich die jetzt genau her habe und was es da so gibt und was vielleicht für Besonderheiten da sind. Fangen wir mal an mit den Haltestellendaten, kommt direkt vom OpenDB-Portal, kennt tatsächlich als eine der wenigen alle deutsche Bahnhöfe, also auch die, wo kein deutscher Bahnzug hält und auch noch nie gehalten hat. Tower Bischofsheim ist so ein Beispiel, da hält halt eine Privatbahn. Viele APIs kennen diesen Bahnhofen nicht. Dieses CSV hat sie. Aktualisiert sich laut Angabe, einmal im Jahr. Realistisch, ich glaube letztes Mal 216. Deswegen findet man da zum Beispiel Bonn-UN-Campus nicht drin. Der Bahnhof existiert seit dem 1.11.217. Gibt es halt da drin nicht. Na ja, aber hier jetzt, Stationsdata, das könnte doch helfen. Ja, kennt auch alle Bahnhöfe, wird tatsächlich etwa einmal im Jahr aktualisiert. Manchmal sogar öfter. Hat aber nicht die IDs, die du brauchst, um mit den anderen APIs zu reden. Das Einzige, was man bekommt, ist sogenanntes DS100. Die ganzen anderen APIs können damit manchmal, manchmal nicht. Eigentlich gibt es die sogenannte EvaID, die man haben möchte oder XID, das ist auch wieder, je nachdem, wo man fragt, heißt dieses Ding anders. Das ist aber das, was man haben möchte, weil die wird zur Abrechnung benutzt intern. Die ist gut. Abrechnen können die nämlich. Findet man aber in dem aktualisierten Datensatz nicht, nur in dem Alten. Nicht so geil. Gucken wir mal den Rest ein. Ich habe ja noch ein paar Alternativen. Wir haben da diese Stada-AP, die kennt nur deutsche Bahnhöfe, meh, meh, aber kann man ja mal mitarbeiten, aber halt nicht alle. Tauber-Bischofsheim, existiert dort nicht. Warum existiert es nicht in der AP, wenn sie ein CSV generieren können, wo das drin steht und dieses CSV hat etwa die gleichen Daten wie das Ding. Der Unterschied ist, dass hier, also ich habe hier gesagt, gibt Bahnhofsinfos, man kriegt sehr, sehr genaue Infos über einen Bahnhof hier drin. Man kriegt so Sachen wie hat es eine DB-Launch, gibt es Wi-Fi, hat es ein Reisezentrum, wer ist der Auftraggeber des Bahnhofs, wie ist die Adresse, kann man einen Pkw dort parken, kann man einen Fahrrad dort parken, hat es einen Taxistand, hat es eine Bahnhofsmission und, und, und. Also alle Merkmale, die so ein Bahnhof haben kann, kriegt man hier gelistet. Schön, brauche ich gar nicht gerade. Mir reicht ja eigentlich diese Idee, weil ich will damit ja eigentlich nur weiterarbeiten, aber naja, vielleicht für andere Projekte ganz praktisch, aber dann wäre es halt auch gut, wenn sie alle Bahnhöfe haben. Na ja, dann haben wir OpenDB, das ist halt das erste OpenData-Projekt, da braucht man einen AP-Token und das war halt mal für ein DB-Hackathon in Frankfurt im 03.16 gedacht. Das kennt erstaunlicherweise auch Bahnhöfe im Ausland, also so Basel-SBB. Kennt es? Wieso können die anderen das nicht? Das wäre nett, weil auch da fahren Züge, die in Deutschland fahren und man wird vielleicht gern wissen, wie die Verspätung ist in Basel-SBB, wenn man da mal hinfährt und dann einen Zug nimmt, der halt von der deutschen Bahn ist. Also ich erwarte ja noch nicht mal, dass sie irgendwie Bahnhöfe kennen, wo kein deutscher Zug mehr fährt. Aber zum Beispiel Paris kennt das Ding auch, weil da fahren die TGWs und der ICE nach Paris. Diese findet man dann auch in Abfahrtsdaten wieder, weil die Bahn kennt ihre Züge, muss sie ja irgendwie. Sagt es einem halt nur nicht immer. Ja, und auch hier wieder das Problem kennt halt auch nicht alle in Deutschland. Also irgendwie haben die das noch nicht ganz raus mit ihren Daten. Außerdem ist das Ding inzwischen Legacy, also es wird nicht aktualisiert, deswegen ist Bonn-N-Campus nicht da, weil die APIs ja von 03.16 auch immer noch mehr. So, Hafas, sagt ich ja, kann ultra viel, ist halt der DB Navigator der Bahn, kennt wirklich alles und kennt aber leider auch alle Busstationen und sonst was. Und die Möglichkeit zu filtern gibt es prinzipiell im Hafas, aber nicht in der DB-Variante, die kann das halt nicht, nicht so gut. Hier gibt es inzwischen eine Open-DB-Variante, hier zieht sich aber das durch, was es immer bei Open-DB gibt. Das ist quasi das Gleiche in weniger Features und langsamer. Und meistens auch noch Rate-Limited. Also das hier tatsächlich nicht, aber in der Regel sind die auch noch Rate-Limited und teilweise so sehr, dass sie nicht benutzbar sind. Jetzt kommen wir eigentlich zu der APD, die Datengrundsätze sehr gut ist, die kennt nämlich alles, wo ein Deutscher Zug hält, weil das ist die Stationssuche zu meiner Abfahrtssuche. Geil. Außer, dass es halt immer nur ein Resultat zurückbekommt. Man kann Hamburg suchen, dann kriegt man halt Hamburg-Altoner, weil das ist der erste Hamburger Bahnhof. Die anderen kriegt man halt nicht. Wenn man Hamburg Hauptbahnhof findet, kriegt man auch, also sucht, findet man auch Hamburg Hauptbahnhof. Hilft einem aber nicht so wirklich in einem Auto komplett, sondern mehr so, ich habe einen String und möchte diesen Bahnhof verifizieren, dass es den gibt. Ja, und die OpenDB-Variante davon ist so Rate-Limited, dass man die eh nicht wirklich benutzen kann. Aussehen misst sie nur halb so schnell. Ja, dann gibt es Favendo. Das ist immer noch erstaunlich, wie sie Favendo ist, die Domainwurst, das hergibt. Das ist die Bahnhof-Live-App benutzt die. Das ist die erste, die diese Bahnhöfe korrekt sortiert. Also somit ist das ein großer Bahnhof, fahren da viele Leute und Hamburg Hauptbahnhof ist dann plötzlich vorne, wenn man Hamburg sucht und nicht Altoner. Altoner hat ja zwar auch viele Bahnhöfe, weil es ist halt einfach oben, weil es mit A anfängt. Also viele Hafer, zum Beispiel, ist sehr alphabetisch sortiert. Meistens. Immer mal wieder hat man einen Bahnhof dazwischen, wo man sich denkt, wieso ist da jetzt ein, dieser Buchstabe, ein D dazwischen, obwohl ich S bei B war. Und dann geht das wieder alphabetisch weiter. Sie würfeln vielleicht. Müsste man wahrscheinlich H-Con fragen. Also das ist der Hersteller vom Hafer. Oder die DB hat irgendwelche Eigenheiten, weiß ich jetzt auch nicht genau. So, aber jetzt haben wir ganz viele APIs. Man könnte ja zumindest einige davon verbinden und mit Glück findet man dann etwas, also kann man, wenn man zwei davon abfragt, irgendwie alles abdecken. Ja, jetzt gucken wir uns mal an, was da für Schreibweisen rauskommt. Also Beispiel Frankfurt. Wie heißt Frankfurt? Wir gucken uns jetzt mehrere Stationen an und ich gucke mir immer den Teil von Frankfurt an. Also wie wurde Frankfurt dann gemacht? Eine Schreibweise ist diese hier, Frankfurt M. Dann gibt es Frankfurt Main. Dann gibt es Frankfurt Main, aber ohne Leerzeichen. Also ohne Leerzeichen bedeutet, die Station heißt dann zum Beispiel Frankfurt Main Hauptbahnhof ohne Leerzeichen. Die gleiche Station in einer anderen API heißt dann Frankfurt Hauptbahnhof mit Leerzeichen. Dann gibt es die hier und gerade das Hafer macht sowas sehr gerne. Das ist dann technisch gesehen eine Metastation und bezeichnet komplett Frankfurt. Also gibt dir dann irgend einen Frankfurter Bahnhof, weil du wolltest halt in Frankfurt los. Und aus dem sieht die nicht konsistent. Es ist nicht so, dass jedes dieser Beispiele aus einer API war. Nein, die gleiche API gibt manchmal Frankfurt Main für eine Station und eine andere irgendwie Frankfurt Stadion heißt dann Frankfurt Main ohne Leerzeichen, während der Hauptbahnhof mit Leerzeichen ist. Und dann fragt man eine andere API und da ist das dann wieder andersrum. Da haben die plötzlich alle Leerzeichen. Das ist nicht intuitiv und ich verstehe nicht, wieso. Also ja, wenn ihr Ideen habt, können wir da nachher mal drüber reden, aber ich glaube, aber Ende kommt wahrscheinlich keine auf die Lösung, weil es so abstruß sein wird. Es muss abstruß sein. Aber na ja. Na ja, das sind jetzt Stationsdaten. Abfahrtsdaten. Das ist ja eigentlich das, warum Maro.de, was auf einem anderen Projekt aufgebaut hat, existiert. Ich wollte halt einfach genauer wissen, wo. Also das kommt natürlich noch tatsächlich noch aus Zeiten Maro.de, wo die Bahn in all ihren Informationsquellen immer auf fünf Minuten gerundet hat. Weil es fand ich halt immer doof, weil gerade wenn sie nicht so schnell sind, wenn man aktualisiert, das sieht man, wenn man am Gleis steht, dann ist halt ungefähr zehn Minuten auch manchmal 19. Ist irgendwie nicht wirklich das, was ich wissen will, dann. Also zehn Minuten hilft mir halt dann nicht so. Was gibt es denn da? Natürlich gibt es eine Haarfahrts-API. Auch die kann ich sagen, Hamburg-Hauptbahnhof gibt mir mal alle Abfahrten. Die hat dann die Debennavigatorquellen in, das heißt, die inzwischen sind die Verspätungen minutengenau, aber nicht immer so schnell aktualisiert. Und Gründe sind dann auch eher sperrlich. Also die haben so ein paar Gründe, die sie immer mal wieder anzeigen, aber ganz viele sagen sie nicht. Und na ja, Quality-of-Service-Meldungen findet man da sehr selten. Also sowas wie WLAN-Defect. Dafür hat die Bahn eine Meldung. Kriegt man manchmal auch im Navigator angezeigt? Meistens aber nicht. Na ja, ansonsten kann die halt so Verkehrsmittelfiltern und unwichtig ist, das meine ich halt irgendwie so WLAN-Defect. Ist wohl manchmal nicht wichtig für die, sonst würden sie es ja dran schreiben, weil ich weiß ja, dass sie das wissen. Sonst würde ich ja nicht an einer anderen Bahnquelle an diese Information kommen. Also müssten sie das ja nur zusammenführen. Ja, gibt es halt auch als OpenDB-Variante, dann kann man halt nicht mehr filtern. Und natürlich ist es langsamer. Aber immerhin nicht grade-limited, also immerhin etwas. Na ja, wobei die, wenn man einfach die Debennavigator-API anspricht, ist sie natürlich auch nicht grade-limited. Das ist so mein Trick. Einfach immer das Properitäre ansprechen. Das ist teilweise identisch zu dem, was sie in OpenData beschreiben, nur halt schneller und nicht grade-limited. So, eher dann Timetable, da wo ich die schöne Stationssuche zu gibt, die leider nur einen gibt. Das kommt aus Bahnhofs-Webtaffeln. Das ist das, was sie in der DB-Lounge in der Regel anzeigen. Das ist die AP, die dafür benutzt wird. Das ist sehr weirdes XML. Keine Doku natürlich. Aber, na ja, da haben Leute sich sehr viel Mühe gegeben. Deswegen kriegt man da sehr detaillierte Informationen raus. Und vieles davon wissen wir jetzt. Was leider nicht ist, wir wissen, dass es Freitex-Meldungen zu einem Zug gibt. Wir wissen aber den Freitex nicht. Der steht nämlich nicht drin. Aber das ist vielleicht auch einfach tatsächlich Absicht, weil da stehen manchmal sehr obskure Dinge drin, wenn der Zugbegehrter Freitex eingibt. Das soll wahrscheinlich tatsächlich einfach nicht zum Kunden. Das ist auch besser so in der Regel. Sie kodieren da meistens mit Zahlen. In der Regel treffen Sie die Richtige. Offensichtlich müssen Sie aber auch diese Zahl eintippen, weil manchmal sieht man dann, dass Sie sich um 10 vertan haben und die 83 eingetragen haben statt der 93. Und dann fehlt dem plötzlich einen Wagen, statt dass das Kodeffekt ist oder so. Ist halt manchmal so. So, danke an Derf Null dazu. Der hat gerade, bevor ich damit angefangen bin, habe ich seine AP benutzt und die nur anders dargestellt. Inzwischen mache ich das auch selber, aber er hat da sehr viel Arbeit reingesteckt in das Reverse Engineering. Und wenn ihr den nachher auf diese Veranstaltung noch seht, bedankt euch mal. Das war viel Arbeit für den. Der sitzt übrigens dort. So, dann auch davon gibt es inzwischen eine OpenDB-Variante, sagte ich ja, die ist identisch in der Sache, wie man Abfahrtssachen findet und Stationen. Was sie nicht kann, ist der WingDev Endpoint. Das heißt, wie Züge, da kriegt man halt gesagt, ob ein Zug zwei Teile hat, die in andere Richtungen fahren, ist tatsächlich auch irrelevant. Wenn man das weiß, wie und wo man sucht, findet man das auch in den anderen Daten. Die braucht man gar nicht. Sie haben das da schon drin stehen. Nur da kann man noch mal ganz explizit nachfragen. Tu ich für meine Seite tatsächlich nicht, weil ich hab die Infos ja schon. Hat immerhin etwas doku, nicht immer richtig. Und manchmal fragt man sich, was sie da referenzieren, weil das gibt es gar nicht mehr. Aber immerhin das, was man dann findet, was sich auf das OpenDB-Variante bezieht, trifft auch auf die Profitäre Iris-Version zu, also auf das non CD-Ding. Das ist schon mal gut. Ein bisschen doku und leider wussten wir davon fast alles schon. Also wir haben uns das mal angeguckt und festgestellt, wirklich was Neues steht da für uns nicht drin. Das vor ein paar Jahren gehabt zu haben, wäre gut. So, also man sieht, da sind sie auch, also da ist die Bahn auch bemüht, irgendwie OpenData-Dinge zu machen, aber so richtig auch noch nicht. Okay, vielleicht wird das ja beim nächsten Thema, was wir brauchen, besser, Wagenreihung. Wie ist mein Fernverkehrszug gereiht? Also das gibt es momentan als API, das meines Wissens nur für Fernverkehrszüge, obwohl Nahverkehrszüge seit Neuerem manchmal auch am Gleis Dinge stehen haben. Das gibt es halt nur nicht in der API. Ich glaube, das ist dann auch sehr verkehrsverbund und bahnhofsabhängig. Das wird noch viel komplizierter, wenn Sie das irgendwann mal haben, wenn Sie das schon nicht auf die Reihe kriegen. Weil, das ist die Wagenreihungs-AP kommt aus dem DB-Nabigator. Wer die schon mal benutzt hat, wir gucken jetzt mal ein paar Features davon an. Zum Beispiel, der kann nur ICE-Reihung. Weil für ICEs kann man da nicht draufklicken. Der hat halt nie eine ICE-Reihung. Stimmt nicht, er hat auch ICE-Reihungen. Die App zeigt nur nicht. Also da muss man sagen, die sind auch offiziell halt noch experimentell. Die wissen das. Da fehlen auch manchmal Dinge. Aber manchmal sind sie einfach on-point und man kann tatsächlich auch wissen, ob sie on-point sind. Daran, wenn man Wagenordnungsnummern hat. Also wenn da dran steht, wo Wagen 14 ist, zum Beispiel, dann ist das mit sehr hoher Wahrscheinlichkeit richtig. Wenn da keine sind, muss man vorsichtig sein. Und dann gibt es ein paar Konstellationen, wo man eigentlich schon weiß, ja, das wird nicht stimmen. Also manchmal stehen da Dinge drin so, also da gibt es drei Steuerfahrzeuge in einem Wagen und das funktioniert irgendwie nicht so richtig. Naja, wie Sie auch immer Sie da drauf kommen, aber das erklärt vielleicht, warum Sie das im Der Amigator nicht anzeigen, weil denen wohl der Aufwand wirklich nur das, wo Sie sich sicher sind zu zeigen, auch irgendwie doof ist scheinbar. Also ich sehe keinen Grund, warum Sie zumindest die, wo Sie Wagenordnungsnummern haben, nicht auch anzeigen, weil die stimmen eigentlich immer. Als nächstes, man weiß nicht, welcher ICE einfährt. Also man weiß nicht, hat man ein ICE-1, 2, 3 und für Vielfahre sehr wichtig, hat man ein 4er, weil dann hat man Rückenschmerzen. Naja, okay, das ist vielleicht auch kompliziert, weil das wird jetzt ja schon sehr spezifisch, welcher Zug da einfährt. Nee, wissen Sie, sagen Sie einem nicht. Kann man ohne Probleme rausfinden. Wenn man das rausfinden kann, dann weiß man aber nicht, ob das ein ReDesign-Zug ist, oder? Also der ICE-3 wird inzwischen redesigned. Mit anderen Worten, der kriegt die scheiß Sitze. Auch den möchte man nicht. Sehr gerne, wenn Sie in Doppeltraktion fahren. Wenn man vorher weiß, vorne sind die neuen Sitze, hinten sind die alten, weiß man, man will den weiten Weg laufen und hinten einsteigen. Das lohnt. Ja doch, wissen Sie, kann man rausfinden. Sehr genau und immer on point. Aber dann kann man zumindest, also das wird jetzt ja wirklich aus Ordofscope sein. Quasi wissen, okay, da kommt jetzt ein Zug und dann kann man vorher draufklicken und sehen, naja, so sieht die Inneneinrichtung von dem Ding aus und hier sind die Sitzplätze. Also ich habe jetzt einen Sitzplatz in Wagen 11, Platz 62. Welche Tür nehme ich denn am besten, damit ich nicht im Weg stehe? Wäre ganz gut zu wissen. Ja, haben Sie auch, sagen Sie haben nicht, da muss man halt ein paar Datenquellen von denen verbinden, so. Dann geht das auch. Okay, aber also Bahnkomfortlage, Ruhabteil, Kleinkindabteil, alles Dinge, die vielleicht relevant sind für den Reisenden, also gerade Kleinkindabteil ist für Reisende mit Kindern doch richtig wichtig, weil dort ist dann meistens Platz für ein Kinderwagen. Das wäre doch gut und das haben Sie auch nicht. Also wird das ja sehr schwierig sein. Nee, ist nicht schwierig. Kann man auch einfach so ablesen. Ja, aber also wenn man jetzt am Gleis steht, das Gleis muss doch mehr wissen, weil der Bahnhof muss doch ganz genau wissen, was da jetzt ankommt. Es kann doch nicht sein, dass der nicht weiß, wie dieser Zug jetzt reinfährt, weil die wissen ja auch, wie das Gleis ist und können ja mit denen vorher reden. Also die könnten das ja melden. Ja, nee, die AP ist besser. Bedankt euch bei Station und Service. Die verlieren diese Dreiungen öfter mal. Das mag das Personal am Bahnhof auch nicht. Die fluchen auch jedes Mal aufs Neue, weil dann steht da halt auch so ein Servicemitarbeiter der Bahn, der zum Beispiel eine Person in den Rollstuhl zum Zug bringt und die will halt auch an einen bestimmten Wagen. Die kriegt halt gesagt, dieser Zug wird so halten. Dann steht die da mit dem Equipment und dann ist das halt nicht so. Und dann ist das vielleicht mal eine in einem Bahnhof wie Hamburg, der halt voll ist. Dann bewegt dieses riesen Ding mal den halben Bahnsteig entlang, der kotzt im Strahl. Das wäre echt gut, der leidet schon für die Mitarbeiter. Aber Station und Service verliert das irgendwo. So, und hier nochmal ein kleiner Screenshot, was man rausfinden kann. Offensichtlich sehe ich, dass es redesign ist. Ich weiß, dass das eine zweite Serie, ICA 30, ich weiß wohin die fahren. Da sind Pictogramme für bestimmte Dinge. Wäre doch schön, wenn die offiziellen Quellen das auch machen. Die haben die Infos ja. Und also ja, ein paar davon muss man ein bisschen um die Ecke denken, also um zu verdeutlichen, wie genau sie wissen, welcher Zug da lang fährt. Diese Wagenreihungs-AP gibt die UIC-Nummer mit. Die ist eindeutig für jeden Wagen. Damit kann man jeden Wagen in tatsächlich Europa identifizieren. Die ist sogar international normiert. Da steht nicht nur so Seriennummer, da steht die Bauart drin, da steht drin, ob das ein deutscher Wagen ist, ob das ein österreichischer Wagen ist, ob der aus der Niederlande ist. Das heißt, sie wissen ganz genau, was da anfährt. Man müsste halt nur mal gucken, was das dann ist und das anzeigen. Für vieles kann man das rausfinden, weil zum Beispiel Baurein in Deutschland müssen ja zugelassen sein, also wird es ja ein Register geben, wo drin steht, welche Nummer, welche Baureihe ist. Ja, da gibt es eine Wikipedia-Liste. Das ist super. Da habe ich das letztens auch gemacht. Ich bin diese Nummer durchgegangen und habe aufgeschrieben, na ja, wenn ich diese vier Zahlen bekomme, dann ist das ein ICE4. Stimmt, immer. Bräuchte man tatsächlich noch nicht mal. Das mache ich seit Kurzem. Diese ICE3-Anzeigen habe ich aber schon länger. Da wusste ich das nicht ganz genau, sondern nur 1, 2, 3, 4. Da kann man das an der Konstellation eines Wagens schon rausfinden, weil die sind halt auch unik. Die Konstellationen, wie diese ICEs zusammengestellt sind, das sind diese Buchstabenkombinationen unten drunter, die sind halt auch unik für jeden ICE. Und auch so Dinge, na ja, wenn das Ding zwei Triebköpfe hat, dann ist das ein ICE1, weil das der Einzige mit zwei. Die anderen haben entweder einen oder gar keinen Triebkopf mehr. Da hätte man echt mal drauf kommen können. Vielleicht irgendwann oder so. Ich habe mich tatsächlich letztens mit der Bahn bei Twitter gestritten wegen diesem Kleinkind-Abteil. Da wollte ich nicht, wenn ich jemanden wissen. Und sie sagten ganz klar, wissen wir nicht, können wir nicht wissen. Dann habe ich ihnen gesagt, doch, dann habe ich keine Antwort mehr bekommen. So geht das regelmäßig, wenn ich sage, doch, habt ihr. Sehr gerne kommt doch, wir dürfen nur offizielle Quellen benutzen. Ja, ich habe auch nur offizielle Quellen tatsächlich. Also ich benutze nur Bahn-Apis. Und im Moment auch keine internen. Also ich habe da jetzt nicht Insider-Wissen tatsächlich, sondern höchstens welche, die sie nicht publik gedacht hätten, dass sie jetzt benutzt werden. Aber es wird halt trotzdem. Na ja, kommen wir zur Auslastungsprognose. Wie voll ist mein Zug? Das gibt es seit Neuestem auch im DB-Navigator. Bevor das im DB-Navigator ist, auch schon auf maro.de. Und zwar, weil es diesen Auslastungsradar gibt. Das war der Vorreiter für die Auslastung. Das ist halt Zugangsdaten. Und der war halt exklusiv für die DB gedacht. Und zwar ganz klar für die Mitarbeiter, für Mitarbeiterfahrten, damit die wissen, na ja, volle Züge sollen sie halt nicht nehmen. Die sollen doch bitte, die sollen doch bitte die leeren Züge nehmen. Damit eben die Kunden nicht beeinträchtigt werden, dass sie ihre Personal hin und her fahren müssen. Aber das war sehr Glaskugel. Also falls ihr das mal benutzt habt auf maro.de zu der Zeit, das hat selten gestimmt. Das war sehr geraten. Na ja, dann gibt es jetzt dieses Haarfass. Das ist effektiv Teil der Routensuche. Also man kann jetzt Routen suchen und der sagt einem, wie voll der Zug auf diesem Teilabschnitt ist. Das ist jetzt halt durch das Feedback von deren internen Programm gelaufen. Ist für mich ansteigender zu benutzen, weil vorher konnte ich sagen, gibt mir die Auslastung für Zug 512. Und die habe ich bekommen. Jetzt muss ich sagen, wie komme ich von Hamburg Hauptbahnhof nach Düsseldorf Hauptbahnhof zu dieser Zeit. Und dann ist es halt, weil ich weiß, dass dann dieser Zug abfährt, ist halt das erste Ergebnis, mein Zug. Und dann muss ich nachgucken. Das ist viel aufwendiger. Und so wirklich genau ist es immer noch nicht. Also mein Zug hierhin war angeblich sehr voll. Ich habe durchgehend einen Platz neben mir gehabt. Da saß dann meine Tasche. Der Rest vom Wagen war auch so. Na ja, aber das ist ja auch, also tatsächlich kein triviales Problem. Immerhin versuchen Sie es und Sie scheinen ja bemüht zu sein. Mal gucken, wie das noch wird. Was ist das denn jetzt als Fazit? Ja, Sie haben Open Data. Nice Try. Bitte weiter. Aber also wirklich produktive Dinge kann man damit halt nicht machen. Also entweder rennt man ins Rate Limit. Man ist noch langsamer als der DB Navigator, was schon ein Achievement ist. Der halt einfach nicht langsam ist, weil die APIs langsam sind. Die sind echt schnell. Die können was. Aber der DB Navigator, was auch immer der damit tut, dass ich weiß das, ganz oft fragt er eine API an und bekommt HTML zurück, dass der rendert. Noch besser. Er zeigt eine HTML-Seite an. Diese HTML-Seite ruft die Wagengradungs-API und diese Seite hat dann ja was gibt, um diese anzuzeigen. Also diese Wagengradungsanzeige ist eine HTML-Seite. Die kann man auch so einfach aufrufen, wenn man will. Und das haben Sie bei mehreren. Also diese Abfahrts-Departure-Tables sind auch so. Naja. So. Da bin ich jetzt recht schnell durch. Das heißt, wir haben wahrscheinlich noch Platz für eine oder zwei Fragen. Vielleicht auch drei Fragen. Wenn jemand im Saal eine Frage hat, dann bitte kurz aufzeigen. Ich komme im Mikro zu euch. Gab es Probleme, dass die Deutsche Bahn aktiv versucht hat zu verhindern, dass es so alternative Seiten gibt? Nein. Tatsächlich nicht. Es gibt auch Aussagen von ein paar DB-Mitarbeitern. Wenn es mal Probleme gibt, melde dich mal. Ich bin da relativ sicher, solange ich halt, also ich weiß, was Sie zum Beispiel nicht mögen, diese M-Gate-API für Hafas, die braucht Krypto. Das ist trivial. Der Algorithmus ist halt auch auf dem Github. Aber der statische Key, der daraus kriegt, wenn du den in deinem Github packst, dann melden Sie sich wohl. Das haben schon einige Leute gesehen. Aber beim ersten Start-up, der eine Applikation neu berechnen ist, das ist okay. Noch weitere Fragen. Wenn wir bei inoffiziellen Quellen für Bahndaten sind, bei Wagenreihungen, Typen von ICEs, die Lustigen PDFs, die alle mit kleinen Informationen überzüge haben, wo diese Sachen her stammen? Die findest du ganz offiziell auf Bahn.de, Die Information, wie ein Zug aussieht, findest du auf bahn.de, die Wagen-Gereihungen sind soweit, ich weiß tatsächlich digitalisierte Versionen von analogen Dingen. Teile von seinen Daten sind tatsächlich Analogdaten, die er digitalisiert. Die PDFs, so wie sie aussehen, hat die Bahn, die wahrscheinlich irgendwo, sind aber auch nur Plan-Daten, also helfen in Realität nicht so Okay, ich sehe keine Fragen mehr im Publikum, dann vielen Dank an Marudor für deinen Talk über Banapis.