Trainline EU sells tickets for numerous train operators across Europe.
Stations - A Database of European Train Stations
This repository contains the information Trainline EU uses to identify stations across the diverse systems of the train operators.
If you want to contribute to this database, please read CONTRIBUTING.md.
Licence
The file stations.csv
is distributed under the Open Database License (ODbL) licence, see LICENCE.txt. In short, any modification to this data source must be published.
Data come from the following sources:
All these sources were released under ODbL or compatible licences.
The Data
The file stations.csv
contains all our data representing train stations. The file is UTF-8 encoded text file and Comma Separated Value (CSV) formatted – although a semi-colon ;
is used to delimitate fields.
Columns
Column Name | Notes |
---|---|
id |
Internal unique identifier. |
name |
Name of the station as it is locally known; see info_* for translations. |
slug |
Guaranteed to be unique across all the suggestable stations; see is_suggestable . |
uic |
The UIC code of the station. |
uic8_sncf |
SNCF sometimes uses an UIC code with 8 digits instead of 7. The last digit is a checksum. |
longitude |
Coordinates as decimal value. |
latitude |
Coordinates as decimal value. |
parent_station_id |
A station can belong to a meta station whose id is this value, i.e. Paris Gare d’Austerlitz belongs to the metastation Paris. |
is_city |
This value is unreliable. |
country |
2 letters, ISO 3166-1 alpha-2 |
is_main_station |
This value is unreliable. |
time_zone |
Continent/Country ISO codes. |
is_suggestable |
Can the user input this station. |
sncf_self_service_machine |
Presence of a SNCF self-service machine at the station. |
same_as |
Some systems allow stations to be split in two, with two id values. If provided, the station identified by the given value should be considered as the actual station. |
Operator Specific
Operator specific columns contain identifiers and values specific to the operator. Columns are prefixed with a name unique to the operator.
Column Name | Notes |
---|---|
*_id |
id of the station as it is known by the carrier. |
*_is_enabled |
Can a ticket be booked to/from the station through that carrier? |
sncf_id |
|
sncf_is_enabled |
|
idtgv_id |
|
idtgv_is_enabled |
|
db_id |
|
db_is_enabled |
|
hkx_id |
|
hkx_is_enabled |
|
busbud_id |
|
busbud_is_enabled |
|
ouigo_id |
|
ouigo_is_enabled |
|
trenitalia_id |
|
trenitalia_is_enabled |
|
ntv_id |
|
ntv_is_enabled |
Internationalisation
Language specific info
columns contain translations of the station name. The language used is suffixed as an ISO 639-1:2002 code.
Column Name | Notes |
---|---|
info: * |
Extra information that is useful in the specific language. |
info:fr |
|
info:en |
|
info:de |
|
info:it |
Tests
bundle install
ruby test_data.rb