Skip to content

🚏🚍 NodeJS client for the Munich Public Transport System

License

Notifications You must be signed in to change notification settings

lukaskollmer/mvg-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

52 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

mvg-node

NodeJS client for the Munich Public Transport System

Install

$ npm install mvg-node

Usage

Getting departures

const mvg = require('mvg-node');

(async () => {
  let home = await mvg.getStation('Feldbergstr')

  let departures = await mvg.getDepartures(home);
  console.log(departures);
})();
Output
[ { departureTime: 1500923983000,
    product: 'b',
    label: '194',
    destination: 'Trudering Bf.',
    live: true,
    lineBackgroundColor: '#0d5c70',
    departureId: 325930522,
    sev: false,
    time: 2017-07-24T19:19:43.000Z },
  { departureTime: 1500924014000,
    product: 'b',
    label: '192',
    destination: 'Neuperlach Zentrum',
    live: true,
    lineBackgroundColor: '#0d5c70',
    departureId: -120781808,
    sev: false,
    time: 2017-07-24T19:20:14.000Z },
    ... ]

API

async getStation(input) -> object

Fetch information about a specific station

Parameter Description
input Either a Number (station ID) or a String (station name)
Returns An Object containing information about a specific station. This object can be passed to the other functions

async getStations(input) -> array

Search stations by name

Parameter Description
name The station name to search for
Returns An Array of object representing stations

async allStations() -> array

Fetch all stations

async getDepartures(station) -> array

Load a specific station's upcoming departures

Parameter Description
station Either a station object or a station id
Returns An Array of upcoming departures from that station

async getRoute(start, destination, options) -> array

Get routes between two stations

Parameter Description
start The route's starting point (either a station object, or a station id (Number) or a station name (String)
destination The route's destination (either a station object, or a station id (Number) or a station name (String)
options Either a date object (the route's starting time) or some more options (start, arrival, maxTravelTimeFootwayToStation, maxTravelTimeFootwayToDestination)
Returns An Array of routes between the two stations

CLI

$ npm install --global mvg-node
Usage
$ mvg-node --help

  NodeJS client for the Munich Public Transport System

  Usage
    $ mvg-node [input] <options>

  Commands
     station      Get information about a specific station
     departures   Get upcoming departures for a specific station.

  Options
     --all        By default, this shows the next 10 departures. Pass `--all` to get all upcoming departures


  Examples
    $ mvg-node station 953

    $ mvg-node departures 'Hauptbahnhof'

Get departures

$ mvg-node departures 'Hauptbahnhof'
Upcoming departures for 'Hauptbahnhof':
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   ⏳    β”‚                                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 1 min   β”‚ S8 Herrsching                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 1 min   β”‚ U5 Neuperlach SΓΌd                      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 1 min   β”‚ U1 Olympia - Einkaufszentrum           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 1 min   β”‚ U1 Mangfallplatz                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 2 min   β”‚ U5 Laimer Platz                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 2 min   β”‚ Bus 58 Silberhornstraße                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 3 min   β”‚ S7 HΓΆhenkirchen-Siegertsbrunn          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 4 min   β”‚ U2 Feldmoching                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 4 min   β”‚ Tram 16 Romanplatz                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 4 min   β”‚ U2 Messestadt Ost                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

License

MIT Β© Lukas Kollmer

mvg-node was inspired by leftshift/python_mvg_api

About

🚏🚍 NodeJS client for the Munich Public Transport System

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published