Planning a trip can sometimes feel really stressful. What is the best ticket? How many changes do I need? Will I make all my connections? And all of those other questions that come to mind when booking train tickets. We wanted to take as much of the weight off your shoulders as possible!
We emphasize that sometimes things do go wrong.. one of the trains is delayed, the traffic to the station is terrible, the alarm clock doesn't go off in the morning etc. So people miss trains, people change their minds, people forget, but wouldn't it be great if they could get instant help? If they could change reservations and submit refund requests in just a couple seconds?
What it does
OneRail understands what you mean, even when you can't type properly because you are running to not miss your train. It is on your side and will help you exchange/cancel your tickets without any of the worries and none of the fuss! It is a web-based ChatBot, which acts as a friendly network operator, helping you exchange, cancel tickets and get refunds when you need them.
How we built it
The application is built with a micro-service architecture, which incorporates a React-based frontend, a Microsoft Azure ChatBot, and a Node.js backend service.
OneRail communicates with SilverCore via SOAP API requests. The backend service acts as a SOAP client, communicating with SilverCore via API calls, which are then parsed and forwarded to the main ChatBot application as REST APIs.
The ChatBot was built entirely with Microsoft Azure, which means it is an intent-recognition-based natural language processing, that learns from interacting with users.
The frontend was meant to incorporate the ChatBot and connect all the services in a friendly interface.
Challenges we ran into
As we have discovered, using existing APIs can often be more challenging than you'd expect. Especially since none of us had previous experience with SOAP.
Accomplishments that we're proud of
Our proudest achievement are below:
- Making it through the night on no sleep.
- Our micro-service based architecture is very nice.
- Finally sending the correct certificate to the API.
- We built quite a lot of cool things for the limited time we had.
What we learned
We learned the importance of scalable code & thorough planning.
What's next for oneRail
Our vision for oneRail is greater than a simple ticketing refund/cancellation app. We believe that a unified system, which recalculates routes, gives rail updates, advises on bookings and manages rail travel everywhere, is not that far away in the future! This is merely a beginning of a new revolutionizing technology for passengers and rail management!