In order to create an app like Uber, make sure to keep in mind the following features:
Register/profile/status: with verification (tax number) and approval by an administrator, plus online status and schedule;
Booking: with options to accept or deny the incoming order, info on customer location and destination of a ride visible instantly, plus booking history;
Push notifications: for order alerts, taxi booking data (location, payment, route, etc.), for order updates and/or completion;
Navigation: e.g. using Google Maps or Google Places to get optimal directions to a customer and to his destination, could be voiced;
Cost estimation, reports, messaging, support.
Additionally, to manage all the process and drivers from a central point an admin panel is required. It is a web (desktop) application that facilitates interactions with customers, manages ride routes, payments and all other data.