La Petite Ménagère
Die Anforderung
Kundinnen und Kunden sollen online buchen, direkt im Google-Kalender der Verantwortlichen, ohne dass ihnen je eine bereits vergebene Zeit angeboten wird. Die Entscheidung bleibt bei ihr: Sie bestätigt jeden Termin.
Was wir gebaut haben
Die Website in sechs Sprachen, den Buchungskalender, den Server, der ihn mit dem Kalender verbindet, die E-Mails an Kundschaft und Verantwortliche und das automatische Deployment.
Der Ablauf
- Die Kundschaft wählt Zeitfenster
- Prüfung: frei, mind. 2 Std., Anfahrt inklusive (Regel)
- Termin «zu bestätigen» im Google-Kalender (Integration)
- Die Verantwortliche bestätigt oder lehnt per E-Mail ab (Mensch)
- Bestätigung an die Kundschaft, mit Kalenderdatei (Integration)
KI oder Regeln?
Regeln, keine KI: Hier muss kein Text interpretiert werden. Zeitfenster von 30 Minuten, Einsätze von mindestens 2 Stunden, 30 Minuten Anfahrt zwischen zwei Kunden. Das angezeigte Raster und die Annahme der Anfrage verwenden dieselbe Regel: Was frei aussieht, wird auch angenommen.
Menschliche Kontrolle und Risiken
Jeder angefragte Tag wird einzeln entschieden: bestätigt für eine oder zwei Personen (zu zweit blockiert der Kalender nur etwa die Hälfte der Zeit) oder abgelehnt, und die Zeit wird wieder frei. Die Kundschaft erhält die Antwort in ihrer Sprache.
Automatisch geprüft
- Zehn Kunden fragen im selben Moment dieselbe Zeit an: Nur einer bekommt sie.
- Antwortet der Google-Kalender nicht, wird nichts halb gespeichert, und die Verantwortliche wird benachrichtigt.
- Was Kunden eingeben, wird in den E-Mails nie als Code interpretiert.
- Buchungsablauf und Barrierefreiheit in einem echten Browser getestet.
- Bei jedem Deployment gilt: Antwortet die neue Version nicht, kehrt die vorherige von selbst zurück.
- Die Tests laufen auf derselben Datenbank wie die Produktion, PostgreSQL. Jede Änderung ihrer Struktur wird versioniert, getestet und beim Deployment automatisch angewendet.
Umgesetzt mit
React, TypeScript, Tailwind CSS · Java 17, Spring Boot, PostgreSQL, Flyway · Testcontainers, Docker, Playwright · Google Calendar API · GitHub Actions, Caddy