Moin!
Beispiel:
A will Buchen, trödelt ein bisschen herum, macht noch während des Buchungsprozesses ein Telefonat oder was auch immer. Dabei geht viel Zeit verloren. Irgendwann schließt er die Reservierung dann doch ab.Jetzt stellt sich heraus er war der einzige, der buchen wollte. Es sind also noch alle Plätze frei. Hier ist es also völlig OK, wenn es ein lange Zeit gedauert hat und er seine Plätze trotzdem bekommt, ohne alles neu eingeben zu müssen.
Wenn aber in der Zwischenzeit B kommt und auch buchen will schaut das anders aus.
B kann erstmal nicht buchen, weil A den letzten Platz reserviert hat, und deshalb alle Plätze weg sind.
Wenn A für den Abschluss des Buchungsvorgangs länger als eine maximale Zeit braucht, wird der Vorgang abgebrochen und der reservierte Platz ist wieder frei. A wird über das Scheitern der Buchung inkl. des Grundes informiert, seine bei Paypal autorisierte Zahlung wird von dir nicht ausgeführt.
Mit Ablauf der Reservierungszeit von A kann ein B kommen und den jetzt wieder freien Platz (schneller) buchen.
Wenn A am Ende die Buchung, zwar zu langsam, aber immerhin doch noch abschließt, und dein System noch Plätze vorrätig hat, dann kriegt A instant einen Platz aus dem Pool, denn es sind alle Parameter für eine sofortige Transaktion erfüllt: Das Vertragsobjekt ist bekannt, die Zahlung dafür autorisiert und kann erfolgen.
Da würde ich sagen, der der eine normale Geschwindikeit beim Buchen hat sollte bevorzugt werden, weil er sonst 1. vielleicht nicht mehr wiederkommt und der 2. es sich wohl in der Regel eh schon anders überlegt hat, weil man ja solche Transaktionen i.d.R. zügig durchführt.
Die Frage ist, wie du "first-come-first-served" definierst. Derjenige, der zuerst den ersten "Ich will"-Button klickt, oder der zuerst den letzten "Bezahlen"-Button.
Aber ganz egal, wie ich das mache - mit oder ohne "vorreservierung". Irgendwo kann doch immer mal so eine Überbuchung passieren, wenn 2 praktisch gleichzeitig ankommen oder?
Ja, selbst Amazon kriegt das nicht sauber hin, wenn bei Werbeaktionen begrenzte Kontingente angeboten werden. Da werden den Kunden dann einfach die Produkte wieder aus dem Warenkorb rausoperiert, oder "1-Click-Buy" funktioniert nicht mit dem gewünschten Erfolg.
- Sven Rautenberg