Skip to content
This repository has been archived by the owner on Jun 14, 2020. It is now read-only.
/ ouibus Public archive

JavaScript client for the OUIBUS API.

License

Notifications You must be signed in to change notification settings

juliuste/ouibus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ouibus

WARNING: THIS PACKAGE IS UNMAINTAINED AND PROBABLY WON'T FUNCTION CORRECTLY ANYMORE.

JavaScript client for the OUIBUS (formerly known as idBUS) API. Inofficial, using endpoints by OUIBUS. Ask them for permission before using this module in production.

npm version Build Status Greenkeeper badge dependency status dev dependency status license chat on gitter

Installation

npm install ouibus

Usage

const ouibus = require('ouibus')

The ouibus module bundles two methods: stations() and journeys().

stations()

Ouibus network. Returns a Promise that resolves in a list of all stations:

ouibus.stations().then()

would give you

[
	{
		"address": "1 Avenue Louis le Débonnaire 57000 Metz",
		"destinations": [
			"415",
			"416"
			// …
		],
		"id": "47",
		"location": {
			"latitude": 49.110633,
			"longitude": 6.183319,
			"timezone": "Europe/Paris",
			"type": "location"
		},
		"name": "Metz",
		"timezone": "Europe/Paris",
		"type": "station"
	}
	// …
]

journeys(originID, destinationID, date, opt)

Find journeys for a given date (always returns results for the entire day). Returns a Promise that resolves in a list of matching journeys.

ouibus.journeys(originID, destinationID, date, opt).then()
ouibus.journeys(
	90, // Paris
	13, // Montpellier
	new Date(),
	// default options
	{
		transfers: 1, // max. transfers
		currency: 'EUR', // TODO: supported currencies
		passengers: [{
			id: 1, // TODO
			age: 30
		}]
	}
).then()

would give you

[
	{
		"available": true,
		"id": "30702067",
		"legs": [
			{
				"arrival": "2018-11-10T09:40:00+01:00",
				"departure": "2018-11-09T19:10:00+01:00",
				"destination": "5",
				"line": {
					"id": "5751",
					"mode": "bus",
					"name": "5751",
					"public": true,
					"type": "line"
				},
				"mode": "bus",
				"operator": "ouibus",
				"origin": "1",
				"public": true
			},
			{
				"arrival": "2018-11-10T16:35:00+01:00",
				"departure": "2018-11-10T11:10:00+01:00",
				"destination": "13",
				"line": {
					"id": "5868",
					"mode": "bus",
					"name": "5868",
					"public": true,
					"type": "line"
				},
				"mode": "bus",
				"operator": "ouibus",
				"origin": "5",
				"public": true
			}
		],
		"price": {
			"amount": 62,
			"currency": "EUR",
			"fares": [
				{
					"model": "normal",
					"price": {
						"amount": 62,
						"currency": "EUR"
					}
				}
			]
		},
		"type": "journey"
	}
	// …
]

Contributing

If you found a bug, want to propose a feature or feel the urge to complain about your life, feel free to visit the issues page.

About

JavaScript client for the OUIBUS API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published