TV, ad boards, and radio ads don't work anymore: Passengers don't want to call anyone to arrange a ride. Any taxi company should have its own app, which will allow it to receive the maximum number of requests and stand out among other cabs. Everything about software development, is covered in this article.

Frame 199

Why do cab companies need a mobile app?

Today you can't run a cab business "via ads", as you did 10 years ago. The app solves several problems at once:

  • Cost reduction
    The software allows you to replace ten operators with one administrator, who will control the situation. Each step is automated, so human error is further reduced.
  • Speeding up the process
    Request distribution, data collection and order reception is automatic, without waiting for the operator to be available.
  • Telemetry and monitoring
    It is easier for the manager and the owner of the taxi company to control the drivers, track the routes and consider the risks. In addition, the application includes a built-in calculator to calculate the cost of travel and discounts.
  • Service
    The app has everything for customer convenience: ordering, support service, driver monitoring, and payment. You won't have to look for polite operators and constantly watch the staff.

Basic Features

The minimum viable product (MVP / MVP) must include:

  • Registration and account setup
    Users must have access to ride history and the driver's information.
  • Driver Tracking
    Display of the driver's location in real time.
  • Ride cost calculating
    The app should automatically calculate the price of the ride, including promo codes and discounts.
  • Rating and feedback on the driver
    Give users the option to rate drive
  • Customer support
    At a minimum, customers may need help if a cab driver doesn't show up or there are problems on the trip.
  • Notifications
    Send customers notification of when the driver is coming, confirmation of ride, completion, etc.

This is enough for customers to be able to use the cab ordering app at a basic level.


Advanced features

To improve the UX/UI of the cab app, you should add advanced functionality:

  • Ride booking
    An option that allows you to pre-book a cab for a specific time.
  • Shared rides
    One trip is shared by two or more passengers.
  • Promocodes and descouts
    Give customers the opportunity to pay with bonus points.
  • Integration with third-party services
    For example, signing up via Google Account.
  • Choosing the cab type
    Classify cars by category: truck, economy, business, premium, etc.
  • Payment options
    Allows you to pay for your trip in cash, by card, or with your mobile wallet.
  • Chat
    Let customers communicate with the driver to exchange information about force majeure.

App Structure

Passenger`s client

The user's mobile software that allows you to order a cab. It is desirable that it be multiplatform, i.e. it works on Android and iOS.

Driver`s client

Includes a user account for managing documents and schedules. The cab driver app is usually secured with access from the administration panel.

Administrative Side

Consists of a server, taxi fleet administrator panel. Allows you to track drivers, collect data, provide restrictions and access to the system, get statistics, etc. For this reason, no-code platforms and any other drag-and-drop constructors are not suitable. They are not capable of covering a complex architecture.

Extra options

  • Communication with passengers
  • Navigation around the city
  • Travel records
  • Technical support contact
  • Comments on order
  • Bonus system


Architecture

Note that the software is a "facade", so the service is not finished by its development.
The entire architecture consists of three parts:

1. Server
This is where databases of drivers and customers are stored. In many ways, the performance of the software depends on its components (RAM, CPU, and storage).

2. Back-end
The software part that runs on the server. It allows you to manage the information in the database on the server through a mobile application.

3. Front-end
The client part, i.e. the interface with which the user interacts. The better the UX/UI is designed, the faster the customer will understand the functionality and is more likely to use your services.

Stages of mobile app development

Preparing
It is necessary to gather information and analyze the situation on the market. Preparation will help to build the proper UX/UI, which will not cause complaints from customers. Set goals that you plan to achieve. The MVP is a great option to quickly test your hypothesis, and choose a better direction for developing your product with minimal effort. You need to define the goals and capabilities. For example, add a freight cab service or open a niche service. Also at this stage the resources should be defined. For example, Uber has open APIs which allow to expand the functionality of the business.

Creating the terms of reference (ToR)
A well-developed ToR reduces development errors. The more detailed the ToR, the closer the final product will be to your requirements. It should be noted that you cannot write the ToR on your own - make it together with an analyst from the development company.

Design
A good user experience can make your cab company a leader in the region. Designers create several design concepts according to the customer's specifications. The customer approves the best version, which then goes into production.

Development
A team of programmers writes code. A programming language and libraries are selected for specific tasks. Along with the development, at the stage when 10% of the application is ready, the QA is involved, which checks the operability of the application using the previously made test cases. When the test assembly is ready for testing, the developers inform the QA about what functionality has been added. The tester pays attention to the test cases previously passed, and also takes the time to test the new functionality. This leads to the stability of each assembly, and the rapid elimination of bugs that occurred during the addition of new functionality.

Release
The application is ready for uploading to AppStore, Google Play, RuStore, Huawei Store or the taxi park website. Software support is possible in the future. All that’s left is to promote the service to your local area.

How much does it cost to build a cab app?

The cost of developing an application depends on several factors:

  • Operating system
    Android and iOS are incompatible at the kernel level and have no compatibility layers, so you have to write an application for each OS in its own language: Kotlin (Java) and Swift.
  • Set of functions
    A minimal viable product will cost less than an application with full functionality. MVP will have to be refined in the future, because customers largely choose cabs based on the convenience of the software.
  • Follow-up support
    The application needs to be maintained, modified adding new features.

The cost of a minimal viable product starts at $10,000. In addition to that, you should add marketing and post-launch analysis costs.


Ways to monetize cab apps

For the business owner, the initial thing is to monetize the software.

  • Commission
    There is a commission on trips in the application , which is added to the driver's salary, depending on many factors:
    • Geolocation
    • Time of day
    • Weather
    • Route and distance
  • Partnership
    Cooperate with drivers and businesses on a fixed rate. If you are not planning to set up your own car fleet. The model provides a stable income on a permanent basis.
  • Subscription
    A rare revenue model that is common in Europe. Customers pay a subscription and get a fixed number of rides per month. The model is suitable for those who want to save money on cabs, while using public transport less often.

Frame 204

What needs to be taken into account when developing

The most problematic place of any service that collects large amounts of data is poor load handling. At rush hour, when the maximum number of requests arrives, the server can «go down» because of the lack of server resource. When selecting a server, be sure to consider the CPU, RAM, bandwidth. This is done by specialized engineers (Devops engineers), who competently select resources, adjust the balancer and other settings for the resiliency of the server.

Therefore, to avoid long downtimes, you should:

  • Build the architecture for the anticipated loads
    You should consider in advance what data will be stored in the database, the type of query structure, etc.
  • Optimum load
    Calculate the maximum load in advance. For example, if you have a local cab that operates in a town of up to 100 thousand people, you need less capacity than for a metropolitan or federal fleet.
  • Choose a technology stack
    This includes the type of database, the programming language, and so on. For example, if speed comes first, it is better to choose compiled languages and a Postgresql or Oracle database.
  • Perform load testing
    The system must be tested under real conditions, not «in a vacuum». This is the only way to really test the system.

Conclusion

Mobile cab apps are a necessity, because the days of operators and ads are over. But the development should be done by a team with a staff of analysts, designers, back-end and front-end programmers, so that the final product is clear and user-friendly.

The turnkey application saves money on operators, analysts, and managers, because the program does everything on its own. It also solves problems with costing, payment, reservations, orders, etc.