The rapid development of mobile technology has made things more and more dependent on smartphones. From booking a hotel room to reserving a table at a restaurant, mobile booking-apps for your iOS and Android devices, iPads, and other tablets are no longer a novelty.
I suspect that the Uber app was developed to conquer the taxi world and they totally hit the nail right on the head. With big fish like Uber already on the market, any service provider looking to expand their user-base and develop a competitive advantage has to look to mobile as the way forward. In this article we decided to talk a bit about how mobile apps make taxi booking possible.
«I’d like an app that would be similar to Uber» — we often hear from our clients. And yeah, this taxi booking app development idea is not new or competition free but who says Uber has to be the only “service on demand” app out there? Rather than watching Uber grow bigger and bigger, how about delivering your own solution instead?
For those brave enough to throw their mobile hat into the ring and looking for a taxi app developers who know how to create an app like Uber, we can offer our expertise. Having years of dealing with taxi-booking apps both as developers and users, you can count on us to help you turn your great idea into a reality.
Now let’s talk about different ways taxi booking app technology can work.
Taxi booking apps as an extension of your taxi business
There are several examples of cab booking apps on the market. One of them suits established taxi businesses that service areas with their own cars and drivers. This kind of business needs an app as a mobile extension of their service. By developing a complementary mobile app, a taxi service can make their booking experience easier while also expanding their client base. It might make life easier for drivers as well.
The HeartLimo iOS app that our programmers developed is a great example of this model. The cab company provides a luxurious limousine service to their clients in California. Users can choose from a list of destinations housed on the server (or input an address themselves), pay the service’s hourly rental fee, and select the type of car they’d like to ride in.
The app tracks your booking history and offers credit and cash booking options. Extra features for this type of app might include driver location IDs and taxi tracking for those customers who are especially impatient.
Maps and location implementation
Apps like HeartLimo app need a server to handle multiple user requests and make sure the taxis are delivered to the current user location in the shortest possible time. Our company developed both parts — the server and the client app.
Since the app was built on iOS we used Apple's MapKit framework to embed a fully functional map interface into the HeartLimo app. The map view contains a flattened representation of a user's surroundings. Coordinates of specified by a user are sent to the server, where they are translated into readable address and know locations 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!
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. In the case of HearLimo, the cost for a luxury ride gets calculated with the help of GPS — according to the mileage of the customer’s route and the company’s price list. The price of the limo ride gets submitted to the user before the car arrives. As mentioned above, there are two payment options — credit and cash.
NOTE: With the cash option, it’s important to make sure a client doesn’t change his mind and cancel the taxi when it arrives. To avoid this you should implement the possibility of making a credit reservations with the user’s credit card details. It’s essentially the same transaction as the one used in the credit payment option, but in this case money has to be returned to the user’s card once the cash has been paid and there are no worries about orders getting canceled.
Payment system integration
If one of the pillars of a taxi booking app is sticking maps to the screen, the other one is payment system integration. The issues connected to frictionless transactions are rooted in code. Therefore, in order to accept and manage online mobile payments, you need a good tool.
An example of a good payment systems is Braintree. Their iOS SDK provides an easy to use collection of APIs for adding native payments to any taxi booking app and not only that. The Venmo touch network provided by Braintree technology allows a user to make a one-tap purchase without having to input the credit card information over and over again.
Sensitive user data is securely encrypted by the iOS library on your customer’s mobile device before being sent to your server. This means your customer can complete its sale with only one HTTPS request, which leads to shorter response times and more customers completing their purchases.
We would also suggest for both iOS and Android commerce apps developer-friendly and robust Stripe APIs. Sensitive card data security is accomplished by converting the information on the card to tokens on their Stripe servers. You can charge these tokens later in your server-side code.
We used PayPal for HeartLimo. Their mobile SDK enables native apps to easily accept both PayPal and credit card payments.
Taxi booking apps 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 is another option like the one used by Uber. You can provide a mobile booking service to taxi enthusiasts. There are two ways of doing this -- one is more simple, the other more complex.
When you don’t want to deal with a server
The simpler way involves a single app for taxi clients that includes a list of cab services with their prices and the possibility to call and order a cab directly from the app. You can add a map with destination points and an approximate calculation of the price of the ride according to the given service prices (kilometers multiplied by a taxi service’s minimum mileage cost, rather than an old school meter).
By the way, why do I sound like I hate taxi meters?
NOTE: Digital taxi booking services run into many problems in places where meters are required by law, like Michigan. These legal issues stem from misunderstandings and apprehensions about programming mechanisms. That's why a lot of taxi drivers arrange major anti-Uber protests, like the one in London.
If you're interested in the actual implementation of 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: Mind the fact that you will have to update and monitor your app’s database of taxi services frequently to account for price changes.
When you have a server
A more complex and solid solution involves building relationships with a server. You may have to establish partnerships with taxi companies or individuals which will require building an app with two discrete interfaces — one for taxi riders, the other for taxi drivers.
With the help of GPS a server identifies the current location of the user in need of a taxi ride and notifies the nearest driver. In this case it’s super important to be able to monitor drivers’ locations.
As a matter of fact, push (or text) notifications need to be implemented in both the passenger and driver-facing apps. Check our programming article on how to implement and enable push notifications in your taxi booking app.
After that, all a driver has to do is press the button on his mobile device and start the car. In order to have correct information about the location of a customer, we can set the requests sent to the server for every hour, every 5 minutes, every second however you wish.
Regarding the payment integration on Android, it’s better to use third party libraries, like Stripe. It makes more sense since Google takes 30% of purchases made through their apps (by the way, Apple does that too). Since taxi aren't a digital product, Google and Apple can’t object to this.
This type of a taxi booking-app can also feature an option to rate drivers. This will contribute add to customer experience improvement and your app's overall rating.
Take a look: How much does it cost to build a mobile app?
Uber analogues in the field of transportation app development
Before getting down to implementing your taxi idea, I would recommend that you consider other taxi apps which have already received millions of dollars in investments. You could take a look at Gett, for example, which offers users reasonably-priced rides in stylish black cars. Then there's Lyft which is considered the leader of peer-to-peer ride-sharing taxi apps. You can also check out a London-based on-demand taxi service called Hailo that has raised more than $50M and is quickly spreading.