A search engine for rail links with transfers for one of the biggest railway operators in Poland. It’s a high-performance real-time system that can handle up to 400 concurrent searches per second.
The project started in 2016 with building a search engine for rail links with transfers for one of the biggest railway companies in Poland. After we built the platform consisting of 5 key modules, we were developing it further, implementing new features and helping our Client successfully manage their sales processes.
All the modules of the application needed to have flawless UX to make the process of buying tickets as simple as possible for users with different levels of computer skills. The whole process of purchasing the ticket, from searching, through registration, to payments and downloading the ticket needed to be faster and easier than going to the ticket office.
No one likes to wait! And people waiting for the page to load get impatient faster than those standing in a queue in front of the ticket office. Keeping that in mind, and aiming to become an actual alternative to these ticket offices, we needed to make the platform fast and efficient.
The goal was to make the whole process of purchasing the ticket as fast and as simple as possible – the platform needed to be accessible both on desktop and mobile devices, and it couldn’t take more than a few minutes to find the rail link and purchase the ticket.
Searching for the rail link and buying a ticket is only the beginning of a long journey! To make the rest of it go smoothly, we needed to provide users with an account management section that would allow them to access their tickets, return them if needed, but also make another panel for our Client - to manage sales, add special offers, and monitor the results.
From the very beginning, we needed to provide end-users with different search options: for single tickets and for period tickets, with different sets of discounts and special offers. Then, we needed to add multiple payment options to make the purchase process as convenient for the users as possible.
From the very beginning, we knew that it should be a complex web application that would consist of 5 key elements: search panel, registration panel, payments panel, user’s account, and admin’s account. All these modules needed to have flawless UX to make the process of buying tickets as simple as possible for users with different levels of computer skills.
On average, Poles travel by train over 7.7 times a year. It may not be impressive comparing to the European score (19 times a year) but in a country with population of 38 million, it still gives us 292.5 million rail passengers every year and almost a million passengers every day. The capacity of our platform needed to be really big!
At the beginning of the project, we analyzed the goals of the project, business requirements, and, with the Client, we planned the whole project roadmap with milestones to achieve on the way with clear metrics and success criteria. Approaching the project like that helped us focus on the most important features first and test them with users as soon as possible.
We decided to divide different modules into microservices. Each of the microservices can be deployed independently, and if one microservice fails, the others will continue to work. Moreover, new components can be added to the system without interfering with its structure, and it is possible to scale the services separately from one another. With microservices, we were sure that the app will be efficient and scalable.
Interviews with users showed us how different their needs and expectations were. Aiming to make the app easy to use by thousands of travelers, we decided to implement different forms of authentication and different payment methods (including PayU, Visa Checkout, Przelewy24, and BLIK) – all to make it as convenient for the end-users as possible. Throughout the whole process, our UI/UX designers were focused on making the app intuitive and user-friendly.
The database of registered users holds millions of users who can now buy their tickets anytime and anywhere they want. The system is fast and efficient, being able to handle up to 400 concurrent searches per second.
Thanks to implementing several improvements in the particular stages of the purchase process, we were able to facilitate this process which now takes only a few minutes – even for the new users who need to register – which makes using the app more convenient than going to the ticket office. The application is fully responsive, works on both mobile phones and computers. Its simple and modern design is intuitive for the users.
The Client is able to analyze ticket sales and generate complex reports for past actions in order. The collected data can be used to improve the selling strategy and can be the base for implementing predictive models to increase customer retention and their LTV.