Repository: tjorim/pyrail
Issue category: Feature Request

Issue:
Add dataclasses
We will be using mashumaro.


Hints:
First part was done in #22.

Patch:
diff --git a/examples/composition_from_docs_not_real.json b/examples/composition_from_docs_not_real.json
new file mode 100644
index 0000000..3fe3f1c
--- /dev/null
+++ b/examples/composition_from_docs_not_real.json
@@ -0,0 +1,131 @@
+{
+    "version": "1.1",
+    "timestamp": "1581856899",
+    "composition": {
+        "segments": {
+            "number": "1",
+            "segment": [
+                {
+                    "id": "0",
+                    "origin": {
+                        "locationX": "4.071825",
+                        "locationY": "50.891925",
+                        "id": "BE.NMBS.008895802",
+                        "name": "Denderleeuw",
+                        "@id": "http://irail.be/stations/NMBS/008895802",
+                        "standardname": "Denderleeuw"
+                    },
+                    "destination": {
+                        "locationX": "4.071825",
+                        "locationY": "50.891925",
+                        "id": "BE.NMBS.008895802",
+                        "name": "Denderleeuw",
+                        "@id": "http://irail.be/stations/NMBS/008895802",
+                        "standardname": "Denderleeuw"
+                    },
+                    "composition": {
+                        "source": "Itris",
+                        "units": {
+                            "number": "3",
+                            "unit": [
+                                {
+                                    "id": "0",
+                                    "materialType": {
+                                        "parent_type": "AM08M",
+                                        "sub_type": "c",
+                                        "orientation": "LEFT"
+                                    },
+                                    "hasToilets": "1",
+                                    "hasTables": "1",
+                                    "hasSecondClassOutlets": "1",
+                                    "hasFirstClassOutlets": "1",
+                                    "hasHeating": "1",
+                                    "hasAirco": "1",
+                                    "materialNumber": "8112",
+                                    "tractionType": "AM/MR",
+                                    "canPassToNextUnit": "0",
+                                    "standingPlacesSecondClass": "27",
+                                    "standingPlacesFirstClass": "9",
+                                    "seatsCoupeSecondClass": "0",
+                                    "seatsCoupeFirstClass": "0",
+                                    "seatsSecondClass": "76",
+                                    "seatsFirstClass": "16",
+                                    "lengthInMeter": "27",
+                                    "hasSemiAutomaticInteriorDoors": "1",
+                                    "hasLuggageSection": "0",
+                                    "materialSubTypeName": "AM08M_c",
+                                    "tractionPosition": "1",
+                                    "hasPrmSection": "1",
+                                    "hasPriorityPlaces": "1",
+                                    "hasBikeSection": "1"
+                                },
+                                {
+                                    "id": "1",
+                                    "materialType": {
+                                        "parent_type": "AM08M",
+                                        "sub_type": "b",
+                                        "orientation": "LEFT"
+                                    },
+                                    "hasToilets": "0",
+                                    "hasTables": "1",
+                                    "hasSecondClassOutlets": "1",
+                                    "hasFirstClassOutlets": "1",
+                                    "hasHeating": "1",
+                                    "hasAirco": "1",
+                                    "materialNumber": "8112",
+                                    "tractionType": "AM/MR",
+                                    "canPassToNextUnit": "0",
+                                    "standingPlacesSecondClass": "40",
+                                    "standingPlacesFirstClass": "0",
+                                    "seatsCoupeSecondClass": "0",
+                                    "seatsCoupeFirstClass": "0",
+                                    "seatsSecondClass": "104",
+                                    "seatsFirstClass": "0",
+                                    "lengthInMeter": "27",
+                                    "hasSemiAutomaticInteriorDoors": "1",
+                                    "hasLuggageSection": "0",
+                                    "materialSubTypeName": "AM08M_b",
+                                    "tractionPosition": "1",
+                                    "hasPrmSection": "0",
+                                    "hasPriorityPlaces": "1",
+                                    "hasBikeSection": "0"
+                                },
+                                {
+                                    "id": "2",
+                                    "materialType": {
+                                        "parent_type": "AM08M",
+                                        "sub_type": "a",
+                                        "orientation": "RIGHT"
+                                    },
+                                    "hasToilets": "0",
+                                    "hasTables": "1",
+                                    "hasSecondClassOutlets": "1",
+                                    "hasFirstClassOutlets": "1",
+                                    "hasHeating": "1",
+                                    "hasAirco": "1",
+                                    "materialNumber": "8112",
+                                    "tractionType": "AM/MR",
+                                    "canPassToNextUnit": "0",
+                                    "standingPlacesSecondClass": "37",
+                                    "standingPlacesFirstClass": "9",
+                                    "seatsCoupeSecondClass": "0",
+                                    "seatsCoupeFirstClass": "0",
+                                    "seatsSecondClass": "68",
+                                    "seatsFirstClass": "16",
+                                    "lengthInMeter": "27",
+                                    "hasSemiAutomaticInteriorDoors": "1",
+                                    "hasLuggageSection": "0",
+                                    "materialSubTypeName": "AM08M_a",
+                                    "tractionPosition": "1",
+                                    "hasPrmSection": "0",
+                                    "hasPriorityPlaces": "1",
+                                    "hasBikeSection": "0"
+                                }
+                            ]
+                        }
+                    }
+                }
+            ]
+        }
+    }
+}
\ No newline at end of file
diff --git a/examples/connections.json b/examples/connections.json
new file mode 100644
index 0000000..41458d0
--- /dev/null
+++ b/examples/connections.json
@@ -0,0 +1,1387 @@
+{
+    "version": "1.3",
+    "timestamp": "1736202453",
+    "connection": [
+        {
+            "id": "0",
+            "departure": {
+                "delay": "0",
+                "station": "Antwerp-Central",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008821006",
+                    "id": "BE.NMBS.008821006",
+                    "name": "Antwerp-Central",
+                    "locationX": "4.421101",
+                    "locationY": "51.2172",
+                    "standardname": "Antwerpen-Centraal"
+                },
+                "time": "1736202960",
+                "vehicle": "BE.NMBS.IC723",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC723",
+                    "shortname": "IC 723",
+                    "number": "723",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC723"
+                },
+                "platform": "11",
+                "platforminfo": {
+                    "name": "11",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "stops": {
+                    "number": "4",
+                    "stop": [
+                        {
+                            "id": "0",
+                            "station": "Antwerp-Berchem",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008821121",
+                                "id": "BE.NMBS.008821121",
+                                "name": "Antwerp-Berchem",
+                                "locationX": "4.432221",
+                                "locationY": "51.19923",
+                                "standardname": "Antwerpen-Berchem"
+                            },
+                            "scheduledArrivalTime": "1736203200",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736203320",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "1",
+                            "station": "Sint-Niklaas",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894508",
+                                "id": "BE.NMBS.008894508",
+                                "name": "Sint-Niklaas",
+                                "locationX": "4.142966",
+                                "locationY": "51.171472",
+                                "standardname": "Sint-Niklaas"
+                            },
+                            "scheduledArrivalTime": "1736204280",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736204400",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "2",
+                            "station": "Lokeren",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894201",
+                                "id": "BE.NMBS.008894201",
+                                "name": "Lokeren",
+                                "locationX": "3.987794",
+                                "locationY": "51.108062",
+                                "standardname": "Lokeren"
+                            },
+                            "scheduledArrivalTime": "1736204940",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736205000",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "3",
+                            "station": "Ghent-Dampoort",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008893120",
+                                "id": "BE.NMBS.008893120",
+                                "name": "Ghent-Dampoort",
+                                "locationX": "3.740591",
+                                "locationY": "51.056365",
+                                "standardname": "Gent-Dampoort"
+                            },
+                            "scheduledArrivalTime": "1736205720",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736205840",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        }
+                    ]
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250106/IC723",
+                "direction": {
+                    "name": "Ghent-Sint-Pieters"
+                },
+                "left": "0",
+                "walking": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                }
+            },
+            "arrival": {
+                "delay": "0",
+                "station": "Ghent-Sint-Pieters",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892007",
+                    "id": "BE.NMBS.008892007",
+                    "name": "Ghent-Sint-Pieters",
+                    "locationX": "3.710675",
+                    "locationY": "51.035896",
+                    "standardname": "Gent-Sint-Pieters"
+                },
+                "time": "1736206380",
+                "vehicle": "BE.NMBS.IC723",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC723",
+                    "shortname": "IC 723",
+                    "number": "723",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC723"
+                },
+                "platform": "3",
+                "platforminfo": {
+                    "name": "3",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "direction": {
+                    "name": "Ghent-Sint-Pieters"
+                },
+                "arrived": "0",
+                "walking": "0",
+                "departureConnection": "http://irail.be/connections/8892007/20250107/IC723"
+            },
+            "duration": "3420",
+            "remarks": {
+                "number": "0",
+                "remark": []
+            },
+            "alerts": {
+                "number": "0",
+                "alert": []
+            }
+        },
+        {
+            "id": "1",
+            "departure": {
+                "delay": "0",
+                "station": "Antwerp-Central",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008821006",
+                    "id": "BE.NMBS.008821006",
+                    "name": "Antwerp-Central",
+                    "locationX": "4.421101",
+                    "locationY": "51.2172",
+                    "standardname": "Antwerpen-Centraal"
+                },
+                "time": "1736220900",
+                "vehicle": "BE.NMBS.IC704",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC704",
+                    "shortname": "IC 704",
+                    "number": "704",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC704"
+                },
+                "platform": "2",
+                "platforminfo": {
+                    "name": "2",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "stops": {
+                    "number": "4",
+                    "stop": [
+                        {
+                            "id": "0",
+                            "station": "Antwerp-Berchem",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008821121",
+                                "id": "BE.NMBS.008821121",
+                                "name": "Antwerp-Berchem",
+                                "locationX": "4.432221",
+                                "locationY": "51.19923",
+                                "standardname": "Antwerpen-Berchem"
+                            },
+                            "scheduledArrivalTime": "1736221140",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736221200",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "1",
+                            "station": "Sint-Niklaas",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894508",
+                                "id": "BE.NMBS.008894508",
+                                "name": "Sint-Niklaas",
+                                "locationX": "4.142966",
+                                "locationY": "51.171472",
+                                "standardname": "Sint-Niklaas"
+                            },
+                            "scheduledArrivalTime": "1736222280",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736222400",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "2",
+                            "station": "Lokeren",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894201",
+                                "id": "BE.NMBS.008894201",
+                                "name": "Lokeren",
+                                "locationX": "3.987794",
+                                "locationY": "51.108062",
+                                "standardname": "Lokeren"
+                            },
+                            "scheduledArrivalTime": "1736222940",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736223000",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "3",
+                            "station": "Ghent-Dampoort",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008893120",
+                                "id": "BE.NMBS.008893120",
+                                "name": "Ghent-Dampoort",
+                                "locationX": "3.740591",
+                                "locationY": "51.056365",
+                                "standardname": "Gent-Dampoort"
+                            },
+                            "scheduledArrivalTime": "1736223720",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736223840",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        }
+                    ]
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250107/IC704",
+                "direction": {
+                    "name": "Poperinge"
+                },
+                "left": "0",
+                "walking": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                }
+            },
+            "arrival": {
+                "delay": "0",
+                "station": "Ghent-Sint-Pieters",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892007",
+                    "id": "BE.NMBS.008892007",
+                    "name": "Ghent-Sint-Pieters",
+                    "locationX": "3.710675",
+                    "locationY": "51.035896",
+                    "standardname": "Gent-Sint-Pieters"
+                },
+                "time": "1736224320",
+                "vehicle": "BE.NMBS.IC704",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC704",
+                    "shortname": "IC 704",
+                    "number": "704",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC704"
+                },
+                "platform": "8",
+                "platforminfo": {
+                    "name": "8",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "direction": {
+                    "name": "Poperinge"
+                },
+                "arrived": "0",
+                "walking": "0",
+                "departureConnection": "http://irail.be/connections/8892007/20250107/IC704"
+            },
+            "duration": "3420",
+            "remarks": {
+                "number": "0",
+                "remark": []
+            },
+            "alerts": {
+                "number": "0",
+                "alert": []
+            }
+        },
+        {
+            "id": "2",
+            "departure": {
+                "delay": "0",
+                "station": "Antwerp-Central",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008821006",
+                    "id": "BE.NMBS.008821006",
+                    "name": "Antwerp-Central",
+                    "locationX": "4.421101",
+                    "locationY": "51.2172",
+                    "standardname": "Antwerpen-Centraal"
+                },
+                "time": "1736222760",
+                "vehicle": "BE.NMBS.IC1826",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC1826",
+                    "shortname": "IC 1826",
+                    "number": "1826",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC1826"
+                },
+                "platform": "23",
+                "platforminfo": {
+                    "name": "23",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "stops": {
+                    "number": "6",
+                    "stop": [
+                        {
+                            "id": "0",
+                            "station": "Antwerp-Berchem",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008821121",
+                                "id": "BE.NMBS.008821121",
+                                "name": "Antwerp-Berchem",
+                                "locationX": "4.432221",
+                                "locationY": "51.19923",
+                                "standardname": "Antwerpen-Berchem"
+                            },
+                            "scheduledArrivalTime": "1736223000",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736223120",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "1",
+                            "station": "Antwerp-South",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008821196",
+                                "id": "BE.NMBS.008821196",
+                                "name": "Antwerp-South",
+                                "locationX": "4.390259",
+                                "locationY": "51.197828",
+                                "standardname": "Antwerpen-Zuid"
+                            },
+                            "scheduledArrivalTime": "1736223360",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736223420",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "2",
+                            "station": "Beveren",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894748",
+                                "id": "BE.NMBS.008894748",
+                                "name": "Beveren",
+                                "locationX": "4.25952",
+                                "locationY": "51.208336",
+                                "standardname": "Beveren"
+                            },
+                            "scheduledArrivalTime": "1736223900",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736223960",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "3",
+                            "station": "Sint-Niklaas",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894508",
+                                "id": "BE.NMBS.008894508",
+                                "name": "Sint-Niklaas",
+                                "locationX": "4.142966",
+                                "locationY": "51.171472",
+                                "standardname": "Sint-Niklaas"
+                            },
+                            "scheduledArrivalTime": "1736224380",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736224560",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "4",
+                            "station": "Lokeren",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894201",
+                                "id": "BE.NMBS.008894201",
+                                "name": "Lokeren",
+                                "locationX": "3.987794",
+                                "locationY": "51.108062",
+                                "standardname": "Lokeren"
+                            },
+                            "scheduledArrivalTime": "1736225100",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736225160",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "5",
+                            "station": "Ghent-Dampoort",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008893120",
+                                "id": "BE.NMBS.008893120",
+                                "name": "Ghent-Dampoort",
+                                "locationX": "3.740591",
+                                "locationY": "51.056365",
+                                "standardname": "Gent-Dampoort"
+                            },
+                            "scheduledArrivalTime": "1736225880",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736226000",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        }
+                    ]
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250107/IC1826",
+                "direction": {
+                    "name": "Ostend"
+                },
+                "left": "0",
+                "walking": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                }
+            },
+            "arrival": {
+                "delay": "0",
+                "station": "Ghent-Sint-Pieters",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892007",
+                    "id": "BE.NMBS.008892007",
+                    "name": "Ghent-Sint-Pieters",
+                    "locationX": "3.710675",
+                    "locationY": "51.035896",
+                    "standardname": "Gent-Sint-Pieters"
+                },
+                "time": "1736226480",
+                "vehicle": "BE.NMBS.IC1826",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC1826",
+                    "shortname": "IC 1826",
+                    "number": "1826",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC1826"
+                },
+                "platform": "11",
+                "platforminfo": {
+                    "name": "11",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "direction": {
+                    "name": "Ostend"
+                },
+                "arrived": "0",
+                "walking": "0",
+                "departureConnection": "http://irail.be/connections/8892007/20250107/IC1826"
+            },
+            "duration": "3720",
+            "remarks": {
+                "number": "0",
+                "remark": []
+            },
+            "alerts": {
+                "number": "0",
+                "alert": []
+            }
+        },
+        {
+            "id": "3",
+            "departure": {
+                "delay": "0",
+                "station": "Antwerp-Central",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008821006",
+                    "id": "BE.NMBS.008821006",
+                    "name": "Antwerp-Central",
+                    "locationX": "4.421101",
+                    "locationY": "51.2172",
+                    "standardname": "Antwerpen-Centraal"
+                },
+                "time": "1736224560",
+                "vehicle": "BE.NMBS.IC705",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC705",
+                    "shortname": "IC 705",
+                    "number": "705",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC705"
+                },
+                "platform": "2",
+                "platforminfo": {
+                    "name": "2",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "stops": {
+                    "number": "4",
+                    "stop": [
+                        {
+                            "id": "0",
+                            "station": "Antwerp-Berchem",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008821121",
+                                "id": "BE.NMBS.008821121",
+                                "name": "Antwerp-Berchem",
+                                "locationX": "4.432221",
+                                "locationY": "51.19923",
+                                "standardname": "Antwerpen-Berchem"
+                            },
+                            "scheduledArrivalTime": "1736224800",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736224920",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "1",
+                            "station": "Sint-Niklaas",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894508",
+                                "id": "BE.NMBS.008894508",
+                                "name": "Sint-Niklaas",
+                                "locationX": "4.142966",
+                                "locationY": "51.171472",
+                                "standardname": "Sint-Niklaas"
+                            },
+                            "scheduledArrivalTime": "1736225880",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736226000",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "2",
+                            "station": "Lokeren",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894201",
+                                "id": "BE.NMBS.008894201",
+                                "name": "Lokeren",
+                                "locationX": "3.987794",
+                                "locationY": "51.108062",
+                                "standardname": "Lokeren"
+                            },
+                            "scheduledArrivalTime": "1736226540",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736226600",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "3",
+                            "station": "Ghent-Dampoort",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008893120",
+                                "id": "BE.NMBS.008893120",
+                                "name": "Ghent-Dampoort",
+                                "locationX": "3.740591",
+                                "locationY": "51.056365",
+                                "standardname": "Gent-Dampoort"
+                            },
+                            "scheduledArrivalTime": "1736227320",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736227440",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        }
+                    ]
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250107/IC705",
+                "direction": {
+                    "name": "Lille Flandres"
+                },
+                "left": "0",
+                "walking": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                }
+            },
+            "arrival": {
+                "delay": "0",
+                "station": "Ghent-Sint-Pieters",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892007",
+                    "id": "BE.NMBS.008892007",
+                    "name": "Ghent-Sint-Pieters",
+                    "locationX": "3.710675",
+                    "locationY": "51.035896",
+                    "standardname": "Gent-Sint-Pieters"
+                },
+                "time": "1736227980",
+                "vehicle": "BE.NMBS.IC705",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC705",
+                    "shortname": "IC 705",
+                    "number": "705",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC705"
+                },
+                "platform": "3",
+                "platforminfo": {
+                    "name": "3",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "direction": {
+                    "name": "Lille Flandres"
+                },
+                "arrived": "0",
+                "walking": "0",
+                "departureConnection": "http://irail.be/connections/8892007/20250107/IC705"
+            },
+            "duration": "3420",
+            "remarks": {
+                "number": "0",
+                "remark": []
+            },
+            "alerts": {
+                "number": "0",
+                "alert": []
+            }
+        },
+        {
+            "id": "4",
+            "departure": {
+                "delay": "0",
+                "station": "Antwerp-Central",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008821006",
+                    "id": "BE.NMBS.008821006",
+                    "name": "Antwerp-Central",
+                    "locationX": "4.421101",
+                    "locationY": "51.2172",
+                    "standardname": "Antwerpen-Centraal"
+                },
+                "time": "1736225280",
+                "vehicle": "BE.NMBS.IC2605",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC2605",
+                    "shortname": "IC 2605",
+                    "number": "2605",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC2605"
+                },
+                "platform": "24",
+                "platforminfo": {
+                    "name": "24",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "stops": {
+                    "number": "1",
+                    "stop": [
+                        {
+                            "id": "0",
+                            "station": "Antwerp-Berchem",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008821121",
+                                "id": "BE.NMBS.008821121",
+                                "name": "Antwerp-Berchem",
+                                "locationX": "4.432221",
+                                "locationY": "51.19923",
+                                "standardname": "Antwerpen-Berchem"
+                            },
+                            "scheduledArrivalTime": "1736225520",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736225580",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        }
+                    ]
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250107/IC2605",
+                "direction": {
+                    "name": "Hasselt"
+                },
+                "left": "0",
+                "walking": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                }
+            },
+            "arrival": {
+                "delay": "0",
+                "station": "Ghent-Sint-Pieters",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892007",
+                    "id": "BE.NMBS.008892007",
+                    "name": "Ghent-Sint-Pieters",
+                    "locationX": "3.710675",
+                    "locationY": "51.035896",
+                    "standardname": "Gent-Sint-Pieters"
+                },
+                "time": "1736229780",
+                "vehicle": "BE.NMBS.IC4127",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC4127",
+                    "shortname": "IC 4127",
+                    "number": "4127",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC4127"
+                },
+                "platform": "8",
+                "platforminfo": {
+                    "name": "8",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "direction": {
+                    "name": "Ghent-Sint-Pieters"
+                },
+                "arrived": "0",
+                "walking": "0",
+                "departureConnection": "http://irail.be/connections/8892007/20250107/IC4127"
+            },
+            "vias": {
+                "number": "1",
+                "via": [
+                    {
+                        "id": "0",
+                        "arrival": {
+                            "delay": "0",
+                            "station": "Mechelen",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008822004",
+                                "id": "BE.NMBS.008822004",
+                                "name": "Mechelen",
+                                "locationX": "4.482785",
+                                "locationY": "51.017648",
+                                "standardname": "Mechelen"
+                            },
+                            "time": "1736226360",
+                            "vehicle": "BE.NMBS.IC2605",
+                            "vehicleinfo": {
+                                "name": "BE.NMBS.IC2605",
+                                "shortname": "IC 2605",
+                                "number": "2605",
+                                "type": "IC",
+                                "locationX": "0",
+                                "locationY": "0",
+                                "@id": "http://irail.be/vehicle/IC2605"
+                            },
+                            "platform": "12",
+                            "platforminfo": {
+                                "name": "12",
+                                "normal": "1"
+                            },
+                            "canceled": "0",
+                            "direction": {
+                                "name": "Hasselt"
+                            },
+                            "arrived": "0",
+                            "walking": "0",
+                            "departureConnection": "http://irail.be/connections/8822004/20250107/IC2605"
+                        },
+                        "departure": {
+                            "delay": "0",
+                            "station": "Mechelen",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008822004",
+                                "id": "BE.NMBS.008822004",
+                                "name": "Mechelen",
+                                "locationX": "4.482785",
+                                "locationY": "51.017648",
+                                "standardname": "Mechelen"
+                            },
+                            "time": "1736226900",
+                            "vehicle": "BE.NMBS.IC4127",
+                            "vehicleinfo": {
+                                "name": "BE.NMBS.IC4127",
+                                "shortname": "IC 4127",
+                                "number": "4127",
+                                "type": "IC",
+                                "locationX": "0",
+                                "locationY": "0",
+                                "@id": "http://irail.be/vehicle/IC4127"
+                            },
+                            "platform": "6",
+                            "platforminfo": {
+                                "name": "6",
+                                "normal": "1"
+                            },
+                            "canceled": "0",
+                            "stops": {
+                                "number": "3",
+                                "stop": [
+                                    {
+                                        "id": "0",
+                                        "station": "Londerzeel",
+                                        "stationinfo": {
+                                            "@id": "http://irail.be/stations/NMBS/008822111",
+                                            "id": "BE.NMBS.008822111",
+                                            "name": "Londerzeel",
+                                            "locationX": "4.299073",
+                                            "locationY": "51.009091",
+                                            "standardname": "Londerzeel"
+                                        },
+                                        "scheduledArrivalTime": "1736227560",
+                                        "arrivalCanceled": "0",
+                                        "arrived": "0",
+                                        "scheduledDepartureTime": "1736227620",
+                                        "arrivalDelay": "0",
+                                        "departureDelay": "0",
+                                        "departureCanceled": "0",
+                                        "left": "0",
+                                        "isExtraStop": "0",
+                                        "platform": "?",
+                                        "platforminfo": {
+                                            "name": "?",
+                                            "normal": "1"
+                                        }
+                                    },
+                                    {
+                                        "id": "1",
+                                        "station": "Dendermonde",
+                                        "stationinfo": {
+                                            "@id": "http://irail.be/stations/NMBS/008893401",
+                                            "id": "BE.NMBS.008893401",
+                                            "name": "Dendermonde",
+                                            "locationX": "4.101427",
+                                            "locationY": "51.022781",
+                                            "standardname": "Dendermonde"
+                                        },
+                                        "scheduledArrivalTime": "1736228160",
+                                        "arrivalCanceled": "0",
+                                        "arrived": "0",
+                                        "scheduledDepartureTime": "1736228400",
+                                        "arrivalDelay": "0",
+                                        "departureDelay": "0",
+                                        "departureCanceled": "0",
+                                        "left": "0",
+                                        "isExtraStop": "0",
+                                        "platform": "?",
+                                        "platforminfo": {
+                                            "name": "?",
+                                            "normal": "1"
+                                        }
+                                    },
+                                    {
+                                        "id": "2",
+                                        "station": "Wetteren",
+                                        "stationinfo": {
+                                            "@id": "http://irail.be/stations/NMBS/008893559",
+                                            "id": "BE.NMBS.008893559",
+                                            "name": "Wetteren",
+                                            "locationX": "3.881883",
+                                            "locationY": "51.001603",
+                                            "standardname": "Wetteren"
+                                        },
+                                        "scheduledArrivalTime": "1736229060",
+                                        "arrivalCanceled": "0",
+                                        "arrived": "0",
+                                        "scheduledDepartureTime": "1736229120",
+                                        "arrivalDelay": "0",
+                                        "departureDelay": "0",
+                                        "departureCanceled": "0",
+                                        "left": "0",
+                                        "isExtraStop": "0",
+                                        "platform": "?",
+                                        "platforminfo": {
+                                            "name": "?",
+                                            "normal": "1"
+                                        }
+                                    }
+                                ]
+                            },
+                            "departureConnection": "http://irail.be/connections/8822004/20250107/IC4127",
+                            "direction": {
+                                "name": "Ghent-Sint-Pieters"
+                            },
+                            "left": "0",
+                            "walking": "0",
+                            "occupancy": {
+                                "@id": "http://api.irail.be/terms/low",
+                                "name": "low"
+                            }
+                        },
+                        "timebetween": "540",
+                        "station": "Mechelen",
+                        "stationinfo": {
+                            "@id": "http://irail.be/stations/NMBS/008822004",
+                            "id": "BE.NMBS.008822004",
+                            "name": "Mechelen",
+                            "locationX": "4.482785",
+                            "locationY": "51.017648",
+                            "standardname": "Mechelen"
+                        },
+                        "vehicle": "BE.NMBS.IC4127",
+                        "vehicleinfo": {
+                            "name": "BE.NMBS.IC4127",
+                            "shortname": "IC 4127",
+                            "number": "4127",
+                            "type": "IC",
+                            "locationX": "0",
+                            "locationY": "0",
+                            "@id": "http://irail.be/vehicle/IC4127"
+                        }
+                    }
+                ]
+            },
+            "duration": "4500",
+            "remarks": {
+                "number": "0",
+                "remark": []
+            },
+            "alerts": {
+                "number": "0",
+                "alert": []
+            }
+        },
+        {
+            "id": "5",
+            "departure": {
+                "delay": "0",
+                "station": "Antwerp-Central",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008821006",
+                    "id": "BE.NMBS.008821006",
+                    "name": "Antwerp-Central",
+                    "locationX": "4.421101",
+                    "locationY": "51.2172",
+                    "standardname": "Antwerpen-Centraal"
+                },
+                "time": "1736226360",
+                "vehicle": "BE.NMBS.IC1827",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC1827",
+                    "shortname": "IC 1827",
+                    "number": "1827",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC1827"
+                },
+                "platform": "3",
+                "platforminfo": {
+                    "name": "3",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "stops": {
+                    "number": "6",
+                    "stop": [
+                        {
+                            "id": "0",
+                            "station": "Antwerp-Berchem",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008821121",
+                                "id": "BE.NMBS.008821121",
+                                "name": "Antwerp-Berchem",
+                                "locationX": "4.432221",
+                                "locationY": "51.19923",
+                                "standardname": "Antwerpen-Berchem"
+                            },
+                            "scheduledArrivalTime": "1736226600",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736226720",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "1",
+                            "station": "Antwerp-South",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008821196",
+                                "id": "BE.NMBS.008821196",
+                                "name": "Antwerp-South",
+                                "locationX": "4.390259",
+                                "locationY": "51.197828",
+                                "standardname": "Antwerpen-Zuid"
+                            },
+                            "scheduledArrivalTime": "1736226960",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736227020",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "2",
+                            "station": "Beveren",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894748",
+                                "id": "BE.NMBS.008894748",
+                                "name": "Beveren",
+                                "locationX": "4.25952",
+                                "locationY": "51.208336",
+                                "standardname": "Beveren"
+                            },
+                            "scheduledArrivalTime": "1736227500",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736227560",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "3",
+                            "station": "Sint-Niklaas",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894508",
+                                "id": "BE.NMBS.008894508",
+                                "name": "Sint-Niklaas",
+                                "locationX": "4.142966",
+                                "locationY": "51.171472",
+                                "standardname": "Sint-Niklaas"
+                            },
+                            "scheduledArrivalTime": "1736227980",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736228160",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "4",
+                            "station": "Lokeren",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008894201",
+                                "id": "BE.NMBS.008894201",
+                                "name": "Lokeren",
+                                "locationX": "3.987794",
+                                "locationY": "51.108062",
+                                "standardname": "Lokeren"
+                            },
+                            "scheduledArrivalTime": "1736228700",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736228760",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        },
+                        {
+                            "id": "5",
+                            "station": "Ghent-Dampoort",
+                            "stationinfo": {
+                                "@id": "http://irail.be/stations/NMBS/008893120",
+                                "id": "BE.NMBS.008893120",
+                                "name": "Ghent-Dampoort",
+                                "locationX": "3.740591",
+                                "locationY": "51.056365",
+                                "standardname": "Gent-Dampoort"
+                            },
+                            "scheduledArrivalTime": "1736229480",
+                            "arrivalCanceled": "0",
+                            "arrived": "0",
+                            "scheduledDepartureTime": "1736229540",
+                            "arrivalDelay": "0",
+                            "departureDelay": "0",
+                            "departureCanceled": "0",
+                            "left": "0",
+                            "isExtraStop": "0",
+                            "platform": "?",
+                            "platforminfo": {
+                                "name": "?",
+                                "normal": "1"
+                            }
+                        }
+                    ]
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250107/IC1827",
+                "direction": {
+                    "name": "Ostend"
+                },
+                "left": "0",
+                "walking": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                }
+            },
+            "arrival": {
+                "delay": "0",
+                "station": "Ghent-Sint-Pieters",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892007",
+                    "id": "BE.NMBS.008892007",
+                    "name": "Ghent-Sint-Pieters",
+                    "locationX": "3.710675",
+                    "locationY": "51.035896",
+                    "standardname": "Gent-Sint-Pieters"
+                },
+                "time": "1736230080",
+                "vehicle": "BE.NMBS.IC1827",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC1827",
+                    "shortname": "IC 1827",
+                    "number": "1827",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC1827"
+                },
+                "platform": "3",
+                "platforminfo": {
+                    "name": "3",
+                    "normal": "1"
+                },
+                "canceled": "0",
+                "direction": {
+                    "name": "Ostend"
+                },
+                "arrived": "0",
+                "walking": "0",
+                "departureConnection": "http://irail.be/connections/8892007/20250107/IC1827"
+            },
+            "duration": "3720",
+            "remarks": {
+                "number": "0",
+                "remark": []
+            },
+            "alerts": {
+                "number": "0",
+                "alert": []
+            }
+        }
+    ]
+}
\ No newline at end of file
diff --git a/examples/disturbances_from_docs_not_real.json b/examples/disturbances_from_docs_not_real.json
new file mode 100644
index 0000000..2c8d847
--- /dev/null
+++ b/examples/disturbances_from_docs_not_real.json
@@ -0,0 +1,48 @@
+{
+    "version": "1.1",
+    "timestamp": "1581853952",
+    "disturbance": [
+        {
+            "id": "0",
+            "title": "Brux.-Midi/Brus.-Zuid - Amsterdam CS (NL): Incident on the Dutch rail network.",
+            "description": "Between Brux.-Midi/Brus.-Zuid and Amsterdam CS (NL): Delays and cancellations are possible. Between Rotterdam CS (NL) and Amsterdam CS (NL): Disrupted train traffic. Indefinite duration of the failure. Listen to the announcements, consult the automatic departure boards or plan your trip via the SNCB app or sncb.be for more information.",
+            "link": "http://www.belgianrail.be/jp/nmbs-realtime/help.exe/en?tpl=showmap_external&tplParamHimMsgInfoGroup=trouble&messageID=41188&channelFilter=custom2,livemap,rss_line_10,twitter,custom1,timetable&",
+            "type": "disturbance",
+            "timestamp": "1581853724"
+        },
+        {
+            "id": "1",
+            "title": "Soignies / Zinnik: Failure of a level crossing.",
+            "description": "Delays between 5 and 15 minutes are possible in both directions. Indefinite duration of the failure. Listen to the announcements, consult the automatic departure boards or plan your trip via the SNCB app or sncb.be for more information.",
+            "link": "http://www.belgianrail.be/jp/nmbs-realtime/help.exe/en?tpl=showmap_external&tplParamHimMsgInfoGroup=trouble&messageID=41187&channelFilter=custom2,livemap,rss_line_10,twitter,custom1,timetable&",
+            "type": "disturbance",
+            "timestamp": "1581849358"
+        },
+        {
+            "id": "2",
+            "title": "Storm warning.",
+            "description": "On entire network, from saturday 15/02 evening to sunday 16/02 : Delays and cancellations are possible. Listen to the announcements, consult the automatic departure boards or plan your trip via the SNCB app or sncb.be for more information.",
+            "link": "http://www.belgianrail.be/jp/nmbs-realtime/help.exe/en?tpl=showmap_external&tplParamHimMsgInfoGroup=trouble&messageID=41174&channelFilter=timetable,custom1,twitter,rss_line_10,livemap,custom2&",
+            "type": "disturbance",
+            "timestamp": "1581767543"
+        },
+        {
+            "id": "3",
+            "title": "Brux.-Nord/Brus.-Noord - Schaerbeek / Schaarbeek",
+            "description": "We are conducting work for you between Brux.-Nord/Brus.-Noord and Schaerbeek / Schaarbeek. Detailed information only available in French (FR) and in Dutch (NL).",
+            "link": "http://www.belgianrail.be/jp/nmbs-realtime/help.exe/en?tpl=showmap_external&tplParamHimMsgInfoGroup=works&messageID=41159&channelFilter=rss_line_90&",
+            "type": "planned",
+            "timestamp": "1581691640",
+            "attachment": "http://www.belgianrail.be/jp/download/brail_him/1581691545283_NL-03003S.pdf"
+        },
+        {
+            "id": "4",
+            "title": "Ostende / Oostende - Anvers-Central / Antwerpen-Centraal",
+            "description": "We are conducting work for you between Ostende / Oostende and Anvers-Central / Antwerpen-Centraal. Detailed information only available in French (FR) and in Dutch (NL).",
+            "link": "http://www.belgianrail.be/jp/nmbs-realtime/help.exe/en?tpl=showmap_external&tplParamHimMsgInfoGroup=works&messageID=40825&channelFilter=timetable,rss_line_90,custom2&",
+            "type": "planned",
+            "timestamp": "1581691528",
+            "attachment": "http://www.belgianrail.be/jp/download/brail_him/1580998838767_NL-02045S.pdf"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/examples/liveboard.json b/examples/liveboard.json
new file mode 100644
index 0000000..a1add51
--- /dev/null
+++ b/examples/liveboard.json
@@ -0,0 +1,240 @@
+{
+    "version": "1.3",
+    "timestamp": "1736201508",
+    "station": "Antwerp-Central",
+    "stationinfo": {
+        "@id": "http: //irail.be/stations/NMBS/008821006",
+        "id": "BE.NMBS.008821006",
+        "name": "Antwerp-Central",
+        "locationX": "4.421101",
+        "locationY": "51.2172",
+        "standardname": "Antwerpen-Centraal"
+    },
+    "departures": {
+        "number": "6",
+        "departure": [
+            {
+                "id": "0",
+                "station": "Brussels-South/Brussels-Midi",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008814001",
+                    "id": "BE.NMBS.008814001",
+                    "name": "Brussels-South/Brussels-Midi",
+                    "locationX": "4.336531",
+                    "locationY": "50.835707",
+                    "standardname": "Brussel-Zuid/Bruxelles-Midi"
+                },
+                "time": "1736201940",
+                "delay": "0",
+                "canceled": "0",
+                "left": "0",
+                "isExtra": "0",
+                "vehicle": "BE.NMBS.EC9272",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.EC9272",
+                    "shortname": "EC 9272",
+                    "number": "9272",
+                    "type": "EC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/EC9272"
+                },
+                "platform": "23",
+                "platforminfo": {
+                    "name": "23",
+                    "normal": "1"
+                },
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250106/EC9272"
+            },
+            {
+                "id": "1",
+                "station": "Mol",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008832409",
+                    "id": "BE.NMBS.008832409",
+                    "name": "Mol",
+                    "locationX": "5.116336",
+                    "locationY": "51.19105",
+                    "standardname": "Mol"
+                },
+                "time": "1736202240",
+                "delay": "0",
+                "canceled": "0",
+                "left": "0",
+                "isExtra": "0",
+                "vehicle": "BE.NMBS.IC4323",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC4323",
+                    "shortname": "IC 4323",
+                    "number": "4323",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC4323"
+                },
+                "platform": "3",
+                "platforminfo": {
+                    "name": "3",
+                    "normal": "1"
+                },
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250106/IC4323"
+            },
+            {
+                "id": "2",
+                "station": "Brussels-South/Brussels-Midi",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008814001",
+                    "id": "BE.NMBS.008814001",
+                    "name": "Brussels-South/Brussels-Midi",
+                    "locationX": "4.336531",
+                    "locationY": "50.835707",
+                    "standardname": "Brussel-Zuid/Bruxelles-Midi"
+                },
+                "time": "1736202300",
+                "delay": "0",
+                "canceled": "0",
+                "left": "0",
+                "isExtra": "0",
+                "vehicle": "BE.NMBS.IC2045",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC2045",
+                    "shortname": "IC 2045",
+                    "number": "2045",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC2045"
+                },
+                "platform": "23",
+                "platforminfo": {
+                    "name": "23",
+                    "normal": "1"
+                },
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250106/IC2045"
+            },
+            {
+                "id": "3",
+                "station": "Ghent-Sint-Pieters",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892007",
+                    "id": "BE.NMBS.008892007",
+                    "name": "Ghent-Sint-Pieters",
+                    "locationX": "3.710675",
+                    "locationY": "51.035896",
+                    "standardname": "Gent-Sint-Pieters"
+                },
+                "time": "1736202960",
+                "delay": "0",
+                "canceled": "0",
+                "left": "0",
+                "isExtra": "0",
+                "vehicle": "BE.NMBS.IC723",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.IC723",
+                    "shortname": "IC 723",
+                    "number": "723",
+                    "type": "IC",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/IC723"
+                },
+                "platform": "11",
+                "platforminfo": {
+                    "name": "11",
+                    "normal": "1"
+                },
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250106/IC723"
+            },
+            {
+                "id": "4",
+                "station": "Brussels-South/Brussels-Midi",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008814001",
+                    "id": "BE.NMBS.008814001",
+                    "name": "Brussels-South/Brussels-Midi",
+                    "locationX": "4.336531",
+                    "locationY": "50.835707",
+                    "standardname": "Brussel-Zuid/Bruxelles-Midi"
+                },
+                "time": "1736204700",
+                "delay": "0",
+                "canceled": "0",
+                "left": "0",
+                "isExtra": "0",
+                "vehicle": "BE.NMBS.S11996",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.S11996",
+                    "shortname": "S1 1996",
+                    "number": "1996",
+                    "type": "S1",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/S11996"
+                },
+                "platform": "14",
+                "platforminfo": {
+                    "name": "14",
+                    "normal": "1"
+                },
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/unknown",
+                    "name": "unknown"
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250107/S11996"
+            },
+            {
+                "id": "5",
+                "station": "Essen",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008821402",
+                    "id": "BE.NMBS.008821402",
+                    "name": "Essen",
+                    "locationX": "4.451314",
+                    "locationY": "51.462767",
+                    "standardname": "Essen"
+                },
+                "time": "1736205000",
+                "delay": "0",
+                "canceled": "0",
+                "left": "0",
+                "isExtra": "0",
+                "vehicle": "BE.NMBS.S322573",
+                "vehicleinfo": {
+                    "name": "BE.NMBS.S322573",
+                    "shortname": "S32 2573",
+                    "number": "2573",
+                    "type": "S32",
+                    "locationX": "0",
+                    "locationY": "0",
+                    "@id": "http://irail.be/vehicle/S322573"
+                },
+                "platform": "21",
+                "platforminfo": {
+                    "name": "21",
+                    "normal": "1"
+                },
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/unknown",
+                    "name": "unknown"
+                },
+                "departureConnection": "http://irail.be/connections/8821006/20250107/S322573"
+            }
+        ]
+    }
+}
\ No newline at end of file
diff --git a/examples/stations.json b/examples/stations.json
new file mode 100644
index 0000000..f7a0f15
--- /dev/null
+++ b/examples/stations.json
@@ -0,0 +1,5718 @@
+{
+    "version": "1.3",
+    "timestamp": "1736202192",
+    "station": [
+        {
+            "@id": "http://irail.be/stations/NMBS/008400319",
+            "id": "BE.NMBS.008400319",
+            "name": "'s Hertogenbosch",
+            "locationX": "5.294278",
+            "locationY": "51.69042",
+            "standardname": "'s Hertogenbosch"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008015345",
+            "id": "BE.NMBS.008015345",
+            "name": "Aachen Hbf",
+            "locationX": "6.105275",
+            "locationY": "50.770832",
+            "standardname": "Aachen Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008015199",
+            "id": "BE.NMBS.008015199",
+            "name": "Aachen West",
+            "locationX": "6.07055",
+            "locationY": "50.78078",
+            "standardname": "Aachen West"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895000",
+            "id": "BE.NMBS.008895000",
+            "name": "Aalst",
+            "locationX": "4.039653",
+            "locationY": "50.942813",
+            "standardname": "Aalst"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895125",
+            "id": "BE.NMBS.008895125",
+            "name": "Aalst-Kerrebroek",
+            "locationX": "4.024407",
+            "locationY": "50.948377",
+            "standardname": "Aalst-Kerrebroek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891140",
+            "id": "BE.NMBS.008891140",
+            "name": "Aalter",
+            "locationX": "3.447848",
+            "locationY": "51.092295",
+            "standardname": "Aalter"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833209",
+            "id": "BE.NMBS.008833209",
+            "name": "Aarschot",
+            "locationX": "4.824043",
+            "locationY": "50.984406",
+            "standardname": "Aarschot"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892288",
+            "id": "BE.NMBS.008892288",
+            "name": "Aarsele",
+            "locationX": "3.418363",
+            "locationY": "50.98446",
+            "standardname": "Aarsele"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886546",
+            "id": "BE.NMBS.008886546",
+            "name": "Acren",
+            "locationX": "3.847086",
+            "locationY": "50.733095",
+            "standardname": "Acren"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008778127",
+            "id": "BE.NMBS.008778127",
+            "name": "Agde",
+            "locationX": "3.4658",
+            "locationY": "43.317498",
+            "standardname": "Agde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008774176",
+            "id": "BE.NMBS.008774176",
+            "name": "Aime-la-Plagne",
+            "locationX": "6.648394",
+            "locationY": "45.554202",
+            "standardname": "Aime-la-Plagne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008874583",
+            "id": "BE.NMBS.008874583",
+            "name": "Aiseau",
+            "locationX": "4.584552",
+            "locationY": "50.429529",
+            "standardname": "Aiseau"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008731901",
+            "id": "BE.NMBS.008731901",
+            "name": "Aix-en-Provence TGV",
+            "locationX": "5.433333",
+            "locationY": "43.53333",
+            "standardname": "Aix-en-Provence TGV"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008774164",
+            "id": "BE.NMBS.008774164",
+            "name": "Albertville",
+            "locationX": "6.383617",
+            "locationY": "45.673624",
+            "standardname": "Albertville"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008831039",
+            "id": "BE.NMBS.008831039",
+            "name": "Alken",
+            "locationX": "5.292866",
+            "locationY": "50.886837",
+            "standardname": "Alken"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400081",
+            "id": "BE.NMBS.008400081",
+            "name": "Almere Buiten",
+            "locationX": "5.277962",
+            "locationY": "52.394175",
+            "standardname": "Almere Buiten"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400080",
+            "id": "BE.NMBS.008400080",
+            "name": "Almere Centrum",
+            "locationX": "5.217778",
+            "locationY": "52.375",
+            "standardname": "Almere Centrum"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843331",
+            "id": "BE.NMBS.008843331",
+            "name": "Amay",
+            "locationX": "5.32049",
+            "locationY": "50.546011",
+            "standardname": "Amay"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843323",
+            "id": "BE.NMBS.008843323",
+            "name": "Ampsin",
+            "locationX": "5.289729",
+            "locationY": "50.539215",
+            "standardname": "Ampsin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400058",
+            "id": "BE.NMBS.008400058",
+            "name": "Amsterdam CS",
+            "locationX": "4.900632",
+            "locationY": "52.37908",
+            "standardname": "Amsterdam CS"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400061",
+            "id": "BE.NMBS.008400061",
+            "name": "Amsterdam South",
+            "locationX": "4.871946",
+            "locationY": "52.338865",
+            "standardname": "Amsterdam Zuid"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863404",
+            "id": "BE.NMBS.008863404",
+            "name": "Andenne",
+            "locationX": "5.094699",
+            "locationY": "50.496759",
+            "standardname": "Andenne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811940",
+            "id": "BE.NMBS.008811940",
+            "name": "Anderlecht",
+            "locationX": "4.2918",
+            "locationY": "50.8179",
+            "standardname": "Anderlecht"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842002",
+            "id": "BE.NMBS.008842002",
+            "name": "Angleur",
+            "locationX": "5.599695",
+            "locationY": "50.613152",
+            "standardname": "Angleur"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728685",
+            "id": "BE.NMBS.008728685",
+            "name": "Annappes",
+            "locationX": "3.15",
+            "locationY": "50.633333",
+            "standardname": "Annappes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841202",
+            "id": "BE.NMBS.008841202",
+            "name": "Ans",
+            "locationX": "5.509704",
+            "locationY": "50.661208",
+            "standardname": "Ans"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863818",
+            "id": "BE.NMBS.008863818",
+            "name": "Anseremme",
+            "locationX": "4.90553",
+            "locationY": "50.238023",
+            "standardname": "Anseremme"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008775767",
+            "id": "BE.NMBS.008775767",
+            "name": "Antibes",
+            "locationX": "7.1201361",
+            "locationY": "43.586618",
+            "standardname": "Antibes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008885522",
+            "id": "BE.NMBS.008885522",
+            "name": "Antoing",
+            "locationX": "3.451309",
+            "locationY": "50.569626",
+            "standardname": "Antoing"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821121",
+            "id": "BE.NMBS.008821121",
+            "name": "Antwerp-Berchem",
+            "locationX": "4.432221",
+            "locationY": "51.19923",
+            "standardname": "Antwerpen-Berchem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821006",
+            "id": "BE.NMBS.008821006",
+            "name": "Antwerp-Central",
+            "locationX": "4.421101",
+            "locationY": "51.2172",
+            "standardname": "Antwerpen-Centraal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821022",
+            "id": "BE.NMBS.008821022",
+            "name": "Antwerp-East",
+            "locationX": "4.436392",
+            "locationY": "51.207357",
+            "standardname": "Antwerpen-Oost"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821048",
+            "id": "BE.NMBS.008821048",
+            "name": "Antwerp-Haven",
+            "locationX": "4.379086",
+            "locationY": "51.289968",
+            "standardname": "Antwerpen-Haven"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821063",
+            "id": "BE.NMBS.008821063",
+            "name": "Antwerp-Luchtbal",
+            "locationX": "4.425029",
+            "locationY": "51.244132",
+            "standardname": "Antwerpen-Luchtbal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821089",
+            "id": "BE.NMBS.008821089",
+            "name": "Antwerp-Noorderdokken",
+            "locationX": "4.427906",
+            "locationY": "51.261643",
+            "standardname": "Antwerpen-Noorderdokken"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821196",
+            "id": "BE.NMBS.008821196",
+            "name": "Antwerp-South",
+            "locationX": "4.390259",
+            "locationY": "51.197828",
+            "standardname": "Antwerpen-Zuid"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821030",
+            "id": "BE.NMBS.008821030",
+            "name": "Antwerpen-Dam",
+            "locationX": "4.426238",
+            "locationY": "51.231991",
+            "standardname": "Antwerpen-Dam"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892734",
+            "id": "BE.NMBS.008892734",
+            "name": "Anzegem",
+            "locationX": "3.495014",
+            "locationY": "50.826385",
+            "standardname": "Anzegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895745",
+            "id": "BE.NMBS.008895745",
+            "name": "Appelterre",
+            "locationX": "3.972108",
+            "locationY": "50.813063",
+            "standardname": "Appelterre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814472",
+            "id": "BE.NMBS.008814472",
+            "name": "Arcaden",
+            "locationX": "4.398333",
+            "locationY": "50.809722",
+            "standardname": "Arcaden/Arcades"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811759",
+            "id": "BE.NMBS.008811759",
+            "name": "Archennes",
+            "locationX": "4.662444",
+            "locationY": "50.754345",
+            "standardname": "Archennes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866001",
+            "id": "BE.NMBS.008866001",
+            "name": "Arlon",
+            "locationX": "5.809971",
+            "locationY": "49.68053",
+            "standardname": "Arlon"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008734201",
+            "id": "BE.NMBS.008734201",
+            "name": "Arras",
+            "locationX": "2.78169",
+            "locationY": "50.28683",
+            "standardname": "Arras"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728686",
+            "id": "BE.NMBS.008728686",
+            "name": "Ascq",
+            "locationX": "3.166666",
+            "locationY": "50.616666",
+            "standardname": "Ascq"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812070",
+            "id": "BE.NMBS.008812070",
+            "name": "Asse",
+            "locationX": "4.207985",
+            "locationY": "50.906488",
+            "standardname": "Asse"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864931",
+            "id": "BE.NMBS.008864931",
+            "name": "Assesse",
+            "locationX": "5.022839",
+            "locationY": "50.368133",
+            "standardname": "Assesse"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886009",
+            "id": "BE.NMBS.008886009",
+            "name": "Ath",
+            "locationX": "3.777429",
+            "locationY": "50.626932",
+            "standardname": "Ath"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866605",
+            "id": "BE.NMBS.008866605",
+            "name": "Athus",
+            "locationX": "5.828947",
+            "locationY": "49.563346",
+            "standardname": "Athus"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008869047",
+            "id": "BE.NMBS.008869047",
+            "name": "Athus-Frontiere",
+            "locationX": "5.824932",
+            "locationY": "49.551749",
+            "standardname": "Athus-Frontiere"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866654",
+            "id": "BE.NMBS.008866654",
+            "name": "Aubange",
+            "locationX": "5.79806",
+            "locationY": "49.564093",
+            "standardname": "Aubange"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008869088",
+            "id": "BE.NMBS.008869088",
+            "name": "Aubange-Frontiere-Luxembourg",
+            "locationX": "5.826307",
+            "locationY": "49.549455",
+            "standardname": "Aubange-Frontiere-Luxembourg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008729560",
+            "id": "BE.NMBS.008729560",
+            "name": "Aulnoye-Aymeries",
+            "locationX": "3.843413",
+            "locationY": "50.19744",
+            "standardname": "Aulnoye-Aymeries"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008874716",
+            "id": "BE.NMBS.008874716",
+            "name": "Auvelais",
+            "locationX": "4.630532",
+            "locationY": "50.449197",
+            "standardname": "Auvelais"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008731896",
+            "id": "BE.NMBS.008731896",
+            "name": "Avignon TGV",
+            "locationX": "4.816667",
+            "locationY": "43.95",
+            "standardname": "Avignon TGV"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864352",
+            "id": "BE.NMBS.008864352",
+            "name": "Aye",
+            "locationX": "5.301091",
+            "locationY": "50.224135",
+            "standardname": "Aye"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842754",
+            "id": "BE.NMBS.008842754",
+            "name": "Aywaille",
+            "locationX": "5.672499",
+            "locationY": "50.472938",
+            "standardname": "Aywaille"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008727149",
+            "id": "BE.NMBS.008727149",
+            "name": "Aéroport Charles-de-Gaulle TGV",
+            "locationX": "2.571123",
+            "locationY": "49.003955",
+            "standardname": "Aéroport Charles-de-Gaulle TGV"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822160",
+            "id": "BE.NMBS.008822160",
+            "name": "Baasrode-Zuid",
+            "locationX": "4.153492",
+            "locationY": "51.019437",
+            "standardname": "Baasrode-Zuid"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728687",
+            "id": "BE.NMBS.008728687",
+            "name": "Baisieux",
+            "locationX": "3.25",
+            "locationY": "50.6",
+            "standardname": "Baisieux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895257",
+            "id": "BE.NMBS.008895257",
+            "name": "Balegem-Dorp",
+            "locationX": "3.791425",
+            "locationY": "50.919612",
+            "standardname": "Balegem-Dorp"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895240",
+            "id": "BE.NMBS.008895240",
+            "name": "Balegem-Zuid",
+            "locationX": "3.80587",
+            "locationY": "50.90051",
+            "standardname": "Balegem-Zuid"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832045",
+            "id": "BE.NMBS.008832045",
+            "name": "Balen",
+            "locationX": "5.164986",
+            "locationY": "51.169099",
+            "standardname": "Balen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895463",
+            "id": "BE.NMBS.008895463",
+            "name": "Bambrugge",
+            "locationX": "3.935711",
+            "locationY": "50.913769",
+            "standardname": "Bambrugge"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864451",
+            "id": "BE.NMBS.008864451",
+            "name": "Barvaux",
+            "locationX": "5.501542",
+            "locationY": "50.349417",
+            "standardname": "Barvaux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843430",
+            "id": "BE.NMBS.008843430",
+            "name": "Bas-Oha",
+            "locationX": "5.190937",
+            "locationY": "50.52263",
+            "standardname": "Bas-Oha"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200718",
+            "id": "BE.NMBS.008200718",
+            "name": "Bascharage-Sanem",
+            "locationX": "5.923742",
+            "locationY": "49.55836",
+            "standardname": "Bascharage-Sanem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008500010",
+            "id": "BE.NMBS.008500010",
+            "name": "Basel",
+            "locationX": "7.590716",
+            "locationY": "47.547408",
+            "standardname": "Basel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811734",
+            "id": "BE.NMBS.008811734",
+            "name": "Basse-Wavre",
+            "locationX": "4.621651",
+            "locationY": "50.72442",
+            "standardname": "Basse-Wavre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008865128",
+            "id": "BE.NMBS.008865128",
+            "name": "Bastogne-Nord",
+            "locationX": "5.720744",
+            "locationY": "50.006919",
+            "standardname": "Bastogne-Nord"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008865110",
+            "id": "BE.NMBS.008865110",
+            "name": "Bastogne-Sud",
+            "locationX": "5.709858",
+            "locationY": "49.999737",
+            "standardname": "Bastogne-Sud"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863867",
+            "id": "BE.NMBS.008863867",
+            "name": "Beauraing",
+            "locationX": "4.95684",
+            "locationY": "50.11443",
+            "standardname": "Beauraing"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891124",
+            "id": "BE.NMBS.008891124",
+            "name": "Beernem",
+            "locationX": "3.329892",
+            "locationY": "51.128009",
+            "standardname": "Beernem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814423",
+            "id": "BE.NMBS.008814423",
+            "name": "Beersel",
+            "locationX": "4.302605",
+            "locationY": "50.766616",
+            "standardname": "Beersel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894151",
+            "id": "BE.NMBS.008894151",
+            "name": "Beervelde",
+            "locationX": "3.879384",
+            "locationY": "51.08753",
+            "standardname": "Beervelde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821865",
+            "id": "BE.NMBS.008821865",
+            "name": "Begijnendijk",
+            "locationX": "4.800338",
+            "locationY": "51.021972",
+            "standardname": "Begijnendijk"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871183",
+            "id": "BE.NMBS.008871183",
+            "name": "Beignée",
+            "locationX": "4.406305",
+            "locationY": "50.333893",
+            "standardname": "Beignée"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891157",
+            "id": "BE.NMBS.008891157",
+            "name": "Bellem",
+            "locationX": "3.487374",
+            "locationY": "51.083908",
+            "standardname": "Bellem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894433",
+            "id": "BE.NMBS.008894433",
+            "name": "Belsele",
+            "locationX": "4.088608",
+            "locationY": "51.150994",
+            "standardname": "Belsele"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832235",
+            "id": "BE.NMBS.008832235",
+            "name": "Beringen",
+            "locationX": "5.235892",
+            "locationY": "51.050603",
+            "standardname": "Beringen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821816",
+            "id": "BE.NMBS.008821816",
+            "name": "Berlaar",
+            "locationX": "4.638811",
+            "locationY": "51.113662",
+            "standardname": "Berlaar"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008065969",
+            "id": "BE.NMBS.008065969",
+            "name": "Berlin Hbf",
+            "locationX": "13.369548",
+            "locationY": "52.525589",
+            "standardname": "Berlin Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008032318",
+            "id": "BE.NMBS.008032318",
+            "name": "Berlin Lichtenberg",
+            "locationX": "13.4965",
+            "locationY": "52.5097",
+            "standardname": "Berlin Lichtenberg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008007817",
+            "id": "BE.NMBS.008007817",
+            "name": "Berlin Ostbahnhof",
+            "locationX": "13.45",
+            "locationY": "52.51667",
+            "standardname": "Berlin Ostbahnhof"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200510",
+            "id": "BE.NMBS.008200510",
+            "name": "Bertrange Strassen",
+            "locationX": "6.060601",
+            "locationY": "49.613002",
+            "standardname": "Bertrange Strassen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008865300",
+            "id": "BE.NMBS.008865300",
+            "name": "Bertrix",
+            "locationX": "5.267193",
+            "locationY": "49.852835",
+            "standardname": "Bertrix"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008873320",
+            "id": "BE.NMBS.008873320",
+            "name": "Berzée",
+            "locationX": "4.405909",
+            "locationY": "50.285603",
+            "standardname": "Berzée"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861424",
+            "id": "BE.NMBS.008861424",
+            "name": "Beuzet",
+            "locationX": "4.748533",
+            "locationY": "50.534208",
+            "standardname": "Beuzet"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894748",
+            "id": "BE.NMBS.008894748",
+            "name": "Beveren",
+            "locationX": "4.25952",
+            "locationY": "51.208336",
+            "standardname": "Beveren"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832227",
+            "id": "BE.NMBS.008832227",
+            "name": "Beverlo",
+            "locationX": "5.234373",
+            "locationY": "51.087719",
+            "standardname": "Beverlo"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811718",
+            "id": "BE.NMBS.008811718",
+            "name": "Bierges-Walibi",
+            "locationX": "4.594746",
+            "locationY": "50.707772",
+            "standardname": "Bierges-Walibi"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841319",
+            "id": "BE.NMBS.008841319",
+            "name": "Bierset-Awans",
+            "locationX": "5.460551",
+            "locationY": "50.65861",
+            "standardname": "Bierset-Awans"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008831138",
+            "id": "BE.NMBS.008831138",
+            "name": "Bilzen",
+            "locationX": "5.50938",
+            "locationY": "50.868643",
+            "standardname": "Bilzen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008882362",
+            "id": "BE.NMBS.008882362",
+            "name": "Binche",
+            "locationX": "4.172451",
+            "locationY": "50.408764",
+            "standardname": "Binche"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896388",
+            "id": "BE.NMBS.008896388",
+            "name": "Bissegem",
+            "locationX": "3.224205",
+            "locationY": "50.825845",
+            "standardname": "Bissegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008889045",
+            "id": "BE.NMBS.008889045",
+            "name": "Blandain-Frontiere",
+            "locationX": "3.26373",
+            "locationY": "50.61749",
+            "standardname": "Blandain-Frontiere"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891405",
+            "id": "BE.NMBS.008891405",
+            "name": "Blankenberge",
+            "locationX": "3.133864",
+            "locationY": "51.312432",
+            "standardname": "Blankenberge"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861531",
+            "id": "BE.NMBS.008861531",
+            "name": "Blanmont",
+            "locationX": "4.636393",
+            "locationY": "50.619453",
+            "standardname": "Blanmont"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884715",
+            "id": "BE.NMBS.008884715",
+            "name": "Blaton",
+            "locationX": "3.666304",
+            "locationY": "50.505461",
+            "standardname": "Blaton"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841434",
+            "id": "BE.NMBS.008841434",
+            "name": "Bleret",
+            "locationX": "5.286394",
+            "locationY": "50.685065",
+            "standardname": "Bleret"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812021",
+            "id": "BE.NMBS.008812021",
+            "name": "Bockstael",
+            "locationX": "4.348513",
+            "locationY": "50.87943",
+            "standardname": "Bockstael"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821634",
+            "id": "BE.NMBS.008821634",
+            "name": "Boechout",
+            "locationX": "4.494489",
+            "locationY": "51.16348",
+            "standardname": "Boechout"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008831781",
+            "id": "BE.NMBS.008831781",
+            "name": "Bokrijk",
+            "locationX": "5.408386",
+            "locationY": "50.955812",
+            "standardname": "Bokrijk"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864469",
+            "id": "BE.NMBS.008864469",
+            "name": "Bomal",
+            "locationX": "5.519304",
+            "locationY": "50.376798",
+            "standardname": "Bomal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008015577",
+            "id": "BE.NMBS.008015577",
+            "name": "Bonn-Beuel (DE)",
+            "locationX": "7.1276",
+            "locationY": "50.7385",
+            "standardname": "Bonn-Beuel (DE)"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821857",
+            "id": "BE.NMBS.008821857",
+            "name": "Booischot",
+            "locationX": "4.773478",
+            "locationY": "51.037344",
+            "standardname": "Booischot"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822814",
+            "id": "BE.NMBS.008822814",
+            "name": "Boom",
+            "locationX": "4.360694",
+            "locationY": "51.090713",
+            "standardname": "Boom"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814456",
+            "id": "BE.NMBS.008814456",
+            "name": "Boondaal/Boondael",
+            "locationX": "4.393387",
+            "locationY": "50.801665",
+            "standardname": "Boondaal/Boondael"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822475",
+            "id": "BE.NMBS.008822475",
+            "name": "Boortmeerbeek",
+            "locationX": "4.5739",
+            "locationY": "50.981853",
+            "standardname": "Boortmeerbeek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008758100",
+            "id": "BE.NMBS.008758100",
+            "name": "Bordeaux Saint Jean",
+            "locationX": "-0.5557068",
+            "locationY": "44.8256102",
+            "standardname": "Bordeaux Saint Jean"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811163",
+            "id": "BE.NMBS.008811163",
+            "name": "Bordet",
+            "locationX": "4.410026",
+            "locationY": "50.877785",
+            "standardname": "Bordet"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822772",
+            "id": "BE.NMBS.008822772",
+            "name": "Bornem",
+            "locationX": "4.240526",
+            "locationY": "51.099225",
+            "standardname": "Bornem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811437",
+            "id": "BE.NMBS.008811437",
+            "name": "Bosvoorde/Boitsfort",
+            "locationX": "4.408112",
+            "locationY": "50.794698",
+            "standardname": "Bosvoorde/Boitsfort"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008774179",
+            "id": "BE.NMBS.008774179",
+            "name": "Bourg-Saint-Maurice",
+            "locationX": "6.771664",
+            "locationY": "45.618826",
+            "standardname": "Bourg-Saint-Maurice"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884319",
+            "id": "BE.NMBS.008884319",
+            "name": "Boussu",
+            "locationX": "3.797025",
+            "locationY": "50.436388",
+            "standardname": "Boussu"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821725",
+            "id": "BE.NMBS.008821725",
+            "name": "Bouwel",
+            "locationX": "4.746511",
+            "locationY": "51.165764",
+            "standardname": "Bouwel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881463",
+            "id": "BE.NMBS.008881463",
+            "name": "Bracquegnies",
+            "locationX": "4.126345",
+            "locationY": "50.474457",
+            "standardname": "Bracquegnies"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814258",
+            "id": "BE.NMBS.008814258",
+            "name": "Braine-l'Alleud",
+            "locationX": "4.375526",
+            "locationY": "50.684778",
+            "standardname": "Braine-l'Alleud"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008883006",
+            "id": "BE.NMBS.008883006",
+            "name": "Braine-le-Comte",
+            "locationX": "4.137662",
+            "locationY": "50.605079",
+            "standardname": "Braine-le-Comte"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400131",
+            "id": "BE.NMBS.008400131",
+            "name": "Breda",
+            "locationX": "4.7764",
+            "locationY": "51.594459",
+            "standardname": "Breda"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843901",
+            "id": "BE.NMBS.008843901",
+            "name": "Bressoux",
+            "locationX": "5.611057",
+            "locationY": "50.643967",
+            "standardname": "Bressoux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886066",
+            "id": "BE.NMBS.008886066",
+            "name": "Brugelette",
+            "locationX": "3.852551",
+            "locationY": "50.594229",
+            "standardname": "Brugelette"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891009",
+            "id": "BE.NMBS.008891009",
+            "name": "Bruges",
+            "locationX": "3.216726",
+            "locationY": "51.197226",
+            "standardname": "Brugge"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891033",
+            "id": "BE.NMBS.008891033",
+            "name": "Brugge-Sint-Pieters",
+            "locationX": "3.201795",
+            "locationY": "51.223115",
+            "standardname": "Brugge-Sint-Pieters"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008819406",
+            "id": "BE.NMBS.008819406",
+            "name": "Brussels Airport - Zaventem",
+            "locationX": "4.482076",
+            "locationY": "50.896456",
+            "standardname": "Brussels Airport - Zaventem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008813003",
+            "id": "BE.NMBS.008813003",
+            "name": "Brussels-Central",
+            "locationX": "4.356801",
+            "locationY": "50.845658",
+            "standardname": "Brussel-Centraal/Bruxelles-Central"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008813037",
+            "id": "BE.NMBS.008813037",
+            "name": "Brussels-Chapelle/Brussels-Kapellekerk",
+            "locationX": "4.347866",
+            "locationY": "50.841127",
+            "standardname": "Brussel-Kapellekerk/Bruxelles-Chapelle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008813045",
+            "id": "BE.NMBS.008813045",
+            "name": "Brussels-Congres",
+            "locationX": "4.362051",
+            "locationY": "50.852067",
+            "standardname": "Brussel-Congres/Bruxelles-Congrès"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811304",
+            "id": "BE.NMBS.008811304",
+            "name": "Brussels-Luxemburg/Brussels-Luxembourg",
+            "locationX": "4.373674",
+            "locationY": "50.838943",
+            "standardname": "Brussel-Luxemburg/Bruxelles-Luxembourg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812005",
+            "id": "BE.NMBS.008812005",
+            "name": "Brussels-North",
+            "locationX": "4.360846",
+            "locationY": "50.859663",
+            "standardname": "Brussel-Noord/Bruxelles-Nord"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811916",
+            "id": "BE.NMBS.008811916",
+            "name": "Brussels-Schuman",
+            "locationX": "4.380722",
+            "locationY": "50.843276",
+            "standardname": "Brussel-Schuman/Bruxelles-Schuman"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814001",
+            "id": "BE.NMBS.008814001",
+            "name": "Brussels-South/Brussels-Midi",
+            "locationX": "4.336531",
+            "locationY": "50.835707",
+            "standardname": "Brussel-Zuid/Bruxelles-Midi"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008815040",
+            "id": "BE.NMBS.008815040",
+            "name": "Brussels-West",
+            "locationX": "4.321042",
+            "locationY": "50.848552",
+            "standardname": "Brussel-West/Bruxelles-Ouest"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811148",
+            "id": "BE.NMBS.008811148",
+            "name": "Buda",
+            "locationX": "4.417074",
+            "locationY": "50.907495",
+            "standardname": "Buda"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822145",
+            "id": "BE.NMBS.008822145",
+            "name": "Buggenhout",
+            "locationX": "4.201666",
+            "locationY": "51.016291",
+            "standardname": "Buggenhout"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814340",
+            "id": "BE.NMBS.008814340",
+            "name": "Buizingen",
+            "locationX": "4.258558",
+            "locationY": "50.751577",
+            "standardname": "Buizingen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895455",
+            "id": "BE.NMBS.008895455",
+            "name": "Burst",
+            "locationX": "3.922416",
+            "locationY": "50.907198",
+            "standardname": "Burst"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008778100",
+            "id": "BE.NMBS.008778100",
+            "name": "Béziers",
+            "locationX": "3.218794",
+            "locationY": "43.336177",
+            "standardname": "Béziers"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884889",
+            "id": "BE.NMBS.008884889",
+            "name": "Callenelle",
+            "locationX": "3.52618",
+            "locationY": "50.527359",
+            "standardname": "Callenelle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886074",
+            "id": "BE.NMBS.008886074",
+            "name": "Cambron-Casteau",
+            "locationX": "3.874809",
+            "locationY": "50.586759",
+            "standardname": "Cambron-Casteau"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008775762",
+            "id": "BE.NMBS.008775762",
+            "name": "Cannes",
+            "locationX": "7.019895",
+            "locationY": "43.553742",
+            "standardname": "Cannes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200518",
+            "id": "BE.NMBS.008200518",
+            "name": "Capellen",
+            "locationX": "5.990833",
+            "locationY": "49.645",
+            "standardname": "Capellen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008865565",
+            "id": "BE.NMBS.008865565",
+            "name": "Carlsbourg",
+            "locationX": "5.092784",
+            "locationY": "49.905458",
+            "standardname": "Carlsbourg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008882248",
+            "id": "BE.NMBS.008882248",
+            "name": "Carnieres",
+            "locationX": "4.263826",
+            "locationY": "50.447957",
+            "standardname": "Carnieres"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811817",
+            "id": "BE.NMBS.008811817",
+            "name": "Ceroux-Mousty",
+            "locationX": "4.569046",
+            "locationY": "50.659941",
+            "standardname": "Ceroux-Mousty"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008774100",
+            "id": "BE.NMBS.008774100",
+            "name": "Chambéry-Challes-les-Eaux",
+            "locationX": "5.919756",
+            "locationY": "45.571498",
+            "standardname": "Chambéry-Challes-les-Eaux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861317",
+            "id": "BE.NMBS.008861317",
+            "name": "Chapelle-Dieu",
+            "locationX": "4.697627",
+            "locationY": "50.557374",
+            "standardname": "Chapelle-Dieu"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864824",
+            "id": "BE.NMBS.008864824",
+            "name": "Chapois",
+            "locationX": "5.124255",
+            "locationY": "50.262366",
+            "standardname": "Chapois"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008872009",
+            "id": "BE.NMBS.008872009",
+            "name": "Charleroi-Central",
+            "locationX": "4.438567",
+            "locationY": "50.40471",
+            "standardname": "Charleroi-Central"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008872066",
+            "id": "BE.NMBS.008872066",
+            "name": "Charleroi-Ouest",
+            "locationX": "4.436653",
+            "locationY": "50.410948",
+            "standardname": "Charleroi-Ouest"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861523",
+            "id": "BE.NMBS.008861523",
+            "name": "Chastre",
+            "locationX": "4.648888",
+            "locationY": "50.608819",
+            "standardname": "Chastre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842051",
+            "id": "BE.NMBS.008842051",
+            "name": "Chaudfontaine",
+            "locationX": "5.643734",
+            "locationY": "50.586982",
+            "standardname": "Chaudfontaine"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863438",
+            "id": "BE.NMBS.008863438",
+            "name": "Château-de-Seilles",
+            "locationX": "5.081745",
+            "locationY": "50.497209",
+            "standardname": "Château-de-Seilles"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008874005",
+            "id": "BE.NMBS.008874005",
+            "name": "Châtelet",
+            "locationX": "4.521861",
+            "locationY": "50.410103",
+            "standardname": "Châtelet"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842036",
+            "id": "BE.NMBS.008842036",
+            "name": "Chênée",
+            "locationX": "5.616073",
+            "locationY": "50.608019",
+            "standardname": "Chênée"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864501",
+            "id": "BE.NMBS.008864501",
+            "name": "Ciney",
+            "locationX": "5.091409",
+            "locationY": "50.29105",
+            "standardname": "Ciney"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200134",
+            "id": "BE.NMBS.008200134",
+            "name": "Clervaux",
+            "locationX": "6.031393",
+            "locationY": "50.054724",
+            "standardname": "Clervaux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008718201",
+            "id": "BE.NMBS.008718201",
+            "name": "Colmar",
+            "locationX": "7.366668",
+            "locationY": "48.083335",
+            "standardname": "Colmar"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842838",
+            "id": "BE.NMBS.008842838",
+            "name": "Comblain-la-Tour",
+            "locationX": "5.566956",
+            "locationY": "50.456865",
+            "standardname": "Comblain-la-Tour"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008845229",
+            "id": "BE.NMBS.008845229",
+            "name": "Coo",
+            "locationX": "5.880473",
+            "locationY": "50.391127",
+            "standardname": "Coo"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008874054",
+            "id": "BE.NMBS.008874054",
+            "name": "Couillet",
+            "locationX": "4.46851",
+            "locationY": "50.392718",
+            "standardname": "Couillet"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008873379",
+            "id": "BE.NMBS.008873379",
+            "name": "Cour-sur-Heure",
+            "locationX": "4.391491",
+            "locationY": "50.300138",
+            "standardname": "Cour-sur-Heure"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871225",
+            "id": "BE.NMBS.008871225",
+            "name": "Courcelles-Motte",
+            "locationX": "4.400534",
+            "locationY": "50.462007",
+            "standardname": "Courcelles-Motte"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864949",
+            "id": "BE.NMBS.008864949",
+            "name": "Courrière",
+            "locationX": "4.996051",
+            "locationY": "50.387442",
+            "standardname": "Courrière"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811825",
+            "id": "BE.NMBS.008811825",
+            "name": "Court-Saint-Étienne",
+            "locationX": "4.565819",
+            "locationY": "50.645567",
+            "standardname": "Court-Saint-Étienne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008875127",
+            "id": "BE.NMBS.008875127",
+            "name": "Couvin",
+            "locationX": "4.491702",
+            "locationY": "50.056324",
+            "standardname": "Couvin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008701687",
+            "id": "BE.NMBS.008701687",
+            "name": "Creil",
+            "locationX": "2.469167",
+            "locationY": "49.263889",
+            "standardname": "Creil"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728671",
+            "id": "BE.NMBS.008728671",
+            "name": "Croix Wasquehal",
+            "locationX": "3.15",
+            "locationY": "50.666667",
+            "standardname": "Croix Wasquehal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728105",
+            "id": "BE.NMBS.008728105",
+            "name": "Croix l'Allumette",
+            "locationX": "3.150797",
+            "locationY": "50.68668",
+            "standardname": "Croix l'Allumette"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863362",
+            "id": "BE.NMBS.008863362",
+            "name": "Dave-Saint-Martin",
+            "locationX": "4.884414",
+            "locationY": "50.429098",
+            "standardname": "Dave-Saint-Martin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814175",
+            "id": "BE.NMBS.008814175",
+            "name": "De Hoek",
+            "locationX": "4.370717",
+            "locationY": "50.738812",
+            "standardname": "De Hoek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892338",
+            "id": "BE.NMBS.008892338",
+            "name": "De Panne",
+            "locationX": "2.601963",
+            "locationY": "51.0774",
+            "standardname": "De Panne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892080",
+            "id": "BE.NMBS.008892080",
+            "name": "De Pinte",
+            "locationX": "3.650465",
+            "locationY": "50.997063",
+            "standardname": "De Pinte"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892106",
+            "id": "BE.NMBS.008892106",
+            "name": "Deinze",
+            "locationX": "3.534432",
+            "locationY": "50.978258",
+            "standardname": "Deinze"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811205",
+            "id": "BE.NMBS.008811205",
+            "name": "Delta",
+            "locationX": "4.403869",
+            "locationY": "50.818357",
+            "standardname": "Delta"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400280",
+            "id": "BE.NMBS.008400280",
+            "name": "Den Haag HS",
+            "locationX": "4.299999",
+            "locationY": "52.083329",
+            "standardname": "Den Haag HS"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895802",
+            "id": "BE.NMBS.008895802",
+            "name": "Denderleeuw",
+            "locationX": "4.071825",
+            "locationY": "50.891925",
+            "standardname": "Denderleeuw"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893401",
+            "id": "BE.NMBS.008893401",
+            "name": "Dendermonde",
+            "locationX": "4.101427",
+            "locationY": "51.022781",
+            "standardname": "Dendermonde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811213",
+            "id": "BE.NMBS.008811213",
+            "name": "Diegem",
+            "locationX": "4.442774",
+            "locationY": "50.890478",
+            "standardname": "Diegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008831112",
+            "id": "BE.NMBS.008831112",
+            "name": "Diepenbeek",
+            "locationX": "5.419947",
+            "locationY": "50.910452",
+            "standardname": "Diepenbeek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814464",
+            "id": "BE.NMBS.008814464",
+            "name": "Diesdelle/Vivier d'Oie",
+            "locationX": "4.374052",
+            "locationY": "50.796145",
+            "standardname": "Diesdelle/Vivier d'Oie"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008831401",
+            "id": "BE.NMBS.008831401",
+            "name": "Diest",
+            "locationX": "5.050031",
+            "locationY": "50.993341",
+            "standardname": "Diest"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892452",
+            "id": "BE.NMBS.008892452",
+            "name": "Diksmuide",
+            "locationX": "2.868943",
+            "locationY": "51.032723",
+            "standardname": "Diksmuide"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812237",
+            "id": "BE.NMBS.008812237",
+            "name": "Dilbeek",
+            "locationX": "4.243393",
+            "locationY": "50.866728",
+            "standardname": "Dilbeek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863503",
+            "id": "BE.NMBS.008863503",
+            "name": "Dinant",
+            "locationX": "4.908182",
+            "locationY": "50.260721",
+            "standardname": "Dinant"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200714",
+            "id": "BE.NMBS.008200714",
+            "name": "Dippach-Reckange",
+            "locationX": "5.995267",
+            "locationY": "49.57256",
+            "standardname": "Dippach-Reckange"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844545",
+            "id": "BE.NMBS.008844545",
+            "name": "Dolhain-Gileppe",
+            "locationX": "5.936494",
+            "locationY": "50.616244",
+            "standardname": "Dolhain-Gileppe"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200101",
+            "id": "BE.NMBS.008200101",
+            "name": "Dommeldange",
+            "locationX": "6.13668",
+            "locationY": "49.633838",
+            "standardname": "Dommeldange"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400180",
+            "id": "BE.NMBS.008400180",
+            "name": "Dordrecht",
+            "locationX": "4.666668",
+            "locationY": "51.799998",
+            "standardname": "Dordrecht"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008010053",
+            "id": "BE.NMBS.008010053",
+            "name": "Dortmund Hbf",
+            "locationX": "7.459293",
+            "locationY": "51.517898",
+            "standardname": "Dortmund Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200133",
+            "id": "BE.NMBS.008200133",
+            "name": "Drauffelt",
+            "locationX": "6.006106",
+            "locationY": "50.017778",
+            "standardname": "Drauffelt"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892031",
+            "id": "BE.NMBS.008892031",
+            "name": "Drongen",
+            "locationX": "3.655202",
+            "locationY": "51.047295",
+            "standardname": "Drongen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008015653",
+            "id": "BE.NMBS.008015653",
+            "name": "Duesseldorf Flughafen (DE)",
+            "locationX": "6.767052",
+            "locationY": "51.27656",
+            "standardname": "Duesseldorf Flughafen (DE)"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822210",
+            "id": "BE.NMBS.008822210",
+            "name": "Duffel",
+            "locationX": "4.493186",
+            "locationY": "51.091243",
+            "standardname": "Duffel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891652",
+            "id": "BE.NMBS.008891652",
+            "name": "Duinbergen",
+            "locationX": "3.263587",
+            "locationY": "51.338195",
+            "standardname": "Duinbergen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008010316",
+            "id": "BE.NMBS.008010316",
+            "name": "Duisburg Hbf",
+            "locationX": "6.7759037",
+            "locationY": "51.42978",
+            "standardname": "Duisburg Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008008094",
+            "id": "BE.NMBS.008008094",
+            "name": "Dusseldorf Hbf",
+            "locationX": "6.795297",
+            "locationY": "51.219178",
+            "standardname": "Duesseldorf Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008039904",
+            "id": "BE.NMBS.008039904",
+            "name": "Düsseldorf Flughafen Hbf",
+            "locationX": "6.786837",
+            "locationY": "51.292008",
+            "standardname": "Düsseldorf Flughafen Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/007015440",
+            "id": "BE.NMBS.007015440",
+            "name": "Ebbsfleet International",
+            "locationX": "0.275775",
+            "locationY": "51.45117",
+            "standardname": "Ebbsfleet International"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895877",
+            "id": "BE.NMBS.008895877",
+            "name": "Ede",
+            "locationX": "3.987524",
+            "locationY": "50.911054",
+            "standardname": "Ede"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008883311",
+            "id": "BE.NMBS.008883311",
+            "name": "Edingen/Enghien",
+            "locationX": "4.047357",
+            "locationY": "50.697273",
+            "standardname": "Enghien"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893708",
+            "id": "BE.NMBS.008893708",
+            "name": "Eeklo",
+            "locationX": "3.574515",
+            "locationY": "51.181333",
+            "standardname": "Eeklo"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895752",
+            "id": "BE.NMBS.008895752",
+            "name": "Eichem",
+            "locationX": "3.993745",
+            "locationY": "50.823994",
+            "standardname": "Eichem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400219",
+            "id": "BE.NMBS.008400219",
+            "name": "Eijsden",
+            "locationX": "5.709786",
+            "locationY": "50.772135",
+            "standardname": "Eijsden"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892627",
+            "id": "BE.NMBS.008892627",
+            "name": "Eine",
+            "locationX": "3.623776",
+            "locationY": "50.870432",
+            "standardname": "Eine"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892650",
+            "id": "BE.NMBS.008892650",
+            "name": "Eke-Nazareth",
+            "locationX": "3.627839",
+            "locationY": "50.960774",
+            "standardname": "Eke-Nazareth"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821071",
+            "id": "BE.NMBS.008821071",
+            "name": "Ekeren",
+            "locationX": "4.434154",
+            "locationY": "51.281626",
+            "standardname": "Ekeren"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843240",
+            "id": "BE.NMBS.008843240",
+            "name": "Engis",
+            "locationX": "5.401986",
+            "locationY": "50.582957",
+            "standardname": "Engis"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822269",
+            "id": "BE.NMBS.008822269",
+            "name": "Eppegem",
+            "locationX": "4.45749",
+            "locationY": "50.9584",
+            "standardname": "Eppegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881158",
+            "id": "BE.NMBS.008881158",
+            "name": "Erbisoeul",
+            "locationX": "3.887987",
+            "locationY": "50.507025",
+            "standardname": "Erbisœul"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895091",
+            "id": "BE.NMBS.008895091",
+            "name": "Erembodegem",
+            "locationX": "4.055447",
+            "locationY": "50.919621",
+            "standardname": "Erembodegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861515",
+            "id": "BE.NMBS.008861515",
+            "name": "Ernage",
+            "locationX": "4.668538",
+            "locationY": "50.590823",
+            "standardname": "Ernage"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895471",
+            "id": "BE.NMBS.008895471",
+            "name": "Erpe-Mere",
+            "locationX": "3.962463",
+            "locationY": "50.928601",
+            "standardname": "Erpe-Mere"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811262",
+            "id": "BE.NMBS.008811262",
+            "name": "Erps-Kwerps",
+            "locationX": "4.585001",
+            "locationY": "50.89651",
+            "standardname": "Erps-Kwerps"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871605",
+            "id": "BE.NMBS.008871605",
+            "name": "Erquelinnes",
+            "locationX": "4.113562",
+            "locationY": "50.304192",
+            "standardname": "Erquelinnes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008879004",
+            "id": "BE.NMBS.008879004",
+            "name": "Erquelinnes-Frontière",
+            "locationX": "4.107929",
+            "locationY": "50.30233",
+            "standardname": "Erquelinnes-Frontière"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871647",
+            "id": "BE.NMBS.008871647",
+            "name": "Erquelinnes-Village",
+            "locationX": "4.132314",
+            "locationY": "50.310179",
+            "standardname": "Erquelinnes-Village"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842663",
+            "id": "BE.NMBS.008842663",
+            "name": "Esneux",
+            "locationX": "5.572565",
+            "locationY": "50.530568",
+            "standardname": "Esneux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821402",
+            "id": "BE.NMBS.008821402",
+            "name": "Essen",
+            "locationX": "4.451314",
+            "locationY": "51.462767",
+            "standardname": "Essen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008010184",
+            "id": "BE.NMBS.008010184",
+            "name": "Essen Hbf",
+            "locationX": "6.776118",
+            "locationY": "51.42952",
+            "standardname": "Essen Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008829009",
+            "id": "BE.NMBS.008829009",
+            "name": "Essen-Grens",
+            "locationX": "4.44893",
+            "locationY": "51.46909",
+            "standardname": "Essen-Grens"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812260",
+            "id": "BE.NMBS.008812260",
+            "name": "Essene-Lombeek",
+            "locationX": "4.115171",
+            "locationY": "50.882451",
+            "standardname": "Essene-Lombeek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200120",
+            "id": "BE.NMBS.008200120",
+            "name": "Ettelbréck",
+            "locationX": "6.104169",
+            "locationY": "49.847496",
+            "standardname": "Ettelbréck"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811411",
+            "id": "BE.NMBS.008811411",
+            "name": "Etterbeek",
+            "locationX": "4.389513",
+            "locationY": "50.822187",
+            "standardname": "Etterbeek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844628",
+            "id": "BE.NMBS.008844628",
+            "name": "Eupen",
+            "locationX": "6.03711",
+            "locationY": "50.635157",
+            "standardname": "Eupen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811106",
+            "id": "BE.NMBS.008811106",
+            "name": "Evere",
+            "locationX": "4.400965",
+            "locationY": "50.86778",
+            "standardname": "Evere"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893252",
+            "id": "BE.NMBS.008893252",
+            "name": "Evergem",
+            "locationX": "3.70138",
+            "locationY": "51.107585",
+            "standardname": "Evergem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400234",
+            "id": "BE.NMBS.008400234",
+            "name": "Eygelshoven markt",
+            "locationX": "6.057451",
+            "locationY": "50.89607",
+            "standardname": "Eygelshoven markt"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833449",
+            "id": "BE.NMBS.008833449",
+            "name": "Ezemaal",
+            "locationX": "4.994217",
+            "locationY": "50.772126",
+            "standardname": "Ezemaal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008883238",
+            "id": "BE.NMBS.008883238",
+            "name": "Familleureux",
+            "locationX": "4.211581",
+            "locationY": "50.519358",
+            "standardname": "Familleureux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008874567",
+            "id": "BE.NMBS.008874567",
+            "name": "Farciennes",
+            "locationX": "4.55265",
+            "locationY": "50.429148",
+            "standardname": "Farciennes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008872611",
+            "id": "BE.NMBS.008872611",
+            "name": "Faux",
+            "locationX": "4.54926",
+            "locationY": "50.621826",
+            "standardname": "Faux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841467",
+            "id": "BE.NMBS.008841467",
+            "name": "Fexhe-le-Haut-Clocher",
+            "locationX": "5.398453",
+            "locationY": "50.664049",
+            "standardname": "Fexhe-le-Haut-Clocher"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861127",
+            "id": "BE.NMBS.008861127",
+            "name": "Flawinne",
+            "locationX": "4.806298",
+            "locationY": "50.456236",
+            "standardname": "Flawinne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843166",
+            "id": "BE.NMBS.008843166",
+            "name": "Flemalle-Grande",
+            "locationX": "5.480983",
+            "locationY": "50.605349",
+            "standardname": "Flemalle-Grande"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843208",
+            "id": "BE.NMBS.008843208",
+            "name": "Flemalle-Haute",
+            "locationX": "5.457656",
+            "locationY": "50.595308",
+            "standardname": "Flemalle-Haute"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008872413",
+            "id": "BE.NMBS.008872413",
+            "name": "Fleurus",
+            "locationX": "4.543741",
+            "locationY": "50.481927",
+            "standardname": "Fleurus"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861135",
+            "id": "BE.NMBS.008861135",
+            "name": "Floreffe",
+            "locationX": "4.762368",
+            "locationY": "50.443328",
+            "standardname": "Floreffe"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866845",
+            "id": "BE.NMBS.008866845",
+            "name": "Florenville",
+            "locationX": "5.331115",
+            "locationY": "49.706967",
+            "standardname": "Florenville"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811767",
+            "id": "BE.NMBS.008811767",
+            "name": "Florival",
+            "locationX": "4.653868",
+            "locationY": "50.761501",
+            "standardname": "Florival"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864923",
+            "id": "BE.NMBS.008864923",
+            "name": "Florée",
+            "locationX": "5.056099",
+            "locationY": "50.357786",
+            "standardname": "Florée"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871688",
+            "id": "BE.NMBS.008871688",
+            "name": "Fontaine-Valmont",
+            "locationX": "4.212785",
+            "locationY": "50.321164",
+            "standardname": "Fontaine-Valmont"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871514",
+            "id": "BE.NMBS.008871514",
+            "name": "Forchies",
+            "locationX": "4.325384",
+            "locationY": "50.433314",
+            "standardname": "Forchies"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864311",
+            "id": "BE.NMBS.008864311",
+            "name": "Forrières",
+            "locationX": "5.276784",
+            "locationY": "50.132759",
+            "standardname": "Forrières"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844255",
+            "id": "BE.NMBS.008844255",
+            "name": "Fraipont",
+            "locationX": "5.723665",
+            "locationY": "50.565059",
+            "standardname": "Fraipont"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881570",
+            "id": "BE.NMBS.008881570",
+            "name": "Frameries",
+            "locationX": "3.906586",
+            "locationY": "50.405932",
+            "standardname": "Frameries"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844347",
+            "id": "BE.NMBS.008844347",
+            "name": "Franchimont",
+            "locationX": "5.822223",
+            "locationY": "50.525723",
+            "standardname": "Franchimont"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861143",
+            "id": "BE.NMBS.008861143",
+            "name": "Franière",
+            "locationX": "4.733548",
+            "locationY": "50.439543",
+            "standardname": "Franière"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008061676",
+            "id": "BE.NMBS.008061676",
+            "name": "Frankfurt am Main Flughafen Fernbf",
+            "locationX": "8.663611",
+            "locationY": "50.13083",
+            "standardname": "Frankfurt am Main Flughafen Fernbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008011090",
+            "id": "BE.NMBS.008011090",
+            "name": "Frankfurt am Main Flughafen Reginalbf",
+            "locationX": "8.569853",
+            "locationY": "50.051696",
+            "standardname": "Frankfurt am Main Flughafen Reginalbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008011068",
+            "id": "BE.NMBS.008011068",
+            "name": "Frankfurt am Main Hbf",
+            "locationX": "8.6653708",
+            "locationY": "50.1071318",
+            "standardname": "Frankfurt am Main Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008885068",
+            "id": "BE.NMBS.008885068",
+            "name": "Froyennes",
+            "locationX": "3.354837",
+            "locationY": "50.62989",
+            "standardname": "Froyennes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895620",
+            "id": "BE.NMBS.008895620",
+            "name": "Galmaarden",
+            "locationX": "3.965726",
+            "locationY": "50.743918",
+            "standardname": "Galmaarden"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811742",
+            "id": "BE.NMBS.008811742",
+            "name": "Gastuche",
+            "locationX": "4.649598",
+            "locationY": "50.736646",
+            "standardname": "Gastuche"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892643",
+            "id": "BE.NMBS.008892643",
+            "name": "Gavere-Asper",
+            "locationX": "3.639732",
+            "locationY": "50.930021",
+            "standardname": "Gavere-Asper"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008865649",
+            "id": "BE.NMBS.008865649",
+            "name": "Gedinne",
+            "locationX": "4.978073",
+            "locationY": "49.984123",
+            "standardname": "Gedinne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832433",
+            "id": "BE.NMBS.008832433",
+            "name": "Geel",
+            "locationX": "4.988608",
+            "locationY": "51.168955",
+            "standardname": "Geel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861200",
+            "id": "BE.NMBS.008861200",
+            "name": "Gembloux",
+            "locationX": "4.691497",
+            "locationY": "50.570489",
+            "standardname": "Gembloux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863834",
+            "id": "BE.NMBS.008863834",
+            "name": "Gendron-Celles",
+            "locationX": "4.964607",
+            "locationY": "50.211235",
+            "standardname": "Gendron-Celles"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008831765",
+            "id": "BE.NMBS.008831765",
+            "name": "Genk",
+            "locationX": "5.497685",
+            "locationY": "50.967057",
+            "standardname": "Genk"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881562",
+            "id": "BE.NMBS.008881562",
+            "name": "Genly",
+            "locationX": "3.911638",
+            "locationY": "50.390642",
+            "standardname": "Genly"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893179",
+            "id": "BE.NMBS.008893179",
+            "name": "Gentbrugge",
+            "locationX": "3.756322",
+            "locationY": "51.038647",
+            "standardname": "Gentbrugge"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811528",
+            "id": "BE.NMBS.008811528",
+            "name": "Genval",
+            "locationX": "4.514832",
+            "locationY": "50.725697",
+            "standardname": "Genval"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895505",
+            "id": "BE.NMBS.008895505",
+            "name": "Geraardsbergen",
+            "locationX": "3.872328",
+            "locationY": "50.771137",
+            "standardname": "Geraardsbergen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893120",
+            "id": "BE.NMBS.008893120",
+            "name": "Ghent-Dampoort",
+            "locationX": "3.740591",
+            "locationY": "51.056365",
+            "standardname": "Gent-Dampoort"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892007",
+            "id": "BE.NMBS.008892007",
+            "name": "Ghent-Sint-Pieters",
+            "locationX": "3.710675",
+            "locationY": "51.035896",
+            "standardname": "Gent-Sint-Pieters"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881125",
+            "id": "BE.NMBS.008881125",
+            "name": "Ghlin",
+            "locationX": "3.906343",
+            "locationY": "50.487411",
+            "standardname": "Ghlin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841731",
+            "id": "BE.NMBS.008841731",
+            "name": "Glons",
+            "locationX": "5.535431",
+            "locationY": "50.750426",
+            "standardname": "Glons"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871381",
+            "id": "BE.NMBS.008871381",
+            "name": "Godarville",
+            "locationX": "4.290308",
+            "locationY": "50.492795",
+            "standardname": "Godarville"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863560",
+            "id": "BE.NMBS.008863560",
+            "name": "Godinne",
+            "locationX": "4.86996",
+            "locationY": "50.348914",
+            "standardname": "Godinne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200129",
+            "id": "BE.NMBS.008200129",
+            "name": "Goebelsmühle",
+            "locationX": "6.053335",
+            "locationY": "49.92104",
+            "standardname": "Goebelsmühle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893047",
+            "id": "BE.NMBS.008893047",
+            "name": "Gontrode",
+            "locationX": "3.801672",
+            "locationY": "50.980199",
+            "standardname": "Gontrode"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008845005",
+            "id": "BE.NMBS.008845005",
+            "name": "Gouvy",
+            "locationX": "5.953906",
+            "locationY": "50.189409",
+            "standardname": "Gouvy"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008849072",
+            "id": "BE.NMBS.008849072",
+            "name": "Gouvy-Frontiere",
+            "locationX": "5.968613",
+            "locationY": "50.171653",
+            "standardname": "Gouvy-Frontiere"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871373",
+            "id": "BE.NMBS.008871373",
+            "name": "Gouy-lez-Pieton",
+            "locationX": "4.325123",
+            "locationY": "50.497065",
+            "standardname": "Gouy-lez-Pieton"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008865615",
+            "id": "BE.NMBS.008865615",
+            "name": "Graide",
+            "locationX": "5.043047",
+            "locationY": "49.934134",
+            "standardname": "Graide"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811445",
+            "id": "BE.NMBS.008811445",
+            "name": "Groenendaal",
+            "locationX": "4.449489",
+            "locationY": "50.766103",
+            "standardname": "Groenendaal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812229",
+            "id": "BE.NMBS.008812229",
+            "name": "Groot-Bijgaarden",
+            "locationX": "4.273543",
+            "locationY": "50.868337",
+            "standardname": "Groot-Bijgaarden"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864337",
+            "id": "BE.NMBS.008864337",
+            "name": "Grupont",
+            "locationX": "5.280524",
+            "locationY": "50.0906",
+            "standardname": "Grupont"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822517",
+            "id": "BE.NMBS.008822517",
+            "name": "Haacht",
+            "locationX": "4.613309",
+            "locationY": "50.966428",
+            "standardname": "Haacht"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895869",
+            "id": "BE.NMBS.008895869",
+            "name": "Haaltert",
+            "locationX": "4.023958",
+            "locationY": "50.906838",
+            "standardname": "Haaltert"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866142",
+            "id": "BE.NMBS.008866142",
+            "name": "Habay",
+            "locationX": "5.632685",
+            "locationY": "49.718249",
+            "standardname": "Habay"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884327",
+            "id": "BE.NMBS.008884327",
+            "name": "Hainin",
+            "locationX": "3.766893",
+            "locationY": "50.428019",
+            "standardname": "Hainin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866530",
+            "id": "BE.NMBS.008866530",
+            "name": "Halanzy",
+            "locationX": "5.741347",
+            "locationY": "49.5562",
+            "standardname": "Halanzy"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814308",
+            "id": "BE.NMBS.008814308",
+            "name": "Halle",
+            "locationX": "4.240634",
+            "locationY": "50.733931",
+            "standardname": "Halle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008873387",
+            "id": "BE.NMBS.008873387",
+            "name": "Ham-sur-Heure",
+            "locationX": "4.404696",
+            "locationY": "50.319555",
+            "standardname": "Ham-sur-Heure"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861168",
+            "id": "BE.NMBS.008861168",
+            "name": "Ham-sur-Sambre",
+            "locationX": "4.669392",
+            "locationY": "50.45255",
+            "standardname": "Ham-sur-Sambre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822533",
+            "id": "BE.NMBS.008822533",
+            "name": "Hambos",
+            "locationX": "4.66301",
+            "locationY": "50.944251",
+            "standardname": "Hambos"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842846",
+            "id": "BE.NMBS.008842846",
+            "name": "Hamoir",
+            "locationX": "5.533561",
+            "locationY": "50.428181",
+            "standardname": "Hamoir"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832664",
+            "id": "BE.NMBS.008832664",
+            "name": "Hamont",
+            "locationX": "5.543279",
+            "locationY": "51.246424",
+            "standardname": "Hamont"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891165",
+            "id": "BE.NMBS.008891165",
+            "name": "Hansbeke",
+            "locationX": "3.536212",
+            "locationY": "51.073202",
+            "standardname": "Hansbeke"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884640",
+            "id": "BE.NMBS.008884640",
+            "name": "Harchies",
+            "locationX": "3.698764",
+            "locationY": "50.482565",
+            "standardname": "Harchies"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896115",
+            "id": "BE.NMBS.008896115",
+            "name": "Harelbeke",
+            "locationX": "3.314008",
+            "locationY": "50.85586",
+            "standardname": "Harelbeke"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811155",
+            "id": "BE.NMBS.008811155",
+            "name": "Haren",
+            "locationX": "4.419978",
+            "locationY": "50.888878",
+            "standardname": "Haren"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811130",
+            "id": "BE.NMBS.008811130",
+            "name": "Haren-Sud/Haren-Zuid",
+            "locationX": "4.415357",
+            "locationY": "50.889696",
+            "standardname": "Haren-Sud/Haren-Zuid"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008831005",
+            "id": "BE.NMBS.008831005",
+            "name": "Hasselt",
+            "locationX": "5.327627",
+            "locationY": "50.930822",
+            "standardname": "Hasselt"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843349",
+            "id": "BE.NMBS.008843349",
+            "name": "Haute-Flône",
+            "locationX": "5.330333",
+            "locationY": "50.55349",
+            "standardname": "Haute-Flône"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008731388",
+            "id": "BE.NMBS.008731388",
+            "name": "Haute-Picardie TGV",
+            "locationX": "2.49565",
+            "locationY": "49.85894",
+            "standardname": "Haute-Picardie TGV"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864832",
+            "id": "BE.NMBS.008864832",
+            "name": "Haversin",
+            "locationX": "5.194371",
+            "locationY": "50.249044",
+            "standardname": "Haversin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881430",
+            "id": "BE.NMBS.008881430",
+            "name": "Havre",
+            "locationX": "4.059987",
+            "locationY": "50.470754",
+            "standardname": "Havre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400307",
+            "id": "BE.NMBS.008400307",
+            "name": "Heerlen",
+            "locationX": "5.974577",
+            "locationY": "50.89095",
+            "standardname": "Heerlen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821519",
+            "id": "BE.NMBS.008821519",
+            "name": "Heide",
+            "locationX": "4.460483",
+            "locationY": "51.364623",
+            "standardname": "Heide"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891645",
+            "id": "BE.NMBS.008891645",
+            "name": "Heist",
+            "locationX": "3.239181",
+            "locationY": "51.333979",
+            "standardname": "Heist"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821832",
+            "id": "BE.NMBS.008821832",
+            "name": "Heist-op-den-Berg",
+            "locationX": "4.708235",
+            "locationY": "51.074146",
+            "standardname": "Heist-op-den-Berg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812153",
+            "id": "BE.NMBS.008812153",
+            "name": "Heizijde",
+            "locationX": "4.156171",
+            "locationY": "50.989593",
+            "standardname": "Heizijde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728606",
+            "id": "BE.NMBS.008728606",
+            "name": "Hellemmes",
+            "locationX": "3.108892",
+            "locationY": "50.626941",
+            "standardname": "Hellemmes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008824224",
+            "id": "BE.NMBS.008824224",
+            "name": "Hemiksem",
+            "locationX": "4.338293",
+            "locationY": "51.136243",
+            "standardname": "Hemiksem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008883022",
+            "id": "BE.NMBS.008883022",
+            "name": "Hennuyères",
+            "locationX": "4.175893",
+            "locationY": "50.651005",
+            "standardname": "Hennuyères"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811288",
+            "id": "BE.NMBS.008811288",
+            "name": "Herent",
+            "locationX": "4.672188",
+            "locationY": "50.90353",
+            "standardname": "Herent"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821717",
+            "id": "BE.NMBS.008821717",
+            "name": "Herentals",
+            "locationX": "4.829535",
+            "locationY": "51.181513",
+            "standardname": "Herentals"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844644",
+            "id": "BE.NMBS.008844644",
+            "name": "Hergenrath",
+            "locationX": "6.041335",
+            "locationY": "50.718209",
+            "standardname": "Hergenrath"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008849023",
+            "id": "BE.NMBS.008849023",
+            "name": "Hergenrath-Frontiere",
+            "locationX": "6.041269",
+            "locationY": "50.718955",
+            "standardname": "Hergenrath-Frontiere"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895646",
+            "id": "BE.NMBS.008895646",
+            "name": "Herne",
+            "locationX": "4.014573",
+            "locationY": "50.723701",
+            "standardname": "Herne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008885753",
+            "id": "BE.NMBS.008885753",
+            "name": "Herseaux",
+            "locationX": "3.245959",
+            "locationY": "50.713894",
+            "standardname": "Herseaux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841608",
+            "id": "BE.NMBS.008841608",
+            "name": "Herstal",
+            "locationX": "5.622761",
+            "locationY": "50.660911",
+            "standardname": "Herstal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895430",
+            "id": "BE.NMBS.008895430",
+            "name": "Herzele",
+            "locationX": "3.880616",
+            "locationY": "50.89722",
+            "standardname": "Herzele"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008015190",
+            "id": "BE.NMBS.008015190",
+            "name": "Herzogenrath",
+            "locationX": "6.0944",
+            "locationY": "50.8709",
+            "standardname": "Herzogenrath"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832243",
+            "id": "BE.NMBS.008832243",
+            "name": "Heusden",
+            "locationX": "5.281782",
+            "locationY": "51.038207",
+            "standardname": "Heusden"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822459",
+            "id": "BE.NMBS.008822459",
+            "name": "Hever",
+            "locationX": "4.537637",
+            "locationY": "50.997791",
+            "standardname": "Hever"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833126",
+            "id": "BE.NMBS.008833126",
+            "name": "Heverlee",
+            "locationX": "4.6952",
+            "locationY": "50.86253",
+            "standardname": "Heverlee"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895422",
+            "id": "BE.NMBS.008895422",
+            "name": "Hillegem",
+            "locationX": "3.857469",
+            "locationY": "50.891296",
+            "standardname": "Hillegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008824158",
+            "id": "BE.NMBS.008824158",
+            "name": "Hoboken-Polder",
+            "locationX": "4.347785",
+            "locationY": "51.182699",
+            "standardname": "Hoboken-Polder"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811460",
+            "id": "BE.NMBS.008811460",
+            "name": "Hoeilaart",
+            "locationX": "4.467414",
+            "locationY": "50.760161",
+            "standardname": "Hoeilaart"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822277",
+            "id": "BE.NMBS.008822277",
+            "name": "Hofstade",
+            "locationX": "4.498336",
+            "locationY": "50.988658",
+            "standardname": "Hofstade"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814159",
+            "id": "BE.NMBS.008814159",
+            "name": "Holleken",
+            "locationX": "4.353952",
+            "locationY": "50.767631",
+            "standardname": "Holleken"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200710",
+            "id": "BE.NMBS.008200710",
+            "name": "Hollerich",
+            "locationX": "6.120938",
+            "locationY": "49.59516",
+            "standardname": "Hollerich"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842655",
+            "id": "BE.NMBS.008842655",
+            "name": "Hony",
+            "locationX": "5.573563",
+            "locationY": "50.539917",
+            "standardname": "Hony"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886553",
+            "id": "BE.NMBS.008886553",
+            "name": "Houraing",
+            "locationX": "3.835175",
+            "locationY": "50.703062",
+            "standardname": "Houraing"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871829",
+            "id": "BE.NMBS.008871829",
+            "name": "Hourpes",
+            "locationX": "4.308736",
+            "locationY": "50.363692",
+            "standardname": "Hourpes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863842",
+            "id": "BE.NMBS.008863842",
+            "name": "Houyet",
+            "locationX": "5.006074",
+            "locationY": "50.189868",
+            "standardname": "Houyet"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821337",
+            "id": "BE.NMBS.008821337",
+            "name": "Hove",
+            "locationX": "4.465157",
+            "locationY": "51.154114",
+            "standardname": "Hove"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814415",
+            "id": "BE.NMBS.008814415",
+            "name": "Huizingen",
+            "locationX": "4.266487",
+            "locationY": "50.7519",
+            "standardname": "Huizingen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843307",
+            "id": "BE.NMBS.008843307",
+            "name": "Huy",
+            "locationX": "5.234211",
+            "locationY": "50.527242",
+            "standardname": "Huy"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008003040",
+            "id": "BE.NMBS.008003040",
+            "name": "Idar-Oberstein",
+            "locationX": "7.321228",
+            "locationY": "49.699371",
+            "standardname": "Idar-Oberstein"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895844",
+            "id": "BE.NMBS.008895844",
+            "name": "Iddergem",
+            "locationX": "4.06849",
+            "locationY": "50.876886",
+            "standardname": "Iddergem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895729",
+            "id": "BE.NMBS.008895729",
+            "name": "Idegem",
+            "locationX": "3.921553",
+            "locationY": "50.801871",
+            "standardname": "Idegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896925",
+            "id": "BE.NMBS.008896925",
+            "name": "Ingelmunster",
+            "locationX": "3.255416",
+            "locationY": "50.914326",
+            "standardname": "Ingelmunster"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896909",
+            "id": "BE.NMBS.008896909",
+            "name": "Izegem",
+            "locationX": "3.212088",
+            "locationY": "50.921149",
+            "standardname": "Izegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863115",
+            "id": "BE.NMBS.008863115",
+            "name": "Jambes",
+            "locationX": "4.876144",
+            "locationY": "50.454843",
+            "standardname": "Jambes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863354",
+            "id": "BE.NMBS.008863354",
+            "name": "Jambes-Est",
+            "locationX": "4.880261",
+            "locationY": "50.454798",
+            "standardname": "Jambes-Est"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871175",
+            "id": "BE.NMBS.008871175",
+            "name": "Jamioulx",
+            "locationX": "4.411294",
+            "locationY": "50.352896",
+            "standardname": "Jamioulx"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884566",
+            "id": "BE.NMBS.008884566",
+            "name": "Jemappes",
+            "locationX": "3.885587",
+            "locationY": "50.452577",
+            "standardname": "Jemappes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843158",
+            "id": "BE.NMBS.008843158",
+            "name": "Jemeppe-sur-Meuse",
+            "locationX": "5.497874",
+            "locationY": "50.618446",
+            "standardname": "Jemeppe-sur-Meuse"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008874724",
+            "id": "BE.NMBS.008874724",
+            "name": "Jemeppe-sur-Sambre",
+            "locationX": "4.662632",
+            "locationY": "50.45095",
+            "standardname": "Jemeppe-sur-Sambre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812047",
+            "id": "BE.NMBS.008812047",
+            "name": "Jette",
+            "locationX": "4.32622",
+            "locationY": "50.880833",
+            "standardname": "Jette"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881166",
+            "id": "BE.NMBS.008881166",
+            "name": "Jurbise",
+            "locationX": "3.910694",
+            "locationY": "50.530496",
+            "standardname": "Jurbeke"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844321",
+            "id": "BE.NMBS.008844321",
+            "name": "Juslenville",
+            "locationX": "5.809935",
+            "locationY": "50.544717",
+            "standardname": "Juslenville"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821444",
+            "id": "BE.NMBS.008821444",
+            "name": "Kalmthout",
+            "locationX": "4.46682",
+            "locationY": "51.391177",
+            "standardname": "Kalmthout"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822053",
+            "id": "BE.NMBS.008822053",
+            "name": "Kapelle-op-den-Bos",
+            "locationX": "4.359121",
+            "locationY": "51.010843",
+            "standardname": "Kapelle-op-den-Bos"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821535",
+            "id": "BE.NMBS.008821535",
+            "name": "Kapellen",
+            "locationX": "4.432661",
+            "locationY": "51.313528",
+            "standardname": "Kapellen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200130",
+            "id": "BE.NMBS.008200130",
+            "name": "Kautebaach",
+            "locationX": "6.020003",
+            "locationY": "49.952777",
+            "standardname": "Kautebaach"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821659",
+            "id": "BE.NMBS.008821659",
+            "name": "Kessel",
+            "locationX": "4.618459",
+            "locationY": "51.151057",
+            "standardname": "Kessel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832375",
+            "id": "BE.NMBS.008832375",
+            "name": "Kiewit",
+            "locationX": "5.350226",
+            "locationY": "50.954841",
+            "standardname": "Kiewit"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821451",
+            "id": "BE.NMBS.008821451",
+            "name": "Kijkuit",
+            "locationX": "4.467315",
+            "locationY": "51.378664",
+            "standardname": "Kijkuit"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200520",
+            "id": "BE.NMBS.008200520",
+            "name": "Klengbetten",
+            "locationX": "5.916385",
+            "locationY": "49.646389",
+            "standardname": "Klengbetten"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891660",
+            "id": "BE.NMBS.008891660",
+            "name": "Knokke",
+            "locationX": "3.285188",
+            "locationY": "51.339894",
+            "standardname": "Knokke"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008019022",
+            "id": "BE.NMBS.008019022",
+            "name": "Koblenz Hbf (DE)",
+            "locationX": "7.588441",
+            "locationY": "50.35084",
+            "standardname": "Koblenz Hbf (DE)"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892320",
+            "id": "BE.NMBS.008892320",
+            "name": "Koksijde",
+            "locationX": "2.65277",
+            "locationY": "51.079197",
+            "standardname": "Koksijde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896412",
+            "id": "BE.NMBS.008896412",
+            "name": "Komen/Comines",
+            "locationX": "2.999286",
+            "locationY": "50.772072",
+            "standardname": "Comines"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821311",
+            "id": "BE.NMBS.008821311",
+            "name": "Kontich-Lint",
+            "locationX": "4.476358",
+            "locationY": "51.134023",
+            "standardname": "Kontich-Lint"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892403",
+            "id": "BE.NMBS.008892403",
+            "name": "Kortemark",
+            "locationX": "3.043459",
+            "locationY": "51.025244",
+            "standardname": "Kortemark"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811254",
+            "id": "BE.NMBS.008811254",
+            "name": "Kortenberg",
+            "locationX": "4.543301",
+            "locationY": "50.893067",
+            "standardname": "Kortenberg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896008",
+            "id": "BE.NMBS.008896008",
+            "name": "Kortrijk",
+            "locationX": "3.264549",
+            "locationY": "50.824506",
+            "standardname": "Kortrijk"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893567",
+            "id": "BE.NMBS.008893567",
+            "name": "Kwatrecht",
+            "locationX": "3.829593",
+            "locationY": "50.99175",
+            "standardname": "Kwatrecht"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008015458",
+            "id": "BE.NMBS.008015458",
+            "name": "Köln Hbf",
+            "locationX": "6.958823",
+            "locationY": "50.942721",
+            "standardname": "Köln Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811510",
+            "id": "BE.NMBS.008811510",
+            "name": "La Hulpe",
+            "locationX": "4.49706",
+            "locationY": "50.737958",
+            "standardname": "La Hulpe"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008882107",
+            "id": "BE.NMBS.008882107",
+            "name": "La Louvière-Centre",
+            "locationX": "4.179858",
+            "locationY": "50.478161",
+            "standardname": "La Louvière-Centre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008882206",
+            "id": "BE.NMBS.008882206",
+            "name": "La Louvière-Sud",
+            "locationX": "4.190609",
+            "locationY": "50.464974",
+            "standardname": "La Louvière-Sud"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008872587",
+            "id": "BE.NMBS.008872587",
+            "name": "La Roche (Brabant)",
+            "locationX": "4.539157",
+            "locationY": "50.610338",
+            "standardname": "La Roche (Brabant)"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871670",
+            "id": "BE.NMBS.008871670",
+            "name": "Labuissière",
+            "locationX": "4.186833",
+            "locationY": "50.316328",
+            "standardname": "Labuissière"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200935",
+            "id": "BE.NMBS.008200935",
+            "name": "Lamadeleine",
+            "locationX": "5.861335",
+            "locationY": "49.55334",
+            "standardname": "Lamadeleine"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892056",
+            "id": "BE.NMBS.008892056",
+            "name": "Landegem",
+            "locationX": "3.576852",
+            "locationY": "51.064311",
+            "standardname": "Landegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871837",
+            "id": "BE.NMBS.008871837",
+            "name": "Landelies",
+            "locationX": "4.350976",
+            "locationY": "50.377311",
+            "standardname": "Landelies"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833605",
+            "id": "BE.NMBS.008833605",
+            "name": "Landen",
+            "locationX": "5.07966",
+            "locationY": "50.747927",
+            "standardname": "Landen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400548",
+            "id": "BE.NMBS.008400548",
+            "name": "Landgraaf",
+            "locationX": "6.019776",
+            "locationY": "50.89651",
+            "standardname": "Landgraaf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008774177",
+            "id": "BE.NMBS.008774177",
+            "name": "Landry",
+            "locationX": "6.733522",
+            "locationY": "45.574194",
+            "standardname": "Landry"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893054",
+            "id": "BE.NMBS.008893054",
+            "name": "Landskouter",
+            "locationX": "3.791146",
+            "locationY": "50.970545",
+            "standardname": "Landskouter"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833258",
+            "id": "BE.NMBS.008833258",
+            "name": "Langdorp",
+            "locationX": "4.863541",
+            "locationY": "51.002466",
+            "standardname": "Langdorp"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008874559",
+            "id": "BE.NMBS.008874559",
+            "name": "Le Campinaire",
+            "locationX": "4.542787",
+            "locationY": "50.42383",
+            "standardname": "Le Campinaire"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812161",
+            "id": "BE.NMBS.008812161",
+            "name": "Lebbeke",
+            "locationX": "4.134372",
+            "locationY": "51.005009",
+            "standardname": "Lebbeke"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895067",
+            "id": "BE.NMBS.008895067",
+            "name": "Lede",
+            "locationX": "3.984981",
+            "locationY": "50.970895",
+            "standardname": "Lede"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864816",
+            "id": "BE.NMBS.008864816",
+            "name": "Leignon",
+            "locationX": "5.107778",
+            "locationY": "50.267768",
+            "standardname": "Leignon"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400394",
+            "id": "BE.NMBS.008400394",
+            "name": "Lelystad Centrum",
+            "locationX": "5.470484",
+            "locationY": "52.511736",
+            "standardname": "Lelystad Centrum"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843224",
+            "id": "BE.NMBS.008843224",
+            "name": "Leman",
+            "locationX": "5.468309",
+            "locationY": "50.600396",
+            "standardname": "Leman"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814332",
+            "id": "BE.NMBS.008814332",
+            "name": "Lembeek",
+            "locationX": "4.221577",
+            "locationY": "50.715107",
+            "standardname": "Lembeek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881190",
+            "id": "BE.NMBS.008881190",
+            "name": "Lens",
+            "locationX": "3.903224",
+            "locationY": "50.559342",
+            "standardname": "Lens"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832003",
+            "id": "BE.NMBS.008832003",
+            "name": "Leopoldsburg",
+            "locationX": "5.257287",
+            "locationY": "51.117312",
+            "standardname": "Leopoldsburg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008775544",
+            "id": "BE.NMBS.008775544",
+            "name": "Les Arcs - Draguignan",
+            "locationX": "6.4826446",
+            "locationY": "43.4555673",
+            "standardname": "Les Arcs - Draguignan"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886504",
+            "id": "BE.NMBS.008886504",
+            "name": "Lessines",
+            "locationX": "3.836434",
+            "locationY": "50.712015",
+            "standardname": "Lessen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200712",
+            "id": "BE.NMBS.008200712",
+            "name": "Leudelange",
+            "locationX": "6.059306",
+            "locationY": "49.58712",
+            "standardname": "Leudelange"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833001",
+            "id": "BE.NMBS.008833001",
+            "name": "Leuven",
+            "locationX": "4.715866",
+            "locationY": "50.88228",
+            "standardname": "Leuven"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886348",
+            "id": "BE.NMBS.008886348",
+            "name": "Leuze",
+            "locationX": "3.616872",
+            "locationY": "50.600612",
+            "standardname": "Leuze"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008882339",
+            "id": "BE.NMBS.008882339",
+            "name": "Leval",
+            "locationX": "4.211041",
+            "locationY": "50.430797",
+            "standardname": "Leval"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728710",
+            "id": "BE.NMBS.008728710",
+            "name": "Lezennes",
+            "locationX": "3.116667",
+            "locationY": "50.616666",
+            "standardname": "Lezennes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008865003",
+            "id": "BE.NMBS.008865003",
+            "name": "Libramont",
+            "locationX": "5.37927",
+            "locationY": "49.920434",
+            "standardname": "Libramont"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892205",
+            "id": "BE.NMBS.008892205",
+            "name": "Lichtervelde",
+            "locationX": "3.127212",
+            "locationY": "51.025163",
+            "standardname": "Lichtervelde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895836",
+            "id": "BE.NMBS.008895836",
+            "name": "Liedekerke",
+            "locationX": "4.095287",
+            "locationY": "50.882531",
+            "standardname": "Liedekerke"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821600",
+            "id": "BE.NMBS.008821600",
+            "name": "Lier",
+            "locationX": "4.560614",
+            "locationY": "51.135758",
+            "standardname": "Lier"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895570",
+            "id": "BE.NMBS.008895570",
+            "name": "Lierde",
+            "locationX": "3.826564",
+            "locationY": "50.816236",
+            "standardname": "Lierde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841673",
+            "id": "BE.NMBS.008841673",
+            "name": "Liers",
+            "locationX": "5.56683",
+            "locationY": "50.698181",
+            "standardname": "Liers"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008872520",
+            "id": "BE.NMBS.008872520",
+            "name": "Ligny",
+            "locationX": "4.566133",
+            "locationY": "50.511726",
+            "standardname": "Ligny"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008722326",
+            "id": "BE.NMBS.008722326",
+            "name": "Lille Europe",
+            "locationX": "3.0756612",
+            "locationY": "50.6391167",
+            "standardname": "Lille Europe"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728600",
+            "id": "BE.NMBS.008728600",
+            "name": "Lille Flandres",
+            "locationX": "3.066669",
+            "locationY": "50.633333",
+            "standardname": "Lille Flandres"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814241",
+            "id": "BE.NMBS.008814241",
+            "name": "Lillois",
+            "locationX": "4.365368",
+            "locationY": "50.645423",
+            "standardname": "Lillois"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811635",
+            "id": "BE.NMBS.008811635",
+            "name": "Limal",
+            "locationX": "4.575302",
+            "locationY": "50.69214",
+            "standardname": "Limal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008032572",
+            "id": "BE.NMBS.008032572",
+            "name": "Limburg Süd",
+            "locationX": "8.063261",
+            "locationY": "50.3842",
+            "standardname": "Limburg Süd"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814142",
+            "id": "BE.NMBS.008814142",
+            "name": "Linkebeek",
+            "locationX": "4.339434",
+            "locationY": "50.773681",
+            "standardname": "Linkebeek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891629",
+            "id": "BE.NMBS.008891629",
+            "name": "Lissewege",
+            "locationX": "3.194505",
+            "locationY": "51.294714",
+            "standardname": "Lissewege"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841558",
+            "id": "BE.NMBS.008841558",
+            "name": "Liège-Carré",
+            "locationX": "5.561131",
+            "locationY": "50.640299",
+            "standardname": "Liège-Carré"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841004",
+            "id": "BE.NMBS.008841004",
+            "name": "Liège-Guillemins",
+            "locationX": "5.566695",
+            "locationY": "50.62455",
+            "standardname": "Liège-Guillemins"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841525",
+            "id": "BE.NMBS.008841525",
+            "name": "Liège-Saint-Lambert",
+            "locationX": "5.570453",
+            "locationY": "50.646349",
+            "standardname": "Liège-Saint-Lambert"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871712",
+            "id": "BE.NMBS.008871712",
+            "name": "Lobbes",
+            "locationX": "4.260958",
+            "locationY": "50.346469",
+            "standardname": "Lobbes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008872306",
+            "id": "BE.NMBS.008872306",
+            "name": "Lodelinsart",
+            "locationX": "4.462946",
+            "locationY": "50.432451",
+            "standardname": "Lodelinsart"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894201",
+            "id": "BE.NMBS.008894201",
+            "name": "Lokeren",
+            "locationX": "3.987794",
+            "locationY": "51.108062",
+            "standardname": "Lokeren"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832565",
+            "id": "BE.NMBS.008832565",
+            "name": "Lommel",
+            "locationX": "5.312031",
+            "locationY": "51.211564",
+            "standardname": "Lommel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822111",
+            "id": "BE.NMBS.008822111",
+            "name": "Londerzeel",
+            "locationX": "4.299073",
+            "locationY": "51.009091",
+            "standardname": "Londerzeel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/007015400",
+            "id": "BE.NMBS.007015400",
+            "name": "London Saint Pancras International",
+            "locationX": "0.123808",
+            "locationY": "51.5304",
+            "standardname": "London Saint Pancras International"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/007054650",
+            "id": "BE.NMBS.007054650",
+            "name": "London Waterloo",
+            "locationX": "-0.1132",
+            "locationY": "51.5031",
+            "standardname": "London Waterloo"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861416",
+            "id": "BE.NMBS.008861416",
+            "name": "Lonzée",
+            "locationX": "4.7201",
+            "locationY": "50.551935",
+            "standardname": "Lonzée"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008714210",
+            "id": "BE.NMBS.008714210",
+            "name": "Lorraine TGV",
+            "locationX": "6.169722",
+            "locationY": "48.9475",
+            "standardname": "Lorraine TGV"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814357",
+            "id": "BE.NMBS.008814357",
+            "name": "Lot",
+            "locationX": "4.273696",
+            "locationY": "50.766364",
+            "standardname": "Lot"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811676",
+            "id": "BE.NMBS.008811676",
+            "name": "Louvain-la-Neuve",
+            "locationX": "4.615745",
+            "locationY": "50.669793",
+            "standardname": "Louvain-la-Neuve"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863156",
+            "id": "BE.NMBS.008863156",
+            "name": "Lustin",
+            "locationX": "4.877071380615234",
+            "locationY": "50.369000316323856",
+            "standardname": "Lustin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871308",
+            "id": "BE.NMBS.008871308",
+            "name": "Luttre",
+            "locationX": "4.38412",
+            "locationY": "50.505856",
+            "standardname": "Luttre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008772319",
+            "id": "BE.NMBS.008772319",
+            "name": "Lyon Part Dieu TGV",
+            "locationX": "4.85",
+            "locationY": "45.75",
+            "standardname": "Lyon Part Dieu TGV"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008772202",
+            "id": "BE.NMBS.008772202",
+            "name": "Lyon-Perrache TGV",
+            "locationX": "4.825301",
+            "locationY": "45.74836",
+            "standardname": "Lyon-Perrache TGV"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008776290",
+            "id": "BE.NMBS.008776290",
+            "name": "Lyon-Saint Exupéry TGV",
+            "locationX": "5.075822",
+            "locationY": "45.720907",
+            "standardname": "Lyon-Saint Exupéry TGV"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200100",
+            "id": "BE.NMBS.008200100",
+            "name": "Lëtzebuerg",
+            "locationX": "6.133331",
+            "locationY": "49.599996",
+            "standardname": "Lëtzebuerg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400424",
+            "id": "BE.NMBS.008400424",
+            "name": "Maastricht",
+            "locationX": "5.705392",
+            "locationY": "50.85",
+            "standardname": "Maastricht"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400426",
+            "id": "BE.NMBS.008400426",
+            "name": "Maastricht Randwyck",
+            "locationX": "5.716707",
+            "locationY": "50.838502",
+            "standardname": "Maastricht Randwyck"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886041",
+            "id": "BE.NMBS.008886041",
+            "name": "Maffle",
+            "locationX": "3.800117",
+            "locationY": "50.614356",
+            "standardname": "Maffle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008019052",
+            "id": "BE.NMBS.008019052",
+            "name": "Mainz Hbf (DE)",
+            "locationX": "8.2585",
+            "locationY": "50.0013",
+            "standardname": "Mainz Hbf (DE)"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822137",
+            "id": "BE.NMBS.008822137",
+            "name": "Malderen",
+            "locationX": "4.22911",
+            "locationY": "51.014484",
+            "standardname": "Malderen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200516",
+            "id": "BE.NMBS.008200516",
+            "name": "Mamer",
+            "locationX": "6.02014",
+            "locationY": "49.625663",
+            "standardname": "Mamer"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008210014",
+            "id": "BE.NMBS.008210014",
+            "name": "Mamer-Lycée",
+            "locationX": "6.02968",
+            "locationY": "49.618415",
+            "standardname": "Mamer-Lycée"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008882701",
+            "id": "BE.NMBS.008882701",
+            "name": "Manage",
+            "locationX": "4.234683",
+            "locationY": "50.506108",
+            "standardname": "Manage"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008014008",
+            "id": "BE.NMBS.008014008",
+            "name": "Mannheim Hbf",
+            "locationX": "8.469722",
+            "locationY": "49.479722",
+            "standardname": "Mannheim Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866175",
+            "id": "BE.NMBS.008866175",
+            "name": "Marbehan",
+            "locationX": "5.539755",
+            "locationY": "49.727337",
+            "standardname": "Marbehan"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864410",
+            "id": "BE.NMBS.008864410",
+            "name": "Marche-en-Famenne",
+            "locationX": "5.346289",
+            "locationY": "50.222472",
+            "standardname": "Marche-en-Famenne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863461",
+            "id": "BE.NMBS.008863461",
+            "name": "Marche-les-Dames",
+            "locationX": "4.96458",
+            "locationY": "50.480741",
+            "standardname": "Marche-les-Dames"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008883220",
+            "id": "BE.NMBS.008883220",
+            "name": "Marche-lez-Écaussinnes",
+            "locationX": "4.177098",
+            "locationY": "50.546173",
+            "standardname": "Marche-lez-Écaussinnes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871852",
+            "id": "BE.NMBS.008871852",
+            "name": "Marchienne-Zone",
+            "locationX": "4.388767",
+            "locationY": "50.397465",
+            "standardname": "Marchienne-Zone"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871100",
+            "id": "BE.NMBS.008871100",
+            "name": "Marchienne-au-Pont",
+            "locationX": "4.394223",
+            "locationY": "50.412171",
+            "standardname": "Marchienne-au-Pont"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891132",
+            "id": "BE.NMBS.008891132",
+            "name": "Maria-Aalter",
+            "locationX": "3.38673",
+            "locationY": "51.107612",
+            "standardname": "Maria-Aalter"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008875002",
+            "id": "BE.NMBS.008875002",
+            "name": "Mariembourg",
+            "locationX": "4.525691",
+            "locationY": "50.09549",
+            "standardname": "Mariembourg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864345",
+            "id": "BE.NMBS.008864345",
+            "name": "Marloie",
+            "locationX": "5.313892",
+            "locationY": "50.202821",
+            "standardname": "Marloie"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008711184",
+            "id": "BE.NMBS.008711184",
+            "name": "Marne-la-Vallée - Chessy",
+            "locationX": "2.782184",
+            "locationY": "48.868256",
+            "standardname": "Marne-la-Vallée - Chessy"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008775100",
+            "id": "BE.NMBS.008775100",
+            "name": "Marseille-Saint-Charles",
+            "locationX": "5.380752",
+            "locationY": "43.303178",
+            "standardname": "Marseille-Saint-Charles"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881174",
+            "id": "BE.NMBS.008881174",
+            "name": "Masnuy-Saint-Pierre",
+            "locationX": "3.962139",
+            "locationY": "50.536546",
+            "standardname": "Masnuy-Saint-Pierre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008739370",
+            "id": "BE.NMBS.008739370",
+            "name": "Massy TGV",
+            "locationX": "2.261254",
+            "locationY": "48.725758",
+            "standardname": "Massy TGV"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008729500",
+            "id": "BE.NMBS.008729500",
+            "name": "Maubeuge",
+            "locationX": "3.966566",
+            "locationY": "50.27289",
+            "standardname": "Maubeuge"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008885530",
+            "id": "BE.NMBS.008885530",
+            "name": "Maubray",
+            "locationX": "3.495527",
+            "locationY": "50.547557",
+            "standardname": "Maubray"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861333",
+            "id": "BE.NMBS.008861333",
+            "name": "Mazy",
+            "locationX": "4.675829",
+            "locationY": "50.513497",
+            "standardname": "Mazy"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822004",
+            "id": "BE.NMBS.008822004",
+            "name": "Mechelen",
+            "locationX": "4.482785",
+            "locationY": "51.017648",
+            "standardname": "Mechelen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822343",
+            "id": "BE.NMBS.008822343",
+            "name": "Mechelen-Nekkerspoel",
+            "locationX": "4.489914",
+            "locationY": "51.029883",
+            "standardname": "Mechelen-Nekkerspoel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008829025",
+            "id": "BE.NMBS.008829025",
+            "name": "Meer-Grens",
+            "locationX": "4.734469757625622",
+            "locationY": "51.48573529673874",
+            "standardname": "Meer-Grens"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400434",
+            "id": "BE.NMBS.008400434",
+            "name": "Meerssen",
+            "locationX": "5.750631",
+            "locationY": "50.8826",
+            "standardname": "Meerssen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811171",
+            "id": "BE.NMBS.008811171",
+            "name": "Meiser",
+            "locationX": "4.394421",
+            "locationY": "50.854072",
+            "standardname": "Meiser"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821824",
+            "id": "BE.NMBS.008821824",
+            "name": "Melkouwen",
+            "locationX": "4.671532",
+            "locationY": "51.094938",
+            "standardname": "Melkouwen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893039",
+            "id": "BE.NMBS.008893039",
+            "name": "Melle",
+            "locationX": "3.797088",
+            "locationY": "51.002807",
+            "standardname": "Melle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008890142",
+            "id": "BE.NMBS.008890142",
+            "name": "Melle PW",
+            "locationX": "3.77939",
+            "locationY": "51.01394",
+            "standardname": "Melle PW"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864436",
+            "id": "BE.NMBS.008864436",
+            "name": "Melreux-Hotton",
+            "locationX": "5.440136",
+            "locationY": "50.28367",
+            "standardname": "Melreux-Hotton"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894755",
+            "id": "BE.NMBS.008894755",
+            "name": "Melsele",
+            "locationX": "4.286766",
+            "locationY": "51.21071",
+            "standardname": "Melsele"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896305",
+            "id": "BE.NMBS.008896305",
+            "name": "Menen",
+            "locationX": "3.113791",
+            "locationY": "50.799489",
+            "standardname": "Menen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812120",
+            "id": "BE.NMBS.008812120",
+            "name": "Merchtem",
+            "locationX": "4.222718",
+            "locationY": "50.954958",
+            "standardname": "Merchtem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893013",
+            "id": "BE.NMBS.008893013",
+            "name": "Merelbeke",
+            "locationX": "3.768889",
+            "locationY": "51.017531",
+            "standardname": "Merelbeke"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811197",
+            "id": "BE.NMBS.008811197",
+            "name": "Merode",
+            "locationX": "4.398934",
+            "locationY": "50.839284",
+            "standardname": "Merode"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200110",
+            "id": "BE.NMBS.008200110",
+            "name": "Mersch",
+            "locationX": "6.106111",
+            "locationY": "49.748893",
+            "standardname": "Mersch"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866662",
+            "id": "BE.NMBS.008866662",
+            "name": "Messancy",
+            "locationX": "5.818915",
+            "locationY": "49.592777",
+            "standardname": "Messancy"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008719203",
+            "id": "BE.NMBS.008719203",
+            "name": "Metz",
+            "locationX": "6.166663",
+            "locationY": "49.13333",
+            "standardname": "Metz"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886058",
+            "id": "BE.NMBS.008886058",
+            "name": "Mevergnies-Attre",
+            "locationX": "3.833917",
+            "locationY": "50.600108",
+            "standardname": "Mevergnies-Attre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200128",
+            "id": "BE.NMBS.008200128",
+            "name": "Michelau",
+            "locationX": "6.09149",
+            "locationY": "49.89729",
+            "standardname": "Michelau"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841665",
+            "id": "BE.NMBS.008841665",
+            "name": "Milmort",
+            "locationX": "5.60009",
+            "locationY": "50.692455",
+            "standardname": "Milmort"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814431",
+            "id": "BE.NMBS.008814431",
+            "name": "Moensberg",
+            "locationX": "4.330733",
+            "locationY": "50.77832",
+            "standardname": "Moensberg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008885704",
+            "id": "BE.NMBS.008885704",
+            "name": "Moeskroen/Mouscron",
+            "locationX": "3.228448",
+            "locationY": "50.741005",
+            "standardname": "Mouscron"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832409",
+            "id": "BE.NMBS.008832409",
+            "name": "Mol",
+            "locationX": "5.116336",
+            "locationY": "51.19105",
+            "standardname": "Mol"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812112",
+            "id": "BE.NMBS.008812112",
+            "name": "Mollem",
+            "locationX": "4.216965",
+            "locationY": "50.933473",
+            "standardname": "Mollem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841459",
+            "id": "BE.NMBS.008841459",
+            "name": "Momalle",
+            "locationX": "5.367602",
+            "locationY": "50.66991",
+            "standardname": "Momalle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881000",
+            "id": "BE.NMBS.008881000",
+            "name": "Mons",
+            "locationX": "3.942542",
+            "locationY": "50.453854",
+            "standardname": "Mons"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861549",
+            "id": "BE.NMBS.008861549",
+            "name": "Mont-Saint-Guibert",
+            "locationX": "4.613884",
+            "locationY": "50.637611",
+            "standardname": "Mont-Saint-Guibert"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008777300",
+            "id": "BE.NMBS.008777300",
+            "name": "Montpellier",
+            "locationX": "3.880534",
+            "locationY": "43.604947",
+            "standardname": "Montpellier"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008777301",
+            "id": "BE.NMBS.008777301",
+            "name": "Montpellier-Sud-de-France",
+            "locationX": "3.92428293",
+            "locationY": "43.59518401",
+            "standardname": "Montpellier-Sud-de-France"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893062",
+            "id": "BE.NMBS.008893062",
+            "name": "Moortsele",
+            "locationX": "3.781339",
+            "locationY": "50.953519",
+            "standardname": "Moortsele"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008882230",
+            "id": "BE.NMBS.008882230",
+            "name": "Morlanwelz",
+            "locationX": "4.247367",
+            "locationY": "50.457998",
+            "standardname": "Morlanwelz"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821147",
+            "id": "BE.NMBS.008821147",
+            "name": "Mortsel",
+            "locationX": "4.448437",
+            "locationY": "51.18296",
+            "standardname": "Mortsel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821154",
+            "id": "BE.NMBS.008821154",
+            "name": "Mortsel-Deurnesteenweg",
+            "locationX": "4.446514",
+            "locationY": "51.183023",
+            "standardname": "Mortsel-Deurnesteenweg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821246",
+            "id": "BE.NMBS.008821246",
+            "name": "Mortsel-Liersesteenweg",
+            "locationX": "4.468843",
+            "locationY": "51.169027",
+            "standardname": "Mortsel-Liersesteenweg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821238",
+            "id": "BE.NMBS.008821238",
+            "name": "Mortsel-Oude God",
+            "locationX": "4.455737",
+            "locationY": "51.171256",
+            "standardname": "Mortsel-Oude God"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008889011",
+            "id": "BE.NMBS.008889011",
+            "name": "Mouscron-Frontiere",
+            "locationX": "3.196086",
+            "locationY": "50.721716",
+            "standardname": "Mouscron-Frontiere"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861150",
+            "id": "BE.NMBS.008861150",
+            "name": "Moustier",
+            "locationX": "4.693807",
+            "locationY": "50.452748",
+            "standardname": "Moustier"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811403",
+            "id": "BE.NMBS.008811403",
+            "name": "Mouterij",
+            "locationX": "4.37866",
+            "locationY": "50.829929",
+            "standardname": "Mouterij/Germoir"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008774172",
+            "id": "BE.NMBS.008774172",
+            "name": "Moûtiers-Salins-Brides-les-Bai",
+            "locationX": "6.531454",
+            "locationY": "45.486693",
+            "standardname": "Moûtiers-Salins-Brides-les-Bai"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822426",
+            "id": "BE.NMBS.008822426",
+            "name": "Muizen",
+            "locationX": "4.513843",
+            "locationY": "51.008201",
+            "standardname": "Muizen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008718206",
+            "id": "BE.NMBS.008718206",
+            "name": "Mulhouse",
+            "locationX": "7.333336",
+            "locationY": "47.749998",
+            "standardname": "Mulhouse"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895232",
+            "id": "BE.NMBS.008895232",
+            "name": "Munkzwalm",
+            "locationX": "3.733238",
+            "locationY": "50.875673",
+            "standardname": "Munkzwalm"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842648",
+            "id": "BE.NMBS.008842648",
+            "name": "Méry",
+            "locationX": "5.587236",
+            "locationY": "50.54762",
+            "standardname": "Méry"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863008",
+            "id": "BE.NMBS.008863008",
+            "name": "Namur",
+            "locationX": "4.86222",
+            "locationY": "50.468794",
+            "standardname": "Namur"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863453",
+            "id": "BE.NMBS.008863453",
+            "name": "Namêche",
+            "locationX": "4.997939",
+            "locationY": "50.47043",
+            "standardname": "Namêche"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864964",
+            "id": "BE.NMBS.008864964",
+            "name": "Naninne",
+            "locationX": "4.929756",
+            "locationY": "50.419695",
+            "standardname": "Naninne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008748100",
+            "id": "BE.NMBS.008748100",
+            "name": "Nantes",
+            "locationX": "-1.542356",
+            "locationY": "47.216148",
+            "standardname": "Nantes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008778110",
+            "id": "BE.NMBS.008778110",
+            "name": "Narbonne",
+            "locationX": "3.00601",
+            "locationY": "43.190399",
+            "standardname": "Narbonne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864915",
+            "id": "BE.NMBS.008864915",
+            "name": "Natoye",
+            "locationX": "5.06116",
+            "locationY": "50.343296",
+            "standardname": "Natoye"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832615",
+            "id": "BE.NMBS.008832615",
+            "name": "Neerpelt",
+            "locationX": "5.43717",
+            "locationY": "51.222369",
+            "standardname": "Neerpelt"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833670",
+            "id": "BE.NMBS.008833670",
+            "name": "Neerwinden",
+            "locationX": "5.036323",
+            "locationY": "50.763964",
+            "standardname": "Neerwinden"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844230",
+            "id": "BE.NMBS.008844230",
+            "name": "Nessonvaux",
+            "locationX": "5.741581",
+            "locationY": "50.572089",
+            "standardname": "Nessonvaux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866258",
+            "id": "BE.NMBS.008866258",
+            "name": "Neufchâteau",
+            "locationX": "5.452559",
+            "locationY": "49.854318",
+            "standardname": "Neufchâteau"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008883121",
+            "id": "BE.NMBS.008883121",
+            "name": "Neufvilles",
+            "locationX": "4.010672",
+            "locationY": "50.543602",
+            "standardname": "Neufvilles"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008775605",
+            "id": "BE.NMBS.008775605",
+            "name": "Nice Ville",
+            "locationX": "7.261928",
+            "locationY": "43.704605",
+            "standardname": "Nice Ville"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008824240",
+            "id": "BE.NMBS.008824240",
+            "name": "Niel",
+            "locationX": "4.338589",
+            "locationY": "51.111595",
+            "standardname": "Niel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894714",
+            "id": "BE.NMBS.008894714",
+            "name": "Nieuwkerken-Waas",
+            "locationX": "4.185907",
+            "locationY": "51.185612",
+            "standardname": "Nieuwkerken-Waas"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821667",
+            "id": "BE.NMBS.008821667",
+            "name": "Nijlen",
+            "locationX": "4.666588",
+            "locationY": "51.15984",
+            "standardname": "Nijlen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881315",
+            "id": "BE.NMBS.008881315",
+            "name": "Nimy",
+            "locationX": "3.956089",
+            "locationY": "50.471644",
+            "standardname": "Nimy"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895760",
+            "id": "BE.NMBS.008895760",
+            "name": "Ninove",
+            "locationX": "4.026133",
+            "locationY": "50.839509",
+            "standardname": "Ninove"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814209",
+            "id": "BE.NMBS.008814209",
+            "name": "Nivelles",
+            "locationX": "4.335065",
+            "locationY": "50.599641",
+            "standardname": "Nivelles"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821105",
+            "id": "BE.NMBS.008821105",
+            "name": "Noorderkempen (brecht)",
+            "locationX": "4.632204",
+            "locationY": "51.356838",
+            "standardname": "Noorderkempen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811247",
+            "id": "BE.NMBS.008811247",
+            "name": "Nossegem",
+            "locationX": "4.506112",
+            "locationY": "50.883314",
+            "standardname": "Nossegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008777500",
+            "id": "BE.NMBS.008777500",
+            "name": "Nîmes",
+            "locationX": "4.365997",
+            "locationY": "43.832602",
+            "standardname": "Nîmes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871332",
+            "id": "BE.NMBS.008871332",
+            "name": "Obaix-Buzet",
+            "locationX": "4.36357",
+            "locationY": "50.535206",
+            "standardname": "Obaix-Buzet"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881406",
+            "id": "BE.NMBS.008881406",
+            "name": "Obourg",
+            "locationX": "4.007804",
+            "locationY": "50.469873",
+            "standardname": "Obourg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895778",
+            "id": "BE.NMBS.008895778",
+            "name": "Okegem",
+            "locationX": "4.054557",
+            "locationY": "50.857712",
+            "standardname": "Okegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832458",
+            "id": "BE.NMBS.008832458",
+            "name": "Olen",
+            "locationX": "4.9025",
+            "locationY": "51.17403",
+            "standardname": "Olen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891116",
+            "id": "BE.NMBS.008891116",
+            "name": "Oostkamp",
+            "locationX": "3.257466",
+            "locationY": "51.154114",
+            "standardname": "Oostkamp"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812146",
+            "id": "BE.NMBS.008812146",
+            "name": "Opwijk",
+            "locationX": "4.187319",
+            "locationY": "50.974779",
+            "standardname": "Opwijk"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891702",
+            "id": "BE.NMBS.008891702",
+            "name": "Ostend",
+            "locationX": "2.925809",
+            "locationY": "51.228212",
+            "standardname": "Oostende"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811601",
+            "id": "BE.NMBS.008811601",
+            "name": "Ottignies",
+            "locationX": "4.56936",
+            "locationY": "50.673667",
+            "standardname": "Ottignies"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833134",
+            "id": "BE.NMBS.008833134",
+            "name": "Oud-Heverlee",
+            "locationX": "4.653311",
+            "locationY": "50.835931",
+            "standardname": "Oud-Heverlee"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893518",
+            "id": "BE.NMBS.008893518",
+            "name": "Oudegem",
+            "locationX": "4.064472",
+            "locationY": "51.01523",
+            "standardname": "Oudegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892601",
+            "id": "BE.NMBS.008892601",
+            "name": "Oudenaarde",
+            "locationX": "3.600386",
+            "locationY": "50.850116",
+            "standardname": "Oudenaarde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843174",
+            "id": "BE.NMBS.008843174",
+            "name": "Ougrée",
+            "locationX": "5.536972",
+            "locationY": "50.605396",
+            "standardname": "Ougrée"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832573",
+            "id": "BE.NMBS.008832573",
+            "name": "Overpelt",
+            "locationX": "5.422751",
+            "locationY": "51.215618",
+            "standardname": "Overpelt"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008865540",
+            "id": "BE.NMBS.008865540",
+            "name": "Paliseul",
+            "locationX": "5.118349",
+            "locationY": "49.895408",
+            "standardname": "Paliseul"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886561",
+            "id": "BE.NMBS.008886561",
+            "name": "Papignies",
+            "locationX": "3.823408",
+            "locationY": "50.686585",
+            "standardname": "Papegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008727100",
+            "id": "BE.NMBS.008727100",
+            "name": "Paris Nord",
+            "locationX": "2.354577",
+            "locationY": "48.88011",
+            "standardname": "Paris Nord"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844206",
+            "id": "BE.NMBS.008844206",
+            "name": "Pepinster",
+            "locationX": "5.80615",
+            "locationY": "50.568179",
+            "standardname": "Pepinster"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844313",
+            "id": "BE.NMBS.008844313",
+            "name": "Pepinster-Cité",
+            "locationX": "5.804397",
+            "locationY": "50.563405",
+            "standardname": "Pepinster-Cité"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008778400",
+            "id": "BE.NMBS.008778400",
+            "name": "Perpignan",
+            "locationX": "2.879397",
+            "locationY": "42.695938",
+            "standardname": "Perpignan"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200930",
+            "id": "BE.NMBS.008200930",
+            "name": "Petange",
+            "locationX": "5.878681",
+            "locationY": "49.55425",
+            "standardname": "Petange"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200102",
+            "id": "BE.NMBS.008200102",
+            "name": "Pfaffenthal-Kirchberg",
+            "locationX": "6.132853",
+            "locationY": "49.619126",
+            "standardname": "Pfaffenthal-Kirchberg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008873122",
+            "id": "BE.NMBS.008873122",
+            "name": "Philippeville",
+            "locationX": "4.535956",
+            "locationY": "50.191639",
+            "standardname": "Philippeville"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871415",
+            "id": "BE.NMBS.008871415",
+            "name": "Piéton",
+            "locationX": "4.288438",
+            "locationY": "50.434959",
+            "standardname": "Piéton"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008865227",
+            "id": "BE.NMBS.008865227",
+            "name": "Poix-Saint-Hubert",
+            "locationX": "5.292641",
+            "locationY": "50.019504",
+            "standardname": "Poix-Saint-Hubert"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728683",
+            "id": "BE.NMBS.008728683",
+            "name": "Pont de Bois",
+            "locationX": "3.1275",
+            "locationY": "50.624164",
+            "standardname": "Pont de Bois"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843141",
+            "id": "BE.NMBS.008843141",
+            "name": "Pont-de-Seraing",
+            "locationX": "5.510162",
+            "locationY": "50.619651",
+            "standardname": "Pont-de-Seraing"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871365",
+            "id": "BE.NMBS.008871365",
+            "name": "Pont-à-Celles",
+            "locationX": "4.355291",
+            "locationY": "50.513812",
+            "standardname": "Pont-à-Celles"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896735",
+            "id": "BE.NMBS.008896735",
+            "name": "Poperinge",
+            "locationX": "2.736343",
+            "locationY": "50.854449",
+            "standardname": "Poperinge"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842689",
+            "id": "BE.NMBS.008842689",
+            "name": "Poulseur",
+            "locationX": "5.578858",
+            "locationY": "50.509209",
+            "standardname": "Poulseur"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/005457076",
+            "id": "BE.NMBS.005457076",
+            "name": "Prague Central Station",
+            "locationX": "14.436037",
+            "locationY": "50.083058",
+            "standardname": "Praha Hlavní Nádraží"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811544",
+            "id": "BE.NMBS.008811544",
+            "name": "Profondsart",
+            "locationX": "4.545435",
+            "locationY": "50.699653",
+            "standardname": "Profondsart"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008873312",
+            "id": "BE.NMBS.008873312",
+            "name": "Pry",
+            "locationX": "4.428805",
+            "locationY": "50.269278",
+            "standardname": "Pry"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822715",
+            "id": "BE.NMBS.008822715",
+            "name": "Puurs",
+            "locationX": "4.282703",
+            "locationY": "51.07722",
+            "standardname": "Puurs"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811775",
+            "id": "BE.NMBS.008811775",
+            "name": "Pécrot",
+            "locationX": "4.651486",
+            "locationY": "50.778517",
+            "standardname": "Pécrot"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884855",
+            "id": "BE.NMBS.008884855",
+            "name": "Péruwelz",
+            "locationX": "3.592772",
+            "locationY": "50.513704",
+            "standardname": "Péruwelz"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884541",
+            "id": "BE.NMBS.008884541",
+            "name": "Quaregnon",
+            "locationX": "3.856543",
+            "locationY": "50.449827",
+            "standardname": "Quaregnon"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881505",
+            "id": "BE.NMBS.008881505",
+            "name": "Quevy",
+            "locationX": "3.909489",
+            "locationY": "50.341534",
+            "standardname": "Quevy"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008889003",
+            "id": "BE.NMBS.008889003",
+            "name": "Quevy-frontiere",
+            "locationX": "3.908753",
+            "locationY": "50.32771",
+            "standardname": "Quevy-frontiere"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884335",
+            "id": "BE.NMBS.008884335",
+            "name": "Quievrain",
+            "locationX": "3.68608",
+            "locationY": "50.410103",
+            "standardname": "Quievrain"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008886587",
+            "id": "BE.NMBS.008886587",
+            "name": "Rebaix",
+            "locationX": "3.793627",
+            "locationY": "50.661235",
+            "standardname": "Rebaix"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841442",
+            "id": "BE.NMBS.008841442",
+            "name": "Remicourt",
+            "locationX": "5.321407",
+            "locationY": "50.678611",
+            "standardname": "Remicourt"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008747100",
+            "id": "BE.NMBS.008747100",
+            "name": "Rennes",
+            "locationX": "-1.672744",
+            "locationY": "48.103517",
+            "standardname": "Rennes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861440",
+            "id": "BE.NMBS.008861440",
+            "name": "Rhisnes",
+            "locationX": "4.801866",
+            "locationY": "50.499348",
+            "standardname": "Rhisnes"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842705",
+            "id": "BE.NMBS.008842705",
+            "name": "Rivage",
+            "locationX": "5.587631",
+            "locationY": "50.483285",
+            "standardname": "Rivage"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811536",
+            "id": "BE.NMBS.008811536",
+            "name": "Rixensart",
+            "locationX": "4.532855",
+            "locationY": "50.711413",
+            "standardname": "Rixensart"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864006",
+            "id": "BE.NMBS.008864006",
+            "name": "Rochefort-Jemelle",
+            "locationX": "5.266698",
+            "locationY": "50.160401",
+            "standardname": "Rochefort-Jemelle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200940",
+            "id": "BE.NMBS.008200940",
+            "name": "Rodange",
+            "locationX": "5.845028",
+            "locationY": "49.551283",
+            "standardname": "Rodange"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896800",
+            "id": "BE.NMBS.008896800",
+            "name": "Roeselare",
+            "locationX": "3.130412",
+            "locationY": "50.949025",
+            "standardname": "Roeselare"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861119",
+            "id": "BE.NMBS.008861119",
+            "name": "Ronet",
+            "locationX": "4.82842",
+            "locationY": "50.457737",
+            "standardname": "Ronet"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892908",
+            "id": "BE.NMBS.008892908",
+            "name": "Ronse/Renaix",
+            "locationX": "3.602552",
+            "locationY": "50.742506",
+            "standardname": "Ronse"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400526",
+            "id": "BE.NMBS.008400526",
+            "name": "Roosendaal",
+            "locationX": "4.458692",
+            "locationY": "51.540834",
+            "standardname": "Roosendaal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400530",
+            "id": "BE.NMBS.008400530",
+            "name": "Rotterdam CS",
+            "locationX": "4.469313",
+            "locationY": "51.92485",
+            "standardname": "Rotterdam CS"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728673",
+            "id": "BE.NMBS.008728673",
+            "name": "Roubaix",
+            "locationX": "3.166666",
+            "locationY": "50.699997",
+            "standardname": "Roubaix"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871217",
+            "id": "BE.NMBS.008871217",
+            "name": "Roux",
+            "locationX": "4.393199",
+            "locationY": "50.443112",
+            "standardname": "Roux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814365",
+            "id": "BE.NMBS.008814365",
+            "name": "Ruisbroek",
+            "locationX": "4.295333",
+            "locationY": "50.79183",
+            "standardname": "Ruisbroek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822848",
+            "id": "BE.NMBS.008822848",
+            "name": "Ruisbroek-Sauvegarde",
+            "locationX": "4.324998",
+            "locationY": "51.081022",
+            "standardname": "Ruisbroek-Sauvegarde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008861432",
+            "id": "BE.NMBS.008861432",
+            "name": "Saint-Denis-Bovesse",
+            "locationX": "4.767788",
+            "locationY": "50.5213",
+            "standardname": "Saint-Denis-Bovesse"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884004",
+            "id": "BE.NMBS.008884004",
+            "name": "Saint-Ghislain",
+            "locationX": "3.820253",
+            "locationY": "50.44286",
+            "standardname": "Saint-Ghislain"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008718213",
+            "id": "BE.NMBS.008718213",
+            "name": "Saint-Louis-Haut-Rhin",
+            "locationX": "7.555316",
+            "locationY": "47.5907",
+            "standardname": "Saint-Louis-Haut-Rhin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008775752",
+            "id": "BE.NMBS.008775752",
+            "name": "Saint-Raphaël-Valescure",
+            "locationX": "6.768825",
+            "locationY": "43.423456",
+            "standardname": "Saint-Raphaël-Valescure"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008864956",
+            "id": "BE.NMBS.008864956",
+            "name": "Sart-Bernard",
+            "locationX": "4.949739",
+            "locationY": "50.406373",
+            "standardname": "Sart-Bernard"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008721222",
+            "id": "BE.NMBS.008721222",
+            "name": "Saverne",
+            "locationX": "7.362255",
+            "locationY": "48.744798",
+            "standardname": "Saverne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811007",
+            "id": "BE.NMBS.008811007",
+            "name": "Schaarbeek/Schaerbeek",
+            "locationX": "4.378636",
+            "locationY": "50.878513",
+            "standardname": "Schaarbeek/Schaerbeek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893070",
+            "id": "BE.NMBS.008893070",
+            "name": "Scheldewindeke",
+            "locationX": "3.777842",
+            "locationY": "50.937069",
+            "standardname": "Scheldewindeke"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008824232",
+            "id": "BE.NMBS.008824232",
+            "name": "Schelle",
+            "locationX": "4.340261",
+            "locationY": "51.12551",
+            "standardname": "Schelle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893542",
+            "id": "BE.NMBS.008893542",
+            "name": "Schellebelle",
+            "locationX": "3.921373",
+            "locationY": "51.003149",
+            "standardname": "Schellebelle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895711",
+            "id": "BE.NMBS.008895711",
+            "name": "Schendelbeke",
+            "locationX": "3.899286",
+            "locationY": "50.797844",
+            "standardname": "Schendelbeke"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400561",
+            "id": "BE.NMBS.008400561",
+            "name": "Schiphol",
+            "locationX": "4.75",
+            "locationY": "52.3",
+            "standardname": "Schiphol"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893526",
+            "id": "BE.NMBS.008893526",
+            "name": "Schoonaarde",
+            "locationX": "4.011094",
+            "locationY": "51.003149",
+            "standardname": "Schoonaarde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200716",
+            "id": "BE.NMBS.008200716",
+            "name": "Schouweiler",
+            "locationX": "5.960076",
+            "locationY": "49.57364",
+            "standardname": "Schouweiler"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008831088",
+            "id": "BE.NMBS.008831088",
+            "name": "Schulen",
+            "locationX": "5.187405",
+            "locationY": "50.963758",
+            "standardname": "Schulen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863446",
+            "id": "BE.NMBS.008863446",
+            "name": "Sclaigneaux",
+            "locationX": "5.026363",
+            "locationY": "50.492247",
+            "standardname": "Sclaigneaux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843133",
+            "id": "BE.NMBS.008843133",
+            "name": "Sclessin",
+            "locationX": "5.558911",
+            "locationY": "50.609844",
+            "standardname": "Sclessin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008721405",
+            "id": "BE.NMBS.008721405",
+            "name": "Selestat",
+            "locationX": "7.449999",
+            "locationY": "48.26667",
+            "standardname": "Selestat"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843067",
+            "id": "BE.NMBS.008843067",
+            "name": "Seraing",
+            "locationX": "5.513777",
+            "locationY": "50.6089",
+            "standardname": "Seraing"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893583",
+            "id": "BE.NMBS.008893583",
+            "name": "Serskamp",
+            "locationX": "3.959361",
+            "locationY": "50.984397",
+            "standardname": "Serskamp"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008015588",
+            "id": "BE.NMBS.008015588",
+            "name": "Siegburg",
+            "locationX": "7.203029",
+            "locationY": "50.793916",
+            "standardname": "Siegburg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008883436",
+            "id": "BE.NMBS.008883436",
+            "name": "Silly",
+            "locationX": "3.935863",
+            "locationY": "50.662386",
+            "standardname": "Silly"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812013",
+            "id": "BE.NMBS.008812013",
+            "name": "Simonis",
+            "locationX": "4.32898",
+            "locationY": "50.863645",
+            "standardname": "Simonis"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894425",
+            "id": "BE.NMBS.008894425",
+            "name": "Sinaai",
+            "locationX": "4.06894",
+            "locationY": "51.143398",
+            "standardname": "Sinaai"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812211",
+            "id": "BE.NMBS.008812211",
+            "name": "Sint-Agatha-Berchem/Berchem-Sainte-Agathe",
+            "locationX": "4.289895",
+            "locationY": "50.872625",
+            "standardname": "Sint-Agatha-Berchem/Berchem-Sainte-Agathe"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892692",
+            "id": "BE.NMBS.008892692",
+            "name": "Sint-Denijs-Boekel",
+            "locationX": "3.698395",
+            "locationY": "50.874297",
+            "standardname": "Sint-Denijs-Boekel"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893443",
+            "id": "BE.NMBS.008893443",
+            "name": "Sint-Gillis-Dendermonde",
+            "locationX": "4.117832",
+            "locationY": "51.021693",
+            "standardname": "Sint-Gillis-Dendermonde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814449",
+            "id": "BE.NMBS.008814449",
+            "name": "Sint-Job/Saint-Job",
+            "locationX": "4.362761",
+            "locationY": "50.79441",
+            "standardname": "Sint-Job"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833159",
+            "id": "BE.NMBS.008833159",
+            "name": "Sint-Joris-Weert",
+            "locationX": "4.651728",
+            "locationY": "50.800631",
+            "standardname": "Sint-Joris-Weert"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822228",
+            "id": "BE.NMBS.008822228",
+            "name": "Sint-Katelijne-Waver",
+            "locationX": "4.496116",
+            "locationY": "51.069975",
+            "standardname": "Sint-Katelijne-Waver"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821543",
+            "id": "BE.NMBS.008821543",
+            "name": "Sint-Mariaburg",
+            "locationX": "4.4349",
+            "locationY": "51.291658",
+            "standardname": "Sint-Mariaburg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812245",
+            "id": "BE.NMBS.008812245",
+            "name": "Sint-Martens-Bodegem",
+            "locationX": "4.205081",
+            "locationY": "50.86716",
+            "standardname": "Sint-Martens-Bodegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894508",
+            "id": "BE.NMBS.008894508",
+            "name": "Sint-Niklaas",
+            "locationX": "4.142966",
+            "locationY": "51.171472",
+            "standardname": "Sint-Niklaas"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008831807",
+            "id": "BE.NMBS.008831807",
+            "name": "Sint-Truiden",
+            "locationX": "5.176654",
+            "locationY": "50.81762",
+            "standardname": "Sint-Truiden"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893260",
+            "id": "BE.NMBS.008893260",
+            "name": "Sleidinge",
+            "locationX": "3.667526",
+            "locationY": "51.126607",
+            "standardname": "Sleidinge"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008883113",
+            "id": "BE.NMBS.008883113",
+            "name": "Soignies",
+            "locationX": "4.067519",
+            "locationY": "50.572763",
+            "standardname": "Soignies"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871662",
+            "id": "BE.NMBS.008871662",
+            "name": "Solre-sur-Sambre",
+            "locationX": "4.158427",
+            "locationY": "50.312642",
+            "standardname": "Solre-sur-Sambre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844404",
+            "id": "BE.NMBS.008844404",
+            "name": "Spa",
+            "locationX": "5.855096",
+            "locationY": "50.490305",
+            "standardname": "Spa"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844420",
+            "id": "BE.NMBS.008844420",
+            "name": "Spa-Géronstère",
+            "locationX": "5.866207",
+            "locationY": "50.489307",
+            "standardname": "Spa-Géronstère"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814167",
+            "id": "BE.NMBS.008814167",
+            "name": "St.-Genesius-Rode/Rhode-St.-Genese",
+            "locationX": "4.361997",
+            "locationY": "50.74781",
+            "standardname": "Sint-Genesius-Rode"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008843406",
+            "id": "BE.NMBS.008843406",
+            "name": "Statte",
+            "locationX": "5.219676",
+            "locationY": "50.528276",
+            "standardname": "Statte"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008869054",
+            "id": "BE.NMBS.008869054",
+            "name": "Sterpenich-Frontiere",
+            "locationX": "5.90415",
+            "locationY": "49.64396",
+            "standardname": "Sterpenich-Frontiere"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008862018",
+            "id": "BE.NMBS.008862018",
+            "name": "Stockem",
+            "locationX": "5.769115",
+            "locationY": "49.690939",
+            "standardname": "Stockem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008721202",
+            "id": "BE.NMBS.008721202",
+            "name": "Strasbourg",
+            "locationX": "7.733905",
+            "locationY": "48.585437",
+            "standardname": "Strasbourg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842853",
+            "id": "BE.NMBS.008842853",
+            "name": "Sy",
+            "locationX": "5.523565",
+            "locationY": "50.403254",
+            "standardname": "Sy"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008777320",
+            "id": "BE.NMBS.008777320",
+            "name": "Sète",
+            "locationX": "3.696535",
+            "locationY": "43.41281",
+            "standardname": "Sète"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008874609",
+            "id": "BE.NMBS.008874609",
+            "name": "Tamines",
+            "locationX": "4.608823",
+            "locationY": "50.432235",
+            "standardname": "Tamines"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894672",
+            "id": "BE.NMBS.008894672",
+            "name": "Temse",
+            "locationX": "4.221352",
+            "locationY": "51.126085",
+            "standardname": "Temse"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895448",
+            "id": "BE.NMBS.008895448",
+            "name": "Terhagen",
+            "locationX": "3.896653",
+            "locationY": "50.901643",
+            "standardname": "Terhagen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812252",
+            "id": "BE.NMBS.008812252",
+            "name": "Ternat",
+            "locationX": "4.16534",
+            "locationY": "50.874522",
+            "standardname": "Ternat"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833266",
+            "id": "BE.NMBS.008833266",
+            "name": "Testelt",
+            "locationX": "4.945829",
+            "locationY": "51.009864",
+            "standardname": "Testelt"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844339",
+            "id": "BE.NMBS.008844339",
+            "name": "Theux",
+            "locationX": "5.815031",
+            "locationY": "50.536159",
+            "standardname": "Theux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008881455",
+            "id": "BE.NMBS.008881455",
+            "name": "Thieu",
+            "locationX": "4.098523",
+            "locationY": "50.46954",
+            "standardname": "Thieu"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008719100",
+            "id": "BE.NMBS.008719100",
+            "name": "Thionville",
+            "locationX": "6.166663",
+            "locationY": "49.366663",
+            "standardname": "Thionville"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008871811",
+            "id": "BE.NMBS.008871811",
+            "name": "Thuin",
+            "locationX": "4.288906",
+            "locationY": "50.342738",
+            "standardname": "Thuin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884350",
+            "id": "BE.NMBS.008884350",
+            "name": "Thulin",
+            "locationX": "3.744708",
+            "locationY": "50.423335",
+            "standardname": "Thulin"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008815016",
+            "id": "BE.NMBS.008815016",
+            "name": "Thurn en Taxis",
+            "locationX": "4.341090917587279",
+            "locationY": "50.87175167644673",
+            "standardname": "Thurn en Taxis/Tour et Taxis"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821964",
+            "id": "BE.NMBS.008821964",
+            "name": "Tielen",
+            "locationX": "4.893089",
+            "locationY": "51.241021",
+            "standardname": "Tielen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892254",
+            "id": "BE.NMBS.008892254",
+            "name": "Tielt",
+            "locationX": "3.330341",
+            "locationY": "50.990842",
+            "standardname": "Tielt"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833308",
+            "id": "BE.NMBS.008833308",
+            "name": "Tienen",
+            "locationX": "4.92581",
+            "locationY": "50.80802",
+            "standardname": "Tienen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008842630",
+            "id": "BE.NMBS.008842630",
+            "name": "Tilff",
+            "locationX": "5.583937",
+            "locationY": "50.570624",
+            "standardname": "Tilff"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008872553",
+            "id": "BE.NMBS.008872553",
+            "name": "Tilly",
+            "locationX": "4.552676",
+            "locationY": "50.558084",
+            "standardname": "Tilly"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895638",
+            "id": "BE.NMBS.008895638",
+            "name": "Tollembeek",
+            "locationX": "3.992828",
+            "locationY": "50.735522",
+            "standardname": "Tollembeek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008831310",
+            "id": "BE.NMBS.008831310",
+            "name": "Tongeren",
+            "locationX": "5.47328",
+            "locationY": "50.784405",
+            "standardname": "Tongeren"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891314",
+            "id": "BE.NMBS.008891314",
+            "name": "Torhout",
+            "locationX": "3.105871",
+            "locationY": "51.064707",
+            "standardname": "Torhout"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008775500",
+            "id": "BE.NMBS.008775500",
+            "name": "Toulon",
+            "locationX": "5.9326648",
+            "locationY": "43.1274781",
+            "standardname": "Toulon"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008728654",
+            "id": "BE.NMBS.008728654",
+            "name": "Tourcoing",
+            "locationX": "3.15",
+            "locationY": "50.716667",
+            "standardname": "Tourcoing"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008885001",
+            "id": "BE.NMBS.008885001",
+            "name": "Tournai",
+            "locationX": "3.396942",
+            "locationY": "50.613134",
+            "standardname": "Tournai"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008845203",
+            "id": "BE.NMBS.008845203",
+            "name": "Trois-Ponts",
+            "locationX": "5.873578",
+            "locationY": "50.368214",
+            "standardname": "Trois-Ponts"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200136",
+            "id": "BE.NMBS.008200136",
+            "name": "Troisvierges",
+            "locationX": "6.000281",
+            "locationY": "50.121109",
+            "standardname": "Troisvierges"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844271",
+            "id": "BE.NMBS.008844271",
+            "name": "Trooz",
+            "locationX": "5.688346",
+            "locationY": "50.573213",
+            "standardname": "Trooz"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008883808",
+            "id": "BE.NMBS.008883808",
+            "name": "Tubize",
+            "locationX": "4.205729",
+            "locationY": "50.691708",
+            "standardname": "Tubize"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821907",
+            "id": "BE.NMBS.008821907",
+            "name": "Turnhout",
+            "locationX": "4.937415",
+            "locationY": "51.322032",
+            "standardname": "Turnhout"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814134",
+            "id": "BE.NMBS.008814134",
+            "name": "Ukkel-Kalevoet/Uccle-Calevoet",
+            "locationX": "4.332207",
+            "locationY": "50.791749",
+            "standardname": "Ukkel-Kalevoet/Uccle-Calevoet"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814126",
+            "id": "BE.NMBS.008814126",
+            "name": "Ukkel-Stalle/Uccle-Stalle",
+            "locationX": "4.323901",
+            "locationY": "50.802411",
+            "standardname": "Ukkel-Stalle/Uccle-Stalle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400621",
+            "id": "BE.NMBS.008400621",
+            "name": "Utrecht Centraal",
+            "locationX": "5.109722",
+            "locationY": "52.089167",
+            "standardname": "Utrecht Centraal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008776302",
+            "id": "BE.NMBS.008776302",
+            "name": "Valence TGV",
+            "locationX": "4.9",
+            "locationY": "44.93333",
+            "standardname": "Valence TGV"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008400632",
+            "id": "BE.NMBS.008400632",
+            "name": "Valkenburg",
+            "locationX": "5.832888",
+            "locationY": "50.86928",
+            "standardname": "Valkenburg"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811270",
+            "id": "BE.NMBS.008811270",
+            "name": "Veltem",
+            "locationX": "4.633516",
+            "locationY": "50.900519",
+            "standardname": "Veltem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008302593",
+            "id": "BE.NMBS.008302593",
+            "name": "Venezia Santa Lucia",
+            "locationX": "12.321039",
+            "locationY": "45.440975",
+            "standardname": "Venezia Santa Lucia"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833050",
+            "id": "BE.NMBS.008833050",
+            "name": "Vertrijk",
+            "locationX": "4.835522",
+            "locationY": "50.836282",
+            "standardname": "Vertrijk"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844008",
+            "id": "BE.NMBS.008844008",
+            "name": "Verviers-Central",
+            "locationX": "5.854917",
+            "locationY": "50.588135",
+            "standardname": "Verviers-Central"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844057",
+            "id": "BE.NMBS.008844057",
+            "name": "Verviers-Palais",
+            "locationX": "5.865335",
+            "locationY": "50.590921",
+            "standardname": "Verviers-Palais"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892304",
+            "id": "BE.NMBS.008892304",
+            "name": "Veurne",
+            "locationX": "2.66994",
+            "locationY": "51.073867",
+            "standardname": "Veurne"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895612",
+            "id": "BE.NMBS.008895612",
+            "name": "Viane-Moerbeke",
+            "locationX": "3.917337",
+            "locationY": "50.751981",
+            "standardname": "Viane-Moerbeke"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896230",
+            "id": "BE.NMBS.008896230",
+            "name": "Vichte",
+            "locationX": "3.39163",
+            "locationY": "50.833657",
+            "standardname": "Vichte"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008845146",
+            "id": "BE.NMBS.008845146",
+            "name": "Vielsalm",
+            "locationX": "5.909211",
+            "locationY": "50.278933",
+            "standardname": "Vielsalm"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008101003",
+            "id": "BE.NMBS.008101003",
+            "name": "Vienna Main Station",
+            "locationX": "16.375864",
+            "locationY": "48.184923",
+            "standardname": "Wien Hbf"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895489",
+            "id": "BE.NMBS.008895489",
+            "name": "Vijfhuizen",
+            "locationX": "3.98125",
+            "locationY": "50.943254",
+            "standardname": "Vijfhuizen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008884632",
+            "id": "BE.NMBS.008884632",
+            "name": "Ville-Pommerœul",
+            "locationX": "3.724248",
+            "locationY": "50.464542",
+            "standardname": "Ville-Pommerœul"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008872579",
+            "id": "BE.NMBS.008872579",
+            "name": "Villers-la-Ville",
+            "locationX": "4.533349",
+            "locationY": "50.578103",
+            "standardname": "Villers-la-Ville"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811189",
+            "id": "BE.NMBS.008811189",
+            "name": "Vilvoorde",
+            "locationX": "4.432823",
+            "locationY": "50.924583",
+            "standardname": "Vilvoorde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866407",
+            "id": "BE.NMBS.008866407",
+            "name": "Virton",
+            "locationX": "5.519125",
+            "locationY": "49.560821",
+            "standardname": "Virton"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008849064",
+            "id": "BE.NMBS.008849064",
+            "name": "Vise-Frontiere",
+            "locationX": "5.702903",
+            "locationY": "50.758413",
+            "standardname": "Vise-Frontiere"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008846201",
+            "id": "BE.NMBS.008846201",
+            "name": "Visé",
+            "locationX": "5.692544",
+            "locationY": "50.73776",
+            "standardname": "Visé"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008866118",
+            "id": "BE.NMBS.008866118",
+            "name": "Viville",
+            "locationX": "5.786527",
+            "locationY": "49.688243",
+            "standardname": "Viville"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841327",
+            "id": "BE.NMBS.008841327",
+            "name": "Voroux",
+            "locationX": "5.429556",
+            "locationY": "50.66181",
+            "standardname": "Voroux"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814118",
+            "id": "BE.NMBS.008814118",
+            "name": "Vorst-Oost/Forest-Est",
+            "locationX": "4.320943",
+            "locationY": "50.810195",
+            "standardname": "Vorst-Oost/Forest-Est"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814373",
+            "id": "BE.NMBS.008814373",
+            "name": "Vorst-Zuid/Forest-Midi",
+            "locationX": "4.309167",
+            "locationY": "50.809215",
+            "standardname": "Vorst-Zuid/Forest-Midi"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893815",
+            "id": "BE.NMBS.008893815",
+            "name": "Waarschoot",
+            "locationX": "3.615353",
+            "locationY": "51.154608",
+            "standardname": "Waarschoot"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008873007",
+            "id": "BE.NMBS.008873007",
+            "name": "Walcourt",
+            "locationX": "4.435879",
+            "locationY": "50.259219",
+            "standardname": "Walcourt"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896149",
+            "id": "BE.NMBS.008896149",
+            "name": "Waregem",
+            "locationX": "3.42551",
+            "locationY": "50.892456",
+            "standardname": "Waregem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008841400",
+            "id": "BE.NMBS.008841400",
+            "name": "Waremme",
+            "locationX": "5.249475",
+            "locationY": "50.694549",
+            "standardname": "Waremme"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008814266",
+            "id": "BE.NMBS.008814266",
+            "name": "Waterloo",
+            "locationX": "4.383481",
+            "locationY": "50.715422",
+            "standardname": "Waterloo"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811429",
+            "id": "BE.NMBS.008811429",
+            "name": "Watermaal/Watermael",
+            "locationX": "4.399887",
+            "locationY": "50.80917",
+            "standardname": "Watermaal/Watermael"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811726",
+            "id": "BE.NMBS.008811726",
+            "name": "Wavre",
+            "locationX": "4.604778",
+            "locationY": "50.716267",
+            "standardname": "Wavre"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822251",
+            "id": "BE.NMBS.008822251",
+            "name": "Weerde",
+            "locationX": "4.470937",
+            "locationY": "50.977449",
+            "standardname": "Weerde"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008844503",
+            "id": "BE.NMBS.008844503",
+            "name": "Welkenraedt",
+            "locationX": "5.975381",
+            "locationY": "50.659707",
+            "standardname": "Welkenraedt"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895851",
+            "id": "BE.NMBS.008895851",
+            "name": "Welle",
+            "locationX": "4.05062",
+            "locationY": "50.903279",
+            "standardname": "Welle"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896396",
+            "id": "BE.NMBS.008896396",
+            "name": "Wervik",
+            "locationX": "3.046983",
+            "locationY": "50.781861",
+            "standardname": "Wervik"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822525",
+            "id": "BE.NMBS.008822525",
+            "name": "Wespelaar-Tildonk",
+            "locationX": "4.638011",
+            "locationY": "50.958544",
+            "standardname": "Wespelaar-Tildonk"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893559",
+            "id": "BE.NMBS.008893559",
+            "name": "Wetteren",
+            "locationX": "3.881883",
+            "locationY": "51.001603",
+            "standardname": "Wetteren"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896370",
+            "id": "BE.NMBS.008896370",
+            "name": "Wevelgem",
+            "locationX": "3.18352",
+            "locationY": "50.811526",
+            "standardname": "Wevelgem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833233",
+            "id": "BE.NMBS.008833233",
+            "name": "Wezemaal",
+            "locationX": "4.747679",
+            "locationY": "50.956261",
+            "standardname": "Wezemaal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893534",
+            "id": "BE.NMBS.008893534",
+            "name": "Wichelen",
+            "locationX": "3.969195",
+            "locationY": "51.001962",
+            "standardname": "Wichelen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833175",
+            "id": "BE.NMBS.008833175",
+            "name": "Wijgmaal",
+            "locationX": "4.701475",
+            "locationY": "50.92274",
+            "standardname": "Wijgmaal"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821436",
+            "id": "BE.NMBS.008821436",
+            "name": "Wildert",
+            "locationX": "4.46335",
+            "locationY": "51.428087",
+            "standardname": "Wildert"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008822608",
+            "id": "BE.NMBS.008822608",
+            "name": "Willebroek",
+            "locationX": "4.356019",
+            "locationY": "51.066343",
+            "standardname": "Willebroek"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008200132",
+            "id": "BE.NMBS.008200132",
+            "name": "Wilwerwiltz",
+            "locationX": "5.999166",
+            "locationY": "49.988887",
+            "standardname": "Wilwerwiltz"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008821709",
+            "id": "BE.NMBS.008821709",
+            "name": "Wolfstee",
+            "locationX": "4.786144",
+            "locationY": "51.168361",
+            "standardname": "Wolfstee"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008893211",
+            "id": "BE.NMBS.008893211",
+            "name": "Wondelgem",
+            "locationX": "3.719071",
+            "locationY": "51.088357",
+            "standardname": "Wondelgem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008847258",
+            "id": "BE.NMBS.008847258",
+            "name": "Y.renory",
+            "locationX": "5.55788",
+            "locationY": "50.604856",
+            "standardname": "Y.renory"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008896503",
+            "id": "BE.NMBS.008896503",
+            "name": "Ypres",
+            "locationX": "2.876593",
+            "locationY": "50.847402",
+            "standardname": "Ieper"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008873239",
+            "id": "BE.NMBS.008873239",
+            "name": "Yves-Gomezée",
+            "locationX": "4.500404",
+            "locationY": "50.23698",
+            "standardname": "Yves-Gomezée"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008863545",
+            "id": "BE.NMBS.008863545",
+            "name": "Yvoir",
+            "locationX": "4.878643",
+            "locationY": "50.32084",
+            "standardname": "Yvoir"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895737",
+            "id": "BE.NMBS.008895737",
+            "name": "Zandbergen",
+            "locationX": "3.957653",
+            "locationY": "50.806986",
+            "standardname": "Zandbergen"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008811221",
+            "id": "BE.NMBS.008811221",
+            "name": "Zaventem",
+            "locationX": "4.469886",
+            "locationY": "50.885723",
+            "standardname": "Zaventem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891264",
+            "id": "BE.NMBS.008891264",
+            "name": "Zedelgem",
+            "locationX": "3.16414",
+            "locationY": "51.127047",
+            "standardname": "Zedelgem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891553",
+            "id": "BE.NMBS.008891553",
+            "name": "Zeebrugge-Dorp",
+            "locationX": "3.19517",
+            "locationY": "51.326383",
+            "standardname": "Zeebrugge-Dorp"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891173",
+            "id": "BE.NMBS.008891173",
+            "name": "Zeebrugge-Strand",
+            "locationX": "3.184028",
+            "locationY": "51.330503",
+            "standardname": "Zeebrugge-Strand"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894235",
+            "id": "BE.NMBS.008894235",
+            "name": "Zele",
+            "locationX": "4.041999",
+            "locationY": "51.073256",
+            "standardname": "Zele"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008812062",
+            "id": "BE.NMBS.008812062",
+            "name": "Zellik",
+            "locationX": "4.274541",
+            "locationY": "50.890028",
+            "standardname": "Zellik"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008833274",
+            "id": "BE.NMBS.008833274",
+            "name": "Zichem",
+            "locationX": "4.987359",
+            "locationY": "51.00669",
+            "standardname": "Zichem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008892635",
+            "id": "BE.NMBS.008892635",
+            "name": "Zingem",
+            "locationX": "3.646384",
+            "locationY": "50.908025",
+            "standardname": "Zingem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832250",
+            "id": "BE.NMBS.008832250",
+            "name": "Zolder",
+            "locationX": "5.3299",
+            "locationY": "51.033548",
+            "standardname": "Zolder"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008832334",
+            "id": "BE.NMBS.008832334",
+            "name": "Zonhoven",
+            "locationX": "5.348815",
+            "locationY": "50.989557",
+            "standardname": "Zonhoven"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008895208",
+            "id": "BE.NMBS.008895208",
+            "name": "Zottegem",
+            "locationX": "3.81441",
+            "locationY": "50.869102",
+            "standardname": "Zottegem"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008891611",
+            "id": "BE.NMBS.008891611",
+            "name": "Zwankendamme",
+            "locationX": "3.191557",
+            "locationY": "51.306409",
+            "standardname": "Zwankendamme"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008894821",
+            "id": "BE.NMBS.008894821",
+            "name": "Zwijndrecht",
+            "locationX": "4.32978",
+            "locationY": "51.214108",
+            "standardname": "Zwijndrecht"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008800252",
+            "id": "BE.NMBS.008800252",
+            "name": "Zwijndrecht-Dorp",
+            "locationX": "4.3256707",
+            "locationY": "51.2191653",
+            "standardname": "Zwijndrecht-Dorp"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/000000252",
+            "id": "BE.NMBS.000000252",
+            "name": "Zwijndrecht-Dorp",
+            "locationX": "4.3256707",
+            "locationY": "51.2191653",
+            "standardname": "Zwijndrecht-Dorp"
+        },
+        {
+            "@id": "http://irail.be/stations/NMBS/008883212",
+            "id": "BE.NMBS.008883212",
+            "name": "Écaussinnes",
+            "locationX": "4.156639",
+            "locationY": "50.56239",
+            "standardname": "Écaussinnes"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/examples/vehicle.json b/examples/vehicle.json
new file mode 100644
index 0000000..d79d428
--- /dev/null
+++ b/examples/vehicle.json
@@ -0,0 +1,558 @@
+{
+    "version": "1.3",
+    "timestamp": "1736203520",
+    "vehicle": "BE.NMBS.IC3033",
+    "vehicleinfo": {
+        "name": "BE.NMBS.IC3033",
+        "shortname": "IC 3033",
+        "number": "3033",
+        "type": "IC",
+        "locationX": "0",
+        "locationY": "0",
+        "@id": "http://irail.be/vehicle/IC3033"
+    },
+    "stops": {
+        "number": "16",
+        "stop": [
+            {
+                "id": "0",
+                "station": "De Panne",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892338",
+                    "id": "BE.NMBS.008892338",
+                    "name": "De Panne",
+                    "locationX": "2.601963",
+                    "locationY": "51.0774",
+                    "standardname": "De Panne"
+                },
+                "time": "1736157120",
+                "platform": "1",
+                "platforminfo": {
+                    "name": "1",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736157120",
+                "scheduledArrivalTime": "1736157120",
+                "delay": "0",
+                "canceled": "0",
+                "departureDelay": "0",
+                "departureCanceled": "0",
+                "arrivalDelay": "0",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8892338/20250106/IC3033"
+            },
+            {
+                "id": "1",
+                "station": "Koksijde",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892320",
+                    "id": "BE.NMBS.008892320",
+                    "name": "Koksijde",
+                    "locationX": "2.65277",
+                    "locationY": "51.079197",
+                    "standardname": "Koksijde"
+                },
+                "time": "1736157360",
+                "platform": "1",
+                "platforminfo": {
+                    "name": "1",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736157360",
+                "scheduledArrivalTime": "1736157300",
+                "delay": "60",
+                "canceled": "0",
+                "departureDelay": "60",
+                "departureCanceled": "0",
+                "arrivalDelay": "60",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8892320/20250106/IC3033"
+            },
+            {
+                "id": "2",
+                "station": "Veurne",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892304",
+                    "id": "BE.NMBS.008892304",
+                    "name": "Veurne",
+                    "locationX": "2.66994",
+                    "locationY": "51.073867",
+                    "standardname": "Veurne"
+                },
+                "time": "1736157660",
+                "platform": "1",
+                "platforminfo": {
+                    "name": "1",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736157660",
+                "scheduledArrivalTime": "1736157540",
+                "delay": "0",
+                "canceled": "0",
+                "departureDelay": "0",
+                "departureCanceled": "0",
+                "arrivalDelay": "0",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8892304/20250106/IC3033"
+            },
+            {
+                "id": "3",
+                "station": "Diksmuide",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892452",
+                    "id": "BE.NMBS.008892452",
+                    "name": "Diksmuide",
+                    "locationX": "2.868943",
+                    "locationY": "51.032723",
+                    "standardname": "Diksmuide"
+                },
+                "time": "1736158380",
+                "platform": "1",
+                "platforminfo": {
+                    "name": "1",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736158380",
+                "scheduledArrivalTime": "1736158260",
+                "delay": "0",
+                "canceled": "0",
+                "departureDelay": "0",
+                "departureCanceled": "0",
+                "arrivalDelay": "0",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8892452/20250106/IC3033"
+            },
+            {
+                "id": "4",
+                "station": "Kortemark",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892403",
+                    "id": "BE.NMBS.008892403",
+                    "name": "Kortemark",
+                    "locationX": "3.043459",
+                    "locationY": "51.025244",
+                    "standardname": "Kortemark"
+                },
+                "time": "1736158980",
+                "platform": "1",
+                "platforminfo": {
+                    "name": "1",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736158980",
+                "scheduledArrivalTime": "1736158920",
+                "delay": "0",
+                "canceled": "0",
+                "departureDelay": "0",
+                "departureCanceled": "0",
+                "arrivalDelay": "-60",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/unknown",
+                    "name": "unknown"
+                },
+                "departureConnection": "http://irail.be/connections/8892403/20250106/IC3033"
+            },
+            {
+                "id": "5",
+                "station": "Lichtervelde",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892205",
+                    "id": "BE.NMBS.008892205",
+                    "name": "Lichtervelde",
+                    "locationX": "3.127212",
+                    "locationY": "51.025163",
+                    "standardname": "Lichtervelde"
+                },
+                "time": "1736159400",
+                "platform": "1",
+                "platforminfo": {
+                    "name": "1",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736159400",
+                "scheduledArrivalTime": "1736159280",
+                "delay": "120",
+                "canceled": "0",
+                "departureDelay": "120",
+                "departureCanceled": "0",
+                "arrivalDelay": "120",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8892205/20250106/IC3033"
+            },
+            {
+                "id": "6",
+                "station": "Tielt",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892254",
+                    "id": "BE.NMBS.008892254",
+                    "name": "Tielt",
+                    "locationX": "3.330341",
+                    "locationY": "50.990842",
+                    "standardname": "Tielt"
+                },
+                "time": "1736160120",
+                "platform": "1",
+                "platforminfo": {
+                    "name": "1",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736160120",
+                "scheduledArrivalTime": "1736160060",
+                "delay": "180",
+                "canceled": "0",
+                "departureDelay": "180",
+                "departureCanceled": "0",
+                "arrivalDelay": "120",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/medium",
+                    "name": "medium"
+                },
+                "departureConnection": "http://irail.be/connections/8892254/20250106/IC3033"
+            },
+            {
+                "id": "7",
+                "station": "Deinze",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892106",
+                    "id": "BE.NMBS.008892106",
+                    "name": "Deinze",
+                    "locationX": "3.534432",
+                    "locationY": "50.978258",
+                    "standardname": "Deinze"
+                },
+                "time": "1736160780",
+                "platform": "5",
+                "platforminfo": {
+                    "name": "5",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736160780",
+                "scheduledArrivalTime": "1736160720",
+                "delay": "180",
+                "canceled": "0",
+                "departureDelay": "180",
+                "departureCanceled": "0",
+                "arrivalDelay": "120",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8892106/20250106/IC3033"
+            },
+            {
+                "id": "8",
+                "station": "De Pinte",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892080",
+                    "id": "BE.NMBS.008892080",
+                    "name": "De Pinte",
+                    "locationX": "3.650465",
+                    "locationY": "50.997063",
+                    "standardname": "De Pinte"
+                },
+                "time": "1736161260",
+                "platform": "4",
+                "platforminfo": {
+                    "name": "4",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736161260",
+                "scheduledArrivalTime": "1736161140",
+                "delay": "60",
+                "canceled": "0",
+                "departureDelay": "60",
+                "departureCanceled": "0",
+                "arrivalDelay": "120",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8892080/20250106/IC3033"
+            },
+            {
+                "id": "9",
+                "station": "Ghent-Sint-Pieters",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008892007",
+                    "id": "BE.NMBS.008892007",
+                    "name": "Ghent-Sint-Pieters",
+                    "locationX": "3.710675",
+                    "locationY": "51.035896",
+                    "standardname": "Gent-Sint-Pieters"
+                },
+                "time": "1736161800",
+                "platform": "1",
+                "platforminfo": {
+                    "name": "1",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736161800",
+                "scheduledArrivalTime": "1736161620",
+                "delay": "60",
+                "canceled": "0",
+                "departureDelay": "60",
+                "departureCanceled": "0",
+                "arrivalDelay": "120",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8892007/20250106/IC3033"
+            },
+            {
+                "id": "10",
+                "station": "Ghent-Dampoort",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008893120",
+                    "id": "BE.NMBS.008893120",
+                    "name": "Ghent-Dampoort",
+                    "locationX": "3.740591",
+                    "locationY": "51.056365",
+                    "standardname": "Gent-Dampoort"
+                },
+                "time": "1736162340",
+                "platform": "2",
+                "platforminfo": {
+                    "name": "2",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736162340",
+                "scheduledArrivalTime": "1736162280",
+                "delay": "60",
+                "canceled": "0",
+                "departureDelay": "60",
+                "departureCanceled": "0",
+                "arrivalDelay": "-60",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8893120/20250106/IC3033"
+            },
+            {
+                "id": "11",
+                "station": "Lokeren",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008894201",
+                    "id": "BE.NMBS.008894201",
+                    "name": "Lokeren",
+                    "locationX": "3.987794",
+                    "locationY": "51.108062",
+                    "standardname": "Lokeren"
+                },
+                "time": "1736163180",
+                "platform": "2",
+                "platforminfo": {
+                    "name": "2",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736163180",
+                "scheduledArrivalTime": "1736163120",
+                "delay": "0",
+                "canceled": "0",
+                "departureDelay": "0",
+                "departureCanceled": "0",
+                "arrivalDelay": "-60",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8894201/20250106/IC3033"
+            },
+            {
+                "id": "12",
+                "station": "Sint-Niklaas",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008894508",
+                    "id": "BE.NMBS.008894508",
+                    "name": "Sint-Niklaas",
+                    "locationX": "4.142966",
+                    "locationY": "51.171472",
+                    "standardname": "Sint-Niklaas"
+                },
+                "time": "1736163900",
+                "platform": "4",
+                "platforminfo": {
+                    "name": "4",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736163900",
+                "scheduledArrivalTime": "1736163720",
+                "delay": "0",
+                "canceled": "0",
+                "departureDelay": "0",
+                "departureCanceled": "0",
+                "arrivalDelay": "0",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8894508/20250106/IC3033"
+            },
+            {
+                "id": "13",
+                "station": "Antwerp-South",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008821196",
+                    "id": "BE.NMBS.008821196",
+                    "name": "Antwerp-South",
+                    "locationX": "4.390259",
+                    "locationY": "51.197828",
+                    "standardname": "Antwerpen-Zuid"
+                },
+                "time": "1736164800",
+                "platform": "2",
+                "platforminfo": {
+                    "name": "2",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736164800",
+                "scheduledArrivalTime": "1736164680",
+                "delay": "0",
+                "canceled": "0",
+                "departureDelay": "0",
+                "departureCanceled": "0",
+                "arrivalDelay": "60",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/low",
+                    "name": "low"
+                },
+                "departureConnection": "http://irail.be/connections/8821196/20250106/IC3033"
+            },
+            {
+                "id": "14",
+                "station": "Antwerp-Berchem",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008821121",
+                    "id": "BE.NMBS.008821121",
+                    "name": "Antwerp-Berchem",
+                    "locationX": "4.432221",
+                    "locationY": "51.19923",
+                    "standardname": "Antwerpen-Berchem"
+                },
+                "time": "1736165100",
+                "platform": "7",
+                "platforminfo": {
+                    "name": "7",
+                    "normal": "1"
+                },
+                "scheduledDepartureTime": "1736165100",
+                "scheduledArrivalTime": "1736165040",
+                "delay": "180",
+                "canceled": "0",
+                "departureDelay": "180",
+                "departureCanceled": "0",
+                "arrivalDelay": "120",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0",
+                "occupancy": {
+                    "@id": "http://api.irail.be/terms/unknown",
+                    "name": "unknown"
+                },
+                "departureConnection": "http://irail.be/connections/8821121/20250106/IC3033"
+            },
+            {
+                "id": "15",
+                "station": "Antwerp-Central",
+                "stationinfo": {
+                    "@id": "http://irail.be/stations/NMBS/008821006",
+                    "id": "BE.NMBS.008821006",
+                    "name": "Antwerp-Central",
+                    "locationX": "4.421101",
+                    "locationY": "51.2172",
+                    "standardname": "Antwerpen-Centraal"
+                },
+                "time": "1736165340",
+                "platform": "11",
+                "platforminfo": {
+                    "name": "11",
+                    "normal": "0"
+                },
+                "scheduledDepartureTime": "1736165340",
+                "scheduledArrivalTime": "1736165340",
+                "delay": "180",
+                "canceled": "0",
+                "departureDelay": "0",
+                "departureCanceled": "0",
+                "arrivalDelay": "180",
+                "arrivalCanceled": "0",
+                "left": "0",
+                "arrived": "0",
+                "isExtraStop": "0"
+            }
+        ]
+    }
+}
\ No newline at end of file
diff --git a/pyrail/irail.py b/pyrail/irail.py
index dcedc8e..492dc7f 100644
--- a/pyrail/irail.py
+++ b/pyrail/irail.py
@@ -1,4 +1,5 @@
 """Module providing the iRail class for interacting with the iRail API."""
