Skip to content
Client for the eurolines.de coach travel API.
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
.editorconfig
.eslintrc.json
.gitignore
.travis.yml
LICENSE
package.json
readme.md
test.js

readme.md

eurolines-de

JavaScript client for the eurolines.de coach travel API. Complies with the friendly public transport format. In progess…

npm version Build Status Greenkeeper badge dependency status dev dependency status license chat on gitter

Installation

npm install --save eurolines-de

Usage

This package contains data in the Friendly Public Transport Format.

stations([query], [opt])

Get all stations operated bei eurolines.

const stations = require('eurolines-de').stations

stations().then(console.log) // all stations

stations('Berl') // search for stations
stations({origin: 'Berlin'}) // search for stations reachable by the station with id 'Berlin'
stations('Frankf', {origin: 'Berlin'}) // search in stations reachable from Berlin

Searches stations based on query. If no query parameter is found, returns all stations (still regarding opt instead).

The defaults for opt look like this:

{
    language: 'de',
    origin: null // set to specific station id to filter for stations reachable by there
}

Returns a Promise that will resolve in an array of stations in the Friendly Public Transport Format which looks as follows:

[
    {
        type: 'station',
        id: 'Aachen',
        name: 'Aachen (DE)'
    },
    {
        type: 'station',
        id: 'Aalborg',
        name: 'Aalborg (DK)'
    },
    {
        type: 'station',
        id: 'Aalen',
        name: 'Aalen (DE)'
    }
    //
]

journeys(origin, destination, date = Date.now(), opt = {})

Get directions and prices for routes from A to B. scraped 😕

const journeys = require('eurolines-de').journeys

journeys('Berlin', 'Paris', new Date(), {passengers: 1})
.then(console.log)
.catch(console.error)

defaults, partially overridden by the opt parameter, looks like this:

const defaults = {
    passengers: 1
}

Returns a Promise that will resolve with an array of journeys in the Friendly Public Transport Format which looks as follows. Note that the legs are not fully spec-compatible, as the schedule is missing in legs, all dates are Date() objects instead of ISO strings and due to API-specific reasons, there will always only be one leg and the additional transfers key instead.

[
    {
        origin: 'Berlin',
        destination: 'Paris',
        type: 'journey',
        id: 'BerlinParisWed Jul 19 2017 19:30:00 GMT+0200 (CEST)Thu Jul 20 2017 09:45:00 GMT+0200 (CEST)0',
        departure: '2017-07-19T17:30:00.000Z', // JS Date() object
        arrival: '2017-07-20T07:45:00.000Z', // JS Date() object
        transfers: 0,
        price: {
            currency: 'EUR',
            amount: 83,
            fares: [
                {
                    type: 'fare',
                    model: 'normal',
                    price: {
                        currency: 'EUR',
                        amount: 83
                    }
                }
            ]
        },
        legs: [
            {
                origin: 'Berlin',
                destination: 'Paris',
                departure: '2017-07-19T17:30:00.000Z', // JS Date() object
                arrival: '2017-07-20T07:45:00.000Z' // JS Date() object
            }
        ]
    }
    //
]

See also

  • FPTF - "Friendly public transport format"
  • FPTF-modules - modules that also use FPTF

Contributing

If you found a bug, want to propose a feature or feel the urge to complain about your life, feel free to visit the issues page.

You can’t perform that action at this time.