Awesome
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.
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.