mirror of
				https://github.com/public-transport/db-vendo-client.git
				synced 2025-10-31 16:16:32 +02:00 
			
		
		
		
	docs: update FPTF link, minor improvements
This commit is contained in:
		
							parent
							
								
									1415036e46
								
							
						
					
					
						commit
						e573ee2842
					
				
					 1 changed files with 103 additions and 92 deletions
				
			
		
							
								
								
									
										157
									
								
								readme.md
									
										
									
									
									
								
							
							
						
						
									
										157
									
								
								readme.md
									
										
									
									
									
								
							|  | @ -1,9 +1,9 @@ | ||||||
| # hafas-client | # hafas-client | ||||||
| 
 | 
 | ||||||
| **A client for HAFAS public transport APIs**. Sort of like [public-transport-enable](https://github.com/schildbach/public-transport-enabler), but with a smaller scope. It also contains customisations for the following transport networks: | **A client for HAFAS public transport APIs**. Sort of like [public-transport-enabler](https://github.com/schildbach/public-transport-enabler), but with a smaller scope. It also contains customisations for the following transport networks: | ||||||
| 
 | 
 | ||||||
| - [Deutsche Bahn](https://en.wikipedia.org/wiki/Deutsche_Bahn) – [src](p/db/index.js) | - [Deutsche Bahn](https://en.wikipedia.org/wiki/Deutsche_Bahn) – [src at `p/db`](p/db/index.js) | ||||||
| - [Berlin public transport](https://en.wikipedia.org/wiki/Verkehrsverbund_Berlin-Brandenburg) – [src](p/vbb/index.js) | - [Berlin public transport](https://en.wikipedia.org/wiki/Verkehrsverbund_Berlin-Brandenburg) – [src at `p/vbb`](p/vbb/index.js) | ||||||
| 
 | 
 | ||||||
| [](https://www.npmjs.com/package/hafas-client) | [](https://www.npmjs.com/package/hafas-client) | ||||||
| [](https://travis-ci.org/derhuerst/hafas-client) | [](https://travis-ci.org/derhuerst/hafas-client) | ||||||
|  | @ -15,7 +15,7 @@ | ||||||
| 
 | 
 | ||||||
| There's [a company called HaCon](http://hacon.de) that sells [a public transport management system called HAFAS](https://de.wikipedia.org/wiki/HAFAS). It is [used by companies all over Europe](https://gist.github.com/derhuerst/2b7ed83bfa5f115125a5) to serve routing and departure information for apps. All those endpoints are similar, with the same terms and API routes, but have slightly different options, filters and enable features. | There's [a company called HaCon](http://hacon.de) that sells [a public transport management system called HAFAS](https://de.wikipedia.org/wiki/HAFAS). It is [used by companies all over Europe](https://gist.github.com/derhuerst/2b7ed83bfa5f115125a5) to serve routing and departure information for apps. All those endpoints are similar, with the same terms and API routes, but have slightly different options, filters and enable features. | ||||||
| 
 | 
 | ||||||
| `hafas-client` contains all logic for communicating with these, as well as serialising from and parsing to [FPTF](https://github.com/public-transport/friendly-public-transport-format). Endpoint-specific customisations increase the quality of the returned data. | `hafas-client` contains all logic for communicating with these, as well as serialising from and parsing to [*Friendly Public Transport Format (FPTF)* `1.0.1`](https://github.com/public-transport/friendly-public-transport-format/blob/1.0.1/spec/readme.md). Endpoint-specific customisations (called "profiles" here) increase the quality of the returned data. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| ## Installing | ## Installing | ||||||
|  | @ -31,6 +31,7 @@ npm install hafas-client | ||||||
| const createClient = require('hafas-client') | const createClient = require('hafas-client') | ||||||
| const dbProfile = require('hafas-client/p/db') | const dbProfile = require('hafas-client/p/db') | ||||||
| 
 | 
 | ||||||
|  | // create a client with Deutsche Bahn profile | ||||||
| const client = createClient(dbProfile) | const client = createClient(dbProfile) | ||||||
| 
 | 
 | ||||||
| // Berlin Jungfernheide to München Hbf | // Berlin Jungfernheide to München Hbf | ||||||
|  | @ -39,40 +40,97 @@ client.journeys('8011167', '8000261', {results: 1}) | ||||||
| .catch(console.error) | .catch(console.error) | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  | The returned [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/promise) will resolved with an array of one `journey` in the [*FPTF* `1.0.1`](https://github.com/public-transport/friendly-public-transport-format/blob/1.0.1/spec/readme.md). | ||||||
|  | 
 | ||||||
| ```js | ```js | ||||||
| [ { | [ { | ||||||
|  | 	parts: [ { | ||||||
|  | 		id: '1|100067|48|81|17122017', | ||||||
| 		origin: { | 		origin: { | ||||||
| 			type: 'station', | 			type: 'station', | ||||||
| 			id: '8089100', | 			id: '8089100', | ||||||
| 			name: 'Berlin Jungfernheide (S)', | 			name: 'Berlin Jungfernheide (S)', | ||||||
| 		coordinates: { | 			location: { | ||||||
|  | 				type: 'location', | ||||||
| 				latitude: 52.530291, | 				latitude: 52.530291, | ||||||
| 				longitude: 13.299451 | 				longitude: 13.299451 | ||||||
| 			}, | 			}, | ||||||
| 			products: { /* … */ } | 			products: { /* … */ } | ||||||
| 		}, | 		}, | ||||||
| 	departure: '2017-11-13T01:00:00Z', | 		departure: '2017-12-17T17:05:00.000+01:00', | ||||||
| 
 | 		departurePlatform: '5', | ||||||
|  | 		destination: { | ||||||
|  | 			type: 'station', | ||||||
|  | 			id: '8089118', | ||||||
|  | 			name: 'Berlin Beusselstraße', | ||||||
|  | 			location: { /* … */ }, | ||||||
|  | 			products: { /* … */ } | ||||||
|  | 		}, | ||||||
|  | 		arrival: '2017-12-17T17:08:00.000+01:00', | ||||||
|  | 		arrivalPlatform: '1', | ||||||
|  | 		line: { | ||||||
|  | 			type: 'line', | ||||||
|  | 			id: '41172', | ||||||
|  | 			name: 'S 41', | ||||||
|  | 			public: true, | ||||||
|  | 			mode: 'train', | ||||||
|  | 			product: 'suburban', | ||||||
|  | 			class: 16, | ||||||
|  | 			productCode: 4 | ||||||
|  | 		}, | ||||||
|  | 		direction: 'Ringbahn ->' | ||||||
|  | 	}, /* … */ { | ||||||
|  | 		origin: { | ||||||
|  | 			type: 'station', | ||||||
|  | 			id: '730749', | ||||||
|  | 			name: 'Berlin Hauptbahnhof (S+U), Berlin', | ||||||
|  | 			location: { | ||||||
|  | 				type: 'location', | ||||||
|  | 				latitude: 52.526461, | ||||||
|  | 				longitude: 13.369378 | ||||||
|  | 			}, | ||||||
|  | 			products: { /* … */ } | ||||||
|  | 		}, | ||||||
|  | 		departure: '2017-12-17T17:25:00.000+01:00', | ||||||
|  | 		destination: { | ||||||
|  | 			type: 'station', | ||||||
|  | 			id: '8098160', | ||||||
|  | 			name: 'Berlin Hbf (tief)', | ||||||
|  | 			location: { /* … */ }, | ||||||
|  | 			products: { /* … */ } | ||||||
|  | 		}, | ||||||
|  | 		arrival: '2017-12-17T17:33:00.000+01:00', | ||||||
|  | 		mode: 'walking', | ||||||
|  | 		public: true | ||||||
|  | 	}, { | ||||||
|  | 		id: '1|70906|0|81|17122017', | ||||||
|  | 		origin: { | ||||||
|  | 			type: 'station', | ||||||
|  | 			id: '8098160', | ||||||
|  | 			name: 'Berlin Hbf (tief)', | ||||||
|  | 			location: { /* … */ }, | ||||||
|  | 			products: { /* … */ } | ||||||
|  | 		}, | ||||||
|  | 		departure: '2017-12-17T17:37:00.000+01:00', | ||||||
|  | 		departurePlatform: '1', | ||||||
| 		destination: { | 		destination: { | ||||||
| 			type: 'station', | 			type: 'station', | ||||||
| 			id: '8000261', | 			id: '8000261', | ||||||
| 			name: 'München Hbf', | 			name: 'München Hbf', | ||||||
| 		coordinates: { | 			location: { /* … */ }, | ||||||
| 			latitude: 48.140364, |  | ||||||
| 			longitude: 11.558735 |  | ||||||
| 		}, |  | ||||||
| 			products: { /* … */ } | 			products: { /* … */ } | ||||||
| 		}, | 		}, | ||||||
| 	arrival: '2017-11-13T09:39:00Z', | 		arrival: '2017-12-17T22:45:00.000+01:00', | ||||||
| 
 | 		arrivalPlatform: '13', | ||||||
| 	parts: [ { | 		line: { /* … */ }, | ||||||
| 		id: '1|1436339|0|80|12112017', | 		direction: 'München Hbf' | ||||||
| 
 | 	} ], | ||||||
| 	origin: { | 	origin: { | ||||||
| 		type: 'station', | 		type: 'station', | ||||||
| 		id: '8089100', | 		id: '8089100', | ||||||
| 		name: 'Berlin Jungfernheide (S)', | 		name: 'Berlin Jungfernheide (S)', | ||||||
| 			coordinates: { | 		location: { | ||||||
|  | 			type: 'location', | ||||||
| 			latitude: 52.530291, | 			latitude: 52.530291, | ||||||
| 			longitude: 13.299451 | 			longitude: 13.299451 | ||||||
| 		}, | 		}, | ||||||
|  | @ -89,66 +147,19 @@ client.journeys('8011167', '8000261', {results: 1}) | ||||||
| 			taxi: false | 			taxi: false | ||||||
| 		} | 		} | ||||||
| 	}, | 	}, | ||||||
| 		departure: '2017-11-13T00:50:00Z', | 	departure: '2017-12-17T17:05:00.000+01:00', | ||||||
| 		departurePlatform: '6', |  | ||||||
| 
 |  | ||||||
| 	destination: { | 	destination: { | ||||||
| 		type: 'station', | 		type: 'station', | ||||||
| 			id: '8089047', | 		id: '8000261', | ||||||
| 			name: 'Berlin Westkreuz', | 		name: 'München Hbf', | ||||||
| 			coordinates: { | 		location: { /* … */ }, | ||||||
| 				latitude: 52.500752, | 		products: { /* … */ } | ||||||
| 				longitude: 13.283854 |  | ||||||
| 	}, | 	}, | ||||||
| 			products: { | 	arrival: '2017-12-17T22:45:00.000+01:00', | ||||||
| 				nationalExp: false, | 	price: { | ||||||
| 				national: false, | 		amount: null, | ||||||
| 				regionalExp: false, | 		hint: 'No pricing information available.' | ||||||
| 				regional: true, |  | ||||||
| 				suburban: true, |  | ||||||
| 				bus: true, |  | ||||||
| 				ferry: false, |  | ||||||
| 				subway: false, |  | ||||||
| 				tram: false, |  | ||||||
| 				taxi: false |  | ||||||
| 	} | 	} | ||||||
| 		}, |  | ||||||
| 		arrival: '2017-11-13T00:57:00Z', |  | ||||||
| 		delay: 0, |  | ||||||
| 
 |  | ||||||
| 		line: { |  | ||||||
| 			type: 'line', |  | ||||||
| 			name: 'S 42', |  | ||||||
| 			mode: 'train', |  | ||||||
| 			product: 'suburban', |  | ||||||
| 			class: 16, |  | ||||||
| 			productCode: 4, |  | ||||||
| 			productName: 's' |  | ||||||
| 		}, |  | ||||||
| 		direction: 'Ringbahn <-', |  | ||||||
| 		arrivalPlatform: '12' |  | ||||||
| 	}, { |  | ||||||
| 		id: '1|332491|0|80|12112017', |  | ||||||
| 
 |  | ||||||
| 		origin: { /* … */ }, |  | ||||||
| 		departure: '2017-11-13T01:05:00Z', |  | ||||||
| 		departurePlatform: '3', |  | ||||||
| 
 |  | ||||||
| 		destination: { /* … */ }, |  | ||||||
| 		arrival: '2017-11-13T01:18:00Z', |  | ||||||
| 		delay: 0, |  | ||||||
| 
 |  | ||||||
| 		line: { /* … */ }, |  | ||||||
| 		direction: 'Berlin Ostbahnhof' |  | ||||||
| 	}, { |  | ||||||
| 		origin: { /* … */ }, |  | ||||||
| 		departure: '2017-11-13T01:18:00Z', |  | ||||||
| 		destination: { /* … */ }, |  | ||||||
| 		arrival: '2017-11-13T01:26:00Z', |  | ||||||
| 		mode: 'walking' |  | ||||||
| 	}, { |  | ||||||
| 		 /* … */ |  | ||||||
| 	} ] |  | ||||||
| } ] | } ] | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue