Operation |
Kunden registrieren (Unternehmen)
|
Eingabe:
|
Adresse adr, String tel, String name, String login, String pass, String
kname, String kvname, Datum kgeb, Adresse kadr, String ktel, String kemail
|
Ausgabe: |
Kunde k |
Voraussetzung: |
(Gültige Registrierungsdaten), für alle Systemnutzer gilt:
Systemnutzer.login <> login |
Effekt:
|
Es existiert eine neue Person n initialisiert mit kname, kvname, kgeb,
kadr, ktel, kemail und es existiert ein neues Unternehmen u initialisiert
mit name, adr, tel, login, pass und u.email=n.passwort=n.login={} und
u.Kontaktperson=n und es existiert ein neuer Kunde k mit k.Unternehmen=u
und k.Person={} und k.wirdGelöscht=false |
|
|
Operation |
Ticket
reservieren |
|
Der Benutzer reserviert ein Ticket. Dieses muß mit allen aktuell reserveirten Tickets kompatibel sein. Insbesondere müssen alle reservierten
Tickets den gleichen Anbieter und die gleiche Erwerbsart besitzen. Ein Kunde, der gelöscht werden soll, darf keine Tickets reservieren
|
Eingabe: |
Ticketkontingent tk, Aufdruck a, Kauf k |
Ausgabe: |
Ticket t mit t.Aufdruck=a, t.preis=tk.Preigestaltung.startpreis,
t.ermaessigt=false, t.nummer=neue, für Tickets eindeutige Nummer |
Voraussetzung:
|
a ist in tk.ticketpool
tk.Erwerbsart.Zahlungsart ist enthalten in k.Kunde.Zahlungsinformationen.Zahlungsart,
Es existiert k.zeitpunkt=0,
Für alle Tickets in k.Ticket gilt t.TicketKontigent.Veranstaltung.Anbieter = tk.Veranstzaltung.Anbieter
Für alle Tickets in k.Ticket gilt t.TicketKontigent.Erwerbsart = tk.Erwerbsart,
k.Kunde.wirdGelöscht=false und
|
Effekt:
|
Der Kauf k ist um eine neues Ticket t (=Ergebnis) erweitert
tk'.ticketpool=tk.ticketpool\{a}
|
|
|
Operation |
Bundle
reservieren |
|
Ein Bundlekontigent wird für einen Benutzer reserviert, sofern genügend Tickets zur Verfügung stehen und das Bundle Kontigent
mit dem aktuellen Warenkorb des Benutzers kompatibel ist (gleicher Anbieter, gleiche Erwerbsart)
|
Eingabe: |
Bundlekontingent bk, Kauf ka |
Ausgabe: |
keine |
Voraussetzung:
|
Für alle Ticketanzahlen (ta) aus bk.TicketAnzahl gilt:
(t.anzahl ist kleiner oder gleich |ta.TicketKontigent.ticketpool| und
Für alle t aus ka.Ticket gilt: (t.TicketKontigent.Veranstaltung.Anbieter=
ta.TicketKontigent.Veranstaltung.Anbieter) und (t.TicketKontingent.Erwerbsart=ta.TicketKontinget.Erwerbsart))
|
Effekt:
|
Für alle Ticketanzahlen (ta) aus bk.TicketAnzahl gilt:
(Sei as eine vom Benutzer ka.Kunde gewählte Untermenge von ta.Ticketkontingent.ticketpool mit
|as|=ta.anzahl dann (Für alle a aus as: reserviere TicketKontigent ta.TicketKontigent, a, ka))
|
|
|