Files
HiveGrid-Wireframes/02 Wireframes/P16 Termine/WF-P16 Terminbuchung/WF-P16 Terminbuchung.md
T
davidandClaude Fable 5 04220c1431 P12 Flow-Editor Neuausrichtung + alle 30 Baustein-Konfig-Modale
- Flow-Editor auf n8n-Stil umgestellt: V1 Vollbild minimal als Basis (Vollbild-Canvas, Umschalter Bauen/Aktivität/Auswertung, Probelauf unten Mitte, Aktiv-Toggle + History im Header)
- Baustein-Konfig als Modal entschieden (Dialog-Komponente); S05a Vorplanung mit allen 31 Panels, 30 v1-Panels in Subframe gebaut (K-Seiten, Nacht-Build 2026-07-12)
- Subframe-Links + Abgleich-Notizen in P12-Screens und Tracker nachgetragen
- D-FORM Form Builder: Review-Stand, Simple-Builder-Neuausrichtung, aufgeräumte Varianten
- P15 Kommunikation + P16 Termine Pakete, Map/Canvas-Pflege

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 19:45:43 +02:00

8.3 KiB
Raw Blame History

kind, project, ticket, package, typ, status, subframe, canvas
kind project ticket package typ status subframe canvas
wireframe-package HiveGrid Screen Project D-BOOK + D-P16 (Teil) WF-P16 Terminbuchung Flow Validiert WF-P16 Terminbuchung.canvas

WF-P16 Terminbuchung

Status: Validiert (Screen-Liste)
Subframe-Link: -
Canvas: Canvas
Stand: 2026-07-09


1. Kurzfassung

Online-Terminbuchung »wie bei Calendly« (Davids Vorgabe): Der Betrieb erstellt Buchungslinks (Dauer, Puffer, Vorlauf, Mitarbeiter, Kunden-Fragen inkl. Feld-Zuordnung zum Lead-Eingang), der Kunde bucht sich über eine 🌐 öffentliche Seite selbst einen freien Slot (Zeitzonen-fest, einbettbar, höchster Polish) und kann per Link in der Bestätigungs-Mail selbst absagen/verschieben (Davids Delta). Intern: Buchungen-Liste + Detail mit Notizen, Stornieren mit Grund + Auto-Mail, Verschieben, Neu-Zuweisen. Jede Buchung landet als Anfrage im Lead-Eingang oder hängt sich an den bestehenden Kontakt.


2. Intent Check

Frage Antwort
Ticket/Modul D-BOOK (öffentliche Booking-Page) + D-P16 (Buchungen-Verwaltung, Editor, Verfügbarkeit), Dev-Pendant AK-P16b
Nutzer-Ziel Kunde: Termin buchen ohne Anruf · Büro: Buchungslinks pflegen, Buchungen verwalten, nichts abtippen
Quellen geprüft ticket-docs/D-BOOK.md, ticket-docs/D-P16.md, designer-briefs/P16-…md, HiveGrid Map
Sicher im Scope 🌐 Buchungsstrecke (3 Schritte + Handy), 🌐 Absagen/Verschieben (Delta), Buchungen-Liste/-Detail, Buchungsseiten-Liste/-Editor, Verfügbarkeit
Sicher nicht im Scope Formular-Baukasten selbst (D-FORM liegt als Review-Draft vor; Fragen hier bleiben als einfache Feld-Liste); Kalender-Grid (WF-P16 Kalender); Round-Robin/Wunsch-Mitarbeiter (v2)
Unsichere Annahmen Self-Service-Absage/Verschieben ist NICHT im Dev-Ticket — Change-Request nötig (s. Offene Fragen)

3. Scope

Punkt Inhalt
Startpunkt 🌐 Buchungslink (/b/{firma}/{slug}) · Sidebar »Buchungen« (intern)
Ziel Kunde hat gebucht (ohne Doppel-Buchung) · Buchung ist im Lead-Eingang/am Kontakt · Büro hat den Überblick
Haupt-Archetyp BESPOKE-Public (höchster Polish) + A2/A3 Listen/Detail + A6/A4 Editor/Settings
Out of scope v2: Wunsch-Mitarbeiter/Round-Robin, personalisierte Links

4. Entscheidungen (validiert 2026-07-09)

Entscheidung Status Notiz
Buchungsstrecke = 3 eigene Screens + 1 Handy-Frame genommen Termin wählen → Fragen → Bestätigung; Handy-Frame vom Slot-Picker (Kunden buchen oft mobil)
Kunde kann per Mail-Link selbst absagen/verschieben genommen (Delta) »Wie Calendly« — eigene 🌐 Seite S04; Change-Request an Dev (AK-P16b kennt nur internes Cancel/Reschedule)
Buchungs-Detail als eigene Detailseite genommen Karteikarten-Muster (P6): links Termin + Verknüpfungen, rechts Antworten/Notizen, Aktionen im Kopf
Verfügbarkeit pflegt jeder selbst, Admin alle genommen Passt zur Pro-Nutzer-Kalender-Verbindung; Admin hat Mitarbeiter-Auswahl in S09
Fragen-Felder mit Feld-Zuordnung zum Lead-Eingang genommen Davids Punkt: im Editor festlegen, welches Kunden-Feld in welches Lead-Feld wandert — nichts abtippen
Slot-Vergabe v1: »erster freier Mitarbeiter« genommen Ticket-Schnitt; Kunde wählt keinen Mitarbeiter
Slot-Berechnung nutzt Kalender + Verfügbarkeit genommen Arbeitszeiten (S09) + bestehende Buchungen + Google-Sync (WF-P16 Kalender) + Puffer + Vorlauf

