Project Overview

Our environment is at a tipping point. The CO2 emissions from our vehicles are at a record high. It’s high time to rethink energy.

Our client approached us with a unique idea that could change the face of the cab industry and help in transforming our cities in a more smarter, cleaner, and sustainable way.

The initial idea was to build an on-demand cab booking application just like Uber but with a twist. The app is designed only for electric vehicles that have a swappable battery.

The app collects critical information about the battery from the OBD port and shows the nearest swap station where the driver can swap the battery with a new one.

OBD port scanner has to be always plugged-in and connected with the driver’s phone so that the driver app can interact with the OBD scanner and can get data from the car in real-time.

This hyper-connected portable power can help convert megacities into smart cities that enjoy clean energy.

On-demand cab booking application

Technology Stack

On-demand cab booking application

Client requirement

The initial client requirement listed four different applications –

  • Rider app
  • Driver app
  • Admin portal
  • App for the swap charging station

For the rider and driver app, we used Flutter as a platform for mobile app development for both iOS and Android.

The admin portal and swap charging station is a web app developed using MEAN stack.

On-demand cab booking application

Rider app

The application offered the riders to book app as per their convenience. The major features offered by the customer/rider app includes -


In this screen, users can sign up using a mobile number, and verification will be done through OTP. User can log in in the app by setting a password or by logging in through mobile number using a unique OTP generated on every request.

Get ride

From the home screen, users can request a ride from their current location either by entering manually or via automatic detection through GPS. The user needs to enter the destination address and choose the type of cab he/she wants to ride, and a driver will be matched with the user request along with the fare estimate and estimated time to reach the destination.

Ride later

The application also offers the riders to schedule their cab for a preferred date and time using the “ride later” option. They can select their pickup and drop off location along with the date and time of the ride.

Real-time messaging & call

The application also offers the inbuilt real-time messaging system which can be used for real-time chatting with the driver, or you can select the call option to initiate a call with the driver.

Payment & Invoice

The application offers the customer to pay for their ride either through cash, or they can use credit card/debit card/Paypal. The option for the payment needs to be selected while booking the ride. After the trip is complete, an invoice is delivered via email which includes full trip details such as pick up and drop off location, time taken, distance travelled, driver name, fare amount, etc. The same information is also available in the ride history.

Rating & review

After the ride is completed, the rider can share their experience in the form of rating and also can write a detailed review.


The rider will receive notification from the application in different scenarios such as driver accepts/declines the ride request, when the driver is about to reach at your specified pickup location, during the start of the ride and the end of the ride, etc.

On-demand cab booking app
On-demand cab booking app

Driver App

The major features offered by the driver app includes -


In this screen, users can sign up using a mobile number, and verification will be done through OTP. User can log in in the app by setting a password or by logging in through mobile number using a unique OTP generated on every request.

Availability & Notifications

The driver can set his availability according to his choice with an easy toggle button. The driver also gets notifications in different scenarios such as new ride request, ride payment, the rider has cancelled the ride, etc.

History & Invoice

From the ride history tab, the driver can see his complete ride history. The application also offers detailed invoices to the driver with complete information of a particular ride such as pick up and drop off location, time, distance, ride fare, etc.

Ratings & Reviews

The driver app also features a rating and review system through which the driver can share their ride experience.

Binding car, driver, and his account

To ensure the safety and security of the customers, the driver will be bound to the car and his account to prevent abusive use of the system as many times unauthenticated drivers drive the car of the verified driver. As the app is always connected to OBD, if the driver leaves the car, then the driver’s status will be changed to offline. Also, proper validation of the driver is done while he logs into the app using fingerprint captured during the registration process.


The app also offers vital statistics such as mileage of the current month and previous months based on the number of battery swaps. Along with it, other information displayed includes battery percentage, the total number of swaps done, amount of CO2 saved, etc.

Energy network

This section of the application provides information such as battery swap station near to his location. The driver can also view all the available swap stations in any city on the map. The driver can click on any swap station and see the available batteries in that station. The driver can also reserve battery in any swap station from the app. Once he reserves the batteries, they are temporarily blocked for him. He has to reach and collect the batteries within a predefined time. If the driver fails to reach in given time batteries will be released for booking for other drivers. The driver can navigate to the swap charging station by clicking on the icon on the map view.


The driver can run diagnostics of its vehicle anytime and find out and check the vehicle conditions(Lighting, Tyre pressure, Drivetrain system, etc.). This data will be obtained from OBD Port, which will be connected through Bluetooth with the app.

Swap charging station app

Information of all the batteries available on the station is synced from the charging module to the charging station app and then from app to the server. The different types of information include –

  • The serial number of the battery
  • Charging status of the battery when it is issued to the vehicle along with the date and time stamp
  • Charging status of the battery when the driver returns it along with the date and time stamp
  • Power consumed from different sources of electricity (Utility, solar, etc.)
  • Power exported to the grid
On-demand cab booking app
On-demand cab booking application

Admin portal


This is the default view of the admin. All the concise information is presented here in tables and graphs using data visualization. The following are the stats visible to the admin from the dashboard –

  • Total number of completed rides
  • Revenue
  • Total number of cars in the fleet
  • New cars added
  • Total cancelled rides
    • Rides cancelled by the rider
    • Rides cancelled by the driver

On the dashboard itself, admin has the option to filter the results based on date range and region.

On the dashboard itself, admin can see all the cars displayed on the map along with their status with the option to search for any particular car.

Ride listing and details

Using this detail, admin can list all the information about recent rides including –

  • Date/Time
  • Driver/Car name
  • Ride details
  • Rider name
  • Driver name
  • Pickup and drop off address
  • Total price, etc.

Region management

As the admin was managing different regions, the option provisioned admin to add new regions, define the perimeter, etc.

Vehicle category management

The option enables admin to map vehicle category according to a different region with the option to add new categories, list categories, and even deactivate any category.

Rate management

The option is used to add rate plans. For this particular project, rate plans had three components –

  • Variable component
  • Fixed component
  • Route component

Admin can assign these plans to different vehicle types.

Driver management

Admin can search for the driver using various parameters under the driver management.

Different types of parameters include –

  • Any alert associated with the driver such as negative feedback, license/RC/insurance about to expire, overspeeding, etc.
  • View and manage details of drivers like their personal details and their vehicle details
  • Service history like their date of joining, last activity, total rides received, accepted rides, cancelled rides, ratings, etc.

Driver management also includes reports like ride history, account statement, the total number of batteries swapped, etc.

The admin also has the ability to add new drivers from the portal with all the details required at the time of driver registration.

Rider management

The admin has the privilege to search any rider by their name or email and the option to list all the riders along with their details like Name, Email, Phone, Rating, and Amount spent, etc. along with different options –

  • Block/Unblock any rider
  • Send messages to the rider
  • View ride history and all the other ride details

Battery management

This option enables the admin to add batteries along with other details like battery serial number, model number, swap station (to which it will be assigned), etc.

The admin can also search for any battery or list all the batteries with different options including –

  • Battery serial number
  • Swap station (to whom it was last assigned or last located)
  • Vehicle in which the battery is being currently used
  • Battery status – Charging/In-vehicle, etc.

Swap station management

Different types of options available to admin include –

  • Add/edit battery swap charging station with the option to activate/deactivate any station.
  • List battery swap charging station along with plenty of information like name, address, battery capacity, number of fully charged batteries, number of batteries being charged, number of batteries reserved, etc.
  • Map view enables the admin to view all the swap stations on Google Maps listed as icons with the option to tap on any station and view all the details.
  • Battery swap charging station dashboard listing all important points like –
    • Battery capacity
    • Number of fully charged batteries
    • Number of batteries getting charged
    • Number of batteries reserved
    • Number of batteries available for booking
    • Daily batteries swapped report, etc.

Analytics reports

Different types of reports available at admin disposal include –

  • Analytics reports – Demographics, customer behaviour, etc.
  • Financial reports – Earnings, discounts, payouts/commissions, etc.
  • Exception reports – Violations, customer feedback, support tickets, etc.
  • Marketing reports – Marketing campaigns, conversions, ROI, etc.
  • Logs – Security logs, call logs, vehicle logs, etc.
  • Traffic reports – Total number of rides, batteries, drivers, cars, etc.
  • System reports – All server and network-related information.

Promo code management

Using this option, admin can list all the available promo codes along with the option to add or delete any promo code.

Document management

All the drivers’ documents managed and listed.

Payment methods

The option is available to the admin to activate/deactivate any payment method along with the option to add new payment gateways.

User management

The admin portal can have four different types of users along with varying levels of access –

  • Super admin – Have full access to the application
  • Supervisor –Supervisor has the option to review and approve drivers added by the executives and option to take action on support tickets escalated by the call center user.
  • Executive – Executive can review the registration requests added by the drivers from the app and forward them to the supervisor for approval.
  • Call center user – The guy working at the call center can view the rider/driver history and open support tickets.


All the support tickets added by the riders are visible here. The admin can view all the open tickets, reply to tickets, close the tickets, etc.