mirror of
https://github.com/public-transport/db-vendo-client.git
synced 2025-02-23 15:19:35 +02:00
Add DB Busradar NRW profile (WIP)
This commit is contained in:
parent
c7a2813039
commit
56dee669a0
2 changed files with 151 additions and 0 deletions
33
p/db-busradar-nrw/example.js
Normal file
33
p/db-busradar-nrw/example.js
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
const createClient = require('../../')
|
||||||
|
const dbbusradarnrwProfile = require('.')
|
||||||
|
|
||||||
|
const client = createClient(dbbusradarnrwProfile, 'hafas-client-example')
|
||||||
|
|
||||||
|
// Hagen Bauhaus to Schwerte Bahnhof
|
||||||
|
// returns hafas error PARSE
|
||||||
|
// client.journeys('3307002', '3357026', {results: 1})
|
||||||
|
|
||||||
|
// client.departures('3307002', {duration: 60})
|
||||||
|
// client.arrivals('3307002', {duration: 30, linesOfStops: true})
|
||||||
|
// client.locations('Hagen Vorhalle')
|
||||||
|
// client.stop('3307002') // Hagen Bauhaus
|
||||||
|
|
||||||
|
// client.nearby({
|
||||||
|
// type: 'location',
|
||||||
|
// latitude: 51.38,
|
||||||
|
// longitude: 7.45
|
||||||
|
// }, {results: 1})
|
||||||
|
|
||||||
|
// client.radar({
|
||||||
|
// north: 51.5,
|
||||||
|
// west: 7.2,
|
||||||
|
// south: 51.2,
|
||||||
|
// east: 7.8
|
||||||
|
// }, {results: 10})
|
||||||
|
|
||||||
|
.then((data) => {
|
||||||
|
console.log(require('util').inspect(data, {depth: null, colors: true}))
|
||||||
|
}, console.error)
|
||||||
|
|
118
p/db-busradar-nrw/index.js
Normal file
118
p/db-busradar-nrw/index.js
Normal file
|
@ -0,0 +1,118 @@
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
// DB Busradar NRW app does not allow selecting specific modes of transport to filter results,
|
||||||
|
// so the bitmasks had to be determined by querying some stations and looking at the results..
|
||||||
|
const products = [
|
||||||
|
{
|
||||||
|
id: 'nationalExpress',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [1],
|
||||||
|
name: 'InterCityExpress',
|
||||||
|
short: 'ICE',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'national',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [2],
|
||||||
|
name: 'InterCity & EuroCity',
|
||||||
|
short: 'IC/EC',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
// 4: not always used, could not be confirmed..
|
||||||
|
{
|
||||||
|
id: 'regionalExp',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [4],
|
||||||
|
name: 'Regionalexpress',
|
||||||
|
short: 'RE',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'regional',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [8],
|
||||||
|
name: 'Regionalzug',
|
||||||
|
short: 'RB/RE',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
// 16: often appears together with 8 even when there are only S-Bahn trains at the station
|
||||||
|
{
|
||||||
|
id: 'suburban',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [16],
|
||||||
|
name: 'S-Bahn',
|
||||||
|
short: 'S',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'bus',
|
||||||
|
mode: 'bus',
|
||||||
|
bitmasks: [32],
|
||||||
|
name: 'Bus',
|
||||||
|
short: 'Bus',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
// 64, 128, 256: could not be confirmed
|
||||||
|
{
|
||||||
|
id: 'ferry',
|
||||||
|
mode: 'watercraft',
|
||||||
|
bitmasks: [64],
|
||||||
|
name: 'Ferry',
|
||||||
|
short: 'F',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'subway',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [128],
|
||||||
|
name: 'U-Bahn',
|
||||||
|
short: 'U',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'tram',
|
||||||
|
mode: 'train',
|
||||||
|
bitmasks: [256],
|
||||||
|
name: 'Tram',
|
||||||
|
short: 'T',
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 'taxi',
|
||||||
|
mode: 'taxi',
|
||||||
|
bitmasks: [512],
|
||||||
|
name: 'AnrufSammelTaxi',
|
||||||
|
short: 'AST',
|
||||||
|
default: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
const transformReqBody = (body) => {
|
||||||
|
body.client = {
|
||||||
|
id: 'DB-REGIO',
|
||||||
|
name: 'DB Busradar NRW',
|
||||||
|
os: 'Android 9',
|
||||||
|
type: 'AND',
|
||||||
|
v: 100021
|
||||||
|
}
|
||||||
|
body.ext = 'DB.REGIO.1'
|
||||||
|
body.ver = '1.10'
|
||||||
|
body.auth = {type: 'AID', aid: 'OGBAqytjHhCvr0J4'}
|
||||||
|
return body
|
||||||
|
}
|
||||||
|
|
||||||
|
const dbBusradarNrwProfile = {
|
||||||
|
locale: 'de-DE',
|
||||||
|
timezone: 'Europe/Berlin',
|
||||||
|
endpoint: 'http://db-regio.hafas.de/bin/hci/mgate.exe',
|
||||||
|
transformReqBody,
|
||||||
|
|
||||||
|
products: products,
|
||||||
|
|
||||||
|
trip: true,
|
||||||
|
radar: true
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = dbBusradarNrwProfile
|
||||||
|
|
Loading…
Add table
Reference in a new issue