Snapbus
A functional vehicle rental application for the largest transport company in Germany – Deutsche Bahn
web app
For this client we developed an app that caters to three groups of stakeholders associated with the transportation industry
ABOUT PROJECT
About the company
Snapbus is an app that is in part owned by the national railway company Deutsche Bahn. It is a platform that allows you to rent buses for events or trips such as weddings, school tours or transportation to trade shows. Snapbus offers high-quality buses in various sizes driven by qualified drivers. The system allows booking a vehicle of a given type and maintains full pricing transparency throughout the booking process. The company then supplies a bus compliant with the highest safety standards with qualified staff on board for every trip.
Snapbus mission
Snapbus buses provide comfort, safety, and lower CO2 emissions than a car while meeting the highest safety standards. Our goal during development was to make group travel easier to plan and pay for without compromising on any of the advantages of traditional public transport.
OUR WORK
Project Management
Frontend
Backend
QA
PURPOSE OF COOPERATION
Developing a fully functional application that will allow users to rent long-distance buses seamlessly and its further maintenance.
1. PROCESS
The beginning of the cooperation between Railwaymen and Snapbus dates back to March/April 2021. At the time, the founder of the app was in the process of selling the solution to Deutsche Bahn. During this process, Railwaymen was recommended as the company responsible for technical support. We focused our efforts first on migrating the original solution to Deutsche Bahn's servers with all the company's corporate standards in mind. After that we held a project workshop to work out the details of the planned development, which allowed us to cover a lot of ground quickly once the implementation phase started. An undeniable challenge was to develop the application's functionality in German, which is not the first language for Railwaymen employees.
PROJECT WORKSHOPS
On November 16-18 2021 our Railwaymen delegation consisting of the entire development team traveled to the client's office to organize a project workshop. Four officials from the client's side participated in the meeting: 1 x technical advisor 1 x operational representative and 2 x functional staff.
The purpose of the joint workshop was to discuss the existing functionality of the application, consider new features and discuss redesigning the website. During the workshop, we learned about customers' problems and needs. Together we worked out the process of cooperation and discussed the scope of work. We created a project roadmap and made project estimates, based on which we were cooperating in the following year.
Michał, COO
“During the workshop session we were able to work with the client to solve the problems occurring in the operational layer, which translated into improved development work. This was an extremely important event from the perspective of the course of the entire project, which determined its further path.”
2. THE FEATURES
During the Snapbus project, we had the opportunity to develop the application with the perspective of three stakeholder groups in mind. For this reason, we prepared a separate view for each of them giving access to the appropriate set of functionalities.
on the user side
RIDE REQUEST
Ordering a ride on Snapbus can be done for an organized group of at least 10 people. Each ride can be booked through a dedicated website, which is also available for mobile devices. Users of the site start by specifying the route of the trip, the number of passengers and the exact date of the journey before starting. They can also decide on the various amenities that the group needs the supplied vehicle to have on board.
PRICE BOOKING
One feature that sets Snapbus apart from competing transportation apps is the ability to book a fare for a period of up to 48 hours before payment is required. In addition to the standard model of ordering a ride with immediate payment, the company provides a price forecast for the route indicated by the user. Users can have their ride booked at the indicated price for a period of two days without entering into a binding contract.
INDIVIDUAL PRICING
Snapbus makes planning group transit easier by providing individual pricing for non-standard routes and customizable vehicle features. The user makes a request for a ride by specifying the details regarding the route and type of vehicle, and is then contacted by Snapbus staff with an individual quote.
RIDE PERSONALIZATION
Users of the app when arranging a ride can also customize it individually. It is possible to request special features like Wi-Fi access or charging sources in the vehicle. When placing an order, customers indicate the aspects they care about most and which affect the comfort of their trip. They are then contacted by the Snapbus support team via email to specify the exact details of the trip.
on the company representatives' side
ADMIN PANEL
Among the app admin's privileges is the ability to view the customers’ requests and, at the same time, ensure that this person is properly taken care of throughout the process of ordering a ride. All this is done in order to go through all stages of the process with the user, such as issuing invoices, accepting payment and finding a carrier who will undertake the selected trip. Each status change related to order processing is followed by partly automated email communication with the user. The Snapbus customer receives confirmation that an order had been placed, an invoice had been generated and information about any steps taken by the company throughout the process.
INTERFACE TO OTHER SYSTEMS
One of the priorities identified by Deutsche Bahn at the start of our cooperation was the development of an regulary data transfer to the internal revenue system. Our task was to improve the acquisition of information related to all trips (e.g., when they took place, in which regions) in order to be able to generate a variety of balances and statistics on the trips served.
We also prepared funciton, which export data to the internal system for invoicing creditors. It collects in one place all information about the trips of individual carriers. The function also allows the generation of invoices. In the course of the project, the Export function was developed to provide the necessary information about each ride to the Snapbus application.
INTEGRATIONS
Integrations are an important part of Snapbus. By linking the application to Google Directions, determining the route of a ride based on the data provided by the user is quick and does not pose logistical problems. In addition, CMS and Contentful content integrations have been used. As a result, the enhancement pulls in content found in the CMS and displays it directly in the app.
INTELLIGENT PRICING
One of the key features is the ability to generate prices based on the trip details entered, such as distance and number of passengers. To make this automation work, a complex algorithm was implemented that takes into account all relevant parameters and even legal requirements, such as possible driving time.
TRACKING USER PATHS
One of the applied functionalities is a piece of AWS Lambda code which tracks all clicks on the site and collects data on order details. This gives Deutsche Bahn insight into user behaviors that enables them to discover possible improvements to the user flow. The collected data is at the admin's disposal in his application space.
on the bus operators' side
PORTAL FOR BUS PARTNERS
The bus partners, which are executing the booked trips have a dedicated portal page in which they can see offers for them. These offers can be accepted or rejected directly via the portal by the bus partner.
TRIP INFORMATION
Prior to the trip, the assigned bus partner receives all the necessary details of the ride so that he or she can contact the customer to make final arrangements for the booked journey.
Michał, Senior Ruby on Rails Developer
“I am happy to have had the opportunity to work on Snapbus. The application we developed, although it may seem inconspicuous, has many useful integrations that prove its value. From my perspective, it was an experience that allowed me to make many interesting technological observations and draw valuable conclusions.”