Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DB: SERVICE_DOWN #610

Open
Nibunnoichi opened this issue Dec 6, 2024 · 4 comments
Open

DB: SERVICE_DOWN #610

Nibunnoichi opened this issue Dec 6, 2024 · 4 comments

Comments

@Nibunnoichi
Copy link

Query

  • NetworkId: DB
  • From: Location{STATION, 8006713, 51.0314560/6.9915040, name=Leverkusen Mitte, products=[REGIONAL_TRAIN, SUBURBAN_TRAIN, BUS, ON_DEMAND]}
  • Via: null
  • To: Location{STATION, 443410, 50.9202960/7.0819450, place=Köln, name=Rath/Heumar, products=[TRAM]}
  • Date: Fri Dec 06 12:07:01 GMT+01:00 2024
  • Departure: true
  • Products: [HIGH_SPEED_TRAIN, REGIONAL_TRAIN, SUBURBAN_TRAIN, SUBWAY, TRAM, BUS, FERRY, CABLECAR, ON_DEMAND]
  • Optimize for: LEAST_DURATION
  • Walk Speed: NORMAL

Error

Die Datenquelle ist momentan nicht erreichbar :(
Bitte versuche es später noch einmal.

Additional information

[Please modify this part]

@traines-source
Copy link
Contributor

The legacy DB HAFAS API seems to become increasingly unreliable, returning errors. For more context, see public-transport/hafas-client#331 (comment)

@traines-source
Copy link
Contributor

Update: It appears that the DB HAFAS mgate.exe Endpoint will be permanently shut off in the coming days. So public-transport-enabler will probably have to switch to some other DB API. I have collected information about some of the new DB APIs here, and have implemented one of the options for route planning, the Vendo bahn.de API, there. The API is much more readable than the HAFAS one, yet quite similar in structure, so it should be quite straightforward to implement for public-transport-enabler, too.

@schildbach
Copy link
Owner

Thanks for the head up! Do you have some source of the EOL date?

I won't have time to implement a new API for at least until end of February. Also, I'm reluctant to invest into implementing a proprietary API (one that is not an "industry standard" like HCI or EFA). I'd rather work on implementing Transitous or similar.

That said, of course the loss of DB data is a pretty big issue. So I'd welcome contributions towards "Vendo" into PTE.

@traines-source
Copy link
Contributor

traines-source commented Dec 16, 2024

"Someone" on the OKFN transport channel said that they apparently want to shut it off after the timetable change of 14/15th December. And from my point of view many things have been indicating it, e.g. the missing price information after the timetable change and the brownout (?) of recent weeks.

While I think it's very interesting for public-transport-enabler to support Transitous/MOTISv2, this will not be able to properly replace DB/Germany data anytime soon. First, because DB Fernverkehr will not openly provide realtime data anytime soon (although that could maybe be amended with some tricks) and secondly because the quality of the GTFS(-RT) will just stay significantly inferior than DB data in the medium term.

If you want, I could maybe look into the implementation of the new DB APIs for public-transport-enabler, at least I have worked with the new APIs already. At least for Oeffi, quotas also shouldn't be an issue. However, apart from maybe the API that DB Navigator uses, which is more difficult (but surely possible) to reverse engineer, we have not yet found an integrated API that provides both routing, boards and additional info like remarks etc. So db-vendo-client currently relies on multiple different APIs, which don't always integrate well regarding ids etc., and which is ugly. I'm not sure what the best way forward for PTE is, maybe we should first look into the DB Navigator API before proceeding...
EDIT: I have now looked at the APIs that DB Navigator uses. While they also have some ugly limitations compared to HAFAS (such as only allowing to query 1h of a board at a time, or with an unknown param), they should fulfill the most important requirements of Oeffi and similar apps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants