On-demand Public Transportation Platform Architecture: November ’21 Update

On-demand Public Transportation Platform Architecture: November ’21 Update

The INNOAIR project is co-financed by the European Regional Development Fund through the Urban Innovative Actions Initiative. 

Modeshift is proud to be a part of INNOAIR. Our central position to the project involves the creation and implementation of an on-demand public transportation platform (ODPTP) which will be carried out by a team of dedicated professionals already dealing with similar projects. 

Modeshift’s involvement in InnоAir has entered a new phase – after successfully strategizing the necessary components of the system, we are now ready to showcase a demo of the mobile application!  

InnoAir is an innovative urban initiative aiming to promote clean air in Bulgaria’s capital, Sofia. At the heart of the initiative is the On-demand Public Transportation Platform (ODPTP) which will connect citizens to their workplaces and homes in a greener and more sustainable way. 

The purpose of the platform is to make transport convenient and affordable, and the preferred choice for Sofia’s citizens. This is an integrated platform that optimizes fleet movements and improves the passenger experience.

To enable the ODPTP functionality, the Modeshift platform infrastructure is used and the DRT functionality is developed on top of the existing Modeshift product suite for Account-based Fare Collection, CAD/AVL and RTPI.

Components of the InnoAir platform demo 

In this update, we will guide you through the components of the demo of the InnoAir platform.

Passenger app

This is the passenger mobile application with functionalities for booking trips, making payments, checking where the bus is, and communication between the platform and passenger. The app will be available on the Google App Store and on the Apple Store. 

The passenger app is based on user accounts – once a user account is created (each account is linked to a username and password), it can be accessed within the app or via the web portal to book rides, monitor the vehicle’s location, communicate with the driver, and more. The passengers will be asked to provide name and photo (to help drivers’ identification), phone number and payment method (currently out of scope). 

The app is a useful tool that provides all the necessary information for passengers: nearest pick-up and drop-off points, walking distances and times, vehicle information, and live map showing the vehicle’s approach. The app also serves as a hub for notifications related to the user’s trips. 

Driver app

This is the app used by drivers. It shows the upcoming pick-ups/drop-offs and is used for communication between the driver and the passengers. The app provides a simple and intuitive interface, with dynamic trip list, updates in real time, map integration, and passenger information (profile, name, picture, etc.). 

The passenger application is used as a driver’s app when the driver’s account is set up in the back office with the necessary permissions. When the drivers log in, they will usually see shifts that have been pre-assigned by the operations team in the back office and only have to press the Start Shift button for the day. 

Once a driver has completed a pick-up or drop-off, they will see the next scheduled stop. The app will provide all the necessary details of the passengers, including expected pick-up time, name and picture of passenger(s), etc. Once a driver reaches their destination, they complete the stage by pressing a button. 

Back office

Provides functionalities for configuration of the platform and input parameters, buses, drivers, constraints, etc. The panel gives access to a real-time view of whole bus fleet, passenger details, location of vehicles and pick-ups, basic reporting and data analyses. 

Back office administrators can create, edit and remove users from the system, and grant the respective level of access for each user. They are authorized to manage passengers, drivers, vehicles and trips. 

The InnoAir Algorithm 

The DRT (Demand-responsive Transit) algorithm of the platform manages the use of the vehicles fleet providing a good passenger experience. Its role is to: 

  • Aggregate and analyse trip requests in real time 
  • Configure multiple constraint parameters – number of vehicles, vehicle capacity, service zones, service hours, driver breaks, need to recharge vehicles, time to drop-off/pick-up, and others
  • Manage no shows and cancellations
  • Assign trips automatically based on the supply and demand. 
  • Communicate in real time with the passengers and the drivers

There are three zones within the platform. Requests will be accepted if the pick-up and drop-off points are within the same zone. Otherwise, the requests will be rejected. One vehicle services only one zone at a time. 

Pick-up and drop-off points are fixed (for safety and regulatory reasons). Therefore, the passenger will be asked to show at the selected point for pick-up, and leave the vehicle at the selected drop-off point. 

Currently, there are a few integrations that depend on other partners and are out of the scope of this preview because the integrations are not yet agreed among the parties and developed. These include fares, payments, RTPI integration and others.  

Stay tuned for our next update! 


Ilina Chipilska is a marketing expert with more than 10 years of experience being involved in a wide range of projects. At Modeshift she manages all marketing activities and the company's online presence.