A client for MOTIS that is a drop-in replacement for hafas-client and/or db-vendo-client, in short, everything that is more or less compatible with the Friendly Public Transport Format (FPTF).
This project exists to ease transitioning from HAFAS-based APIs to open APIs run with open schedule/RT data. It uses motis-client to access the MOTIS API, use that if you want to access the full capabilities and features of MOTIS, use motis-fptf-client only when you want to replace/run in parallel with hafas-client and/or db-vendo-client.
This is an early version. The following FPTF/hafas-client endpoints are supported:
journeys()locations(),departures(),arrivals()boardsreachableFrom()stop()
What doesn't work (yet):
refreshJourney()nearby()trip()- all other endpoints (
tripsByName(),radar(),journeysFromTrip(),remarks(),lines(),station())
By default, a transitous profile is included, but you can use it with any other MOTIS instance by setting the MOTIS_BASE_URL environment variable or modifying the profile. There is also a compat profile which will try to merge stops (which are often platforms in GTFS) to stations similar to the stations known from db-vendo-client/hafas-client. Other related platforms/substops (currently, those with the same name in a radius of 200m) will be merged into the first encountered stop id. In addition, just as the transitous profile, when enrichStations is enabled (default), the station attribute of stops will contain the matching station data from db-hafas-stations including the EVA number as id, if available. This enables matching to other DB data.
Use it as a dependency, e.g. just replacing hafas-client:
npm i motis-fptf-client
See an example in api.js. It shows how you can use motis-fptf-client together with hafas-rest-api and some hacks in order to run a FPTF API server:
docker run \
-e USER_AGENT=my-awesome-program \
-e MOTIS_PROFILE=transitous \
-e MOTIS_BASE_URL=https://api.transitous.org \
-p 3000:3000 \
ghcr.io/public-transport/motis-fptf-client
There are community-maintained TypeScript typings available as @types/hafas-client.
motis-fptf-client should be mostly browser compatible. Limitations: Does not work with enrichStations option enabled.
- motis-client – the full fledged MOTIS API as a JS/TS client
- hafas-client – including further related projects
- db-vendo-client - drop-in replacement to leverage the new DB APIs
- hafas-rest-api – expose a hafas-client or motis-fptf-client instance as a REST API
- db-rest – for the legacy DB HAFAS endpoint
*.transport.rest– Public APIs wrapping some HAFAS endpoints.
If you have a question, found a bug or want to propose a feature, please open an Issue.
This project needs help! Check the list of "help wanted" Issues.
If you're contributing code, please read the contribution guidelines.