meldestelle/docs/02_Guides/Event-First-Workflow.md

83 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
type: Guide
status: ACTIVE
owner: 🧹 Curator & 🏗️ Lead Architect
last_update: 2026-04-02
sources:
- docs/03_Domain/01_Glossary/Ubiquitous_Language.md
- Domain Workshop 2026-03-17
---
# EventFirstWorkflow (MVP)
Ziel: Ein neuer VeranstaltungsDurchlauf wird konsequent „EventFirst“ aufgebaut. Dabei folgt der Bedienfluss strikt der DomänenHierarchie:
Veranstaltung → Turnier → Bewerbe → Abteilungen → Startliste
---
## 1. Vorbedingungen
- Verein (→ Begriff: Veranstalter) ist im System vorhanden.
- Grundlegende Stammdaten synchron (Reiter, Pferde, Vereine) optional für die Planung, erforderlich für Startlisten.
Querverweis: → Ubiquitous Language, Abschnitt „Hierarchie der VeranstaltungsStruktur“ und Begriffe „Veranstaltung“, „Turnier“, „Bewerb“, „Abteilung“, „Startliste“.
---
## 2. SchrittfürSchritt
1) Veranstaltung anlegen
- Eingaben: Titel, Datum(e), Ort, Typ (Turnier, Reitertreffen, …), Veranstalter (Vereinsnummer), interne EventID (System vergibt).
- Output: Veranstaltung existiert, → VeranstaltungsKassa und → TeilnehmerKontoContainer werden vorbereitet.
2) Turnier anlegen (innerhalb der Veranstaltung; mehrfach möglich)
- Eingaben: Turniernummer (offiziell, wenn vorhanden), Sparte(n) (z. B. CDN, CSN), Kategorie (CNEU, C, …), geplanter Zeitraum.
- Output: Turnier angelegt, → Turnierkassa eröffnet; AusschreibungsMetadaten vorbereiten.
3) Bewerbe anlegen (pro Turnier)
- Eingaben: fortlaufende Bewerbsnummer, Bezeichnung, Klasse/Höhe, Richtverfahren, Startberechtigungen.
- Output: Bewerbe als Container für Abteilungen vorhanden.
4) Abteilungen planen/anlegen (pro Bewerb, mindestens eine)
- Eingaben: Abteilungsnummer (fortlaufend), AbteilungsTyp: `SEPARATE_SIEGEREHRUNG` oder `ORGANISATORISCH`, optional TeilnehmerkreisFilter (Lizenz, Altersklasse …).
- Systemhinweis: Bei Überschreiten von ÖTOSchwellenwerten zeigt das System WARNUNG + Option „Override“ (→ TBA hat letztes Wort).
- Output: Abteilungen stehen für Nennungen/Startlisten bereit.
5) Startliste erzeugen (pro Abteilung)
- Eingaben: Nennungen (Paar Reiter+Pferd), ReihenfolgenLogik (z. B. Zufall, Startwunsch), Kollisionen prüfen.
- Output: Fixierte Startliste je Abteilung; Grundlage für Ergebniserfassung und Abrechnung (Sportförderbeitrag, TierwohlEuro pro Start).
---
## 3. Rollen & Verantwortungen
- Meldestelle: Erfassung/Prüfung der Daten, Startlistenpflege, Kassenabwicklung.
- TBA (Turnierbeauftragter): Genehmigung von AbteilungsOverrides und RegelAbweichungen (OverrideEvent wird protokolliert).
- Veranstalter: Finanzielle Verantwortung, KassenSchluss, Freigabe der Ausschreibung.
---
## 4. Artefakte & Systemobjekte
- Veranstaltung (Root) → VeranstaltungsKassa, TeilnehmerKontoContainer, MultiTurnierVerrechnung.
- Turnier → Turnierkassa, Ausschreibung.
- Bewerb → Liste von Abteilungen.
- Abteilung → kleinste ausführbare Einheit (Nennungen, Startliste, Ergebnis, Siegerehrung nach Typ).
---
## 5. Akzeptanzkriterien (MVP)
- Erstellung in exakt der Reihenfolge möglich; Zwischenspeichern und spätere Fortsetzung unterstützt.
- Abteilungen mindestens 1 pro Bewerb; Typ wählbar; Warnungen bei ÖTOSchwellenwertÜberschreitung.
- Startliste pro Abteilung generierbar; Kollisionen und Startwünsche werden berücksichtigt.
- Abrechnung: Gebühren pro Start (Sportförderbeitrag, TierwohlEuro) werden korrekt ausgewiesen; Zahlvorgänge können turnierübergreifend auf TeilnehmerKonto verbucht werden (EventEbene).
---
## 6. Querverweise
- Domänenbegriffe: `docs/03_Domain/01_Glossary/Ubiquitous_Language.md`
- ÖTOSchwellenwerte: `docs/03_Domain/02_Reference/OETO_Regelwerk/Abteilungs-Trennungs-Schwellenwerte.md`