Architecture Kata "Taxi"

Develop an application that customers can use to order cab rides (see http://mytaxi.com).

There is one app each for cab customers and cab drivers. Both apps inform a "control center" of their current location. A cab customer can order a cab in their app. Cab drivers in the customer's vicinity then receive a push message and can take over the journey. The first driver to take the ride is awarded the fare and the cab customer is then shown which cab will take their ride.

The position of the cab is displayed to the cab customer until the cab arrives. They are also informed of the estimated time it will take for the cab to arrive.

Variation #1

After completing the journey, the driver can enter the amount displayed on the taximeter in the app so that the customer can make a payment via the app. Payment can be made by credit card or paypal.

Variation #2

A cab customer can order a cab at a specified time instead of immediately. The system immediately searches for a driver who would like to take the journey. As soon as a driver is found, the customer is informed. Shortly before the time is reached, the customer is informed that the cab is now on its way to them. Again, the current position is displayed.

Variation #3

An ordered ride can be canceled by the customer before the cab arrives. The cab driver is informed of this by push notification.

Variation #4

The customer can enter their address and request an invoice. The invoice must be requested with the payment at the latest and cannot be requested retrospectively. Furthermore, it can only be requested if the customer pays via the app.

Variation #5

The customer can specify the destination when ordering and is then informed of the estimated fare. The destination is also displayed to the cab driver.

Variation #6

After the journey, the customer can rate the cab driver with 1-5 stars. The average value of all ratings of a driver is displayed to the customer when a driver has been found for their journey.

 

 

 

 

 

 

 

 

en_USEnglish