For this client we developed an app that caters to three groups of stakeholders associated with the transportation industry

About The 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 Workshop

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.

Itegrations

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.

3. Mobile application

The mobile app mirrors the web version of the service. The user interface needed to be redesigned to match Deutsche Bahn branding, which was done by an external company. The old logos of the app's previous owner were replaced with new emblems referring to the German company.

The changes included not only the mobile app, but also the entire transportation infrastructure. Thanks to this treatment, the service became more recognizable, the app gained new users and trust in the brand also increased. Along with the redesign, the focus was on making the website display properly on all mobile devices.

4. Technologies & tools

Rails
PostgreSQL
React
Amazon Web Services
Contentful
Adobe SNS
Google Maps

Final Product

RESULTS & FURTHER DEVELOPMENT

The Snapbus project was a stimulating experience for the development team, involving a lot of complexity and a large and varied feature set. One of the challenges was to provide for three groups of stakeholders who use Snapbus on a daily basis. Through our joint efforts with the customer, we were able to develop a platform for renting public transportation to be used by the national railway company of Germany. In the near term, we will continue to maintain the app while also helping the client to put together an in-house maintenance team.

We are real!

Let's get it started!

Do you have project details?

estimate project
Joanna Brzezińska-Wajda - Head of Sales

Joanna Brzezińska-Wajda

Head of Sales

Previous All Next