What Uber is all about. Our Expertise in Taxi Booking Mobile App Development

Technology involved into building mobile taxi booking-apps and great examples of their implementation

Kateryna Abrosymova
Yalantis Product Development

--

Over the past five years, life for traditional taxi services has become almost unbearable. Competition is intense, customer loyalty is almost non-existent, cheaper transport providers are stepping in. Uber-like taxi booking apps are taking the market away from traditional taxi services. The reality is that Uber-like taxi services are here to stay. And the world will never be the same again for traditional taxi businesses.

Maybe you’re running a taxi business, or perhaps you’re looking into developing an independent Uber-like taxi service. If so, then it’s clear that a mobile solution is an absolute must.

Let’s talk about the different types of taxi apps out there and how they’re developed, then move on to Uber and discuss customer value and how we can deliver this value with modern technologies.

Unlike Uber: a taxi booking app as an extension of your taxi business

There are several types of cab booking apps on the market. One type is especially suited to established taxi businesses with their own cars and drivers. Such businesses need an app as a mobile extension of their service. By developing a mobile app to complement their existing service, a taxi company can make it easier for customers to book a ride while also expanding their client base. A taxi app can make life easier for drivers as well.

A while ago (when Uber was still young) we developed the HeartLimo iOS app here at Yalantis. This app is a great example of a mobile extension for a traditional taxi service.

The HeartLimo cab company provides a luxurious limousine service to their clients in California. Riders can select from a list of pre-programmed destinations or input an address themselves, pay the service’s hourly rental fee, and select the type of car they’d like. The app tracks your booking history and offers credit and cash payment options. Extra features for this type of app might include driver’s location IDs and taxi tracking for those customers who are in a rush.

If you want to make an app for taxi service like HeartLimo, you need a server to handle multiple user requests and make sure taxis are delivered to the current user location in the shortest possible time. Our company developed both parts for HeartLimo — the server software and the client app.

A taxi booking app as an independent booking service

If you don’t have a garage full of limos but are still inspired by the thought of entering the taxi market, there’s another option like that used by Uber: you can provide a mobile booking service to taxi drivers. There are two ways of doing this — one simpler, the other more complex.

[Uber. Image source: The Independent]

1. The simpler solution for a taxi booking app

The simpler taxi booking solution involves a single app for customers that includes a list of cab services along with prices and the ability to call and order a cab directly from the app. You might add a map with destination points and an approximate calculation of the price of the ride according to given service prices and mileage.

With this option you don’t even need a server.

If you’re interested in how to actually implement a server free solution, check out this code sample from one of our Android developers who implemented this idea awhile back (it’s more of a demo and not a commercial app build).

NOTE: Keep in mind that you’ll have to monitor and update your app’s database of taxi services frequently to account for price changes.

2. A taxi booking app like Uber

A more complex and full-featured taxi booking solution requires you to invest in backend development in addition to frontend, as you’ll need a server. You may have to establish partnerships with taxi companies or individuals and offer them an app with two discrete interfaces — one for taxi riders, the other for taxi drivers.

With the help GPS, a server identifies the current location of a user in need of a taxi and notifies the nearest driver. In this case, it’s super important to be able to monitor drivers’ locations. To have up-to-date information about the location of a customer, we can send requests to the server every hour, every 5 minutes, every second… with whatever frequency is required. This is how you build a taxi app like Uber briefly.

Uber-like app features and technology stack

With taxi app development, technology is important. But not nearly as important as the value that a taxi app like Uber can provide to riders and drivers. Uber succeeded because it attacked a vulnerable market by offering a service, incorporated in a mobile app, that was customer-focused. Unlike traditional taxi services, Uber was way better at three things that people really appreciate: convenience, reliability, and professionalism.

If you’re thinking about how to start taxi application development, my advice would be to define your app’s value first. To make your quest for value a little easier, let’s discuss the value of Uber’s app and consider technology that makes this value tangible.

How to achieve convenience, reliability, and professionalism in your taxi app

To build a great taxi app, hire a qualified taxi app development company and have them develop the following features:

1. Location tracking

Uber tracks your location all the time — even when you’re not using the app — which helps Uber find the nearest driver within seconds. Once a taxi has been ordered, Uber displays a countdown until the driver arrives. This way passengers don’t have to worry about a taxi not showing up, which sometimes happens with traditional taxi services.

If you also want your app to track a rider’s location while running in the background, don’t forget to ask riders for permission to share their personal location data.

[Image source: The Verge]

2. Built-in maps and traffic data