+
 import asyncio
 from asyncio import Lock
 from datetime import datetime
@@ -9,10 +10,9 @@
 
 from aiohttp import ClientError, ClientResponse, ClientSession
 
-from pyrail.models import Station, StationsApiResponse
+from pyrail.models import StationDetails, StationsApiResponse
 
-logging.basicConfig(level=logging.INFO,
-                    format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
+logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
 logger: logging.Logger = logging.getLogger(__name__)
 
 
@@ -151,11 +151,9 @@ def _add_etag_header(self, method: str) -> Dict[str, str]:
             if a cached value exists.
 
         """
-        headers: Dict[str, str] = {
-            "User-Agent": "pyRail (https://github.com/tjorim/pyrail; tielemans.jorim@gmail.com)"}
+        headers: Dict[str, str] = {"User-Agent": "pyRail (https://github.com/tjorim/pyrail; tielemans.jorim@gmail.com)"}
         if method in self.etag_cache:
-            logger.debug("Adding If-None-Match header with value: %s",
-                         self.etag_cache[method])
+            logger.debug("Adding If-None-Match header with value: %s", self.etag_cache[method])
             headers["If-None-Match"] = self.etag_cache[method]
         return headers
 
@@ -176,8 +174,7 @@ def _validate_date(self, date: str | None) -> bool:
             datetime.strptime(date, "%d%m%y")
             return True
         except ValueError:
-            logger.error(
-                "Invalid date format. Expected DDMMYY (e.g., 150923 for September 15, 2023), got: %s", date)
+            logger.error("Invalid date format. Expected DDMMYY (e.g., 150923 for September 15, 2023), got: %s", date)
             return False
 
     def _validate_time(self, time: str | None) -> bool:
@@ -197,8 +194,7 @@ def _validate_time(self, time: str | None) -> bool:
             datetime.strptime(time, "%H%M")
             return True
         except ValueError:
-            logger.error(
-                "Invalid time format. Expected HHMM (e.g., 1430 for 2:30 PM), got: %s", time)
+            logger.error("Invalid time format. Expected HHMM (e.g., 1430 for 2:30 PM), got: %s", time)
             return False
 
     def _validate_params(self, method: str, params: Dict[str, Any] | None = None) -> bool:
@@ -245,24 +241,21 @@ def _validate_params(self, method: str, params: Dict[str, Any] | None = None) ->
         # Ensure all required parameters are present
         for param in required:
             if param not in params or params[param] is None:
-                logger.error(
-                    "Missing required parameter: %s for endpoint: %s", param, method)
+                logger.error("Missing required parameter: %s for endpoint: %s", param, method)
                 return False
 
         # Check XOR logic (only one of XOR parameters can be set)
         if xor:
             xor_values = [params.get(param) is not None for param in xor]
             if sum(xor_values) != 1:
-                logger.error(
-                    "Exactly one of the XOR parameters %s must be provided for endpoint: %s", xor, method)
+                logger.error("Exactly one of the XOR parameters %s must be provided for endpoint: %s", xor, method)
                 return False
 
         # Ensure no unexpected parameters are included
         all_params = required + xor + optional
         for param in params.keys():
             if param not in all_params:
-                logger.error(
-                    "Unexpected parameter: %s for endpoint: %s", param, method)
+                logger.error("Unexpected parameter: %s for endpoint: %s", param, method)
                 return False
 
         return True
@@ -280,12 +273,13 @@ async def _handle_success_response(self, response: ClientResponse, method: str)
             logger.error("Failed to parse JSON response")
             return None
 
-    async def _handle_response(self, response: ClientResponse, method: str, args: Dict[str, Any] | None = None) -> Dict[str, Any] | None:
+    async def _handle_response(
+        self, response: ClientResponse, method: str, args: Dict[str, Any] | None = None
+    ) -> Dict[str, Any] | None:
         """Handle the API response based on status code."""
         if response.status == 429:
             retry_after: int = int(response.headers.get("Retry-After", 1))
-            logger.warning(
-                "Rate limited, retrying after %d seconds", retry_after)
+            logger.warning("Rate limited, retrying after %d seconds", retry_after)
             await asyncio.sleep(retry_after)
             return await self._do_request(method, args)
         elif response.status == 400:
@@ -297,8 +291,7 @@ async def _handle_response(self, response: ClientResponse, method: str, args: Di
         elif response.status == 200:
             return await self._handle_success_response(response, method)
         elif response.status == 304:
-            logger.info(
-                "Data not modified, using cached data for method %s", method)
+            logger.info("Data not modified, using cached data for method %s", method)
             return None
         else:
             logger.error("Request failed with status code: %s, response: %s", response.status, await response.text())
@@ -332,12 +325,10 @@ async def _do_request(self, method: str, args: Dict[str, Any] | None = None) ->
         """
         logger.info("Starting request to endpoint: %s", method)
         if self.session is None:
-            logger.error(
-                "Session not initialized. Use 'async with' context manager to initialize the client.")
+            logger.error("Session not initialized. Use 'async with' context manager to initialize the client.")
             return None
         if not self._validate_params(method, args or {}):
-            logger.error(
-                "Validation failed for method: %s with args: %s", method, args)
+            logger.error("Validation failed for method: %s with args: %s", method, args)
             return None
         async with self.lock:
             await self._handle_rate_limit()
@@ -357,7 +348,7 @@ async def _do_request(self, method: str, args: Dict[str, Any] | None = None) ->
             logger.error("Request failed due to an exception: %s", e)
             return None
 
-    async def get_stations(self) -> List[Station] | None:
+    async def get_stations(self) -> List[StationDetails] | None:
         """Retrieve a list of all train stations from the iRail API.
 
         This method fetches the complete list of available train stations without any additional filtering parameters.
@@ -376,8 +367,7 @@ async def get_stations(self) -> List[Station] | None:
         stations_dict = await self._do_request("stations")
         if stations_dict is None:
             return None
-        stations_response: StationsApiResponse = StationsApiResponse.from_dict(
-            stations_dict)
+        stations_response: StationsApiResponse = StationsApiResponse.from_dict(stations_dict)
         return stations_response.stations
 
     async def get_liveboard(
@@ -477,8 +467,7 @@ async def get_vehicle(self, id: str, date: str | None = None, alerts: bool = Fal
                 vehicle_info = await client.get_vehicle("BE.NMBS.IC1832")
 
         """
-        extra_params: Dict[str, Any] = {
-            "id": id, "date": date, "alerts": "true" if alerts else "false"}
+        extra_params: Dict[str, Any] = {"id": id, "date": date, "alerts": "true" if alerts else "false"}
         return await self._do_request("vehicle", {k: v for k, v in extra_params.items() if v is not None})
 
     async def get_composition(self, id: str, data: str | None = None) -> Dict[str, Any] | None:
diff --git a/pyrail/models.py b/pyrail/models.py
index 0d42876..9824dcf 100644
--- a/pyrail/models.py
+++ b/pyrail/models.py
@@ -1,4 +1,5 @@
 """Module defining data models for the pyrail application."""
+
 from dataclasses import dataclass, field
 from typing import List
 
@@ -15,24 +16,400 @@ class ApiResponse(DataClassORJSONMixin):
 
 
 @dataclass
-class Station(DataClassORJSONMixin):
+class StationDetails(DataClassORJSONMixin):
     """Represents a single railway station with location and naming attributes."""
 
+    at_id: str = field(metadata=field_options(alias="@id"))  # Corresponds to "@id" in the schema
     id: str  # The (iRail) ID of the station
-    # Corresponds to "@id" in the schema
-    at_id: str = field(metadata=field_options(alias="@id"))
-    location_x: float = field(metadata=field_options(
-        alias="locationX"))  # Longitude of the station
-    location_y: float = field(metadata=field_options(
-        alias="locationY"))  # Latitude of the station
-    standard_name: str = field(metadata=field_options(
-        alias="standardname"))  # Consistent name of the station
     name: str  # Default name of the station
+    longitude: float = field(metadata=field_options(alias="locationX"))  # Longitude of the station
+    latitude: float = field(metadata=field_options(alias="locationY"))  # Latitude of the station
+    standard_name: str = field(metadata=field_options(alias="standardname"))  # Consistent name of the station
 
 
 @dataclass
 class StationsApiResponse(ApiResponse):
     """Holds a list of station objects returned by the 'stations' endpoint."""
 
-    stations: List[Station] = field(metadata=field_options(
-        alias="station"))  # List of stations information
+    stations: List[StationDetails] = field(
+        metadata=field_options(alias="station"), default_factory=list
+    )  # List of stations information
+
+
+@dataclass
+class VehicleInfo(DataClassORJSONMixin):
+    """Represents information about a specific vehicle, including name and location."""
+
+    name: str  # Name of the vehicle
+    short_name: str = field(metadata=field_options(alias="shortname"))  # Shortened name of the vehicle
+    number: str  # Number of the vehicle
+    type: str  # Type of vehicle (e.g., IC, EC)
+    longitude: float = field(metadata=field_options(alias="locationX"))  # Longitude of the vehicle
+    latitude: float = field(metadata=field_options(alias="locationY"))  # Latitude of the vehicle
+    at_id: str = field(metadata=field_options(alias="@id"))  # ID of the vehicle
+
+
+@dataclass
+class PlatformInfo(DataClassORJSONMixin):
+    """Details about the platform, such as name and whether it is the normal one."""
+
+    name: str  # Platform name
+    normal: bool  # Whether it is the normal platform
+
+
+@dataclass
+class Occupancy(DataClassORJSONMixin):
+    """Represents occupancy details for a specific departure."""
+
+    at_id: str = field(metadata=field_options(alias="@id"))  # Identifier for the occupancy level
+    name: str  # Occupancy level (e.g., low, high)
+
+
+@dataclass
+class LiveboardDeparture(DataClassORJSONMixin):
+    """Details of a single departure in the liveboard response."""
+
+    id: str  # ID of the departure
+    station: str  # Station name
+    station_info: StationDetails = field(metadata=field_options(alias="stationinfo"))  # Detailed station info
+    time: int  # Departure time (timestamp)
+    delay: int  # Delay in seconds
+    canceled: bool  # Whether the departure is canceled
+    left: bool  # Whether the train has left
+    is_extra: bool = field(metadata=field_options(alias="isExtra"))  # Whether the train is extra
+    vehicle: str  # Vehicle identifier
+    vehicle_info: VehicleInfo = field(metadata=field_options(alias="vehicleinfo"))  # Vehicle details
+    platform: str  # Platform name
+    platform_info: PlatformInfo = field(metadata=field_options(alias="platforminfo"))  # Detailed platform info
+    occupancy: Occupancy  # Occupancy level
+    departure_connection: str = field(metadata=field_options(alias="departureConnection"))  # Departure connection link
+
+
+@dataclass
+class LiveboardDepartures(DataClassORJSONMixin):
+    """Holds the number of departures and a list of detailed departure information."""
+
+    number: int  # Number of departures
+    departure: List[LiveboardDeparture] = field(default_factory=list)  # List of departure details
+
+
+@dataclass
+class LiveboardApiResponse(ApiResponse):
+    """Represents a liveboard response containing station details and departures."""
+
+    station: str  # Name of the station
+    station_info: StationDetails = field(
+        metadata=field_options(alias="stationinfo")
+    )  # Reusing the `Station` class for detailed station information
+    departures: LiveboardDepartures  # Departures information
+
+
+@dataclass
+class ConnectionStop(DataClassORJSONMixin):
+    """Represents a single stop in a journey for connections."""
+
+    id: str  # Stop ID
+    station: str  # Station name
+    station_info: StationDetails = field(metadata=field_options(alias="stationinfo"))  # Detailed station info
+    scheduled_arrival_time: int = field(metadata=field_options(alias="scheduledArrivalTime"))  # Scheduled arrival time
+    arrival_canceled: bool = field(metadata=field_options(alias="arrivalCanceled"))  # Arrival cancellation status
+    arrived: bool  # Arrival status
+    scheduled_departure_time: int = field(
+        metadata=field_options(alias="scheduledDepartureTime")
+    )  # Scheduled departure time
+    arrival_delay: int = field(metadata=field_options(alias="arrivalDelay"))  # Arrival delay
+    departure_delay: int = field(metadata=field_options(alias="departureDelay"))  # Departure delay
+    departure_canceled: bool = field(metadata=field_options(alias="departureCanceled"))  # Departure cancellation status
+    left: bool  # Departure status
+    is_extra_stop: bool = field(metadata=field_options(alias="isExtraStop"))  # Whether the stop is an extra one
+    platform: str  # Platform name
+    platform_info: PlatformInfo = field(metadata=field_options(alias="platforminfo"))  # Detailed platform info
+
+
+@dataclass
+class ConnectionStops(DataClassORJSONMixin):
+    """Holds the number of stops and a list of detailed stop information for connections."""
+
+    number: int  # Number of stops
+    stop: List[ConnectionStop] = field(default_factory=list)  # List of stop details
+
+
+@dataclass
+class Direction(DataClassORJSONMixin):
+    """Represents the direction of a train connection."""
+
+    name: str  # Direction name
+
+
+@dataclass
+class ConnectionDeparture(DataClassORJSONMixin):
+    """Details of a single departure in the connections response."""
+
+    delay: int  # Delay in seconds
+    station: str  # Station name
+    station_info: StationDetails = field(metadata=field_options(alias="stationinfo"))  # Detailed station info
+    time: int  # Departure time (timestamp)
+    vehicle: str  # Vehicle identifier
+    vehicle_info: VehicleInfo = field(metadata=field_options(alias="vehicleinfo"))  # Vehicle details
+    platform: str  # Platform name
+    platform_info: PlatformInfo = field(metadata=field_options(alias="platforminfo"))  # Detailed platform info
+    canceled: bool  # Whether the departure is canceled
+    stops: ConnectionStops  # Stops along the journey
+    departure_connection: str = field(metadata=field_options(alias="departureConnection"))  # Departure connection link
+    direction: Direction  # Direction of the connection
+    left: bool  # Whether the train has left
+    walking: bool  # Indicates if the connection requires walking
+    occupancy: Occupancy  # Occupancy level
+
+
+@dataclass
+class ConnectionArrival(DataClassORJSONMixin):
+    """Details of a single arrival, including timing, delay, and vehicle information."""
+
+    delay: int  # Delay in seconds
+    station: str  # Station name
+    station_info: StationDetails = field(metadata=field_options(alias="stationinfo"))  # Detailed station info
+    time: int  # Arrival time (timestamp)
+    vehicle: str  # Vehicle identifier
+    vehicle_info: VehicleInfo = field(metadata=field_options(alias="vehicleinfo"))  # Vehicle details
+    platform: str  # Platform name
+    platform_info: PlatformInfo = field(metadata=field_options(alias="platforminfo"))  # Detailed platform info
+    canceled: bool  # Whether the arrival is canceled
+    direction: Direction  # Direction of the connection
+    arrived: bool  # Whether the train has arrived
+    walking: bool  # Indicates if the connection requires walking
+    departure_connection: str = field(metadata=field_options(alias="departureConnection"))  # Departure connection link
+
+
+@dataclass
+class Remark(DataClassORJSONMixin):
+    """Represents a single remark for a train connection, including type and content."""
+
+    id: str  # Remark ID
+    # Unsure about the content of a remark, so using a generic type for now
+    content: str  # Remark content
+
+
+@dataclass
+class Remarks(DataClassORJSONMixin):
+    """Represents remarks for a train connection, including the type and content."""
+
+    number: int  # Number of remarks
+    remark: List[Remark] = field(default_factory=list)  # List of remarks
+
+
+@dataclass
+class Alert(DataClassORJSONMixin):
+    """Represents a single alert for a train connection, including type and content."""
+
+    id: str  # Alert ID
+    header: str  # Alert header
+    lead: str  # Alert lead
+    link: str  # Link to more information
+    start_time: int = field(metadata=field_options(alias="startTime"))  # Start time of the alert
+    end_time: int = field(metadata=field_options(alias="endTime"))  # End time of the alert
+
+
+@dataclass
+class Alerts(DataClassORJSONMixin):
+    """Represents alerts for a train connection, including the type and content."""
+
+    number: int  # Number of alerts
+    alert: List[Alert] = field(default_factory=list)  # List of alerts
+
+
+@dataclass
+class ConnectionDetails(DataClassORJSONMixin):
+    """Details of a single connection, including departure and arrival information."""
+
+    id: str  # Connection ID
+    departure: ConnectionDeparture  # Departure details
+    arrival: ConnectionArrival  # Arrival details
+    duration: int  # Duration of the connection in minutes
+    remarks: Remarks  # Remarks for the connection
+    alerts: Alerts  # Alerts for the connection
+
+
+@dataclass
+class ConnectionsApiResponse(ApiResponse):
+    """Holds a list of connections returned by the connections endpoint."""
+
+    connections: List[ConnectionDetails] = field(
+        metadata=field_options(alias="connection"), default_factory=list
+    )  # List of connections
+
+
+@dataclass
+class VehicleStop(DataClassORJSONMixin):
+    """Represents a single stop in a journey for vehicles."""
+
+    id: str  # Stop ID
+    station: str  # Station name
+    station_info: StationDetails = field(metadata=field_options(alias="stationinfo"))  # Detailed station info
+    time: int  # Scheduled stop time (timestamp)
+    platform: str  # Platform name
+    platform_info: PlatformInfo = field(metadata=field_options(alias="platforminfo"))  # Detailed platform info
+    scheduled_departure_time: int = field(
+        metadata=field_options(alias="scheduledDepartureTime")
+    )  # Scheduled departure time
+    scheduled_arrival_time: int = field(metadata=field_options(alias="scheduledArrivalTime"))  # Scheduled arrival time
+    delay: int  # Delay in minutes
+    canceled: bool  # Whether the stop is canceled
+    departure_delay: int = field(metadata=field_options(alias="departureDelay"))  # Departure delay
+    departure_canceled: bool = field(metadata=field_options(alias="departureCanceled"))  # Departure cancellation status
+    arrival_delay: int = field(metadata=field_options(alias="arrivalDelay"))  # Arrival delay
+    arrival_canceled: bool = field(metadata=field_options(alias="arrivalCanceled"))  # Arrival cancellation status
+    left: bool  # Whether the train has left
+    arrived: bool  # Whether the train has arrived
+    is_extra_stop: bool = field(metadata=field_options(alias="isExtraStop"))  # Whether this is an extra stop
+    occupancy: Occupancy  # Occupancy level
+    departure_connection: str = field(metadata=field_options(alias="departureConnection"))  # Departure connection link
+
+
+@dataclass
+class VehicleStops(DataClassORJSONMixin):
+    """Holds the number of stops and a list of detailed stop information for vehicles."""
+
+    number: int  # Number of stops
+    stop: List[VehicleStop] = field(default_factory=list)  # List of stop details
+
+
+@dataclass
+class VehicleApiResponse(ApiResponse):
+    """Provides detailed data about a particular vehicle, including its stops."""
+
+    vehicle: str  # Vehicle identifier
+    vehicle_info: VehicleInfo = field(metadata=field_options(alias="vehicleinfo"))  # Vehicle information
+    stops: VehicleStops  # Stops information
+
+
+@dataclass
+class MaterialType(DataClassORJSONMixin):
+    """Represents the material type of a train unit."""
+
+    parent_type: str  # Parent material type
+    sub_type: str  # Sub material type
+    orientation: str  # Orientation of the material type
+
+
+@dataclass
+class Unit(DataClassORJSONMixin):
+    """Represents a single train unit, including its type and location."""
+
+    id: str  # Unit ID
+    material_type: MaterialType = field(metadata=field_options(alias="materialType"))  # Material type of the unit
+    has_toilets: bool = field(metadata=field_options(alias="hasToilets"))  # Whether the unit has toilets
+    has_tables: bool = field(metadata=field_options(alias="hasTables"))  # Whether the unit has tables
+    has_second_class_outlets: bool = field(
+        metadata=field_options(alias="hasSecondClassOutlets")
+    )  # Whether the unit has power outlets in second class
+    has_first_class_outlets: bool = field(
+        metadata=field_options(alias="hasFirstClassOutlets")
+    )  # Whether the unit has power outlets in first class
+    has_heating: bool = field(metadata=field_options(alias="hasHeating"))  # Whether the unit has heating
+    has_airco: bool = field(metadata=field_options(alias="hasAirco"))  # Whether the unit has air conditioning
+    material_number: str = field(metadata=field_options(alias="materialNumber"))  # Material number of the unit
+    traction_type: str = field(metadata=field_options(alias="tractionType"))  # Traction type of the unit
+    can_pass_to_next_unit: bool = field(
+        metadata=field_options(alias="canPassToNextUnit")
+    )  # Whether the unit can pass to the next
+    standing_places_second_class: int = field(
+        metadata=field_options(alias="standingPlacesSecondClass")
+    )  # Number of standing places in second class
+    standing_places_first_class: int = field(
+        metadata=field_options(alias="standingPlacesFirstClass")
+    )  # Number of standing places in first class
+    seats_coupe_second_class: int = field(
+        metadata=field_options(alias="seatsCoupeSecondClass")
+    )  # Number of seats in coupe in second class
+    seats_coupe_first_class: int = field(
+        metadata=field_options(alias="seatsCoupeFirstClass")
+    )  # Number of seats in coupe in first class
+    seats_second_class: int = field(metadata=field_options(alias="seatsSecondClass"))  # Number of seats in second class
+    seats_first_class: int = field(metadata=field_options(alias="seatsFirstClass"))  # Number of seats in first class
+    length_in_meter: int = field(metadata=field_options(alias="lengthInMeter"))  # Length of the unit in meters
+    has_semi_automatic_interior_doors: bool = field(
+        metadata=field_options(alias="hasSemiAutomaticInteriorDoors")
+    )  # Whether the unit has semi-automatic interior doors
+    has_luggage_section: bool = field(
+        metadata=field_options(alias="hasLuggageSection")
+    )  # Whether the unit has a luggage section
+    material_sub_type_name: str = field(metadata=field_options(alias="materialSubTypeName"))  # Material sub type name
+    traction_position: int = field(metadata=field_options(alias="tractionPosition"))  # Traction position of the unit
+    has_prm_section: bool = field(metadata=field_options(alias="hasPrmSection"))  # Whether the unit has a PRM section
+    has_priority_places: bool = field(
+        metadata=field_options(alias="hasPriorityPlaces")
+    )  # Whether the unit has priority places
+    has_bike_section: bool = field(
+        metadata=field_options(alias="hasBikeSection")
+    )  # Whether the unit has a bike section
+
+
+@dataclass
+class CompositionUnits(DataClassORJSONMixin):
+    """Holds the number of units and a list of detailed unit information."""
+
+    number: int  # Number of units
+    unit: List[Unit] = field(default_factory=list)  # List of units
+
+
+@dataclass
+class SegmentComposition(DataClassORJSONMixin):
+    """Describes a collection of train units and related metadata."""
+
+    source: str  # Source of the composition
+    units: CompositionUnits  # Units information
+
+
+@dataclass
+class Segment(DataClassORJSONMixin):
+    """Defines a single segment within a journey, including composition details."""
+
+    id: str  # ID of the segment
+    origin: StationDetails  # Origin station information
+    destination: StationDetails  # Destination station information
+    composition: SegmentComposition  # Composition details of the segment
+
+
+@dataclass
+class Segments(DataClassORJSONMixin):
+    """Holds the number of segments and a list of detailed segment information."""
+
+    number: int  # Number of segments
+    segment: List[Segment] = field(default_factory=list)  # List of segments
+
+
+@dataclass
+class CompositionSegments(DataClassORJSONMixin):
+    """Encapsulated the composition segments of a specific train."""
+
+    segments: Segments  # Segments information
+
+
+@dataclass
+class CompositionApiResponse(ApiResponse):
+    """Encapsulates the response containing composition details of a specific train."""
+
+    composition: CompositionSegments  # Composition details
+
+
+@dataclass
+class Disturbance(DataClassORJSONMixin):
+    """Represents a railway system disturbance, including description and metadata."""
+
+    id: str  # ID of the disturbance
+    title: str  # Title of the disturbance
+    description: str  # Description of the disturbance
+    link: str  # Link to more information
+    type: str  # Type of disturbance (e.g., "disturbance", "planned")
+    timestamp: int  # Timestamp of the disturbance
+    attachment: str | None = None  # Optional attachment link
+
+
+@dataclass
+class DisturbancesApiResponse(ApiResponse):
+    """Encapsulates multiple disturbances returned by the disturbances endpoint."""
+
+    disturbances: List[Disturbance] = field(
+        metadata=field_options(alias="disturbance"), default_factory=list
+    )  # List of disturbances


Test patch:
diff --git a/tests/test_irail.py b/tests/test_irail.py
index e108f34..b172338 100644
--- a/tests/test_irail.py
+++ b/tests/test_irail.py
@@ -1,11 +1,12 @@
 """Unit tests for the iRail API wrapper."""
+
 from datetime import datetime, timedelta
 from unittest.mock import AsyncMock, patch
 
 from aiohttp import ClientSession
 import pytest
 
-from pyrail.irail import Station, iRail
+from pyrail.irail import StationDetails, iRail
 
 
 @pytest.mark.asyncio
@@ -23,8 +24,7 @@ async def test_successful_request(mock_get):
         mock_get.assert_called_once_with(
             "https://api.irail.be/stations/",
             params={"format": "json", "lang": "en"},
-            headers={
-                "User-Agent": "pyRail (https://github.com/tjorim/pyrail; tielemans.jorim@gmail.com)"},
+            headers={"User-Agent": "pyRail (https://github.com/tjorim/pyrail; tielemans.jorim@gmail.com)"},
         )
         assert response == {"data": "some_data"}
         assert mock_response.status == 200
@@ -58,8 +58,7 @@ async def test_get_stations():
         assert isinstance(stations, list), "Expected the response to be a list"
 
         # Validate the structure of a station
-        assert isinstance(
-            stations[0], Station), "Expected the first item to be a Station object"
+        assert isinstance(stations[0], StationDetails), "Expected the first item to be a Station object"
         assert len(stations) > 0, "Expected at least one station in the response"
 
 
@@ -80,18 +79,15 @@ async def test_get_connections():
         assert connections is not None, "The response should not be None"
 
         # Validate that the response is a dictionary
-        assert isinstance(
-            connections, dict), "Expected response to be a dictionary"
+        assert isinstance(connections, dict), "Expected response to be a dictionary"
 
         # Validate the presence of key fields
         assert "connection" in connections, "Expected the response to contain a 'connection' key"
 
         # Validate the structure of connection data
         connection_list = connections.get("connection", [])
-        assert isinstance(
-            connection_list, list), "Expected 'connection' to be a list"
-        assert len(
-            connection_list) > 0, "Expected at least one connection in the response"
+        assert isinstance(connection_list, list), "Expected 'connection' to be a list"
+        assert len(connection_list) > 0, "Expected at least one connection in the response"
 
 
 @pytest.mark.asyncio