Ina,Michael
Version vom: $Date: 2001/02/09 16:01:08 $

Anbieter - Operationen

Projektdokumentation | Systemdokumentation | Systemspezifikation | Operationen


Zurück Hauptseite

Operationen

Veranstaltung erstellen

Eine Veranstaltung wird vom Anbieter neu in das System gestellt.
Eingabe Anbieter a, String o, Date t, String b, Kategorie k
Ausgabe Veranstaltung v
Voraussetzung t > Tagesdatum. a.wirdGeloescht = false
Effekt Dem Anbieter a ist eine neue Veranstaltung v mit v.termin = t, v.beschreibung = b, v.ort = o und v.Vater = k zugeordnet.

Ticketkontingent erstellen

Zu einer bestehenden Veranstaltung wird ein Ticketkontingent erzeugt
Eingabe Veranstaltung v, int anzahl, {Aufdruck} aufdr, Anbieter a
Ausgabe TicketKontingent tk
Voraussetzung |{Aufdruck}| = anzahl, a.wirdGeloescht = false, v.Anbieter = a
Effekt Die Veranstaltung v hat ein neues TicketKontingent tk mit tk.gesamtanzahl = anzahl und tk.ticketpool = aufdr.

Anbieter Zahlungsart zulassen

Der Anbieter wählt eine für sich gültige Zahlungsart aus der Menge der vom System angebotenen Zahlungsarten aus.
Eingabe Anbieter a, Zahlungsart z
Ausgabe keine
Voraussetzung z ist noch keine Zahlungsart von a, a.wirdGeloescht = false
Effekt Zahlungsart z ist Anbieter a zugeordnet.

Kontingent Erwerbs- und Zahlungsart(en) zuordnen

Einem Kontingent wird eine gültige Erwerbsart mit entsprechenden Zahlungsarten zugeordnet.
Eingabe Kontingent k, ErwerbsartTyp e, Datum d, {Zahlungsart} Z, Anbieter a
Ausgabe keine
Voraussetzung a.wirdGeloescht = false, k.Veranstalter = a;
e ist noch kein ErwerbsartTyp von k
für alle z aus Z gilt: z ist in der Menge der Zahlungsarten vom Anbieter des Kontingents k;
|Z|>=1
Effekt Erwerbsart x mit der Menge Z an Zahlungsarten und mit x.typ = e und x.gueltigBis = d ist dem Kontingent k zugeordnet.

Preisgestaltung festlegen

Einem Kontingent wird eine Preisgestaltung zugeordnet.
Eingabe Kontingent k, Parameter para, Anbieter a
Ausgabe Preisgestaltung p
Voraussetzung a.wirdGeloescht = false, k.Veranstalter = a;
k hat noch keine Preisgestaltung
und noch keine Auktionsschnittstelle
Effekt Neue Preisgestaltung p, initialisiert mit den übergebenen Parametern, ist dem Kontingent k zugeordnet

Auktionsschnittstelle festlegen

Einem Kontingent wird eine Auktionsschnittstelle zugeordnet.
Eingabe Kontingent k, beschreibung b, mindestGebot gag, mindestSteigerung ms, abbruchZeit az, verbindlicheAuktion va
Ausgabe keine
Voraussetzung k hat noch keine Auktionsschnittstelle
und noch keine Preisgestaltung
Effekt Neue Auktionsschnittstelle a wird mit den Parametern initialisiert und ist dem Kontingent k zugeordnet

Auktionsschnittstelle zur Preisgestaltung hinzufügen

Für eine Preisgestaltung eines Kontingents wird eine Auktion mit Eintrittszeit bestimmt.
Eingabe Kontingent k, beschreibung b, mindestGebot gag, mindestSteigerung ms, abbruchZeit az, verbindlicheAuktion va, Date t
Ausgabe keine
Voraussetzung k hat noch keine Auktionsschnittstelle, aber eine Preisgestaltung;
t > k.Preisgestaltung.startzeitpunkt
Effekt Auktionsschnittstelle a wird initialisiert und Kontingent k zugeordnet.
k.preisgestaltung.auktionseintrittszeit = t

Auktionsschnittstelle initialisieren

Eine neue Auktionsschnittstelle wird erzeugt.
Eingabe Kontingent k, beschreibung b, mindestGebot gag, mindestSteigerung ms, abbruchZeit az, verbindlicheAuktion va
Ausgabe Auktionsschnittstelle a
Voraussetzung Wenn es sich bei k um ein BundleKontigent bk handelt, so muss es mindestens ein Bundle enthalten; anders gesagt: das bk definiert eine bestimmte Zusammensetzung von Tickets verschiedener TicketKontingente. Mind. ein Satz von Tickets, mit der im Bundle definierten Zusammensetzung von nicht verkauften Tickets (d.h. Tickets denen kein Kaufobjekt zugeordnet ist) muss verfügbar sein; und es muss eine Schnittmenge der Zahlungsarten und Erwerbsarten der einzelnen TicketKontigenten existieren.
Effekt Auktionsschnittstelle a wird erzeugt.

Bundle zusammenstellen

Ein Bundle wird aus Ticketkontingenten zusammengestellt.
Eingabe {TicketAnzahl} t, String n, Anbieter a
Ausgabe BundleKontingent b
Voraussetzung

x.TicketKontingent.Veranstaltung.Anbieter
ist für alle Elemente x aus t gleich a;
Summe von x.prozPreis für alle x aus t = 100
x.anzahl <= x.TicketKontingent.gesamtanzahl und (0<=x.prozPreis<=100) für alle x aus t;
a.wirdGeloescht = false

Effekt Es existiert ein neues BundleKontigent b mit b.name = n und b.aktiv=true, dem {TicketAnzahl} t zugeordnet ist

Ticketkontingent streichen

Ein Ticketkontigent wird gestrichen, weil der Anbieter dessen Preispolitik nicht l&aunl;nger unterstützt. Verkaufte Tickets bleiben weiterhin g¨ltig.
Eingabe Anbieter a, TicketKontingent tk
Ausgabe keine
Voraussetzung tk.Veranstalter = a, a.wirdGeloescht = false
Effekt Für alle bk aus tk.TicketAnzahl.BundleKontigent gilt: (bk.aktiv = false); tk.ticketpool = {}; tk.gesamtanzahl = old(tk).gesamtanzahl-|old(tk).ticketpool|

Veranstaltung streichen

Eine Veranstaltung wird abgesagt. Alle assozierten Kontigente werden gestrichen. Kunden, die Tickets erworben haben, werden benachrichtigt.
Eingabe Anbieter a, Veranstaltung v
Ausgabe keine
Voraussetzung v.anbieter = a, a.wirdGeloescht = false
Effekt Für alle tk aus v.TicketKontingent gilt: (tk streichen); Für alle k aus v.TicketKontingent.Ticket.Kauf.Kunde gilt: (k benachrichtigen);

Kauf revidieren

Sollte ein Anbieter einen Kauf revidieren, so wird das beanstandete Gebot entfernt und der Kauf rückgängig gemacht.
Eingabe Kauf ka, Kontingent k
Ausgabe keine
Voraussetzung Kunde ku ist dem Kaufobjekt asso. und Kaufobjekt hat einen gesetzten Zeitpunkt.
Effekt Kauf wird rückgängig gemacht: Die Assoziation des Kaufobjektes ka mit dem Kunden ku (und damit das Gebot g.invalidate = true gesetzt) wird aufgehoben. Außerdem wird ka.aufdruck wieder dem tk.ticketpool für alle tk aus k zugeführt. Mit dem Kaufabschluss hat das System mit dem Verbleib der einzelnen Tickets nichts mehr zu tun! Sie können gegebenfalls von Anbieterseite wieder in das System eingebracht werden, bzw. der Anbieter kann andere Wege finden seine Tickets doch noch zu verkaufen (siehe Anmerkung) !
Anmerkung: Es rückt kein Käufer nach; der Anbieter kann jedoch anhand des Protokolls der Auktion den nächsten Bieter persönlich kontaktieren.

Kaufinformationen abfragen

Eine Anbieter fragt die bisher noch nicht abgefragten Käufe ab. Diese Käufe werden dann als abgefragt markiert.
Eingabe Anbieter a
Ausgabe {Kauf} k mit k.abgefragtAnbieter=false
Voraussetzung a.wirdGeloescht = false
Effekt In der Ausgabemenge k ist k.abgefragtAnbieter=true gesetzt

Anbieter registrieren (Person)

Eingabe: Adresse adr, String email, String tel, String name, String vname, Datum geb, String login, String pass
Ausgabe: Anbieter b
Voraussetzung: (Gültige Registrierungsdaten), für alle Systemnutzer gilt: Systemnutzer.login <> login
Effekt: Es existiert eine neue Person n initialisiert mit den eingegebenen Parametern und es existiert ein neuer Anbieter b mit b.Person = n und b.Unternehmen={} und b.wirdGelöscht=false

Anbieter registrieren (Unternehmen)

Eingabe: Adresse adr, String tel, String name, String login, String pass, String kname, String kvname, String kgeb, String kadr, String ktel, String kemail
Ausgabe: Anbieter a
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 Anbieter amit a.Unternehmen=u und a.Person={} und a.wirdGelöscht=false

Registrierungsdaten ändern

Eingabe: Anbieter a, Parameter<Anbieter> n
Ausgabe: Anbieter a
Voraussetzung: a.wirdGeloescht = false
Effekt: Änderung der Attribute von agemäß den Werten von n

Anbieter löschen

Hier wird der Anbieter nur im System gesperrt und fü das Löschen markiert. Das eigentliche Löschen übernimmt der Systemverwalter.
Eingabe: Anbieter a
Ausgabe: keine
Voraussetzung: keine
Effekt: a.wirdGeloescht = true

 

Zurück Top Projektseite