The quality of the navigation experience in an Uber-like app can be a tipping point for drivers deciding which service to drive for. To get drivers from point A to point B, Uber uses a variety of services. While the main source of location data for Uber is Google Maps, they also have their own mapping assets thanks to their acquisition of Microsoft’s Bing mapping and startup deCarta.

Since Uber operates globally, they take navigation pretty seriously. If you don’t plan on global expansion in the first few months of your app’s existence, you might not need that many location data sources. For iOS taxi app development, you can always use Apple’s MapKit framework to embed a fully functional map interface into your taxi app. Or you can use Google Maps. Because…what could be better than Google Maps anyway?

Here’s how a map works: it contains a flattened representation of a user’s surroundings. Coordinates (which can be specified by a user) are sent to the server, where they are translated into a readable address using Google’s GSMGeocoder service. This process is known as reverse geocoding.

NOTE: Google Geocoder has limits on the number of requests it will process for free. Mind the pricing!

3. Fare calculation

When people hear the phrase “taxi price calculation,” they tend to imagine a meter mounted to a car’s dashboard. However, most cab booking apps don’t operate that way.

Uber calculates the fare using 4 components:

  • Base fare — a flat fee for an Uber ride; this value depends on the area and the Uber category
  • Cost per minute
  • Cost per mile
  • Booking fee (formerly known as the ‘Safe Rides Fee’) — a flat fee that covers ‘operational costs’ such as driver background checks

The cost per mile is calculated with the help of GPS — according to the mileage of the customer’s route and your company’s price list. The price of the ride needs to be submitted to the user before the car arrives.

4. Payment system integration

Uber’s automated payments almost feel like “payment-less” payments. The fact that you don’t have to reach for your wallet and hand over some cash makes it almost feel like you don’t have to pay at all.

Even though Uber doesn’t offer it, you could still include a “pay with cash” option in addition to “pay with credit card” in your own taxi app. Presumably some passengers might not have a credit card, or they might not want to charge money to their credit card for some reason.

With a cash option, it’s important to make sure a client doesn’t change his or her mind and cancel the taxi when it arrives. To avoid this, you could place a security charge on a user’s card (if they have a credit card of course). This is essentially a transaction, but the money is returned to the user’s card once the service is rendered and cash has been paid.

You can use Braintree to accept and manage online mobile payments. Their iOS SDK provides an easy-to-use collection of APIs for adding native payments to any taxi booking app. The Venmo touch network powered by Braintree technology even allows users to make one-tap purchases without having to input their credit card information over and over again.

Braintree stores customer information and payment credentials in their Vault. This information is encrypted by the Braintree gateway and associated with a unique payment method token.

We would also suggest that you consider the developer-friendly and robust Stripe APIs for both iOS and Android apps. Stripe secures card data by converting it into tokens on their Stripe servers.

Read more about integrating payment systems.

5. Rating system

Uber is perceived to be more reliable than traditional taxi services. They achieved this reliability by giving both riders and drivers more information than traditional taxi services both before and during the ride, and by implementing a rating system in the app.

It’s important for both riders and drivers to know who they’re getting in the car with. A rating system increases the rider’s and driver’s sense of control and security, and also provides a curation mechanism to better match drivers with riders.

Put simply, a rating system should be on your taxi app design agenda.

6. Driver-focused features

Today, more and more taxi apps like Uber are emerging around the world. Uber is facing competition from all sorts of ridesharing apps. Didi Chuxing in China, Ola Cabs and GrabTaxi in Asia, Lyft in the US — these are just a few examples out of hundreds of Uber rivals. In fact, Uber might soon face a threat from your taxi app as well!

While competing for customers is a huge challenge for new ride-hailing services, the competition for drivers might be even fiercer. Taxi companies often compete for the same pool of drivers. And it’s hardly oversimplifying things to say that the taxi service that offers the most perks to drivers wins.

In answer to increasing competition, and also because Uber has been facing multiple lawsuits from drivers who accuse the company of wage theft, Uber has rolled out a few new driver-friendly features this year.

Now, Uber drivers in some US cities can “pause” new ride requests while on a route (without having to log off the app completely). They can also charge passengers for being two minutes late for a ride. Additionally, they can cash out their earnings at any time if they’re driving the US roads.

Before getting down to implementing your taxi idea, consider other taxi apps which have already received millions of dollars in investments and have been mentioned in this article. Lyft, Hailo, Ola Cabs, GrabTaxi, EasyTaxi, and a dozen or so others should be on you competitor audit list.

And you know what else you should check out?

Our platform business model section in the insights category. There, we offer comprehensive guides on how to build a platform marketplace like Uber, Airbnb, and a bunch of other new economy businesses.

The story was originally published to Yalantis blog.

--

--