← Produkte

Mandantenfähige SaaS mit Stripe Connect, Queue-Workern und E-Rechnung.

Web-Software für Massagestudios auf React Router, PostgreSQL und Prisma. Mandantentrennung per organizationId und hostbasierter Org-Auflösung, Gutscheinverkauf über Stripe Connect mit Plattformgebühr, asynchrone Verarbeitung über BullMQ und E-Rechnungen nach ZUGFeRD und XRechnung aus einem Java-Dienst.

Ablauf

  1. 01Registrierung per E-Mail und Passwort, E-Mail-OTP, Google oder Passkey (BetterAuth), dann Onboarding für Organisation, Kalender und Shop.
  2. 02Konfiguration im Dashboard: Leistungen, Arbeitspläne, Team, Buchungsregeln, Buchungsfelder und Benachrichtigungen.
  3. 03Buchung über die Org-Subdomain, ein Embed-Script (Overlay oder Inline per iframe) oder das WordPress-Plugin.
  4. 04Gutscheinkauf: Order lokal als pending, dann PaymentIntent auf dem Connected Account mit application_fee_amount und Idempotency-Key.
  5. 05Stripe-Webhook, dann BullMQ-Worker: Order abschließen, Gutschein-PDF und E-Rechnung erzeugen, Mails versenden.

Technische Details

Mandantentrennung

Jede Query filtert nach organizationId, die Auth-Prüfung läuft im Loader jeder Route. Eine orgMiddleware löst die Organisation aus dem Hostnamen auf. Rollenmodell mit Owner, Manager und Member.

Serverseitige Preisbildung

Preise kommen ausschließlich aus der Datenbank, Client-Werte werden ignoriert. Mindestbetrag 10 €, Rate-Limit pro IP, E-Mail und Organisation. Der Idempotency-Key pi-{orderId} verhindert doppelte PaymentIntents.

Webhook-Verarbeitung

Signaturprüfung, Idempotenz über die Event-ID und einen Unique-Constraint auf die PaymentIntent-ID, asynchrone Verarbeitung in einer Queue. Eigene Handler für Disputes mit automatischer Gutscheinsperre, Refunds und Payouts.

E-Rechnung

Java-Dienst auf Spring Boot mit der Mustang-Bibliothek, erreichbar über das interne Docker-Netz, Zugriff per API-Key, Ablage in S3. Standardprofil ZUGFeRD EN16931, optional XRechnung. Erzeugt Rechnungen für Gutscheinkäufe, Storno- und Korrekturrechnungen und die monatliche Plattformgebühr.

Einbettung

Embed-Loader mit Overlay- und Inline-Modus per iframe und Messaging. WordPress-Plugin mit Shortcode oder Floating-Button, kompatibel mit Gutenberg, Elementor und Divi.

Hintergrund-Worker

BullMQ-Worker für Erinnerungen, DSGVO-Anonymisierung, Bereinigung verwaister Buchungen und Orders sowie einen synthetischen Healthcheck. Fehler gehen an Sentry.

Stack

React RouterReactTypeScriptPrismaPostgreSQLZodBetterAuthStripe ConnectBullMQS3 (Hetzner)JavaSpring BootMustang (ZUGFeRD, XRechnung)WordPress-Plugin (PHP)DockerCoolifySentry