I've said that in these Uber discussions before, and I'll say it again: I split my time between three or four different countries and everywhere the difference between Uber-like services and 'regular' taxis comes to exactly just a bit less than all tax, license and insurance they should be paying, but don't -- I've made the calculations out of pure curiosity.
Also, strangely, there are Uber-like companies that work over the Internet, service different taxi operators and licensed individuals, provide similar level of quality and speed and are not in conflict with anybody.
Finally, the 'living wage' argument isn't all that bad, apparently there were times when taxis were really dangerous because of the adverse selection of cars and drivers due to the low wages.
What 'tangible' service? They are just free riders which happen to be receiving payments in a jurisdiction where the tax authorities of the countries they operate in cannot get a hold of them.
There are three uber-like services at home, they all operate similar web services. The only difference is they provide those services to registered taxi operators -- individuals or companies.
Amazingly, they don't have problems with the law.
I don't know about your area, but where I live, all licensed cabs have the driver's name, license number and a complaint phone or qr code on the dashboard. You can use these to complain to either the company or the municipal regulator. Here, both accept complaints online.
I've only been overcharged once, a couple of years ago, when I was asked to pay two times the amount I usually pay on a certain course. Interestingly, that was also the amount displayed on the meter. Since I travel that route quite often I simply called the cab company and complained to them about the problem. They did some short investigation, called me back and asked if I'd like to have my money back or a voucher for their services.
So, it is really, really simple.
Make sure your code does nothing gracefully.