Aufgabe 14

Reservierungssystem

Aufgabe 1: Modelliere folgenden Prozess

Die Platzreservierung für unsere Workshops läuft über unser Reservierungssystem. Wenn ein Kunde eine Reservierungsanfrage stellt, wird eine Nachricht an das System geschickt. Dort wird zunächst geschaut ob noch ein Platz verfügbar ist. Nur in dem Fall wird der Platz automatisch in der Datenbank blockiert. Ist kein Platz mehr frei, wird dem Kunden eine Info geschickt und der Prozess ist beendet.

Nach der Blockierung wird dem Kunden eine Zahlungsaufforderung mit einer Frist von 5 Tagen geschickt. Wenn der Kunde innerhalb dieser Frist die Reservierung durch die Zahlung bestätigt, wird dies in der Datenbank hinterlegt und die Reservierung ist abgeschlossen. Ansonsten bekommt der Kunde eine Nachricht, dass seine Reservierung abgelaufen ist und der Platz wird gleichzeitig in der Datenbank wieder freigegeben.

Der Kunde hat natürlich jederzeit bis zum Beginn des Workshops die Möglichkeit die Buchung zu stornieren. Falls schon gezahlt wurde, wird das Geld zurückgezahlt.

Hinweise

  • Verwende bitte 2 Pools: Kunde (zugeklappt) und das Reservierungssystem

  • Die Prozessinstanz sollte solange offen bleiben, bis der Workshop startet

Aufgabe 2:

In der Vergangenheit ist aufgefallen, dass viele Kunden nicht innerhalb der Frist gezahlt haben. Die Plätze wurden dann wieder freigegeben, aber noch garnicht von anderen gebucht. Falls die Kunden dann doch noch ihre Tickets haben wollten, mussten Sie den ganzen Prozess neu starten. Um dem Kunden dies zu erleichtern, soll nun im Falle eines Fristablaufes der Platz zwar zunächst wieder freigegeben werden, der Kunde soll aber dennoch die Möglichkeit behalten die Reservierung durch eine Zahlung zu bestätigen. Nur falls in der Zwischenzeit alle Plätze ausgebucht sind, soll der Kunde informiert und die Reservierung abgebrochen werden.

Ergänze diese Änderungen im Modell. Für den Fall, dass alle Plätze ausgebucht wurden, soll ein Signalereignis verwendet werden.

On this Page: