sonamedic: Aktionscodes, die den Zugang steuern
Krankenkassen und Firmenkunden verteilen Codes, und jeder Code schaltet etwas anderes frei. Was er freischaltet und wann er verbraucht ist, steht als Regel im System.
Eingesetzte Leistungen
Ausgangslage
sonamedic betreibt eine Anwendung für Achtsamkeit und Entspannung. Der Zugang wird nicht nur einzeln verkauft, sondern über Aktionscodes: Krankenkassen, Firmenkunden und Partner geben Codes an ihre Leute weiter. Jeder Code schaltet etwas anderes frei, für unterschiedlich lange Zeit und in unterschiedlichen Zielsystemen. Dazu kommt, dass Anmeldung und Nutzerdaten in zwei getrennten Systemen liegen. Ich war für diesen Teil zuständig, von der Schnittstelle bis zur Bedienoberfläche.
Lösung
Ein Aktionscode ist bei sonamedic ein kleines Regelwerk. Acht Arten von Laufzeit, von Stunden bis Jahre, dazu das feste Ablaufdatum. Die Freischaltung wird für jedes der drei Zielsysteme getrennt gesetzt. Dazu kommen Gültigkeitsfenster und Platzkontingent. Beim Einlösen prüft die Anwendung Fenster, Kontingent und Ziel in dieser Reihenfolge, und ab achtzig Prozent belegter Plätze geht automatisch eine Mail an den Aussteller, damit ein Firmenkunde nachlegen kann, bevor die ersten Leute vor einem erschöpften Kontingent stehen. Fehlermeldungen tragen die Sprache des Nutzers mit, statt sie aus dem Kontext zu raten.
Auf der Bedienseite steht eine Verwaltungsoberfläche, in der der Vertrieb Einmalcodes in Serie erzeugt, nach Gruppe und Präfix, und als Liste herunterlädt. Gruppe und Präfix sind zugleich die Navigation über den Bestand und die Einheit, in der wieder gelöscht wird. Das Regelwerk steckt dabei im Formular selbst: Welches Feld Pflicht ist, hängt davon ab, welche Art und welches Zielsystem gewählt wurden, geprüft nach denselben Regeln wie auf dem Server.
Anmeldung und eigene Datenbank sind zwei Systeme für dieselben Personen. Vier eigenständige Funktionen halten sie zusammen: eine legt den Datenbanknutzer nach der Registrierung an, eine hält beide Bestände synchron, eine setzt die Berechtigungen als Ansprüche auf das Token, angestoßen über eine Nachricht statt über einen direkten Aufruf. Eine vierte sucht inaktive Nutzer und ruft sich dabei seitenweise selbst auf, weil eine einzelne Ausführung das Zeitlimit der Plattform sonst reißt. In der Verwaltung stehen beide Datensätze in zwei Reitern nebeneinander, damit ein Auseinanderlaufen sichtbar ist und nicht gesucht werden muss.
Ergebnis
Der Vertrieb erzeugt und verteilt Codes selbst, ohne dass ein Entwickler etwas dafür tun muss. Was ein Code freischaltet und wann er verbraucht ist, steht als prüfbare Regel im System statt in einer Absprache.