https://github.com/wpdas/dublinbus-client
Node RTPI JavaScript Client to get Dublin Bus informations.
https://github.com/wpdas/dublinbus-client
Last synced: 8 days ago
JSON representation
Node RTPI JavaScript Client to get Dublin Bus informations.
- Host: GitHub
- URL: https://github.com/wpdas/dublinbus-client
- Owner: wpdas
- License: mit
- Created: 2018-05-17T02:00:22.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-30T17:50:42.000Z (about 8 years ago)
- Last Synced: 2025-02-13T06:40:30.011Z (over 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 97.7 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RTPI JavaScript Client

## About
This module provides information from the
[Dublin Bus REST API](https://data.gov.ie/dataset/real-time-passenger-information-rtpi-for-dublin-bus-bus-eireann-luas-and-irish-rail).
It's possible to get information about:
* Realtime information by stop number/stop id;
* Filtered realtime information by route number/route id;
* All Bus stops;
* Filtered bus stops by address;
* All Routes;
* Filtered route list by route name/route id
## Examples
You have to install the module before you can use it:
```bash
npm install --save dublinbus-client
```
If you want, you can run the tests (Mocha):
```bash
npm test
```
How to use it:
```javascript
const dublinBusClient = require('dublinbus-client');
// Realtime information by stop number/stop id
dublinBusClient.realtimeBusInformation.getInformationByStopId(515)
.then(console.log)
.catch(console.error);
/*
{
"errorcode": "0",
"errormessage": "",
"numberofresults": 25,
"stopid": "515",
"timestamp": "16/05/2018 19:32:34",
"results": [
{
"arrivaldatetime": "16/05/2018 19:37:22",
"duetime": "4",
"departuredatetime": "16/05/2018 19:37:22",
"departureduetime": "4",
"scheduledarrivaldatetime": "16/05/2018 19:38:00",
"scheduleddeparturedatetime": "16/05/2018 19:38:00",
"destination": "Beaumont",
"destinationlocalized": "Beaumont",
"origin": "Dundrum",
"originlocalized": "Dundrum",
"direction": "Inbound",
"operator": "bac",
"additionalinformation": "",
"lowfloorstatus": "no",
"route": "14",
"sourcetimestamp": "16/05/2018 19:31:44",
"monitored": "true"
},
{
"arrivaldatetime": "16/05/2018 19:37:30",
"duetime": "4",
....
*/
// Filtered realtime information by route number/route id
let stopNumber = 2;
let routeNumber = 38
dublinBusClient.realtimeBusInformation.getInformationByStopId(stopNumber, routeNumber)
.then(console.log)
.catch(console.error);
/*
{
"errorcode": "0",
"errormessage": "",
"numberofresults": 1,
"stopid": "2",
"timestamp": "16/05/2018 23:44:28",
"results": [
{
"arrivaldatetime": "17/05/2018 00:02:07",
"duetime": "17",
"departuredatetime": "17/05/2018 00:02:07",
"departureduetime": "17",
"scheduledarrivaldatetime": "16/05/2018 23:32:00",
"scheduleddeparturedatetime": "16/05/2018 23:32:00",
"destination": "Damastown",
"destinationlocalized": "Baile Dama",
"origin": "Burlington Road",
"originlocalized": "Burlington Road",
"direction": "Outbound",
"operator": "bac",
"additionalinformation": "",
"lowfloorstatus": "no",
"route": "38",
"sourcetimestamp": "16/05/2018 23:27:09",
"monitored": "true"
}
]
}
*/
// All bus stops
dublinBusClient.busStop.getAllInformation()
.then(console.log)
.catch(console.error);
/*
{ errorcode: '0',
errormessage: '',
numberofresults: 4683,
timestamp: '17/05/2018 02:35:58',
results:
[ { stopid: '2',
displaystopid: '2',
shortname: 'Parnell Square',
shortnamelocalized: 'Cearnóg Parnell',
fullname: 'Parnell Square',
fullnamelocalized: '',
latitude: '53.35224111',
longitude: '-6.263695',
lastupdated: '08/05/2018 09:12:08',
operators: [Array] },
{...}]}
*/
// Filtered bus stops by address
dublinBusClient.busStop.getByAddress('Parnell Square')
.then(console.log)
.catch(console.error);
/*
{ errorcode: '0',
errormessage: '',
numberofresults: 13,
timestamp: '17/05/2018 02:38:00',
results:
[ { stopid: '2',
displaystopid: '2',
shortname: 'Parnell Square',
shortnamelocalized: 'Cearnóg Parnell',
fullname: 'Parnell Square',
fullnamelocalized: '',
latitude: '53.35224111',
longitude: '-6.263695',
lastupdated: '08/05/2018 09:12:08',
operators: [Array] },
{ stopid: '3',
displaystopid: '3',
shortname: 'Parnell Square',
shortnamelocalized: 'Cearnóg Parnell',
fullname: 'Parnell Square',
fullnamelocalized: '',
latitude: '53.35230694',
longitude: '-6.263783056',
lastupdated: '08/05/2018 09:12:08',
operators: [Array] },
{...}]}
*/
// All Routes
dublinBusClient.routeList.getRoute()
.then(console.log)
.catch(console.error);
/*
{ errorcode: '0',
errormessage: '',
numberofresults: 239,
timestamp: '17/05/2018 02:32:58',
results:
[ { route: '1' },
{ route: '102' },
{ route: '104' },
{ route: '11' },
{ route: '111' },
{ route: '114' },
{ route: '116' },
{ route: '118' },
{ route: '120' },
{ route: '122' },
{ route: '123' },
{ route: '13' },
{ route: '130' },
{ route: '14' },
{ route: '140' },
{ route: '142' },
{ route: '145' },
{ route: '14C' },
...]}
*/
// Filtered route list by route name/route id
let routeid = '66'; //66X
dublinBusClient.routeList.getRoute(routeid)
.then(console.log)
.catch(console.error);
/* Output:
{ errorcode: '0',
errormessage: '',
numberofresults: 239,
timestamp: '17/05/2018 02:28:40',
results:
[ { route: '66' },
{ route: '66A' },
{ route: '66B' },
{ route: '66X' },
{ route: '66' },
{ route: '66A' } ] }
*/
```
# License
MIT