Hello to all habroplanetyanam!

Today I will tell you about the Kiev online taxi taxi service
uklon.com.ua - a fully automated service in which customers make an order without the participation of dispatchers.
First, I will tell you what our service can do, then proceed to the description of technical details.
update: respectful request! Please do not make "test" orders! Our service is tested and works fine.Users.
')
I should note that before embarking on the development of this project, I made a detailed analysis of all taxi services existing at that time (end of 2009). The result was disappointing - with a dozen completely non-usable sites. In some cases, the dispatcher called back to users (almost the same as a regular telephone order, an extra link is added), in others, it was up to the author of the project, while others did not work at all. (Perhaps in your region a different situation? In Kiev, things are like this.)
Here are a couple of examples of existing online taxi taxi services:
You have to imagine that something like a normal computer user who first visited the site should master!I note that such services exist in our market for more than a year, although they are not experiencing any particular workload. Even with several services in the field of online taxi ordering, until recently, it was difficult to choose one particular one. Some services even managed to switch to unsupported status. Others are completely impossible to use.
And now an example from real life: I came to visit, drank tea and sat up until midnight. I start to call a taxi - there are no cars in my area. Half an hour pinging 3-4 dispatch and lo and behold! Two arrived! Or no one came, we keep on calling ...
And imagine: at any time of the day you go to the site, spend a minute filling out a form, find out the cost and go to the exit in a couple of minutes! An sms comes to the phone with the car number and cost - no error will occur.
What are our main differences from competitors? The project is constantly evolving and today we can offer:
- convenient and intuitive interface, with tips and explanations;
- the ability to create orders with complex routes for 3-5-10 points;
- instant calculation of the cost of the order;
- pre order;
- after registration: 5% discount, order history, order creation with a ready route (from history).
Some screenshots:

Tips will help novice users.

Auto substitution minimizes the likelihood of errors.

Difficult route in a couple of seconds!

Pre-ordering is easy!

The repeat route function is the fastest order. Available after registration. All orders of the user remain in the personal order history, and with one click all fields of the form are filled with a ready route.
The latter function was at first particularly popular among the employees of our company, and later it was picked up by our regular users.
The technical side.
Now I will tell you how an online taxi order works from the inside. After preliminary validation on the page, the order gets to the IIS server where the final validation of route points and captcha passes (if the user is not registered). The order is placed in the order table, from where it is taken by another service - OnlineClient. By recording, an xml package is generated, which is sent to the so-called “transfer server” - CancelServer. CancelServer is an intermediate link between several taxi companies that are unable to serve all of their customers (for example, there are no cars in the area, rush hour or night time). CancelServer sends the order to all connected firms; incoming packets are processed by the CancelClient service (OnlineClient is a modification of CancelClient). CancelClient, in turn, the received xml package deserializes and the data gets into the database. Next comes MobileClientServer, a service that serves the drivers. An xml package is generated from an entry in the order table, which is sent directly to the drivers on the phone (java me application).

Scheme of service
uklon.com.uaAfter receiving the notification, many drivers are viewing the order - the cost and route are visible. Now it all depends on the attractiveness of the order and the speed of the reaction of the driver. Orders for 70-100 UAH are taken in a matter of seconds, 25-35grn - sometimes with a delay of 30-50 seconds. In some cases, drivers do not take the order. For example, if it is known in advance that the route runs through a traffic jam, or during peak hours (when up to a hundred orders in the “common boiler”, drivers do not want to drive for 25 UAH). Then the client must repeat the order, and, perhaps, use the function "Add to order".
After confirming the order, the package should be returned along the same chain. Conflict situations (examples: the order was taken by the driver, but the order has already been canceled; the order was taken by several drivers) allows CancelServer. If the order was taken by several drivers, it is assigned to the first one that was registered in the CancelServer, the other drivers are sent a cancellation notice.

Search cars.
Following the chain back to IIS, the xml order fulfillment package initiates a customer notification on the order status page; SMS with information about the car, filing time and cost
is sent :
At 09:57 AM #### VK Dew Lanos Green will be submitted (8067 #######). 50 UAH Dispatcher ####### .

Machine found.
If the client refuses to travel, he can call the control room and cancel the order.
That's all friends. All your wishes and comments will be taken into account, so we are waiting for fair criticism!
ps If you like the article, please donate a bit of karma, and I will transfer it to the “I am promoting” section. Thank!
update: Thanks for the karma! Transferred to "I am PR".