Nerds Publishing Monstrosities

    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.

    Install

    npm i vbb

    DownloadsWeekly Downloads

    2

    Version

    0.3.2

    License

    MIT

    Last publish

    Collaborators

    • derhuerst