The NS International app could be better
Posted: | Tags: transport train statusIn my last post, I praised the NS International app, while it’s user-friendly and frankly better than some of the other apps or websites I’ve used there is still room for improvement. I’ll use a recent trip to Leuven from the Netherlands as an example.
The roughly 3-hour trip was booked over a month in advance and I was able to get a cheaper price through the Early Bird discount. Unlike the usual Flex fare ticket, you must take the same Intercity Brussels train as stated on your travel itinerary unless any previous train you were on is delayed.1 I was meant to take the train to Schiphol Airport where I would catch the Intercity Brussels train to Mechelen and transfer to Leuven.
I received an email 4 days before my trip saying that a transfer was no longer possible because of engineering works, I later found out this was at Schiphol Airport. Planned maintenance at the station between 16 November and 4 December meant that the timetable for many trains including the Intercity Brussels I was going to take were modified.2 While your personal travel itinerary on the NS International updates based on platform changes or delayed trains, if you have a station change you’re left to figure out your own trip. Sort of.
Updating itinerary on station changes
Updating the itinerary automatically with new travel information based on which ticket was purchased would improve the user experience and alleviate any pre-travel stress. However, the options of the travel planner, WhatsApp and phone number are good alternatives.
If you do select a trip from the travel planner you can “star” it, and it will now show up under the Saved tab in My Trips. You can also opt-in for notifications like you would normally receive with a regular trip in your itinerary.
Updating itinerary on missed connections
Over-optimizing for shortest time
The algorithm used by NS International looks to optimize travel time between two points, which makes sense for the most part. Although some toggles to help tune this to user preferences would go a long way. For example, adding extra connection time between trains accommodates mobility issues or anticipated delays. This would help prevent missing connections, and personally having travelled between the Netherlands and Belgium several times I know which stations I’d rather spend a little more time in than miss a connection. Infrequent or first-time travellers would not have this information so allowing the user to add additional time between connections could help improve the reliability of the itinerary.
Another area when deciding on the itinerary is passenger comfort. When looking at alternative times for my trip to Leuven the travel planner recommended I take the trip from Duivendrecht - Rotterdam Centraal - Mechelen - Leuven. The trip between Duivendrecht and Rotterdam would have been on a sprinter, which is not the most comfortable train to be seated on for long periods as they decided on shorter journeys. I instead decided to take an earlier sprinter to Amsterdam Centraal and catch the Intercity Brussels there to Mechelen. It added 20 minutes to my overall trip but reduced the number of connections (hence opportunities for missed transfers) and improved passenger comfort.4
Fin
To reiterate, I think the app is well-designed compared to others but there are always areas to improve. My trip back from Leuven was not uneventful but the points I covered here would also apply there. Also, remember if you experience delays don’t forget to get compensation.
The exact note says, “If you have an Early Bird ticket and you miss your booked train due to this change in the timetable, you can travel with the next Intercity Brussels without having to change your ticket.” ↩︎
It would have been nice if NS worked the schedules out early enough to keep Early Bird passengers informed before the purchase. But oh well. ↩︎
I could make the argument that since my timetable was now changed I could go on a different Intercity Brussels train, but I don’t know how this would fair with the terms and conditions of the ticket. ↩︎
This is a somewhat complex problem to solve with many variables, but I can dream. ↩︎