# Anmeldung und Warteliste

Wie Gäste sich anmelden, wann Freigabe oder Zugangscode nötig sind und wie die Warteliste greift.

## Hinweise für KI-Agenten

- API-Basisadresse: `https://api.eventwerk.eu/api/v1`
- OpenAPI 3.1: `https://api.eventwerk.eu/openapi.json` und `/api/v1/openapi.json`. Daraus lassen sich Clients und Typprüfungen generieren.
- Anmeldung: `Authorization: Bearer ew_...`
- Schlüssel: Einstellungen unter `/dashboard/einstellungen`, nur mit Eventwerk Plus und nur für Eigentümer. Der volle Schlüssel wird nur einmal angezeigt. Name und Zeitpunkt der letzten Nutzung werden geführt und ausgegeben.
- Zeiten: Alle Zeitpunkte kommen in UTC mit Suffix `Z`. Die Zeitzone des Events steht getrennt in `timezone` als IANA-Name, Standard `Europe/Vienna`. Clients rechnen selbst um.
- Paginierung: Die Event- und Anmeldelisten liefern `{items, has_more, next_cursor}` mit `limit` (Standard 50, höchstens 200), `cursor` und `updated_since`.
- Grenzen: 200 Anfragen pro Minute je Schlüssel. Der Zähler liegt im Speicher je Instanz, ist hinter mehreren Instanzen ein Vielfaches und beginnt nach einem Deploy neu. Bei Überschreitung antwortet die API mit 429, `rate_limited` und `Retry-After`.
- Gastgrenzen: Anmelde-Link 20 je Stunde je IP-Adresse, Anmeldung 60 je Stunde je IP-Adresse und 3 je Stunde je E-Mail-Adresse und Event.
- Fehler: JSON mit `code` und `message`, optional mit `details`.

Gäste brauchen kein Konto. Die Anmeldung läuft über die öffentliche Eventseite `/e/<slug>`. Dort wählen sie eine Ticketart, tragen Name und E-Mail-Adresse ein, beantworten die Fragen und bestätigen die Datenschutzhinweise.

## Pflichtangaben

- Name und E-Mail-Adresse.
- Eine aktive, nicht verborgene Ticketart. Ohne Auswahl wird die erste sichtbare Ticketart verwendet.
- Die Zustimmung zu den Datenschutzhinweisen.
- Antworten auf alle Pflichtfragen.
- Bei Anmeldungen mit Zugangscode zusätzlich der Zugangscode.

## Bestätigung und Ticket

Nach der Anmeldung sendet Eventwerk eine Bestätigungsmail. Der Link `/ticket/<token>` enthält das Ticket mit QR-Code. Der Token ist ein Geheimnis und darf nicht weitergegeben werden. Bei Freigabe nötig entfällt das Ticket zunächst: Die Anmeldung wartet auf die Entscheidung des Veranstalters, erst danach entsteht ein Ticket.

Erinnerungen vor dem Event enthalten eine Rückfrage, ob der Gast kommt. Die Antworten und ihre Folgen für die Warteliste stehen unter Erinnerungen und Rückfrage.

- Gäste können ihr Ticket aufrufen, ihre Anmeldung stornieren oder ihre Daten endgültig löschen.
- Stornieren ist nur solange möglich, wie die Anmeldung nicht eingecheckt ist.
- Nach dem Löschen sind die Anmeldung, ihre Antworten und ihre Favoriten entfernt.

## Grenzen

Öffentliche Anmeldeversuche sind je IP-Adresse begrenzt. Darüber antwortet der Dienst mit Status 429.

- Anmeldung zu einem Event: 60 Anfragen pro Stunde je IP-Adresse.
- Zusätzlich höchstens 3 Anmeldungen pro Stunde je E-Mail-Adresse und Event.

## Warteliste

Ist das Kontingent einer Ticketart oder die Kapazität des Events erreicht, entsteht eine Anmeldung mit Status waitlisted. Ein fester Platz ist damit nicht reserviert.

- Wird eine bestätigte Anmeldung storniert, rückt die älteste wartende Anmeldung derselben Ticketart nach.
- Nachgerückte Anmeldungen werden bestätigt. Die erste nachgerückte Person erhält zusätzlich eine Nachricht mit ihrem Ticket.
- Ein Platz wird nur frei, wenn eine bestätigte Anmeldung storniert wird. Die Stornierung einer wartenden Anmeldung löst kein Nachrücken aus.
- Wartende Anmeldungen können nicht eingecheckt werden.

## Status

| Status | Bedeutung |
| --- | --- |
| pending | Wartet auf Freigabe. Entsteht, wenn der Anmeldemodus Freigabe nötig ist. |
| confirmed | Bestätigt, ein Platz ist reserviert. |
| waitlisted | Warteliste, kein fester Platz. |
| cancelled | Storniert. |
| declined | Vom Veranstalter abgelehnt. |

Pro Event lässt sich der Anmeldemodus wählen: Sofort bestätigen, Freigabe nötig oder Nur mit Zugangscode. Bei Freigabe nötig entscheidet das Team in der Gästeliste über jede offene Anmeldung. Bei Nur mit Zugangscode verlangt die öffentliche Anmeldung den gespeicherten Code; der Code selbst erscheint nicht in der öffentlichen Eventantwort.

## Eigene Fragen

Pro Event lassen sich Fragen anlegen, wahlweise für alle Ticketarten oder für eine bestimmte Ticketart. Unterstützt werden Text, mehrzeiliger Text, Auswahl mit mindestens zwei Optionen, Ja/Nein, Telefonnummer und Webadresse.

- Pflichtfragen müssen beantwortet werden, sonst antwortet die API mit `question_required`.
- Antworten erscheinen in den Gastdetails und als zusätzliche Spalten im CSV-Export.
- Die Reihenfolge steuert die Anzeige im Formular.

## Stornieren durch das Team

Eigentümer und Verwaltung können Anmeldungen in der Gästeliste stornieren. Eine eingecheckte Anmeldung lässt sich nur mit einer ausdrücklichen Bestätigung stornieren. Beim Stornieren wird die Warteliste automatisch nachgezogen.

> **Warnung:** Bezahlte Tickets sind noch nicht freigeschaltet. Eine Anmeldung mit einem Preis größer als null wird mit `payment_not_available` abgelehnt.
