Skip to content

motis-project/motis-fptf-client

Repository files navigation

motis-fptf-client

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).

npm version ISC-licensed

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() boards
  • reachableFrom()
  • 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.

Usage

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.

Browser usage

motis-fptf-client should be mostly browser compatible. Limitations: Does not work with enrichStations option enabled.

Related Projects

Contributing

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.

About

Exposing the MOTIS API as a Friendly Public Transport Format API.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •