PERFEX / MODULSPEZIFIKATION 01

Ein Datenmodell.
Klare Verantwortung.

Vorgesehene Entitäten, Datenbeziehungen und Integritätsregeln für ein Perfex-Eventmodul mit mehreren Ticketkategorien.

Planungsstand V59: Die Datenfelder, Endpunkte und Rollen sind Entwürfe, keine vorhandene Perfex-Funktion. Vor der Implementierung müssen installierte Perfex-Version, Module, Datenbankschema und reale Zahlungsanbieter geprüft werden.

Vorgeschlagene Entitäten

Tabellennamen sind Namensvorschläge für ein isoliertes Modul-Schema. Sie dürfen bestehende Perfex-Tabellen nicht überschreiben.

EntitätKernfelderVerantwortung
eventsid, organiser_id, title, start_at, end_at, timezone, capacity, statusEventdatum mit Zeitzone und Publikationszustand
event_ticket_typesid, event_id, name, price_minor, currency, capacity, sales_start_at, sales_end_atUnabhängige Kategorien, Preis als Rappen
event_ordersid, contact_id, event_id, state, currency, total_minor, invoice_id, expires_atKontakt und Perfex-Rechnung, getrennte Auftragszustände
event_order_itemsid, order_id, ticket_type_id, qty, unit_price_minorPreis-Snapshot pro Kategorie
event_reservationsid, order_item_id, qty, state, expires_atZeitlich befristete Kontingentbindung
event_attendeesid, ticket_id, name, email, consent_atPersonenbezogene Daten nur soweit erforderlich
event_ticketsid, order_item_id, attendee_id, token_hash, state, issued_atEin Ticket pro Berechtigung mit nicht lesbarem Tokenwert in DB
event_checkinsid, ticket_id, operator_id, checked_in_at, gate_idEinmaliger Eintritt mit Auditdaten
event_payment_linksid, order_id, perfex_invoice_id, amount_minor, observed_statusZuordnung zum Perfex-Finanzprozess, kein zweites Hauptbuch
event_audit_logid, actor_id, action, entity_type, entity_id, occurred_atNachvollziehbare geschützte Änderungen

Beziehungen und Regeln

FINANZEN

Perfex bleibt führend

invoice_id verweist auf die bestehende Perfex-Rechnung. Zahlungseingänge werden aus verifizierten Perfex-Ereignissen übernommen, nicht aus Browserangaben.

KAPAZITÄT

Atomare Reservation

Verfügbarkeit wird innerhalb einer Datenbanktransaktion mit Sperre kontrolliert. Abgelaufene Reservationen geben Kontingente kontrolliert frei.

DATENSCHUTZ

Objektberechtigung

Jede Abfrage bindet Bestellungen, Tickets und Dokumente an den eingeloggten Perfex-Kontakt beziehungsweise dessen zulässigen Kundenkontext.

Transaktionsinvarianten

Keine Überbuchung

Bestätigte Tickets und aktive Reservationen dürfen das definierte Kontingent nicht übersteigen. Gleichzeitige Requests sind explizit zu testen.

Keine doppelten Tickets

Ein erfolgreicher Zahlungsabschluss erzeugt pro gekaufter Einheit höchstens ein Ticket. Wiederholte Webhooks müssen idempotent bleiben.

Keine unberechtigten Zugriffe

Eine bekannte Bestell-ID allein berechtigt weder zum Lesen noch zum Bearbeiten der Bestellung.

Ein Kundenportal bleibt die Grundlage.

Website und App sind Benutzeroberflächen. Kundenbestand, Rechnung und Zugang zu Eventdaten werden zentral über Perfex und geprüfte Erweiterungen gesteuert.