This package has been deprecated

Author message:

vbb has been renamed to vbb-hafas. check https://www.npmjs.com/package/vbb-hafas

vbb

0.3.2 • Public • Published

vbb

vbb is a JavaScript API for the Berlin & Brandenburg public transport service (VBB). It puts a consistent and straightforward promise-based interface on top of the verbose HAFAS REST API. vbb is MIT-licensed and embraces prototypal programming.

npm version dependency status

Installing

npm install vbb

Getting Started

We require the vbb factory function and pass the API key.

var vbb = require('vbb');
var client = vbb('<your API key>');

We have access to three methods now:

  • locations to find stations, addresses and POIs
  • routes to get routes between locations
  • departures to query the next departures at a station

As an example, we will search for a route from Berlin Hauptbahnhof to Berlin Charlottenburg.

First, we have to look up the ids of those two stations:

var Promise = require('bluebird');
 
Promise.join(
    client.locations('Berlin Hauptbahnhof'),   // start query promise
    client.locations('Berlin Charlottenburg'),   // dest. query promise
    function (startResults, destResults) {   // the results of both promises
        var startId = startResults[0].id;
        var destId = destResults[0].id;
 
        return client.routes({
            from: startId,
            to: destId
        });
    }
).then(function (routes) {
    console.log(routes[0]);
});

The output will have the following structure:

{
  duration: 600000,   // milliseconds
  parts: [   // all "sections" of the route
    {
      from: {
        title: 'S+U Berlin Hauptbahnhof',
        latitude: 52.525849,
        longitude: 13.368928,
        id: 9003201,
        type: 'station',
        notes: {
          lift: true,
          tactilePaving: true,
          escalator: true
        },
        when: Sat Aug 01 2015 15:48:00 GMT+0200 (CEST)   // `Date` object
      },
      to: {
        title: 'S Charlottenburg Bhf (Berlin)',
        latitude: 52.505048,
        longitude: 13.305212,
        id: 9024101,
        type: 'station',
        notes: {},
        when: Sat Aug 01 2015 15:58:00 GMT+0200 (CEST)   // `Date` object
      },
      transport: 'public',   // another value: `'walk'`
      type: 'suburban',   // another value: `'subway'`
      direction: 'S Spandau Bhf (Berlin)',
      notes: {}
    }
  ]
}

Documentation

vbb API Dokumentaion

Contributing

If you have a question, found a bug or want to propose a feature, have a look at the issues page.

Dependencies (6)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i vbb

    Weekly Downloads

    0

    Version

    0.3.2

    License

    MIT

    Last publish

    Collaborators

    • derhuerst