Taxi

Architecture Kata „Taxi“

Entwickle eine Anwendung, mit der Kunden Taxifahrten bestellen können (siehe http://mytaxi.com).

Für Taxikunden und Taxifahrer gibt es jeweils eine App. Beide Apps teilen einer „Zentrale“ ihren aktuellen Standort mit. Ein Taxikunde kann in seiner App ein Taxi bestellen. Taxifahrer in der Nähe des Kunden erhalten daraufhin eine Push-Nachricht und können die Fahrt übernehmen. Der erste Fahrer, der die Fahrt übernimmt, erhält den Zuschlag.Dem Taxikunden wird daraufhin angezeigt, welches Taxi seine Fahrt übernimmt.

Dem Taxikunden wird bis zum Eintreffen des Taxis die Position des Taxis angezeigt. Ferner wird ihm mitgeteilt, wie lange es schätzungsweise noch dauert, bis das Taxi bei ihm eintrifft.

Variation #1

Nach Abschluss der Fahrt kann der Fahrer den auf dem Taxameter angezeigten Betrag in der App eingeben, damit der Kunde über die App eine Zahlung vornehmen kann. Die Zahlung kann per Kreditkarte oder paypal erfolgen.

Variation #2

Ein Taxikunde kann ein Taxi zu einem vorgegebenen Zeitpunkt bestellen statt für sofort. Es wird sofort nach einem Fahrer gesucht, der die Fahrt übernehmen möchte. Sobald ein Fahrer gefunden ist, wird dem Kunden dieser mitgeteilt. Kurz vor erreichen des Zeitpunkts wird dem Kunden mitgeteilt, dass das Taxi nun auf dem Weg zu ihm ist. Wieder wird ihm die aktuelle Position angezeigt.

Variation #3

Eine bestellte Fahrt kann vom Kunden storniert werden, bevor das Taxi eintrifft. Der Taxifahrer wird darüber per Push-Mitteilung informiert.

Variation #4

Der Kunde kann seine Adresse hinterlegen und eine Rechnung anfordern. Die Rechnung muss spätestens mit der Zahlung angefordert werden und kann nicht im Nachhinein angefordert werden. Ferner kann sie nur angefordert werden, wenn der Kunde über die App bezahlt.

Variation #5

Der Kunde kann bei seiner Bestellung das Ziel angeben und erhält dann den geschätzten Fahrpreis mitgeteilt. Dem Taxifahrer wird das Ziel ebenfalls angezeigt.

Variation #6

Nach der Fahrt kann der Kunde den Taxifahrer mit 1-5 Sternchen bewerten. Der Mittelwert aller Bewertungen eines Fahrers wird dem Kunden angezeigt, wenn ein Fahrer für seine Fahrt gefunden wurde.