Skip to content

juliuste/tallink

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tallink

JavaScript client for the tallink ferry journey API. Complies with the friendly public transport format (FPTF 0.0). Inofficial, using endpoints by Tallink. Ask them for permission before using this module in production.

npm version Build Status Greenkeeper badge license chat on gitter

Installation

npm install tallink

Usage

const tallink = require('tallink')

The tallink module bundles two methods: stations() and journeys() which follow FPTF 0.0.

stations()

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

tallink.stations().then()

would give you

[
	{type: "station", id: "hel", name: "Helsinki"},
	{type: "station", id: "tal", name: "Tallinn"},
	{type: "station", id: "sto", name: "Stockholm"},
	{type: "station", id: "tur", name: "Turku"},
	{type: "station", id: "rig", name: "Riga"},
	{type: "station", id: "ala", name: "Åland"},
	{type: "station", id: "vis", name: "Visby"}
]

journeys(originID, destinationID, startDate, endDate, opt)

Find journeys for a given time period (in days). Returns a Promise that resolves in a list of matching journeys.

tallink.journeys(originID, destinationID, startDate, endDate, opt).then()
tallink.journeys(
	'tal', // Tallinn
	'hel', // Helsinki
	new Date('2017-03-02T00:00:00'),
	new Date('2017-03-05T00:00:00'), // setting this to the same day as startDate would give you results for a single day
	// default options
	{
		locale: 'en', // route name language
		country: 'DE',
		includeOvernight: true
	}
).then()

would give you

[
	{
		type: "journey",
		id: "1565203",
		routeInfo: {
			id: "tal-hel",
			name: "Tallinn-Helsinki"
		},
		overnight: false,
		legs: [{
			origin: {
				type: "station",
				id: "tal",
				pier: "DTER"
			},
			destination: {
				type: "station",
				id: "hel",
				pier: "LSA2"
			},
			departure: "2017-03-02T07:30:00.000Z", // Date() Object
			arrival: "2017-03-02T09:30:00.000Z", // Date() Object
			ship: "MEGASTAR",
			rooms: true,
			operator: "tallink",
			mode: "ferry",
			public: true
		}],
		price: {
			amount: 36,
			currency: "EUR"
		}
	}
	// …
]

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 tallink API.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published