db-vendo-client/p/db
2022-04-26 12:13:52 +02:00
..
ageGroup.js DB: support age-based tariffs 2022-04-26 12:13:41 +02:00
base.json DB: update to the lowest working version 2022-04-26 12:13:41 +02:00
example.js journeysFromTrip: docs 📝 2021-08-04 15:21:00 +02:00
index.js DB: support age group by age API 2022-04-26 12:13:52 +02:00
loyalty-cards.js Enable usage of 1st class BahnCards and fix typo 2021-03-25 13:05:10 +01:00
products.js changelog 📝, minor changes, 4.5.0 2019-07-08 21:12:39 +02:00
readme.md DB: parse Reisezentrum opening hours & station facilities 2020-05-21 17:51:25 +02:00

DB profile for hafas-client

Deutsche Bahn (DB) is the largest German long-distance public transport company. This profile adds DB-specific customizations to hafas-client. Consider using db-hafas, to always get the customized client right away.

Usage

const createClient = require('hafas-client')
const dbProfile = require('hafas-client/p/db')

// create a client with DB profile
const client = createClient(dbProfile, 'my-awesome-program')

Customisations

  • supports 1st and 2nd class with journey()
  • supports their loyalty cards with journey()
  • parses DB-specific products (such as InterCity-Express)
  • exposes the cheapest ticket price for a journey
  • parses DB-specific station info

additional station info

With the db profile, hafas-client will return more station information whenever the endpoint provides it:

{
	type: 'station',
	id: '8004585',
	name: 'Oberstdorf',
	// …
	facilities: {
		'3SZentrale': '089/13081055',
		parkingLots: true,
		bicycleParkingRacks: true,
		localPublicTransport: true,
		toilets: true,
		lockers: true,
		travelShop: true,
		stepFreeAccess: true,
		boardingAid: 'ja, um voranmeldung unter 01806 512 512* wird gebeten',
		taxis: true
	},
	reisezentrumOpeningHours: {
		Mo: '08:00-18:00',
		Di: '08:00-18:00',
		Mi: '08:00-18:00',
		Do: '08:00-18:00',
		Fr: '08:00-18:00',
		Sa: '09:00-14:00',
		So: '09:00-14:00'
	},
	// …
	stops: [{
		type: 'stop',
		id: '965503',
		name: 'Busbahnhof, Oberstdorf',
		// …
		reisezentrumOpeningHours: {
			Mo: '08:00-18:00',
			Di: '08:00-18:00',
			Mi: '08:00-18:00',
			Do: '08:00-18:00',
			Fr: '08:00-18:00',
			Sa: '09:00-14:00',
			So: '09:00-14:00'
		}
	}]
}

Using the loyaltyCard option

const {data: loyaltyCards} = require('hafas-client/p/db/loyalty-cards')

hafas.journeys(from, to, {
	loyaltyCard: {type: data.BAHNCARD, discount: 25}
})