Happy Path

  1. Büro legt Buchungsseite »Wartungstermin (30 Min)« an: Dauer, Puffer, Vorlauf, Mitarbeiter, 3 Kunden-Fragen (+ Zuordnung zum Lead), Bestätigungs-Mail — veröffentlichen, Link/QR teilen.
  2. Kunde öffnet den Link (oft am Handy): freie Slots, wählt einen, beantwortet die Fragen, bucht — Bestätigung + Kalender-Datei.
  3. Die Buchung erscheint intern (Liste + Lead-Eingang bzw. am bekannten Kontakt); der Termin steht im Kalender des Mitarbeiters.
  4. Kunde kann's doch nicht einrichten → klickt »verschieben« in seiner Mail, wählt neuen Slot — Büro und Kalender bleiben automatisch aktuell.

Meldungs-/Error-States (validiert)

Ereignis UI-Form Blockiert? Bauen? Copy/Notiz
Slot gerade vergeben (Race-Schutz) Klartext-Hinweis in S02/S03-Übergang + zurück zur Slot-Wahl ja Nur dokumentieren »Dieser Termin wurde gerade vergeben — bitte wähle einen anderen.«
Keine freien Termine Leer-Zustand in S01 mit Klartext nein Nur dokumentieren »Aktuell sind keine Termine frei …« + ggf. Kontakt-Hinweis
Seite nicht veröffentlicht / Link falsch 🌐 404-Seite mit Branding ja Nur dokumentieren keine Interna verraten
Spam-Schutz mCaptcha in S02 ja (Submit) Nur dokumentieren wie öffentliche Formulare
Absage-/Verschiebe-Link abgelaufen oder Termin vorbei Klartext-Zustand in S04 ja Nur dokumentieren »Dieser Termin liegt in der Vergangenheit …«
Storno intern M02 mit Pflicht-Grund + Hinweis auf Auto-Mail ja (Aktion) Bauen (M02) auch als Bulk aus S05
Kalender-Sync-Status je Buchung Badge in S06 nein Nur dokumentieren synchronisiert / steht aus / Fehler

7. Validierte Screen-Liste

ID Screen/Zustand Typ Umsetzung Ort Status
S01 🌐 Termin wählen (Slot-Picker) ⭐ BESPOKE-Public Bauen /b/{firma}/{slug} Validiert
S02 🌐 Fragen (Kunden-Formular) BESPOKE-Public Bauen Schritt 2 Validiert
S03 🌐 Bestätigung (+ Kalender-Datei) BESPOKE-Public Bauen Schritt 3 Validiert
V01 🌐 Termin wählen — Handy BESPOKE-Public 📱 Bauen Variante von S01 Validiert
S04 🌐 Absagen/Verschieben per Link BESPOKE-Public Bauen Link aus Bestätigungs-Mail Validiert (Delta)
S05 Buchungen-Liste A2 Liste Bauen /bookings Validiert
S06 Buchungs-Detail (Karteikarte) A3 Detail Bauen /bookings/:id Validiert
S07 Buchungsseiten-Liste A2 Liste Bauen /bookings/pages Validiert
S08 Buchungsseiten-Editor A6 + A4 Bauen /bookings/pages/:id, /new Validiert
S09 Verfügbarkeit (Wochen-Zeiten + Ausnahmen) A6 + A4 Bauen /availability Validiert
M01 Verschieben (interner Slot-Picker) Modal Bauen aus S06 Validiert
M02 Stornieren (Grund + Auto-Mail) Modal Bauen aus S05/S06 Validiert
D01–D05 Race/leer/404/Spam/Link-abgelaufen (s. Tabelle) Inline/Zustand Nur dokumentieren — Validiert

8. Grid

🌐 Kunde: Link/QR/Embed -> S01 (Slots, Zeitzone) -> S02 (Fragen + Spam-Schutz) -> S03 (Bestätigung + .ics)
          S01 -> V01 (Handy-Variante) · Bestätigungs-Mail -> S04 (absagen/verschieben -> zurück zu S01-Slots)
Buchung erzeugt: Anfrage im Lead-Eingang ODER Activity am bekannten Kontakt (E-Mail-Match) + Termin im Kalender (WF-P16 Kalender)
Intern: Sidebar -> S05 (Liste, Tabs) -> S06 (Detail: Antworten, Notizen, stattgefunden/No-Show)
        S06 -> M01 (verschieben) / M02 (stornieren, Grund + Auto-Mail) / neu zuweisen
        S07 (Buchungsseiten) -> S08 (Editor: Dauer/Puffer/Vorlauf/Fragen+Lead-Zuordnung/Mail/Publish/QR+Embed)
        S09 Verfügbarkeit (jeder selbst, Admin alle) — speist die Slot-Berechnung

9. Screen-Pakete


10. Offene Fragen

  • Change-Request an Dev: 🌐 Self-Service-Absage/Verschieben per Mail-Link (S04) — AK-P16b kennt nur internes Cancel/Reschedule
  • Fragen-Formular: v1 als einfache Feld-Liste im Editor (12 Feld-Typen) — der volle Formular-Baukasten (D-FORM) liegt als Review-Draft vor und wird hier später nur eingesteckt → mit Dev klären, dass die Schnittstelle passt
  • Bulk-Storno: eine Mail je Kunde (automatisch) — Grenzen/Limits? → Dev
  • Vorlauf-Feinheiten (max. wie weit im Voraus buchbar) → Standardwerte beim Subframe-Bau festlegen

Handoff-Check

  • Jeder Screen ist mit Umsetzung markiert.
  • Meldungs-/Error-State-Matrix ist ausgefüllt.
  • Subframe-Link ist eingetragen. (Subframe erst nach explizitem OK)