Jan Kretzschmar, Paul Hackenberger 
Version vom: $Date: 2001/02/09 16:01:08 $

Erweitertes Englisches Auktionsmodell

Projektdokumentation | Systemdokumentation | Systemspezifikation | Erweitertes Englisches Auktionsmodell


Zurück Hauptseite

Unser benutztes Auktionssystem lehnt sich an die Englische Auktion an. Jedoch unterscheidet es sich darin, dass mehrere Tickets auf einmal versteigert werden können. Wenn z.b. n Tickets versteigert werden sollen, und mehr als n Gebote vorliegen, so erhalten die besten n Gebote den Zuschlag für jeweils ein Ticket.
Solange niedrigere Gebote vorhanden sind oder noch freie Tickets, kann man gleiche Gebote wie andere Bieter bzw. das geforderte Startgebot abgeben; ist dies nicht möglich, so muss das Gebot um die MindestSteigerung erhöht werden und verdrängt das zuletzt eingegangene, niedrigere Gebot, aus der Liste derer die den Zuschlag erhalten.

Operationen

  1. Auktionsschnittstelle starten
  2. Käufe bestätigen und Auktion beenden

Auktionsschnittstelle starten

Startet Auktion

Eingabe: keine (Ein daemon des Systems erkennt, dass die Vor. erfüllt ist und startet die Auktionsschnittstelle)

Ausgabe: keine

Voraussetzung: aktueller Zeitpunkt >= Preisgestaltung p.auktionseintrittszeit, welche der Auktionsschnittstelle über das Kontingent zu geordnet ist.

Effekt: Auktionsschnittstelle.aktiv = true.
Falls es sich bei k um ein BundleKontigent (bk) handelt, dann wird die maximal mögliche Anzahl von Bundles dieser Art versteigert (Ein BundleKontingent setzt sich aus verschiedenen TicketKontigenten zusammen, die beim Auktionseintritt unterschiedliche Anzahlen von Tickets enthalten können; die max. Anzahl von Bundles ist dann die max. mögliche Anzahl von Zusammensetzungen aus den TicketKontingenten); die Verfahrensweise mit den übrigbleibenden Tickets ist abhängig von deren TicketKontingenten.
Wird ein TicketKontingent versteigert so werden sämtliche Tickets dieses tk versteigert.
Sämtliche in dieser Autkion zu versteigernde Tickets werden aus dem Shopmodus entfernt, indem ihnen, solange die Versteigerung nicht abgeschlossen ist, temporär ein neu zu erzeugendes Kaufobjekt ohne zeitpunkt und ohne zugehörigen Kunden zugewiesen wird.
Ein Kontigent k, das versteigert wird, ist nicht mehr im Shopmodus verfügbar (erkennbar an der Preisgestaltung, genauer: auktionseintrittszeit).


Käufe bestätigen und Auktion beenden

Die Auktion meldet bei ihrer Beendigung alle Einträge in der aktuellen Verkaufsliste als erfolgte Käufe.

Eingabe: keine (Ein daemon des Systems erkennt, dass die Vor. erfüllt ist und beendet die Auktion)

Ausgabe: keine

Voraussetzung: aktueller Zeitpunkt >= Auktionsschnittstelle.abbruchZeit (Schon bei der Annahme eines Gebotes wurde überprüft, ob die Vorraussetzungen für die Operation Ticket reservieren erfüllt sind)

Effekt: Für alle versteigerten Tickets:
Das vorhandene Kaufobjekt k, das dem entsprechenden Ticket und Kunden, der das Gebot für das Ticket gemacht hat, asso. ist bekommt zeitpunkt = aktueller Zeitpunkt.
k erhält eine neue nummer, aufdruck = a, preis = Gebot.preis, mit der asso. Zahlungsart z und Erwerbsart e.
k.zeitpunkt = aktuelles Datum.
tk.ticketpool ist um a geschrumpft.
Kunde wird benachrichtigt.
Auktionsschnittstelle.aktiv wird auf false gesetzt.

Zurück Top Hauptseite