docs: finalize appointment booking handoff
This commit is contained in:
1 parent
e0a963aaab
commit
08fb19f605
22 files changed
+919
-337
No files matched your search
@@ -4,31 +4,45 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: M01
|
||||
screen: Verschieben (interner Slot-Picker)
|
||||
typ: Modal
|
||||
screen: Termin verschieben
|
||||
typ: BESPOKE Action
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "aus S06"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "aus S04, S06 oder Zeilenaktion in S05"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/eac550b5-599f-4af0-8dfb-7a13fcb29069/edit"
|
||||
---
|
||||
|
||||
# M01 — Verschieben (interner Slot-Picker)
|
||||
# M01 — Termin verschieben
|
||||
|
||||
Subframe: [M01 Termin verschieben V2](<https://app.subframe.com/f023064a5ca0/design/eac550b5-599f-4af0-8dfb-7a13fcb29069/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Das Büro verschiebt eine Buchung auf einen neuen freien Slot — der Kunde wird automatisch informiert.
|
||||
Gäste über den Verwaltungslink oder interne Nutzer aus S05/S06 verschieben eine bestehende Buchung auf einen verfügbaren neuen Termin.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- Kompakter Slot-Picker (gleiche Logik wie die öffentliche Slot-Wahl: nur echte freie Zeiten)
|
||||
- Alter Termin sichtbar durchgestrichen, neuer Termin zur Bestätigung
|
||||
- Hinweis: »Der Kunde bekommt automatisch eine E-Mail mit dem neuen Termin«
|
||||
- Optional: anderer Mitarbeiter zusammen mit neuem Slot (wenn der bisherige nicht kann)
|
||||
- direkte Kopie der 960-Pixel-Struktur aus S01 statt eines schmalen Sonder-Modals
|
||||
- alter Termin durchgestrichen und neuer Termin hervorgehoben
|
||||
- identischer Blau-Weiß-Monatskalender wie in S01: verfügbare Tage hellblau, nicht verfügbare Zahlen grau ohne Kreis, Heute-Punkt innerhalb des unveränderten Tageskreises und Auswahl kräftig blau mit Fokusschatten
|
||||
- identische zweispaltige, direkt sichtbare Zeitliste wie in S01; kein Dropdown; die gewählte Uhrzeit ist sehr hellblau mit Fokusschatten
|
||||
- fest angezeigte Zeitzone
|
||||
- reiner Hinweis, dass der Kunde automatisch per E-Mail über die Änderung informiert wird
|
||||
- Abbrechen und Verschieben
|
||||
- kompakter, mittig ausgerichteter Alt-/Neu-Bereich in der Desktop-Darstellung
|
||||
- eigene mobile Entsprechung: [[V02 Termin verschieben Handy]]
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Aufruf aus S05
|
||||
|
||||
A5 Modal; Reschedule-Slot-Picker aus dem Ticket.
|
||||
- Die Zeilenaktion „Termin verschieben“ öffnet M01 direkt mit dem bestehenden Termin als Kontext.
|
||||
- Buchungsseite und zuständige Person bleiben unverändert; M01 zeigt nur die für diese Konstellation verfügbaren neuen Zeiten.
|
||||
- Soll die zuständige Person wechseln, wird sie vorher oder nachher separat in S05 über „Zuweisen“ geändert.
|
||||
- Nach „Verschieben“ werden der Kalendertermin und die Kundenbenachrichtigung automatisch aktualisiert; „Abbrechen“ kehrt ohne Änderung zurück.
|
||||
|
||||
## Subframe
|
||||
## Scope
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
- Die zuständige Person bleibt unverändert und kann beim Verschieben nicht gewählt werden.
|
||||
- Die E-Mail-Benachrichtigung wird immer versendet und kann nicht abgewählt werden.
|
||||
- Kalender und Zeitliste sind keine zweite Lösung, sondern dieselbe Auswahlstruktur wie in S01.
|
||||
- V02 ist nur die mobile Darstellung von M01 und kein zusätzlicher Ablauf.
|
||||
- Die alte schmale V1 mit Mitarbeiterwahl und E-Mail-Schalter wurde in Subframe ersetzt.
|
||||
@@ -4,31 +4,33 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: M02
|
||||
screen: Stornieren
|
||||
screen: Termin absagen
|
||||
typ: Modal
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "aus S05/S06 (auch Bulk)"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "aus S04, S05 oder S06"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/d3e3aab8-4b52-4b50-8281-84892f17da73/edit"
|
||||
---
|
||||
|
||||
# M02 — Stornieren (Grund + Auto-Mail)
|
||||
# M02 — Termin absagen
|
||||
|
||||
Subframe: [M02 Termin absagen V2](<https://app.subframe.com/f023064a5ca0/design/d3e3aab8-4b52-4b50-8281-84892f17da73/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Bewusst absagen: mit Grund, und der Kunde erfährt es automatisch.
|
||||
Gäste über S04 oder interne Nutzer aus S05/S06 sagen einen Termin bewusst ab und sehen vor der destruktiven Aktion, wer informiert wird.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- **Grund** (Pflicht, Freitext oder Auswahl) — landet im Verlauf der Buchung
|
||||
- Hinweis: »Der Kunde bekommt automatisch eine Absage-Mail« (mit Grund-Vorschau)
|
||||
- **Bulk-Variante** aus S05: zeigt Anzahl der Buchungen, ein Grund für alle, eine Mail je Kunde
|
||||
- Bestätigen/Abbrechen; danach Status »storniert« + Termin verschwindet aus dem Kalender
|
||||
- echter Dialog (`DialogLayout` → `Dialog` → `Dialog.Content`)
|
||||
- klare irreversible Wirkung im Einleitungstext
|
||||
- Buchungszusammenfassung mit Termin, Status, Kunde, Zuständigkeit und Typ
|
||||
- Pflichtauswahl für den Absagegrund
|
||||
- optionale Anmerkung
|
||||
- Information zur automatischen Absage-E-Mail
|
||||
- aktivierte Checkbox zur E-Mail-Benachrichtigung
|
||||
- Abbrechen und destruktive Bestätigung
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Bereinigter Scope
|
||||
|
||||
A5 Confirm-Modal.
|
||||
|
||||
## Subframe
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
Subframe zeigt den Dialog für eine einzelne Buchung. Eine besondere Bulk-Variante mit eigener Logik, einem Grund für mehrere Buchungen oder technischen Versandgrenzen wird nicht als zusätzliche Screen-Anforderung geführt.
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: M03
|
||||
screen: QR-Code Vorschau
|
||||
typ: Dialog
|
||||
umsetzung: Bauen
|
||||
status: Fertig / Development-Handoff
|
||||
route: "aus S08 -> Veröffentlichung -> QR-Code"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/5e412fc6-baf2-4513-ac9e-ade76259d0fa/edit"
|
||||
---
|
||||
|
||||
# M03 — QR-Code Vorschau
|
||||
|
||||
Subframe: [M03 QR-Code Vorschau](<https://app.subframe.com/f023064a5ca0/design/5e412fc6-baf2-4513-ac9e-ade76259d0fa/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Interne Nutzer sehen den QR-Code einer Buchungsseite groß genug zum Prüfen oder Scannen und können ihn direkt herunterladen.
|
||||
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- kompakter Desktop-Zustand als Referenz für das direkt in S08 öffnende Vorschau-Popup
|
||||
- Titel „QR-Code-Vorschau“ und kurze Erklärung des Scan-Ziels
|
||||
- große QR-Code-Fläche
|
||||
- zugehörige öffentliche Buchungs-URL
|
||||
- Aktionen „Schließen“ und „QR-Code herunterladen“
|
||||
|
||||
## Bewusste Begrenzung
|
||||
|
||||
- keine eigenen QR-Code-Einstellungen
|
||||
- kein zusätzlicher Veröffentlichungsprozess
|
||||
- keine Mobilvariante
|
||||
- der Zustand gehört ausschließlich zur QR-Code-Kachel aus S08; in S08 selbst ist dieselbe Vorschau als direkt öffnendes Popup angelegt und benötigt keine zusätzliche Navigation
|
||||
- wer den QR-Code nicht prüfen muss, kann ihn in S08 über die direkt in die QR-Code-Kachel integrierte Aktion „Download“ laden, ohne diesen Zustand zu öffnen
|
||||
+25
-18
@@ -4,34 +4,41 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S01
|
||||
screen: Termin waehlen (Slot-Picker)
|
||||
screen: Termin waehlen
|
||||
typ: BESPOKE-Public
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "/b/{firma}/{slug}"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "Oeffentlicher Buchungslink"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/7586ce1d-9bc1-45b8-816d-5dcbdb093b7e/edit"
|
||||
---
|
||||
|
||||
# S01 — 🌐 Termin wählen (Slot-Picker) ⭐
|
||||
# S01 — Termin wählen
|
||||
|
||||
Subframe: [S01 Termin wählen V1](<https://app.subframe.com/f023064a5ca0/design/7586ce1d-9bc1-45b8-816d-5dcbdb093b7e/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Kunde findet in Sekunden einen freien Termin — Calendly-Erlebnis, höchster Polish, mit dem Branding des Betriebs.
|
||||
Der Gast wählt auf der gebrandeten öffentlichen Buchungsseite einen verfügbaren Tag und eine Uhrzeit.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- **Monats-Kalender** mit freien/belegten Tagen + **Zeitslot-Liste** zum gewählten Tag
|
||||
- Nur echte freie Slots: berechnet aus Verfügbarkeit (S09), bestehenden Buchungen, Google-Kalender der Mitarbeiter, Puffer und Vorlauf — Vergabe v1: »erster freier Mitarbeiter«
|
||||
- **Zeitzonen-fest** + Zeitzonen-Wechsler (Anzeige »Zeiten in deiner Zeitzone«)
|
||||
- Kopf: Firmen-Logo/Branding, Name der Buchungsseite, Dauer, Beschreibung
|
||||
- **iFrame-Embed-Variante** (gleiche Strecke ohne Seiten-Rahmen)
|
||||
- Slot wählen → weiter zu S02 (Fragen)
|
||||
- Zustände: keine freien Termine (Klartext), laden, Fehler, Seite nicht veröffentlicht (404 mit Branding)
|
||||
- Firmenlogo, Firmenname und Vertrauenshinweis
|
||||
- Terminname, Beschreibung, Dauer, konfigurierte Meeting-Art und fest angezeigte Zeitzone; der sichtbare Subframe-Beispielzustand ist ein Online-Meeting
|
||||
- Monatskalender in der gewählten Blau-Weiß-Richtung: verfügbare Tage liegen auf einem sehr hellblauen, gleich großen Kreis; nicht verfügbare Tage bleiben als graue Zahl ohne Kreis stehen
|
||||
- „Heute“ sieht wie ein normal verfügbarer Tag aus und ergänzt nur einen kleinen blauen Punkt direkt unter der Zahl innerhalb des unveränderten 32-Pixel-Kreises
|
||||
- der gewählte Tag ist kräftig blau und hat einen sichtbaren Fokusschatten
|
||||
- alle freien Uhrzeiten für den gewählten Tag direkt als Liste; kein Dropdown
|
||||
- klar markierter gewählter Slot `09:30` mit sehr hellblauem Hintergrund und Fokusschatten statt grauer Auswahl
|
||||
- Zusammenfassung des ausgewählten Slots und CTA „Weiter zur Buchung“
|
||||
- Datenschutz, Impressum und HiveGrid-Hinweis
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Nicht blockierender Development-Zustand
|
||||
|
||||
BESPOKE-Public (höchster Polish laut Ticket). Bekommt in W4 die finale Politur (D-POLISH).
|
||||
- **Keine buchbaren Termine:** als klarer Leerzustand innerhalb von S01 umsetzen; kein eigener Screen und kein Handoff-Blocker.
|
||||
|
||||
## Subframe
|
||||
## Bereinigter Scope
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
- Die Zeitzone wird angezeigt, aber nicht gewechselt.
|
||||
- Die Meeting-Art wird bereits in S08 festgelegt. Der Gast wählt in S01 nicht zwischen Online-Meeting und Rückruf.
|
||||
- Es gibt keine eigene rahmenlose Embed-Variante.
|
||||
- Generische Lade- und Feldzustände bleiben Komponentenverhalten.
|
||||
@@ -4,32 +4,40 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S02
|
||||
screen: Fragen (Kunden-Formular)
|
||||
screen: Buchungsfragen
|
||||
typ: BESPOKE-Public
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "Schritt 2 nach Slot-Wahl"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "nach S01"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/acb8c6c5-b525-453b-9a76-1a38c7bf9c71/edit"
|
||||
---
|
||||
|
||||
# S02 — 🌐 Fragen (Kunden-Formular)
|
||||
# S02 — Buchungsfragen
|
||||
|
||||
Subframe: [S02 Buchungsfragen V1](<https://app.subframe.com/f023064a5ca0/design/acb8c6c5-b525-453b-9a76-1a38c7bf9c71/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Kunde gibt seine Daten ein — genau die Felder, die der Betrieb im Editor (S08) festgelegt hat.
|
||||
Der Gast ergänzt die für die Buchung benötigten Kontakt- und Zusatzangaben und bucht verbindlich.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- Zusammenfassung des gewählten Slots oben (Datum, Zeit, Dauer) + »Termin ändern«-Link zurück zu S01
|
||||
- **Felder aus dem Editor** (Name, E-Mail Pflicht; weitere je Konfiguration — Text, Telefon, Auswahl, …), Pflichtfeld-Markierung, Klartext-Validierung
|
||||
- **Spam-Schutz** (mCaptcha) vor dem Absenden
|
||||
- Absenden = verbindlich buchen → S03; **Race-Schutz:** ist der Slot inzwischen weg → Klartext-Hinweis + zurück zur Slot-Wahl (kein Datenverlust der Eingaben)
|
||||
- Datenschutz-Hinweis (kurz, Klartext)
|
||||
- Rückweg „Termin ändern“
|
||||
- Zusammenfassung von Datum, Uhrzeit, Dauer, Format und Zeitzone
|
||||
- feste Pflichtfelder „Vollständiger Name“ und E-Mail
|
||||
- Telefonnummer beim Online-Meeting optional, bei einer als Rückruf konfigurierten Buchungsseite verpflichtend
|
||||
- einfache Zusatzfragen: aktuelles Heizsystem, Objektart und ein optionales mehrzeiliges Anmerkungsfeld
|
||||
- mCaptcha und verpflichtende Datenschutz-Zustimmung
|
||||
- CTA „Termin buchen“ und Pflichtfeld-Hinweis
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Nicht blockierender Development-Zustand
|
||||
|
||||
BESPOKE-Public. Feld-Rendering v1 als einfache Feld-Liste (D-FORM liegt als Review-Draft vor und wird später nur eingesteckt).
|
||||
- **Slot beim Absenden bereits vergeben:** blockierender Klartext-Hinweis mit Rückweg zur Slot-Wahl. Bereits eingegebene Daten sollen nach Möglichkeit erhalten bleiben. Kein eigener Screen und kein Handoff-Blocker.
|
||||
|
||||
## Subframe
|
||||
## Bereinigter Scope
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
- Keine Vorgabe eines vollständigen Formular-Baukastens oder einer festen Zahl von Feldtypen.
|
||||
- Vor- und Nachname werden bewusst in einem gemeinsamen Feld „Vollständiger Name“ erfasst, um die Buchung einfach zu halten.
|
||||
- Die Meeting-Art wird in S08 für die Buchungsseite festgelegt und nicht vom Gast gewählt. S02 verwendet dieselbe Struktur; nur die Pflichtlogik der Telefonnummer ändert sich.
|
||||
- Die Frage „Womit heizen Sie aktuell?“ verwendet eine kurze Auswahl realistischer Heizsysteme; das Anmerkungsfeld bleibt optional und frei vergrößerbar.
|
||||
- Normale Pflichtfeld- und Formatfehler werden inline über die vorhandenen Formkomponenten gelöst.
|
||||
@@ -4,32 +4,33 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S03
|
||||
screen: Bestaetigung
|
||||
screen: Buchungsbestaetigung
|
||||
typ: BESPOKE-Public
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "Schritt 3 nach Buchung"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "nach erfolgreicher Buchung"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/b79c2993-f2e7-4626-b408-1199ae4d22b9/edit"
|
||||
---
|
||||
|
||||
# S03 — 🌐 Bestätigung
|
||||
# S03 — Buchungsbestätigung
|
||||
|
||||
Subframe: [S03 Buchungsbestätigung V2](<https://app.subframe.com/f023064a5ca0/design/b79c2993-f2e7-4626-b408-1199ae4d22b9/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Kunde weiß: Termin steht. Und er kriegt ihn in seinen eigenen Kalender.
|
||||
Der Gast erkennt eindeutig, dass der Termin gebucht ist, und kann ihn in den eigenen Kalender übernehmen.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- Große Bestätigung mit allen Termin-Daten (Datum, Zeit, Dauer, ggf. Ort/Hinweise aus der Buchungsseite)
|
||||
- **Add-to-Calendar-Knopf (.ics)** — funktioniert auf Handy und Desktop
|
||||
- Hinweis auf die **Bestätigungs-Mail** (mit Absage-/Verschiebe-Link → S04)
|
||||
- Firmen-Branding wie in S01/S02
|
||||
- Was im Hintergrund passiert (nicht sichtbar, aber geplant): Anfrage im Lead-Eingang **oder** Aktivität am bekannten Kontakt (E-Mail-Match), Termin im Mitarbeiter-Kalender, Bestätigungs-Mail raus
|
||||
- Bestätigungsbadge und klarer Erfolgstitel
|
||||
- eine kompakte grüne Zusammenfassung mit Terminname, Datum, Uhrzeit, Dauer, konfigurierter Meeting-Art und Zeitzone; der sichtbare Subframe-Beispielzustand ist ein Online-Meeting
|
||||
- kompakter Bereich „Ihre Angaben“ mit Ansprechpartner, E-Mail, Telefon, aktuellem Heizsystem und Objektart zur abschließenden Kontrolle
|
||||
- CTA „Zum Kalender hinzufügen (.ics)“
|
||||
- Hinweis, dass die Bestätigungs-E-Mail an die oben angegebene Adresse gesendet wurde und den Verwaltungslink zum Verschieben oder Absagen enthält; beim Online-Meeting enthält sie zusätzlich den Videolink
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Bereinigter Scope
|
||||
|
||||
BESPOKE-Public.
|
||||
|
||||
## Subframe
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
- Die Beispieldaten entsprechen S01/S02: Montag, 10. August 2026, 09:30–10:15 Uhr und 45 Minuten.
|
||||
- Es gibt keine zweite Termindetailkarte und keinen Rücklink zur Buchungsseite; Termindaten und Kundeneingaben werden jeweils nur einmal angezeigt.
|
||||
- Die Bestätigungs-E-Mail wird in S08 konfiguriert und enthält `{{verwaltungslink}}` als sichtbaren Einstieg zu S04.
|
||||
- Unsichtbare Folgeprozesse wie Kontakt-Matching oder weitere Systemautomationen sind keine Screen-Anforderungen dieser Datei.
|
||||
+35
-16
@@ -4,32 +4,51 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S04
|
||||
screen: Absagen/Verschieben per Link
|
||||
screen: Termin selbst verwalten
|
||||
typ: BESPOKE-Public
|
||||
umsetzung: Bauen
|
||||
status: Validiert (Davids Delta)
|
||||
route: "Link aus der Bestaetigungs-Mail"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "Verwaltungslink aus der Bestaetigungs-E-Mail"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/f67dbfdb-268b-4a03-b742-e34188ef8f86/edit"
|
||||
---
|
||||
|
||||
# S04 — 🌐 Absagen/Verschieben per Link (Davids Delta)
|
||||
# S04 — Termin selbst verwalten
|
||||
|
||||
Subframe: [S04 Termin selbst verwalten — Buttons untereinander](<https://app.subframe.com/f023064a5ca0/design/f67dbfdb-268b-4a03-b742-e34188ef8f86/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
»Wie bei Calendly«: Der Kunde verwaltet seinen Termin selbst — ohne anzurufen. **Change-Request an Dev** (steht nicht in AK-P16b).
|
||||
Der Gast kann einen bestätigten Termin über den Link aus der Bestätigungs-E-Mail ansehen, verschieben oder absagen.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- Zeigt die Buchung (Datum, Zeit, Buchungsseite, Firmen-Branding)
|
||||
- **Verschieben:** öffnet den Slot-Picker (wie S01) → neuer Slot → Bestätigung; alte Zeit wird frei, Büro + Kalender automatisch aktuell
|
||||
- **Absagen:** mit optionalem Grund → Bestätigung; Büro bekommt Benachrichtigung, Termin verschwindet aus dem Kalender
|
||||
- Zustände: Link abgelaufen/ungültig, Termin liegt in der Vergangenheit, Termin wurde bereits storniert — je Klartext ohne Interna
|
||||
- Sicherheit: signierter Link aus der Mail (kein Login nötig)
|
||||
- Firmenkennzeichnung und Vertrauenshinweis
|
||||
- Terminstatus, Terminname, Datum, Dauer, Format, zuständige Person und Buchungskontakt
|
||||
- zwei echte, klar erkennbare Buttons für „Termin verschieben“ und „Termin absagen“
|
||||
- die Aktionen stehen mit kurzen Erklärungen untereinander; dadurch bleibt die destruktive Absage klar von der Änderung getrennt
|
||||
- Beispieldaten entsprechen S03: Montag, 10. August 2026, 09:30–10:15 Uhr, 45 Minuten und Max Mustermann
|
||||
- fest angezeigte Zeitzone
|
||||
- „Link abgelaufen“ und „Ungültiger Link“ sind als eigene Screens [[S04E1 Link abgelaufen]] und [[S04E2 Ungueltiger Link]] ausgearbeitet
|
||||
- die Aktion „Termin verschieben“ verwendet den finalen, mit S01 vereinheitlichten Auswahl-Screen [[M01 Verschieben]] beziehungsweise mobil [[V02 Termin verschieben Handy]]; der frühere separate Auswahl-Screen [[S04a Termin verschieben]] wurde am 2026-09-02 aus dem Live-Flow entfernt
|
||||
- kurzer Erfolgszustand nach dem Verschieben: [[ST01 Termin verschoben]]
|
||||
- kurzer Erfolgszustand nach dem Absagen: [[ST02 Termin abgesagt]]
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Ergänzte Verbindung und Zustände
|
||||
|
||||
BESPOKE-Public, nutzt den Slot-Picker aus S01 wieder.
|
||||
- S08 enthält jetzt `{{verwaltungslink}}` als sichtbaren Platzhalter und festen Bestandteil der Bestätigungs-E-Mail.
|
||||
- Ein gültiger Link zeigt ausschließlich den Termin und seine beiden Verwaltungsaktionen.
|
||||
- Ein abgelaufener oder ungültiger Link öffnet stattdessen ausschließlich den zugehörigen Fehler-Screen.
|
||||
- „Termin verschieben“ führt zu M01 beziehungsweise dessen mobiler Darstellung V02; beide behalten die zuständige Person bei und versenden die Änderungs-E-Mail automatisch.
|
||||
- ST01 bestätigt weiterhin den neuen Termin nach erfolgreichem öffentlichen Verschieben.
|
||||
- ST02 bestätigt den abgesagten Status und bietet optional eine neue Buchung an.
|
||||
- ST01 und ST02 sind reine Abschlusszustände und enthalten keinen eigenen Auswahl-Workflow.
|
||||
|
||||
## Subframe
|
||||
## Finale Auswahl
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
- „Buttons untereinander“ wurde am 2026-09-02 als finale S04-Hauptrichtung bestätigt.
|
||||
- Die ursprüngliche S04-Seite und die Variante „Buttons nebeneinander“ wurden aus Subframe entfernt.
|
||||
|
||||
## Bereinigter Scope
|
||||
|
||||
- Kein eigener öffentlicher Absagegrund und kein zusätzlicher mehrstufiger Absage-Workflow.
|
||||
- Vergangene oder bereits abgesagte Termine können mit einem kompakten nicht verfügbaren Zustand innerhalb von S04 behandelt werden.
|
||||
@@ -0,0 +1,35 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S04E1
|
||||
screen: Verwaltungslink abgelaufen
|
||||
typ: BESPOKE-Public
|
||||
umsetzung: Bauen
|
||||
status: Fertig / Development-Handoff
|
||||
route: "abgelaufener Verwaltungslink"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/6790b32a-fc94-4183-bd3f-f4f3feeaa933/edit"
|
||||
---
|
||||
|
||||
# S04E1 — Verwaltungslink abgelaufen
|
||||
|
||||
Subframe: [S04E1 Link abgelaufen](<https://app.subframe.com/f023064a5ca0/design/6790b32a-fc94-4183-bd3f-f4f3feeaa933/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Gast versteht, dass nur der Verwaltungslink abgelaufen ist und der gebuchte Termin unverändert bestehen bleibt.
|
||||
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- eigener, alleinstehender Warnzustand statt Hinweis unter einem gültigen Termin
|
||||
- klare Bestätigung, dass der Termin weiterhin gebucht ist
|
||||
- maskierte hinterlegte E-Mail-Adresse
|
||||
- eindeutiger Button „Neuen Verwaltungslink per E-Mail senden“
|
||||
- zusätzlicher Link „Hilfe oder Kontakt“
|
||||
- keine Termindetails und keine Aktionen zum Verschieben oder Absagen
|
||||
|
||||
## Bereinigter Scope
|
||||
|
||||
- Keine erfundene feste Lebensdauer oder Einmalnutzung des neuen Links im Screen.
|
||||
- Der abgelaufene Link kann die Buchung noch sicher zuordnen; deshalb ist der Versand an die maskierte hinterlegte Adresse möglich.
|
||||
+36
@@ -0,0 +1,36 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S04E2
|
||||
screen: Ungueltiger Verwaltungslink
|
||||
typ: BESPOKE-Public
|
||||
umsetzung: Bauen
|
||||
status: Fertig / Development-Handoff
|
||||
route: "ungueltiger oder nicht zuordenbarer Verwaltungslink"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/2106fe0f-1c6e-4618-99c4-9389083b2c53/edit"
|
||||
---
|
||||
|
||||
# S04E2 — Ungültiger Link
|
||||
|
||||
Subframe: [S04E2 Ungültiger Link](<https://app.subframe.com/f023064a5ca0/design/2106fe0f-1c6e-4618-99c4-9389083b2c53/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Gast versteht, dass der Link keiner Buchung zugeordnet werden kann, und erhält einen sicheren nächsten Schritt.
|
||||
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- eigener, alleinstehender Fehlerzustand
|
||||
- kurze Erklärung, dass der Link unvollständig kopiert oder verändert worden sein könnte
|
||||
- Hinweis, warum kein automatischer neuer Link versendet werden kann
|
||||
- dezenter Link „Zur Buchungsseite“ als primärer Rückweg
|
||||
- zusätzlicher Link „Hilfe oder Kontakt“ oberhalb von Datenschutz und Impressum
|
||||
- keine Termindetails und keine Aktionen zum Verschieben oder Absagen
|
||||
|
||||
## Bereinigter Scope
|
||||
|
||||
- Keine Abfrage persönlicher Daten und kein zusätzlicher Wiederherstellungs-Workflow.
|
||||
- Kein großer direkter Kontakt-Button; Hilfe bleibt als zurückhaltende sekundäre Option erreichbar.
|
||||
- Ohne sicher zuordenbare Buchung wird kein Verwaltungslink automatisch versendet.
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S04a
|
||||
screen: Termin oeffentlich verschieben
|
||||
typ: BESPOKE-Public
|
||||
umsetzung: Entfernt
|
||||
status: Archiviert
|
||||
route: "nicht mehr im aktuellen Subframe-Flow"
|
||||
---
|
||||
|
||||
# S04a — Termin öffentlich verschieben (archiviert)
|
||||
|
||||
Stand 2026-09-02: Diese Seite wurde bei der Bereinigung aus Subframe entfernt und gehört nicht mehr zum aktuellen Live-Scope. Die Datei bleibt nur als nachvollziehbare Historie erhalten.
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Gast wählt für einen bestehenden Termin einen neuen Tag und eine neue Uhrzeit. Die Bedienung ist bewusst dieselbe wie bei der ersten Buchung in S01.
|
||||
|
||||
## Früherer Entwurf
|
||||
|
||||
- direkte visuelle und strukturelle Wiederverwendung von S01
|
||||
- kompakter, durchgestrichener Hinweis auf den bisherigen Termin
|
||||
- derselbe Blau-Weiß-Monatskalender wie bei der Buchung: verfügbare Tage hellblau, nicht verfügbare Zahlen grau ohne Kreis, Heute-Punkt innerhalb des normal großen Tageskreises und Auswahl kräftig blau mit Fokus
|
||||
- alle freien Uhrzeiten sofort als Liste sichtbar; kein Dropdown
|
||||
- klar markierter neuer Slot `Mi, 19. Aug 2026 · 14:30–15:15 Uhr`; die gewählte Uhrzeit war sehr hellblau mit Fokusschatten
|
||||
- Zusammenfassung der neuen Auswahl und CTA „Termin auf diesen Zeitpunkt verschieben“
|
||||
- responsive mobile Darstellung aus demselben Screen
|
||||
|
||||
## Aktueller Zusammenhang
|
||||
|
||||
S04 bietet weiterhin „Termin verschieben“ an und ST01 bleibt als Erfolgszustand im Live-Flow. Die frühere separate S04a-Seite wurde durch den gemeinsam nutzbaren Auswahl-Screen M01 und dessen mobile Darstellung V02 ersetzt. Beide verwenden dieselbe Kalender- und Zeitlistenlogik wie S01/V01; sie können aus dem öffentlichen Verwaltungslink sowie aus der internen Terminverwaltung aufgerufen werden.
|
||||
|
||||
## Scope
|
||||
|
||||
- keine erneute Abfrage von Kontaktdaten oder Buchungsfragen
|
||||
- kein eigener Kalender- oder Slot-Mechanismus neben S01
|
||||
- keine zusätzlichen Schritte oder Sonderfälle
|
||||
+54
-19
@@ -4,34 +4,69 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S05
|
||||
screen: Buchungen-Liste
|
||||
typ: A2 Liste
|
||||
screen: Termine
|
||||
typ: Liste
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "/bookings"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "Interne Terminverwaltung"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/1431498d-45ee-40ce-9ad9-ef6f538f73e7/edit"
|
||||
---
|
||||
|
||||
# S05 — Buchungen-Liste
|
||||
# S05 — Termine
|
||||
|
||||
Subframe:
|
||||
|
||||
- [S05 Termine — Bevorstehend](<https://app.subframe.com/f023064a5ca0/design/1431498d-45ee-40ce-9ad9-ef6f538f73e7/edit>)
|
||||
- [S05 Termine — Alle Status](<https://app.subframe.com/f023064a5ca0/design/73c1f93d-7c93-4d34-89d0-eb75bc5e595f/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Überblick: Was ist gebucht, was war, was wurde abgesagt.
|
||||
Interne Nutzer überblicken bevorstehende, stattgefundene und abgesagte Termine, erkennen zeitkritische Termine sofort und können Termine öffnen, neu zuweisen, verschieben oder absagen.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- **Reiter:** Anstehend · Vergangen · Storniert · Alle
|
||||
- Spalten: Termin (Datum/Zeit), Endkunde (Name/E-Mail), Buchungsseite, zuständiger Mitarbeiter, Status
|
||||
- **Filter:** Status, Mitarbeiter, Buchungsseite, Zeitraum
|
||||
- **Mehrfach-Aktion:** Bulk-Storno (öffnet M02, eine Auto-Mail je Kunde)
|
||||
- **CSV-Export**
|
||||
- Zeilen-Klick → S06 (Detail); Schnell-Aktionen in der Zeile (stornieren, verschieben)
|
||||
- Zustände: leer (Klartext + Link zu den Buchungsseiten), laden, Fehler
|
||||
- Reiter: Bevorstehend, Vergangen, Abgesagt und Alle
|
||||
- S05 ist der direkte Einstieg in das interne Terminbuchungs-Tool
|
||||
- Freitextsuche sowie Filter nach Status, Mitarbeitenden, Buchungsseite und Zeitraum
|
||||
- eine einzige, dauerhaft nach Termin aufsteigend sortierte Tabelle; Sortierpfeil und „älteste zuerst“ machen das sichtbar, das Datum teilt die Liste nicht in separate Tabellen
|
||||
- Ansicht-Umschalter mit „Liste“ und „Kalender“ im Kopf; die Liste ist aktiv, die spätere Kalenderansicht ist nur vorbereitet und noch nicht gestaltet
|
||||
- eigener Kopf-Button „Buchungsseiten“ vor dem Ansicht-Umschalter als direkter Weg zur Übersicht S07
|
||||
- ein zentraler CSV-Export
|
||||
- Mehrfachauswahl mit hellblau markierten Zeilen, roter gemeinsamer Absage-Aktion und „Zuweisen“-Dropdown
|
||||
- das Zuweisungs-Dropdown ist durchsuchbar und zeigt die vorgeladenen Mitarbeitenden mit Avatar und Rolle
|
||||
- Gast, Termin, Buchungsseite, Mitarbeitende und Status je Zeile; der Buchungsseitenname ist als blauer Link mit Pfeil nach rechts oben erkennbar und führt zur Übersicht S07
|
||||
- ein Klick auf die Person in der Spalte „Mitarbeitende“ öffnet denselben durchsuchbaren Selector; die aktuelle Zuweisung ist hervorgehoben und kann ersetzt werden
|
||||
- heutige und morgige Termine sind im Datum rot hervorgehoben; spätere Termine bleiben neutral schwarz, eine zusätzliche gelbe Dringlichkeitsstufe entfällt bewusst
|
||||
- Zeilenmenü mit Details, „Buchungsseite bearbeiten“ als direktem Weg zu S08, „Termin verschieben“, Verwaltungslink kopieren und Absagen
|
||||
- Statusmodell: Bevorstehend, Stattgefunden, Nicht erschienen und Abgesagt
|
||||
- eigener Entwicklungszustand mit aktivem Reiter „Alle“: chronologisch konsistente Beispieldaten und sichtbare Badges für alle vier Status; Struktur und Interaktionen bleiben identisch zur Bevorstehend-Ansicht
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Festgelegte Richtung
|
||||
|
||||
A2 Liste (sortierbar, paginiert) + Filter-Bar + Bulk-Toolbar — wie Lead-Inbox/Aufgaben-Liste.
|
||||
Die flache Tabellenansicht ist die aktuelle ausgearbeitete Variante. Die frühere, in einzelne Datumstabellen aufgeteilte Version wurde aus Subframe entfernt. Eine Sortierung nach Datum verändert nur die Reihenfolge der Zeilen und nicht die Tabellenstruktur.
|
||||
|
||||
## Subframe
|
||||
Die zweite Subframe-Seite ist keine alternative Produktrichtung, sondern derselbe S05-Screen im Zustand „Alle“. Sie dient insbesondere der Entwicklung als vollständige Referenz für Statusfarben und Mischzustände.
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
Beim Öffnen des Terminbuchungs-Tools landen interne Nutzer direkt in S05. Eine vorgeschaltete Auswahlseite entfällt. S07 ist sowohl über den Kopf-Button „Buchungsseiten“ als auch über die verlinkten Buchungsseitennamen erreichbar; mehrere Wege zum gleichen Ziel sind hier bewusst erlaubt. Die öffentliche Vorschau wird aus S05 nicht direkt geöffnet. Für die konkrete Konfiguration steht im Zeilenmenü „Buchungsseite bearbeiten“ mit Ziel S08 bereit.
|
||||
|
||||
„Bestätigt“ ist kein sinnvoller Terminstatus, weil eine öffentliche Buchung direkt fest steht. Vor dem Termin lautet der Status „Bevorstehend“. Nach dem Termin wird er „Stattgefunden“; „Nicht erschienen“ ist die manuell gesetzte Ausnahme, „Abgesagt“ der Abbruchzustand. Der Google-Kalender-Sync ist davon getrennt und bleibt eine technische Information in S06.
|
||||
|
||||
Die Mehrfachaktion „Zuweisen“ setzt die gewählte Person für alle markierten Termine. Die Auswahl in einer einzelnen Zeile ersetzt nur dort die aktuell zuständige Person. Pro Termin bleibt die Darstellung damit bei genau einer verantwortlichen Person.
|
||||
|
||||
„Termin verschieben“ führt direkt in M01. Der bestehende Termin, die Buchungsseite und die zuständige Person werden übernommen; nur Datum und Uhrzeit ändern sich. Nach Bestätigung werden Kalendertermin und Kundennachricht automatisch aktualisiert. Eine notwendige personelle Änderung erfolgt separat über „Zuweisen“.
|
||||
|
||||
Die Standardsortierung bleibt chronologisch nach Termin. Um Termine einer bestimmten Buchungsseite zu isolieren, wird der vorhandene Filter „Buchungsseite“ verwendet; eine konkurrierende Standardsortierung nach Buchungsseite ist nicht vorgesehen.
|
||||
|
||||
## Nicht blockierende Development-Hinweise
|
||||
|
||||
- Die Kalenderansicht selbst wird erst später gestaltet; S05 enthält aktuell nur den eindeutigen Umschalter als Einstieg.
|
||||
- Reiter und Statusfilter überschneiden sich. Im fertigen Verhalten sollte der Statusfilter kontextabhängig sein: im Reiter „Alle“ alle Zustände, unter „Vergangen“ nur „Stattgefunden“ und „Nicht erschienen“ und unter „Bevorstehend“ gar keine zusätzliche Statusauswahl.
|
||||
|
||||
## Bereinigter Scope
|
||||
|
||||
- Kein Freigabe- oder zusätzlicher Bestätigungsstatus im einfachen Happy Path; öffentliche Buchungen werden direkt als bevorstehender Termin angelegt.
|
||||
- Kein Google-Bestätigungsstatus in der Tabelle; Kalender-Sync und fachlicher Terminstatus bleiben getrennt.
|
||||
- Keine gelbe Zwischenstufe für die Datumsdringlichkeit; nur heute und morgen sind rot, spätere Termine neutral.
|
||||
- Kein eigener interner Verschiebe-Workflow; S05 und S06 verwenden den vorhandenen M01-Ablauf.
|
||||
- Kein separater Bulk-Workflow und keine besondere Bulk-Version von M02.
|
||||
- Empty-, Lade- und Fehlerzustände sind im aktuellen Subframe nicht ausgestaltet und werden nicht als eigene Screens ergänzt.
|
||||
+26
-16
@@ -4,31 +4,41 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S06
|
||||
screen: Buchungs-Detail
|
||||
typ: A3 Detail (Karteikarten-Muster)
|
||||
screen: Termindetails
|
||||
typ: Detail
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "/bookings/:id"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "aus S05 Termine"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/c01ed655-658c-4af8-a349-ec12d00c9a77/edit"
|
||||
---
|
||||
|
||||
# S06 — Buchungs-Detail (Karteikarte)
|
||||
# S06 — Termindetails
|
||||
|
||||
Subframe: [S06 Termindetails](<https://app.subframe.com/f023064a5ca0/design/c01ed655-658c-4af8-a349-ec12d00c9a77/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Alles zu einer Buchung an einem Ort — nach dem validierten P6-Karteikarten-Muster.
|
||||
Interne Nutzer sehen alle Informationen und Aktionen zu einem einzelnen gebuchten Termin an einem Ort.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- **Links:** Termin-Daten (Datum, Zeit, Dauer, Buchungsseite), zuständiger Mitarbeiter, **verknüpfter Kontakt/Anfrage** (klickbar), Kalender-Sync-Badge (synchronisiert / steht aus / Fehler)
|
||||
- **Rechts:** die **Antworten des Kunden** (Frage → Antwort, in Reihenfolge), **interne Notizen**, Verlauf (gebucht/verschoben/storniert mit wann + von wem)
|
||||
- **Aktionen im Kopf:** als »stattgefunden« / »nicht erschienen« (No-Show) markieren · **Stornieren** (M02) · **Verschieben** (M01) · **anderem Mitarbeiter zuweisen** (Auswahl mit Verfügbarkeits-Hinweis)
|
||||
- Status-Anzeige: gebucht / verschoben / storniert (mit Grund) / stattgefunden / No-Show
|
||||
- zweistufiger Kopf: oben Rückweg zu „Termine“ und alle Aktionen, darunter Terminname, der einmalig gezeigte Status „Bevorstehend“, Datum, Uhrzeit, Dauer und Online-Format
|
||||
- klare Hauptaktionen „Meeting öffnen“, „Verschieben“ und „Absagen“
|
||||
- Überlaufmenü mit direktem Weg zur übergeordneten Buchungsseiten-Konfiguration in S08 sowie „Verwaltungslink kopieren“
|
||||
- breitere rechte Informationsspalte mit ungefähr 28 Prozent der Desktop-Breite
|
||||
- Mitarbeitenden-Verwaltung in der rechten Spalte: Markus Weber ist als „Mitarbeiter“ bezeichnet, „Neu zuweisen“ ersetzt die zuständige Person und „Mitarbeiter hinzufügen“ ergänzt weitere Teilnehmende; beide Auswahlen sind durchsuchbar
|
||||
- der zu S02/S03 passende Kontakt Max Mustermann mit E-Mail und Telefon; keine dort nicht erhobene Adresse
|
||||
- die exakt zu S02 passenden Antworten: aktuelles Heizsystem, Objektart und Anmerkungen
|
||||
- interne Notizen mit sichtbarer Aktion „Notiz hinzufügen“, Notiz- und Plus-Icon sowie einem aufklappenden mehrzeiligen Eingabefeld mit Abbrechen/Speichern
|
||||
- rechte Informationsspalte mit Buchungsseite, Datum, Uhrzeit, Dauer, Erstellzeitpunkt, Quelle „Buchungsseite“, technischer Termin-ID und Meeting-Link samt zusätzlichem kleinen Öffnen-Button
|
||||
- Google-Kalender-Sync bewusst als letzter Bereich der rechten Spalte
|
||||
- keine doppelte Termindetailkarte und keine zweite Aktionsgruppe
|
||||
- keine manuelle Erinnerung und kein vorzeitig angebotenes „Nicht erschienen“
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Scope
|
||||
|
||||
A3 Detail — Karteikarten-Grundgerüst aus WF-P6 (Zweispalter + Aktionen im Kopf).
|
||||
S06 zeigt bewusst den Zustand eines bevorstehenden Termins. Nach dessen Ende kann „Nicht erschienen“ angeboten werden; bei stattgefundenen oder abgesagten Terminen entfallen Verschieben und Absagen. Ein Absagegrund aus M02 gehört im abgesagten Zustand in dieselbe Detailansicht und benötigt keinen eigenen Workflow.
|
||||
|
||||
## Subframe
|
||||
„Neu zuweisen“ und „Mitarbeiter hinzufügen“ sind getrennte Vorgänge: Der erste ersetzt die hauptverantwortliche Person, der zweite ergänzt eine weitere teilnehmende Person.
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
Für S06 wird bewusst keine separate Mobilansicht geplant.
|
||||
+30
-16
@@ -4,31 +4,45 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S07
|
||||
screen: Buchungsseiten-Liste
|
||||
typ: A2 Liste
|
||||
screen: Buchungsseiten
|
||||
typ: Liste
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "/bookings/pages"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "Interne Buchungsseitenverwaltung"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/85726c3b-956c-400e-b606-5eba24333bd2/edit"
|
||||
---
|
||||
|
||||
# S07 — Buchungsseiten-Liste
|
||||
# S07 — Buchungsseiten
|
||||
|
||||
Subframe: [S07 Buchungsseiten](<https://app.subframe.com/f023064a5ca0/design/85726c3b-956c-400e-b606-5eba24333bd2/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Alle Buchungslinks des Betriebs auf einen Blick — mit dem Link zum Kopieren direkt in der Zeile.
|
||||
Interne Nutzer verwalten wiederverwendbare Buchungsseiten. Jede Buchungsseite definiert, was Kunden buchen können, und besitzt bei Veröffentlichung einen eigenen Buchungslink.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- Spalten: Titel, Link (Slug) mit **Kopier-Knopf**, zugewiesene Mitarbeiter, Buchungen (gesamt / letzte 30 Tage), Status (veröffentlicht / Entwurf)
|
||||
- »+ Neue Buchungsseite« → S08 (Editor)
|
||||
- Zeilen-Aktionen: bearbeiten (S08), Link kopieren, veröffentlichen/zurückziehen, duplizieren
|
||||
- Zustände: leer (Klartext + CTA »Erste Buchungsseite anlegen«), laden, Fehler
|
||||
- CTA „Neue Buchungsseite“
|
||||
- kompakte Filterleiste mit Freitextsuche sowie Filtern nach Status und Mitarbeitenden; keine Presets oder zusätzlichen seltenen Filter
|
||||
- keine zusätzliche Mengenanzeige mit Aktualisieren-Icon oberhalb der Liste; diese Kopfzeile war für die einfache Übersicht unnötig
|
||||
- Name als blauer Link ohne vorangestelltes Kalender-Icon sowie Dauer und Terminformat
|
||||
- Buchungslink mit Kopieraktion
|
||||
- ein oder mehrere zugewiesene Mitarbeitende und Anzahl der daraus entstandenen Termine
|
||||
- Status veröffentlicht, Entwurf und deaktiviert
|
||||
- direkte Aktion „Einstellungen“ sowie Menüaktionen zum Kopieren, Veröffentlichen/Deaktivieren und Duplizieren
|
||||
- im deaktivierten Zustand die eindeutige Gegenaktion „Aktivieren“ statt erneut „Veröffentlichen“
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Festgelegte Richtung
|
||||
|
||||
A2 Liste.
|
||||
Die Listenansicht ist die einzige Variante, weil sie Buchungsseite, Buchungslink, Mitarbeitende, Terminzahl und Status direkt vergleichbar macht. Die frühere Kachelansicht wurde aus Subframe entfernt; ein View-Switch ist nicht vorgesehen.
|
||||
|
||||
## Subframe
|
||||
Der Name und die sichtbare Aktion „Einstellungen“ führen zur Konfiguration der jeweiligen Buchungsseite in S08. Dadurch ist kein zusätzlicher Menüpunkt mit demselben Ziel nötig.
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
## Benennung
|
||||
|
||||
„Buchungsseite“ bezeichnet die wiederverwendbare Konfiguration samt öffentlicher Buchungsoberfläche. „Buchungslink“ ist die teilbare URL dazu. „Termin“ bezeichnet eine konkrete Buchung in S05/S06.
|
||||
|
||||
## Bereinigter Scope
|
||||
|
||||
- Keine zusätzliche Kennzahl „letzte 30 Tage“; sichtbar ist nur die gesamte Terminzahl.
|
||||
- Empty-, Lade- und Fehlerzustände bleiben Standardzustände und werden nicht als eigene Frames ergänzt.
|
||||
+70
-20
@@ -4,35 +4,85 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S08
|
||||
screen: Buchungsseiten-Editor
|
||||
typ: A6 + A4
|
||||
screen: Buchungsseite bearbeiten
|
||||
typ: Settings/Form
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "/bookings/pages/:id + /new"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "aus S07 oder Neue Buchungsseite"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/68c58df0-1a5e-4b75-ab4c-de6fb60ccf56/edit"
|
||||
---
|
||||
|
||||
# S08 — Buchungsseiten-Editor
|
||||
# S08 — Buchungsseite bearbeiten
|
||||
|
||||
Subframe: [S08 Buchungsseite bearbeiten](<https://app.subframe.com/f023064a5ca0/design/68c58df0-1a5e-4b75-ab4c-de6fb60ccf56/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Hier entsteht der Buchungslink: alles einstellen, »was da auch bei Calendly stehen würde« (Davids Vorgabe).
|
||||
Interne Nutzer konfigurieren eine Buchungsseite in einem breiten Desktop-Editor. Die eigentlichen Inhalte bleiben in der Mitte, dauerhaft relevante Regeln und Veröffentlichungsaktionen stehen in einer rechten Seitenleiste.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- **Grunddaten:** Name, Link (Slug), Beschreibung (sieht der Kunde)
|
||||
- **Termin-Logik:** Dauer · **Puffer** (Mindestabstand zwischen Terminen) · **Vorlauf** (frühestens buchbar ab) · wie weit im Voraus buchbar
|
||||
- **Mitarbeiter-Auswahl:** wer kommt in Frage (v1-Vergabe: erster freier — Hinweis im UI)
|
||||
- **Kunden-Fragen:** Felder festlegen (Name + E-Mail Pflicht, weitere frei: Text, Telefon, Auswahl, …) und je Feld die **Zuordnung zum Lead-Eingang** (welches Kunden-Feld → welches Lead-Feld) — Davids Punkt: nichts abtippen
|
||||
- **Bestätigungs-Mail:** Text bearbeiten (Markdown + Platzhalter wie {Vorname}, {Termin}); enthält automatisch den Absage-/Verschiebe-Link (S04)
|
||||
- **Veröffentlichen:** Publish-Schalter · öffentliche URL mit Kopier-Knopf · **Embed-Code (iFrame)** · **QR-Code**
|
||||
- Hinweis, welche Verfügbarkeits-Zeiten (S09) greifen
|
||||
- Zustände: unveröffentlichte Änderungen, Validierungs-Fehler in Klartext
|
||||
- reiner Desktop-Screen; eine mobile Variante ist für diesen internen Editor nicht vorgesehen
|
||||
- die projektweite InnerSidebar beginnt ganz links am oberen Rand und läuft über die volle Screenhöhe
|
||||
- rechts davon nur eine dünne obere Aktionsleiste mit Rückweg zu „Buchungsseiten“, Autosave-Hinweis, Vorschau, kleinem Deaktivieren-Button und Drei-Punkte-Menü
|
||||
- der zuvor übergroße Seitentitel entfällt aus dem Kopf; „Name der Buchungsseite“ ist als normales bearbeitbares Feld in den Grunddaten untergebracht
|
||||
- kein manueller Speichern-Button; Änderungen werden automatisch gespeichert
|
||||
- Deaktivieren ist als kompakte direkte Kopfaktion sichtbar; das Überlaufmenü enthält ergänzende Aktionen
|
||||
- Grunddaten: bearbeitbarer Name, Beschreibung und Segmentauswahl „Meeting-Art“; die verständlich benannte „Link-Endung“ steht direkt daneben und zeigt per Hilfetext, dass sie hinter `buchung.shk-demo.de/` liegt
|
||||
- die Link-Endung ist nach der Veröffentlichung gesperrt und wird deshalb mit Schloss und deaktiviertem Eingabefeld dargestellt
|
||||
- die Meeting-Art wird pro Buchungsseite zwischen „Online-Meeting“ und „Rückruf“ festgelegt; Gäste wählen sie nicht selbst
|
||||
- E-Mail ist für beide Meeting-Arten ein festes Pflichtfeld; Telefon ist beim Online-Meeting optional und beim Rückruf zusätzlich verpflichtend
|
||||
- die rechte Seitenleiste folgt der Detailstruktur von S06: ein zusammenhängender Bereich mit Abschnitten und Trennlinien statt mehrerer schwebender Karten; sie wurde von 420 auf 504 Pixel und damit um 20 Prozent verbreitert
|
||||
- „Terminzeiten“ rechts als vier übereinanderliegende Label-/Auswahlzeilen: „Termindauer“, „Pause nach dem Termin“, „Frühestens buchbar“ und „Maximal im Voraus“; dadurch sind die Begriffe auch ohne Erklärung verständlich und die Felder werden nicht abgeschnitten
|
||||
- kleine Fragezeichen-Tooltips an „Terminzeiten“ sowie allen vier Begriffen erklären zusätzlich in einem einfachen Satz Zweck und Auswirkung
|
||||
- alle vier Auswahlfelder zeigen ihren aktuellen Wert und vollständige, lesbare Optionen; der Dropdown-Chevron bleibt innerhalb des Feldes
|
||||
- „Standard-Mitarbeitende“ mit Hinzufügen/Entfernen; das System weist automatisch eine verfügbare Person zu und Kunden treffen keine Auswahl
|
||||
- „Person hinzufügen“ steht außerhalb der bestehenden Personenliste auf derselben Aktionsebene wie „Verfügbarkeit verwalten“ und öffnet eine durchsuchbare Mitarbeitenden-Auswahl
|
||||
- „Verfügbarkeit verwalten“ ist als klar sichtbarer schwarzer Primärbutton ausgeführt
|
||||
- direkter Weg „Verfügbarkeit verwalten“ zu S09; zeitabhängige Verfügbarkeits-Badges an einzelnen Personen entfallen
|
||||
- Hinweis, dass freie Slots aus der persönlichen Verfügbarkeit, den Zeitregeln dieser Buchungsseite und belegten Kalenderzeiten entstehen
|
||||
- feste, nicht umbenennbare Systemfelder „Vollständiger Name“, „E-Mail“ und „Telefon“; die Pflichtlogik von Telefon folgt der gewählten Meeting-Art
|
||||
- dieselben Zusatzfragen wie in S02: „Womit heizen Sie aktuell?“, „Objektart“ und ein optionales mehrzeiliges Feld „Anmerkungen“
|
||||
- Drag-Griff links an jeder Feldzeile für direktes Umordnen; die separate Aktion „Reihenfolge ändern“ entfällt
|
||||
- „Zusatzfrage hinzufügen“ ist sowohl kompakt im Abschnittskopf als auch als vollbreiter, gestrichelter Kasten unter der Feldliste erreichbar; beide Einstiege öffnen dasselbe Menü mit kurzer Textantwort, langer Textantwort und Auswahl
|
||||
- Bestätigungs-E-Mail mit Betreff, „Nachricht“ und einer klaren Vorschau-Aktion; Text und HTML werden im Nachrichtenfeld bearbeitet, deshalb entfällt die doppelte Aktion „HTML hinzufügen“ rechts
|
||||
- für die E-Mail-Vorschau wird im Wireframe bewusst kein eigener Popup-Inhalt vorgegeben; die konkrete Vorschau setzt das Development im vorhandenen Einstieg um
|
||||
- die sichtbaren Platzhalter verwenden durchgehend die Schreibweise mit doppelten geschweiften Klammern und entsprechen exakt den Variablen in Betreff und Nachricht: `{{name}}`, `{{datum}}`, `{{uhrzeit}}`, `{{dauer}}`, `{{meeting_art}}` und `{{mitarbeiter}}`
|
||||
- fester Verwaltungslink in jeder Bestätigungs-E-Mail mit dem Hinweis, dass Gäste darüber ihren Termin verschieben oder absagen können
|
||||
- Veröffentlichung in der rechten Seitenleiste mit öffentlicher URL, Embed-Code und QR-Code
|
||||
- die direkte Aktion „Download“ sitzt innerhalb derselben QR-Code-Kachel; ein separates Augen-Icon entfällt und für das Herunterladen ist keine Vorschau nötig
|
||||
- Klick auf die QR-Code-Kachel öffnet direkt am Screen ein kompaktes Vorschau-Popup mit vergrößerter Darstellung, URL und zusätzlichem Download; [M03 QR-Code Vorschau](<https://app.subframe.com/f023064a5ca0/design/5e412fc6-baf2-4513-ac9e-ade76259d0fa/edit>) bleibt die separate Referenz für diesen geöffneten Zustand
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Interaktionslogik
|
||||
|
||||
A6 Settings + A4 Formular; Embed/QR/Copy-Muster wie im Ticket. Fragen-Felder v1 als einfache Feld-Liste (D-FORM liegt als Review-Draft vor und wird später eingesteckt).
|
||||
- Die vier Terminzeiten sind echte Selects mit sichtbaren Optionen: Termindauer 15/30/45/60/90 Minuten, Pause 0/5/10/15/30 Minuten, früheste Buchung 1/2/4/24/48 Stunden vorher und maximaler Buchungszeitraum 1/2/4/8/12 Wochen im Voraus.
|
||||
- Die Abschnittsnavigation links springt beim Klick zum jeweiligen Abschnitt; die eigentlichen Abschnitte bleiben dabei unverändert und es wird kein zusätzlicher Screen geöffnet.
|
||||
- „Person hinzufügen“ öffnet die durchsuchbare Mitarbeitenden-Liste. Die ausgewählte Person wird anschließend als neue Zeile in „Standard-Mitarbeitende“ ergänzt.
|
||||
- Beide Aktionen „Zusatzfrage hinzufügen“ öffnen dieselbe Auswahl des Feldtyps. Nach der Auswahl wird die neue Frage unten in die sortierbare Feldliste eingefügt.
|
||||
- „Vorschau“ an der Bestätigungs-E-Mail ist der definierte Einstieg für die spätere Development-Vorschau; ein eigener Popup-Zustand wird im Wireframe nicht vorweggenommen.
|
||||
- URL- und Embed-Aktionen kopieren den jeweiligen Wert. Der QR-Code kann über die in seine Kachel integrierte Aktion „Download“ direkt geladen werden; ein Klick auf den übrigen Kachelbereich öffnet alternativ die Vorschau mit einer zweiten Download-Aktion.
|
||||
- „Verfügbarkeit verwalten“ führt zu S09. Der Kopf-Button „Vorschau“ öffnet die öffentliche Buchungsseite; „Buchungsseiten“ führt zurück zu S07.
|
||||
|
||||
## Subframe
|
||||
## Ergänzte Self-Service-Verbindung
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
Die E-Mail-Vorlage enthält den festen Abschnitt „Termin verwalten“ mit dem Verwaltungslink. Die E-Mail geht nach jeder Buchung automatisch raus. Damit ist S04 sichtbar erreichbar, ohne einen zusätzlichen Workflow einzuführen. Der Link kann nicht aus der Vorlage entfernt werden.
|
||||
|
||||
## Logische Zuständigkeit
|
||||
|
||||
S08 enthält alle Regeln, die nur für diese konkrete Buchungsseite gelten: Termindauer, Pause nach dem Termin, früheste Buchung und maximaler Buchungszeitraum. S09 enthält dagegen ausschließlich die persönliche Verfügbarkeit der Mitarbeitenden und ihre Kalenderbelegung. Dadurch gibt es keine doppelte Pflege derselben Zeitregel mehr.
|
||||
|
||||
Die Abschnittsnavigation ist im Wireframe bereits ganz links und über die volle Höhe angeordnet. Die darüber hinausgehende tatsächliche Produkt-AppShell gehört zum allgemeinen Produkt-Rahmen und kann vom Development-Team ergänzt werden; für die S08-Fachlogik ist sie nicht entscheidend.
|
||||
|
||||
## Entscheidung zur CRM-Verknüpfung
|
||||
|
||||
Eine Terminbuchung erzeugt nicht automatisch eine Anfrage oder einen Lead. Später kann möglicherweise aus einem gehaltenen Termin oder dem zugehörigen Kontakt manuell ein Lead erstellt werden. Dieser noch ungeklärte Folgeprozess gehört ausdrücklich nicht zum aktuellen Terminbuchungs-Scope und wird deshalb noch nicht gestaltet.
|
||||
|
||||
## Bereinigter Scope
|
||||
|
||||
- Einfache Feldliste statt vollständigem Formular-Baukasten; keine Vorgabe von zwölf Feldtypen.
|
||||
- Keine Wahl des Mitarbeitenden oder der Meeting-Art durch den Kunden; beides wird intern an der Buchungsseite festgelegt.
|
||||
- Nur Online-Meeting und Rückruf; keine Vor-Ort-Termine oder weiteren Formate.
|
||||
- Kein Schalter zum Abschalten der Bestätigungs-E-Mail und kein konfigurierbarer Lead-Zuordnungsmodus.
|
||||
- Keine automatische Anfrage-/Lead-Anlage und noch kein geplanter Konvertierungsworkflow aus einem Termin.
|
||||
- Veröffentlichungsstatus und Deaktivieren ersetzen eine zusätzliche Publish-Wizard-Logik.
|
||||
- Keine S08-Mobilansicht und keine eigene AppShell-Variante im Wireframe-Scope.
|
||||
+46
-18
@@ -5,33 +5,61 @@ ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: S09
|
||||
screen: Verfuegbarkeit
|
||||
typ: A6 + A4
|
||||
typ: Settings/Form
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "/availability"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "aus S08 oder interne Verfuegbarkeit"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/ad5f799c-9ba2-4a3c-894c-6ce7567e48ee/edit"
|
||||
---
|
||||
|
||||
# S09 — Verfügbarkeit (»Wann bin ich buchbar?«)
|
||||
# S09 — Verfügbarkeit
|
||||
|
||||
Subframe: [S09 Verfügbarkeit V1](<https://app.subframe.com/f023064a5ca0/design/ad5f799c-9ba2-4a3c-894c-6ce7567e48ee/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Jeder Mitarbeiter pflegt seine eigenen buchbaren Zeiten; Admins können alle einsehen und ändern.
|
||||
Interne Nutzer pflegen die persönliche Grundverfügbarkeit einer ausgewählten Person. Daraus entstehen zusammen mit Ausnahmen, Kalenderbelegung und den Terminzeiten aus S08 die tatsächlich buchbaren Slots.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- **Wochen-Regeln:** je Wochentag mehrere Zeitfenster (z. B. Mo 8–12 + 13–17), an/aus je Tag
|
||||
- **Ausnahme-Tage:** Datum wählen → ganz frei ODER Sonder-Zeitfenster (z. B. 24.12. nur 8–12)
|
||||
- **Zeitzone** der Zeiten
|
||||
- **Admin-Sicht:** Mitarbeiter-Wechsler oben — Admin sieht und bearbeitet alle, jeder andere nur sich selbst
|
||||
- Hinweis: **welche Buchungsseiten** diese Zeiten nutzen (mit Links)
|
||||
- Klartext-Zusammenspiel: »Buchbar = diese Zeiten MINUS bestehende Termine (inkl. Google-Kalender) MINUS Puffer«
|
||||
- Zustände: noch nichts gepflegt (Leer-Zustand mit Standard-Vorschlag Mo–Fr 8–17), Validierungs-Fehler
|
||||
- Rückweg zu „Termine“
|
||||
- klar beschriftete Auswahl „Verfügbarkeit von“ als eigenständige Personenkarte mit Profilbild, Name und Arbeitsbereich; die aufklappende, durchsuchbare Personenliste verwendet dieselbe eindeutige Darstellung
|
||||
- die Auswahl wechselt den gesamten Seitenkontext: Wochenplan, Ausnahmen, Kalender-Sync und verknüpfte Buchungsseiten gehören immer zur gewählten Person
|
||||
- fest angezeigte Zeitzone
|
||||
- Wochenplan mit aktivierbaren Tagen und mehreren Zeitfenstern
|
||||
- jedes vorhandene Zeitfenster besitzt ein kleines `X` zum direkten Entfernen
|
||||
- das Plus pro aktivem Tag öffnet ein echtes Menü für ein Vormittagsfenster, ein Nachmittagsfenster oder eine eigene Uhrzeit
|
||||
- keine zusätzliche Kopierfunktion im Wochenplan; Zeiten werden bewusst nur direkt am jeweiligen Tag hinzugefügt oder entfernt
|
||||
- „Hinzufügen“ bei Ausnahmetagen öffnet zuerst die drei verständlichen Arten „Einzelner Tag“, „Datumsbereich“ und „Deutsche Feiertage“; jede Auswahl klappt anschließend ihre passenden Angaben und die abschließende Hinzufügen-Aktion direkt im Menü auf
|
||||
- der Wochenplan nutzt die verfügbare Breite kompakter; die rechte, weiterhin rechtsbündige Spalte ist auf 400 Pixel verbreitert, damit Auswahl und Ausnahmedetails ausreichend Platz haben
|
||||
- die Liste zeigt die drei wesentlichen Ausnahmearten: ganztägig gesperrt, an einem Tag verkürzte Zeiten und zusätzliche Verfügbarkeit an einem sonst geschlossenen Tag
|
||||
- die Beispieldaten liegen in der Zukunft und enthalten mit dem Tag der Deutschen Einheit einen realistischen bundesweiten Feiertag
|
||||
- verknüpfte Buchungsseiten mit den einheitlichen Statusbezeichnungen „Veröffentlicht“ und „Entwurf“; die Namen sind Links zu den jeweiligen Einstellungen in S08
|
||||
- verknüpfte Buchungsseiten verwenden entsprechend S08 nur „Online-Meeting“ oder „Rückruf“; die frühere Vor-Ort-Beispielseite wurde entfernt
|
||||
- Google-Kalender-Verbindung und Hinweis, dass belegte Zeiten ausgeschlossen werden
|
||||
- erklärender Hinweis, dass buchbare Slots diese Verfügbarkeit, die Zeitregeln der Buchungsseite und belegte Kalenderzeiten berücksichtigen
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Interaktionslogik
|
||||
|
||||
A6 Settings + A4; Wochen-Verfügbarkeits-Editor + Ausnahmen-Editor (UI-Elemente aus dem Ticket).
|
||||
- Die Personenwahl ersetzt den kompletten Inhalt der Seite durch die Verfügbarkeit der gewählten Person; Daten verschiedener Mitarbeitender werden nicht gleichzeitig bearbeitet.
|
||||
- Der Wochenplan ist die regelmäßige Basis. Ein ausgeschalteter Tag ist nicht verfügbar.
|
||||
- Das `X` entfernt genau ein Zeitfenster. Wird das letzte Zeitfenster eines Tages entfernt, wechselt der Tag auf „Nicht verfügbar“, damit kein aktiver Tag ohne Zeit zurückbleibt.
|
||||
- Neue Zeitfenster dürfen sich am selben Tag nicht überschneiden und die Endzeit muss nach der Startzeit liegen. Dafür genügt eine normale Inline-Validierung; es braucht keinen eigenen Screen.
|
||||
- Ausnahmetage überschreiben den Wochenplan nur für das betroffene Datum oder den Zeitraum. Nach Auswahl von „Einzelner Tag“ werden Datum sowie ganztägige Sperre oder eigene Zeiten festgelegt; „Datumsbereich“ fragt Start, Ende und optional eine Bezeichnung ab.
|
||||
- „Deutsche Feiertage“ fragt im zweiten Schritt das Jahr ab und fügt die bundesweiten Feiertage dieses Jahres als einzelne ganztägige Sperren hinzu. Eine eigene Feiertagsverwaltung oder komplexe Länderlogik ist nicht nötig.
|
||||
- Belegte Zeiten aus dem verbundenen Kalender bleiben auch innerhalb einer Sonderverfügbarkeit blockiert.
|
||||
- Die Terminzeiten aus S08 werden nicht hier dupliziert: Erst die Schnittmenge aus persönlicher Verfügbarkeit, Ausnahmen, freien Kalenderzeiten sowie Termindauer, Pause, frühester Buchung und maximalem Buchungszeitraum ergibt einen buchbaren Slot.
|
||||
|
||||
## Subframe
|
||||
## Logische Zuständigkeit
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
S09 pflegt nur Regeln, die zu einer Person gehören:
|
||||
|
||||
- regelmäßige Wochenzeiten
|
||||
- einzelne Ausnahmen
|
||||
- belegte Zeiten aus dem verbundenen Kalender
|
||||
|
||||
Termindauer, Pause, früheste Buchung und maximaler Buchungszeitraum werden ausschließlich in S08 pro Buchungsseite festgelegt. Die verknüpften Buchungsseiten dienen hier als Kontext und als direkter Rückweg zu deren Einstellungen, nicht als zweite Stelle zur Pflege der Zeitregeln.
|
||||
|
||||
## Bereinigter Scope
|
||||
|
||||
Eine besondere Admin-/Nicht-Admin-Variante oder Berechtigungslogik ist im Subframe nicht dargestellt und wird hier nicht als UI-Anforderung geführt. Ebenso entfallen eine Mobilvariante und eine eigene Verwaltung regionaler Feiertagsregeln; für diesen internen Desktop-Screen genügt das Übernehmen bundesweiter deutscher Feiertage.
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
---
|
||||
kind: state
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: ST01
|
||||
screen: Termin verschoben
|
||||
typ: BESPOKE-Public State
|
||||
umsetzung: Bauen
|
||||
status: Fertig / Development-Handoff
|
||||
route: "nach erfolgreichem Verschieben in M01 oder V02"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/c385aa35-b21f-4624-868b-ba78f7fff017/edit"
|
||||
---
|
||||
|
||||
# ST01 — Termin verschoben
|
||||
|
||||
Subframe: [ST01 Termin verschoben V1](<https://app.subframe.com/f023064a5ca0/design/c385aa35-b21f-4624-868b-ba78f7fff017/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Gast erhält unmittelbar nach dem öffentlichen Verschieben eine eindeutige, kurze Bestätigung des neuen Termins.
|
||||
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- kompakter Erfolgszustand „Termin erfolgreich verschoben“
|
||||
- neuer Termin mit Datum, Uhrzeit, Dauer, Online-Format und zuständiger Person
|
||||
- fest angezeigte Zeitzone
|
||||
- Hinweis, dass eine aktualisierte Bestätigungs-E-Mail versendet wurde
|
||||
- dezenter Rückweg zur Terminübersicht
|
||||
|
||||
## Scope
|
||||
|
||||
- reiner Abschlusszustand nach der neuen Terminauswahl in M01 beziehungsweise V02
|
||||
- verwendet die bereits getroffene neue Terminauswahl; kein zweiter Slot-Picker auf dieser Seite
|
||||
- keine zusätzlichen Sonderfälle oder weiteren Aktionen
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
kind: state
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: ST02
|
||||
screen: Termin abgesagt
|
||||
typ: BESPOKE-Public State
|
||||
umsetzung: Bauen
|
||||
status: Fertig / Development-Handoff
|
||||
route: "nach erfolgreichem oeffentlichen Absagen in S04"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/cc65e647-8494-4b1f-a25f-0984b93e2be6/edit"
|
||||
---
|
||||
|
||||
# ST02 — Termin abgesagt
|
||||
|
||||
Subframe: [ST02 Termin abgesagt V1](<https://app.subframe.com/f023064a5ca0/design/cc65e647-8494-4b1f-a25f-0984b93e2be6/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Der Gast erhält unmittelbar nach dem öffentlichen Absagen eine eindeutige, kurze Bestätigung des abgesagten Status.
|
||||
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- kompakter Abschlusszustand „Termin wurde abgesagt“ mit Status „Abgesagt“
|
||||
- bisheriger Termin mit durchgestrichenem Datum und Uhrzeit sowie Dauer und Online-Format
|
||||
- Hinweis, dass eine Absagebestätigung per E-Mail versendet wurde
|
||||
- einzelne optionale Aktion „Neuen Termin buchen“
|
||||
|
||||
## Scope
|
||||
|
||||
- Abschlusszustand von S04, kein eigener mehrstufiger Workflow
|
||||
- kein öffentlicher Absagegrund und keine weitere Bestätigungsschleife
|
||||
- keine zusätzlichen Sonderfälle oder Verwaltungsaktionen
|
||||
+19
-17
@@ -4,30 +4,32 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: V01
|
||||
screen: Termin waehlen — Handy
|
||||
typ: BESPOKE-Public 📱
|
||||
screen: Termin waehlen mobil
|
||||
typ: BESPOKE-Public Mobile
|
||||
umsetzung: Bauen
|
||||
status: Validiert
|
||||
route: "Variante von S01"
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
route: "Mobile Variante von S01"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/b5706754-6c6e-482f-941e-1181aa646af2/edit"
|
||||
---
|
||||
|
||||
# V01 — 🌐 Termin wählen — Handy 📱
|
||||
# V01 — Termin wählen mobil
|
||||
|
||||
Subframe: [V01 Termin wählen Mobil V1](<https://app.subframe.com/f023064a5ca0/design/b5706754-6c6e-482f-941e-1181aa646af2/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Kunden buchen oft am Handy — die wichtigste öffentliche Seite muss dort genauso gut funktionieren.
|
||||
Die Slot-Wahl bleibt auf einem schmalen mobilen Viewport vollständig verständlich und bedienbar.
|
||||
|
||||
## Was das Tool können muss
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- Gleiche Logik wie S01, gestapelt: erst Tag wählen (kompakter Monats-Kalender), dann Zeitslot-Liste
|
||||
- Zeitzonen-Wechsler erreichbar, Branding oben
|
||||
- Fragen (S02) und Bestätigung (S03) sind auf dem Handy dieselben Screens (einspaltig) — nur der Slot-Picker braucht den eigenen Nachweis-Frame
|
||||
- dieselben Inhalte und Zustände wie S01
|
||||
- einspaltige Reihenfolge: Termininfo, Kalender, direkt sichtbare Zeitliste, Zusammenfassung, CTA
|
||||
- dieselbe Blau-Weiß-Kalenderlogik wie in S01: hellblau für verfügbar, kräftig blau plus Fokus für gewählt, graue Zahl ohne Kreis für nicht verfügbar und der Heute-Punkt innerhalb des normal großen verfügbaren Tageskreises
|
||||
- dieselben acht sichtbaren Uhrzeiten wie in S01; kein Dropdown
|
||||
- gewählte Uhrzeit mit sehr hellblauem Hintergrund und Fokusschatten
|
||||
- kompakte Firmenkennzeichnung und Footer
|
||||
- fest angezeigte Zeitzone
|
||||
|
||||
## Pattern / Archetyp
|
||||
## Scope
|
||||
|
||||
BESPOKE-Public, Mobile-Variante von S01.
|
||||
|
||||
## Subframe
|
||||
|
||||
- (erst nach explizitem OK)
|
||||
V01 ist nur der mobile Nachweis von S01 und kein eigener Nutzerweg. Für S02 und S03 sind keine zusätzlichen Mobile-Screen-Dateien nötig; sie sollen responsiv aus den bestehenden Screens ableitbar bleiben.
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
---
|
||||
kind: screen
|
||||
project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
id: V02
|
||||
screen: Termin verschieben mobil
|
||||
typ: BESPOKE Action Mobile
|
||||
umsetzung: Bauen
|
||||
status: Fertig / Development-Handoff
|
||||
route: "Mobile Variante von M01 aus S04 oder interner Terminverwaltung"
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/design/2bea54ed-9355-4070-a29b-f416e9165664/edit"
|
||||
---
|
||||
|
||||
# V02 — Termin verschieben mobil
|
||||
|
||||
Subframe: [V02 Termin verschieben Mobil](<https://app.subframe.com/f023064a5ca0/design/2bea54ed-9355-4070-a29b-f416e9165664/edit>)
|
||||
|
||||
## Ziel
|
||||
|
||||
Gäste über den Verwaltungslink oder interne Nutzer können eine bestehende Buchung auf einem schmalen mobilen Viewport genauso einfach verschieben wie in M01 auf Desktop.
|
||||
|
||||
## In Subframe abgedeckt
|
||||
|
||||
- direkte mobile Entsprechung von M01 auf Basis der 390-Pixel-Struktur aus V01
|
||||
- Terminname, Kunde, Dauer, Online-Format und feste Zeitzone
|
||||
- alter Termin durchgestrichen, kleiner Richtungspfeil und neuer Termin klar untereinander
|
||||
- identischer Blau-Weiß-Kalender wie in V01 und M01
|
||||
- alle acht Uhrzeiten direkt in einer zweispaltigen Liste; kein Dropdown
|
||||
- gewählter Tag kräftig blau mit Fokusschatten, Heute-Punkt innerhalb des normal großen hellblauen Kreises
|
||||
- gewählte Uhrzeit `09:30` mit sehr hellblauem Hintergrund und Fokusschatten
|
||||
- reiner Hinweis, dass der Kunde automatisch eine E-Mail über die Änderung erhält
|
||||
- Zusammenfassung sowie „Abbrechen“ und „Verschieben“ am unteren Rand
|
||||
|
||||
## Scope
|
||||
|
||||
- keine Mitarbeiterwahl
|
||||
- kein Schalter für die E-Mail-Benachrichtigung; sie wird immer versendet
|
||||
- keine zusätzlichen Felder, Schritte oder mobilen Sonderfälle
|
||||
- V02 ist nur die mobile Darstellung von M01 und kein eigener Nutzerweg
|
||||
@@ -1,23 +1,30 @@
|
||||
{
|
||||
"nodes":[
|
||||
{"id":"md-paket","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.md","x":-80,"y":-440,"width":460,"height":280},
|
||||
{"id":"group-public","type":"group","x":-80,"y":-100,"width":2260,"height":660,"label":"Kunde 🌐 (Calendly-Stil, höchster Polish)"},
|
||||
{"id":"group-intern","type":"group","x":2360,"y":-100,"width":1700,"height":940,"label":"Büro (intern)"},
|
||||
{"id":"group-modals","type":"group","x":4160,"y":-100,"width":1180,"height":380,"label":"Aktionen (Modals)"},
|
||||
{"id":"note-entry","type":"text","text":"# Einstieg Kunde\n\nBuchungslink / QR / iFrame-Embed.\n\nJede Buchung → Anfrage im Lead-Eingang ODER Aktivität am bekannten Kontakt (E-Mail-Match) + Termin im Mitarbeiter-Kalender.","x":0,"y":0,"width":360,"height":200},
|
||||
{"id":"group-public","type":"group","x":-80,"y":-100,"width":2260,"height":1000,"label":"Kunde 🌐 (öffentliche Terminbuchung)"},
|
||||
{"id":"group-modals","type":"group","x":2360,"y":-100,"width":1180,"height":660,"label":"Geteilte Aktionen (M01 Desktop · V02 Mobil · M02 Modal)"},
|
||||
{"id":"group-intern","type":"group","x":3660,"y":-100,"width":1700,"height":1220,"label":"Büro (intern)"},
|
||||
{"id":"note-entry","type":"text","text":"# Einstieg Kunde\n\nÖffentliche Buchungsseite aus der geteilten URL. S01 zeigt freie Uhrzeiten direkt als Liste.\n\nS01 → S02 → S03. Die Bestätigungs-E-Mail enthält `{{verwaltungslink}}` zu S04. Von dort führen M01/V02 zum Verschieben und M02 zum Absagen.","x":0,"y":0,"width":360,"height":220},
|
||||
{"id":"s01","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S01 Termin waehlen.md","x":560,"y":0,"width":420,"height":200},
|
||||
{"id":"s02","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S02 Fragen.md","x":1120,"y":0,"width":420,"height":200},
|
||||
{"id":"s03","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S03 Bestaetigung.md","x":1680,"y":0,"width":420,"height":200},
|
||||
{"id":"v01","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/V01 Termin waehlen Handy.md","x":560,"y":280,"width":420,"height":200},
|
||||
{"id":"s04","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S04 Absagen Verschieben.md","x":1680,"y":280,"width":420,"height":200},
|
||||
{"id":"s05","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S05 Buchungen-Liste.md","x":2440,"y":0,"width":420,"height":200},
|
||||
{"id":"s06","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S06 Buchungs-Detail.md","x":3000,"y":0,"width":420,"height":200},
|
||||
{"id":"s07","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S07 Buchungsseiten-Liste.md","x":2440,"y":280,"width":420,"height":200},
|
||||
{"id":"s08","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S08 Buchungsseiten-Editor.md","x":3000,"y":280,"width":420,"height":200},
|
||||
{"id":"s09","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S09 Verfuegbarkeit.md","x":2440,"y":560,"width":420,"height":200},
|
||||
{"id":"note-intern","type":"text","text":"# Slot-Berechnung\n\nBuchbar = Verfügbarkeit (S09) − bestehende Termine (inkl. Google-Kalender aus WF-P16 Kalender) − Puffer/Vorlauf.\n\nVergabe v1: erster freier Mitarbeiter.","x":3000,"y":560,"width":460,"height":200},
|
||||
{"id":"m01","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/M01 Verschieben.md","x":4240,"y":0,"width":420,"height":200},
|
||||
{"id":"m02","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/M02 Stornieren.md","x":4820,"y":0,"width":420,"height":200}
|
||||
{"id":"f31a7b6c2d8e4095","type":"text","text":"# Self-Service\n\nM01 und V02 sind die gemeinsame Terminwahl für öffentliches und internes Verschieben. M02 bestätigt die Absage.\n\nDie zuständige Person bleibt fest; Änderungs- und Absage-E-Mails werden automatisch versendet.","x":0,"y":280,"width":420,"height":260,"color":"5"},
|
||||
{"id":"4e91a6c2d8b730f5","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S04E1 Link abgelaufen.md","x":0,"y":640,"width":420,"height":200},
|
||||
{"id":"5fa2b7d3e9c84106","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S04E2 Ungueltiger Link.md","x":560,"y":640,"width":420,"height":200},
|
||||
{"id":"b7e63a4f9c2d1085","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/ST01 Termin verschoben.md","x":1120,"y":640,"width":420,"height":200},
|
||||
{"id":"c8f74b5a0d3e2196","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/ST02 Termin abgesagt.md","x":1680,"y":640,"width":420,"height":200},
|
||||
{"id":"m01","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/M01 Verschieben.md","x":2440,"y":0,"width":420,"height":200},
|
||||
{"id":"d4a9c1e7b203f865","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/V02 Termin verschieben Handy.md","x":2440,"y":280,"width":420,"height":200},
|
||||
{"id":"m02","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/M02 Stornieren.md","x":3020,"y":0,"width":420,"height":200},
|
||||
{"id":"s05","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S05 Buchungen-Liste.md","x":3740,"y":0,"width":420,"height":200},
|
||||
{"id":"s06","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S06 Buchungs-Detail.md","x":4300,"y":0,"width":420,"height":200},
|
||||
{"id":"s07","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S07 Buchungsseiten-Liste.md","x":3740,"y":280,"width":420,"height":200},
|
||||
{"id":"s08","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S08 Buchungsseiten-Editor.md","x":4300,"y":280,"width":420,"height":200},
|
||||
{"id":"s09","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S09 Verfuegbarkeit.md","x":3740,"y":560,"width":420,"height":200},
|
||||
{"id":"note-intern","type":"text","text":"# Zuständigkeit der Zeitregeln\n\nS09 pflegt Wochenplan, Ausnahmen und Kalenderbelegung pro Person.\n\nS08 pflegt ausschließlich die Regeln der Buchungsseite: Termindauer, Pause, früheste Buchung und maximalen Buchungszeitraum.","x":4300,"y":560,"width":460,"height":200},
|
||||
{"id":"6ab3c8e4f0d95217","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/Screens/M03 QR-Code Vorschau.md","x":4300,"y":840,"width":420,"height":200}
|
||||
],
|
||||
"edges":[
|
||||
{"id":"e-entry","fromNode":"note-entry","fromSide":"right","toNode":"s01","toSide":"left","toEnd":"arrow","styleAttributes":{"path":"dotted"}},
|
||||
@@ -25,9 +32,19 @@
|
||||
{"id":"e-s2s3","fromNode":"s02","fromSide":"right","toNode":"s03","toSide":"left","toEnd":"arrow","label":"buchen"},
|
||||
{"id":"e-handy","fromNode":"s01","fromSide":"bottom","toNode":"v01","toSide":"top","toEnd":"arrow","label":"Handy"},
|
||||
{"id":"e-mail","fromNode":"s03","fromSide":"bottom","toNode":"s04","toSide":"top","toEnd":"arrow","label":"Link in der Mail"},
|
||||
{"id":"d9a85c6b1e4f3207","fromNode":"s04","fromSide":"right","toNode":"m01","toSide":"left","toEnd":"arrow","label":"verschieben"},
|
||||
{"id":"a42b8c7d3e9f5106","fromNode":"m01","fromSide":"left","toNode":"b7e63a4f9c2d1085","toSide":"right","toEnd":"arrow","label":"erfolgreich"},
|
||||
{"id":"ea196d7c2f503418","fromNode":"s04","fromSide":"right","toNode":"m02","toSide":"left","toEnd":"arrow","label":"absagen"},
|
||||
{"id":"7bc4d9f501ea6328","fromNode":"m02","fromSide":"left","toNode":"c8f74b5a0d3e2196","toSide":"right","toEnd":"arrow","label":"erfolgreich"},
|
||||
{"id":"8cd5e0a612fb7439","fromNode":"s03","fromSide":"bottom","toNode":"4e91a6c2d8b730f5","toSide":"top","toEnd":"arrow","label":"Link abgelaufen"},
|
||||
{"id":"9de6f1b723ac8540","fromNode":"s03","fromSide":"bottom","toNode":"5fa2b7d3e9c84106","toSide":"top","toEnd":"arrow","label":"Link ungültig"},
|
||||
{"id":"e-open","fromNode":"s05","fromSide":"right","toNode":"s06","toSide":"left","toEnd":"arrow","label":"öffnen"},
|
||||
{"id":"e-editor","fromNode":"s07","fromSide":"right","toNode":"s08","toSide":"left","toEnd":"arrow","label":"öffnen"},
|
||||
{"id":"ae07c2d834bd9651","fromNode":"s05","fromSide":"bottom","toNode":"s07","toSide":"top","toEnd":"arrow","label":"Buchungsseiten"},
|
||||
{"id":"bf18d3e945cea762","fromNode":"s08","fromSide":"bottom","toNode":"s09","toSide":"right","toEnd":"arrow","label":"Verfügbarkeit verwalten"},
|
||||
{"id":"c029e4fa56dfb873","fromNode":"s08","fromSide":"bottom","toNode":"6ab3c8e4f0d95217","toSide":"top","toEnd":"arrow","label":"QR-Vorschau"},
|
||||
{"id":"e-m01","fromNode":"s06","fromSide":"right","toNode":"m01","toSide":"left","toEnd":"arrow","label":"verschieben"},
|
||||
{"id":"f6c1e3a9d425b087","fromNode":"m01","fromSide":"bottom","toNode":"d4a9c1e7b203f865","toSide":"top","toEnd":"arrow","label":"Handy"},
|
||||
{"id":"e-m02","fromNode":"s06","fromSide":"right","toNode":"m02","toSide":"left","toEnd":"arrow","label":"stornieren"},
|
||||
{"id":"e-avail","fromNode":"note-intern","fromSide":"left","toNode":"s09","toSide":"right","toEnd":"arrow","styleAttributes":{"path":"dotted"}}
|
||||
]
|
||||
|
||||
@@ -4,133 +4,240 @@ project: HiveGrid Screen Project
|
||||
ticket: D-BOOK + D-P16 (Teil)
|
||||
package: WF-P16 Terminbuchung
|
||||
typ: Flow
|
||||
status: Validiert
|
||||
subframe: ""
|
||||
status: Fertig / Development-Handoff
|
||||
subframe: "https://app.subframe.com/f023064a5ca0/flow/8c3cf5e1-e6d2-494e-bf82-3bb7d4bbb5c9/edit"
|
||||
canvas: "WF-P16 Terminbuchung.canvas"
|
||||
source_checked: 2026-09-03
|
||||
---
|
||||
|
||||
# WF-P16 Terminbuchung
|
||||
|
||||
Status: Validiert (Screen-Liste)
|
||||
Subframe-Link: -
|
||||
Canvas: [Canvas](<WF-P16 Terminbuchung.canvas>)
|
||||
Stand: 2026-07-09
|
||||
Status: Fertig / Development-Handoff
|
||||
|
||||
Subframe: [Flow öffnen](<https://app.subframe.com/f023064a5ca0/flow/8c3cf5e1-e6d2-494e-bf82-3bb7d4bbb5c9/edit>)
|
||||
|
||||
Canvas: [Canvas](<WF-P16 Terminbuchung.canvas>)
|
||||
|
||||
Stand: 2026-09-03
|
||||
|
||||
---
|
||||
|
||||
## 1. Kurzfassung
|
||||
## 1. Source of Truth
|
||||
|
||||
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.
|
||||
Der aktuelle Subframe-Flow ist die fachliche und visuelle Source of Truth. Dieser Abgleich basiert ausschließlich auf den dort sichtbaren Screens, Texten, Feldern, Aktionen und Zuständen. Anwendungscode und frühere technische Annahmen wurden nicht als Anforderungen verwendet.
|
||||
|
||||
Der Flow enthält aktuell **19 Subframe-Seiten für 18 logische Screen- und Zustandsdateien**. Für S04 ist „Buttons untereinander“ die finale Richtung; „Link abgelaufen“ und „Ungültiger Link“ sind zwei eigene Zustandsseiten. Die redundante, nach Datum aufgeteilte S05-Variante und die alternative S07-Kachelansicht wurden entfernt. Nur S05 besitzt bewusst zwei aktuelle Seiten: denselben Screen einmal im Zustand „Bevorstehend“ und einmal als Entwicklungsreferenz mit aktivem Reiter „Alle“ und allen Statusarten. M03 dokumentiert den geöffneten QR-Code-Vorschauzustand aus S08.
|
||||
|
||||
### Benennung für die interne Verwaltung
|
||||
|
||||
- **Buchungsseite:** wiederverwendbare Konfiguration und öffentliche Buchungsoberfläche mit Titel, Meeting-Art, Dauer, Zeitregeln, Standard-Mitarbeitenden und Kundenfragen; die Meeting-Art ist Online-Meeting oder Rückruf
|
||||
- **Buchungslink:** teilbare URL zu einer Buchungsseite
|
||||
- **Termin:** konkrete Buchung eines Kunden zu einem Datum und einer Uhrzeit
|
||||
|
||||
Damit ist die Trennung im Produkt eindeutig: In S07/S08 werden **Buchungsseiten** eingerichtet, über deren **Buchungslinks** Kunden konkrete **Termine** buchen. Diese Benennung lehnt sich an die übliche Trennung zwischen konfigurierbarem Buchungsangebot und gebuchtem Termin an, verwendet für HiveGrid aber bewusst einfache deutsche Begriffe. Subframe bleibt die Source of Truth.
|
||||
|
||||
---
|
||||
|
||||
## 2. Intent Check
|
||||
## 2. Aktueller Scope aus Subframe
|
||||
|
||||
| Frage | Antwort |
|
||||
### Öffentliche Buchung
|
||||
|
||||
1. **S01 Termin wählen:** gebrandete Buchungsseite mit Terminname, Dauer, der in S08 konfigurierten Meeting-Art, fest angezeigter Zeitzone, Blau-Weiß-Monatskalender, direkt sichtbarer Zeitliste, Zusammenfassung und CTA.
|
||||
2. **S02 Buchungsfragen:** Terminübersicht, Kontaktdaten, einfache Zusatzfragen, mCaptcha, Datenschutz-Zustimmung und verbindliche Buchung. Name und E-Mail sind immer Pflicht; Telefon ist bei Online-Meetings optional und bei Rückrufen Pflicht.
|
||||
3. **S03 Bestätigung:** Erfolgszustand mit einer einzigen kompakten grünen Terminübersicht, kontrollierbaren Kontakt- und Zusatzangaben, `.ics`-Download und Hinweis auf die Bestätigungs-E-Mail samt Verwaltungslink.
|
||||
4. **V01 Mobile Slot-Wahl:** einspaltige mobile Darstellung von S01.
|
||||
5. **S04 Termin selbst verwalten:** Termin ansehen sowie über zwei klar getrennte, untereinander angeordnete Buttons verschieben oder absagen.
|
||||
6. **S04E1 Link abgelaufen:** eigenständiger Warnzustand mit Bestandsbestätigung, maskierter Adresse und Versand eines neuen Verwaltungslinks.
|
||||
7. **S04E2 Ungültiger Link:** eigenständiger Fehlerzustand mit Rückweg zur Buchungsseite und zurückhaltendem Hilfe-/Kontaktlink.
|
||||
8. **ST01 Termin verschoben:** kompakter Erfolgszustand mit dem neuen Termin und Hinweis auf die aktualisierte Bestätigungs-E-Mail.
|
||||
9. **ST02 Termin abgesagt:** kompakter Abschlusszustand mit abgesagtem Termin und optionaler neuer Buchung.
|
||||
|
||||
### Interne Verwaltung
|
||||
|
||||
- **S05 Termine:** direkter Einstieg in das interne Tool mit Reitern, Suche/Filter, Listen-/Kalender-Umschalter, einem Kopf-Button zur Buchungsseitenübersicht, verlinkten Buchungsseitennamen, einem CSV-Export, hellblau markierter Mehrfachauswahl, durchsuchbarer Mitarbeitenden-Zuweisung, roter Absage, zeitkritischer Datumsmarkierung, fachlichen Terminstatus und chronologisch sortierten Terminzeilen in einer einzigen Tabelle. Eine zweite Seite zeigt denselben Screen unter „Alle“ mit sämtlichen Statusbadges; die Kalenderansicht selbst ist noch nicht gestaltet.
|
||||
- **S06 Termindetails:** zweistufiger Kopf mit separater Aktionszeile und vollständiger Termin-Zusammenfassung; Kontakt und Antworten aus S02; interaktiv ergänzbare interne Notizen; Verlauf sowie eine breitere rechte Spalte für Systeminfos, Meeting-Link, Mitarbeitenden-Verwaltung und Kalender-Sync. Eine eigene Mobilansicht ist nicht vorgesehen.
|
||||
- **S07 Buchungsseiten:** wiederverwendbare Buchungsseiten mit kompakter Suche/Filterung, verlinktem Namen, Buchungslink, zugewiesenen Mitarbeitenden, Terminzahl, Status und direktem Weg zu den Einstellungen in einer einzigen Listenansicht; ohne zusätzliche Mengenanzeige samt Aktualisieren-Icon im Kopf.
|
||||
- **S08 Buchungsseite bearbeiten:** breiter Desktop-Editor mit links durchgehender InnerSidebar, dünner Aktionsleiste, bearbeitbarem Namen in den Grunddaten, nach Veröffentlichung gesperrter „Link-Endung“ und einer Segmentauswahl für Online-Meeting oder Rückruf. Die zusammenhängende rechte Spalte ist 504 Pixel breit und enthält echte Selects für Termindauer, Pause, früheste Buchung und maximalen Buchungszeitraum, Standard-Mitarbeitende, eine außerhalb der Personenliste liegende durchsuchbare Hinzufügen-Aktion, die Verfügbarkeitsaktion und Veröffentlichung. Kundenfelder sind per Drag-and-drop sortierbar und können zusätzlich über einen vollbreiten Kasten innerhalb der Feldkarte ergänzt werden. Die Bestätigungs-E-Mail unterstützt Text/HTML direkt im Nachrichtenfeld, deckungsgleiche Platzhalter und einen bewusst noch nicht ausgestalteten Vorschau-Einstieg. URL, Embed, eine direkt öffnende QR-Vorschau und ein in dieselbe QR-Kachel integrierter Direktdownload bleiben enthalten. Die eigentliche AppShell und eine Mobilansicht gehören nicht zu diesem Wireframe.
|
||||
- **M03 QR-Code Vorschau:** separate Referenz für den geöffneten QR-Popup-Zustand aus S08 mit großer Vorschau, öffentlicher URL und Download.
|
||||
- **S09 Verfügbarkeit:** Personenkarte mit Profilbild und durchsuchbarer Mitarbeiter-Auswahl, kompakter Wochenplan mit ausschließlich direkt hinzufügbaren und einzeln löschbaren Zeitfenstern, zweistufig spezifizierbare Ausnahmen samt deutschen Feiertagen, Kalender-Sync und als Links dargestellte verknüpfte Buchungsseiten. Die rechtsbündige Ausnahmenspalte ist zugunsten der Formulare verbreitert; Terminzeiten werden ausschließlich in S08 gepflegt.
|
||||
- **M01 Verschieben:** direkte 960-Pixel-Kopie der Auswahl aus S01 mit altem/neuem Termin, Abbrechen und automatischer E-Mail; ohne Mitarbeiterwahl.
|
||||
- **V02 Verschieben mobil:** direkte 390-Pixel-Mobile-Entsprechung von M01 mit Alt/Neu untereinander, identischem Kalender und identischer Zeitliste.
|
||||
- **M02 Absagen:** echter Dialog mit Buchungszusammenfassung, Pflichtgrund, optionaler Anmerkung und E-Mail-Information.
|
||||
|
||||
---
|
||||
|
||||
## 3. Was bereits gut abgedeckt ist
|
||||
|
||||
- Der öffentliche Happy Path ist mit drei klaren Schritten kompakt und verständlich.
|
||||
- S01 zeigt alle freien Uhrzeiten direkt ohne Dropdown; V01 übernimmt dieselbe Zeitliste mobil.
|
||||
- S01, V01, M01 und V02 verwenden dieselbe Blau-Weiß-Logik: verfügbare Tage sind dezent hellblau, nicht verfügbare Tage nur grau, die Auswahl ist kräftig blau mit Fokus und „Heute“ ergänzt im normal großen verfügbaren Kreis lediglich einen kleinen Punkt unter der Zahl.
|
||||
- Eine gewählte Uhrzeit ist auf allen vier Screens sehr hellblau mit Fokusschatten statt grau markiert.
|
||||
- S02 kombiniert notwendige Kontaktdaten, die konkreten Zusatzfragen zum aktuellen Heizsystem und zur Objektart, ein optionales mehrzeiliges Anmerkungsfeld, Spam-Schutz und Datenschutz ohne zusätzlichen Wizard. Vor- und Nachname bleiben dabei bewusst im gemeinsamen Pflichtfeld „Vollständiger Name“. E-Mail ist unabhängig von der Meeting-Art Pflicht; Telefon wird nur beim Rückruf verpflichtend.
|
||||
- S03 gibt eine eindeutige Buchungsbestätigung und eine direkte Kalenderaktion. Terminname, Datum, Uhrzeit, Dauer, Format und Zeitzone stehen einmalig in der grünen Übersicht; darunter kann der Gast Ansprechpartner, E-Mail, Telefon, Heizsystem und Objektart nochmals kontrollieren. Eine doppelte Termindetailkarte entfällt.
|
||||
- Der Verwaltungslink in S08 verbindet die Bestätigungs-E-Mail sichtbar mit S04; ST01 und ST02 bilden weiterhin die kurzen Abschlusszustände.
|
||||
- Abgelaufene und ungültige Verwaltungslinks werden nicht mehr gleichzeitig mit einem gültigen Termin gezeigt, sondern besitzen jeweils einen klaren eigenen Screen.
|
||||
- S05 bis S09 decken den schlanken internen Verwaltungsweg von der Übersicht bis zur Konfiguration ab.
|
||||
- S05 unterscheidet konkrete „Termine“ klar von den konfigurierbaren „Buchungsseiten“ in S07. Eine Datumssortierung ändert nur die Reihenfolge einer flachen Tabelle; sie erzeugt keine einzelnen Tabellen pro Tag.
|
||||
- Interne Nutzer starten in S05. S07 ist von dort über den Kopf-Button „Buchungsseiten“ und über jeden verlinkten Buchungsseitennamen erreichbar; „Buchungsseite bearbeiten“ im Zeilenmenü führt direkt zur konkreten Konfiguration in S08. Eine vorgeschaltete Auswahlseite und eine direkte Kundenvorschau aus S05 entfallen.
|
||||
- Ausgewählte Zeilen in S05 sind hellblau hinterlegt. Der Auswahlbalken bietet eine durchsuchbare gemeinsame Mitarbeitenden-Zuweisung und eine rote Absage-Aktion; dieselbe Zuweisung ist direkt pro Zeile möglich. Der CSV-Export steht einmalig im Seitenkopf.
|
||||
- S05 sortiert dauerhaft nach dem frühesten Termin. Heute und morgen werden rot hervorgehoben, spätere Daten bleiben neutral; auf eine zusätzliche gelbe Dringlichkeitsstufe wird bewusst verzichtet.
|
||||
- „Bestätigt“ wurde in S05 durch das fachliche Modell Bevorstehend, Stattgefunden, Nicht erschienen und Abgesagt ersetzt. Google-Sync bleibt eine technische Detailinformation in S06 und wird nicht mit dem Terminstatus vermischt.
|
||||
- Der zusätzliche S05-Zustand „Alle“ zeigt Stattgefunden grün, Nicht erschienen gelb, Bevorstehend blau und Abgesagt rot. Die ausgewählten Beispielzeilen sind weiterhin bevorstehend, damit Zuweisen und Absagen im sichtbaren Zustand logisch bleiben.
|
||||
- S06 zeigt „Bevorstehend“ nur einmal. Eine eigene obere Zeile bündelt den Rückweg zu „Termine“, „Meeting öffnen“, Verschieben, Absagen und das Überlaufmenü; darunter folgen Titel, Datum, Uhrzeit, Dauer und Format.
|
||||
- Das S06-Überlaufmenü führt zur Konfiguration der übergeordneten Buchungsseite in S08 und kann weiterhin den Verwaltungslink kopieren. Der Meeting-Link besitzt zusätzlich einen kleinen direkten Öffnen-Button.
|
||||
- Die Mitarbeitenden-Verwaltung sitzt in der auf ungefähr 28 Prozent verbreiterten rechten Spalte. „Neu zuweisen“ ersetzt die zuständige Person; „Mitarbeiter hinzufügen“ ergänzt eine weitere teilnehmende Person. Der unnötige Status „Zugewiesen“ wurde durch die neutrale Rollenbezeichnung „Mitarbeiter“ ersetzt.
|
||||
- Die frühere S06-Termindetailkarte wurde entfernt, weil Titel, Zeit und Format bereits im Kopf sowie die Buchungsseite in den Systeminformationen stehen. Erinnerung, verfrühtes „Nicht erschienen“, optionale Zweitperson, erfundene Kontaktdaten und doppelte E-Mail-/Meeting-Status wurden ebenfalls entfernt.
|
||||
- S06 verwendet nun denselben Beispieltermin wie S03: Max Mustermann, 10.08.2026 von 09:30 bis 10:15 Uhr. Die Systeminformationen nennen zusätzlich Datum, Uhrzeit und Dauer; der Kalender-Sync steht bewusst ganz unten.
|
||||
- „Notiz hinzufügen“ öffnet direkt am Screen ein mehrzeiliges Eingabefeld mit Abbrechen und Speichern. Notiz- und Plus-Icon machen die Aktion eindeutig.
|
||||
- S07 verwendet nur noch die skalierbare Listenansicht. Die Status heißen veröffentlicht, Entwurf und deaktiviert.
|
||||
- S08 ist als breiter Desktop-Editor statt als schmale Formularspalte aufgebaut. Die Abschnittsnavigation beginnt ganz links und läuft über die volle Höhe; rechts davon sitzt nur noch eine dünne Aktionsleiste. Der Name wurde aus dem übergroßen Kopf in die Grunddaten verschoben. Die eigentliche AppShell kann das Development-Team ergänzen.
|
||||
- Die rechte S08-Spalte verwendet wie S06 zusammenhängende Detailabschnitte mit Trennlinien statt einzelner Karten. Sie wurde um 20 Prozent auf 504 Pixel verbreitert. Terminzeiten, Standard-Mitarbeitende und Veröffentlichung nutzen dadurch die Breite besser; „Verfügbarkeit verwalten“ ist eine klar sichtbare schwarze Primäraktion.
|
||||
- „Terminzeiten“ sowie die Begriffe „Termindauer“, „Pause nach dem Termin“, „Frühestens buchbar“ und „Maximal im Voraus“ besitzen kleine Fragezeichen-Tooltips mit kurzen Klartext-Erklärungen. Alle vier Selects zeigen ihren Wert und ihre Optionen vollständig; auch der zuvor fehlerhafte Vorlaufzeit-Select funktioniert ohne herausgedrückten Chevron oder leere Einträge.
|
||||
- S08 erklärt die automatische Zuweisung aus den Standard-Mitarbeitenden und bietet die intern festgelegte Meeting-Art Online-Meeting oder Rückruf. „Person hinzufügen“ liegt außerhalb des Personenstacks und öffnet eine durchsuchbare Auswahl. Vollständiger Name und E-Mail sind feste Pflichtfelder; Telefon ist online optional und beim Rückruf Pflicht. Alle Feldreihen werden direkt am linken Griff sortiert. Zusatzfragen lassen sich im Kopf oder über den neuen vollbreiten Kasten unter der Feldliste ergänzen; beide öffnen dasselbe Feldtyp-Menü.
|
||||
- Die verständlich benannte Link-Endung ist nach Veröffentlichung gesperrt; ihr Hilfetext zeigt die Position hinter der Domain. Der Kopf speichert automatisch und bietet Vorschau, einen direkten kompakten Deaktivieren-Button sowie das Überlaufmenü. Die Bestätigungs-E-Mail ist eine automatische Systemfolge statt einer abschaltbaren Option; ihr Inhalt heißt „Nachricht“ und unterstützt Text und HTML direkt im Feld. Die doppelte Aktion „HTML hinzufügen“ wurde entfernt. Der Vorschau-Button bleibt als Development-Einstieg erhalten, ohne einen erfundenen Popup-Inhalt vorzugeben. Eine Buchung erzeugt keinen automatischen Anfrage- oder Lead-Datensatz.
|
||||
- Die E-Mail-Platzhalter und die verwendeten Variablen stimmen nun exakt überein und verwenden überall doppelte geschweifte Klammern. URL, Embed-Code und QR-Code bleiben in S08 zusammen. Die QR-Kachel öffnet direkt eine Vorschau mit URL und Download; die in dieselbe Kachel integrierte Download-Aktion lädt den QR-Code ohne Zwischenschritt. Ein zusätzliches Augen-Icon an der Kachel entfällt. M03 dokumentiert den geöffneten Vorschauzustand separat.
|
||||
- S08 und S09 haben eindeutige Zuständigkeiten: Die Buchungsseite bestimmt Termindauer, Pause nach dem Termin, früheste Buchung und maximalen Buchungszeitraum; die ausgewählte Person bestimmt ihre Wochenzeiten, Ausnahmen und Kalenderbelegung. „Verfügbarkeit verwalten“ führt aus S08 direkt zu S09.
|
||||
- S09 zeigt keine pauschalen „Verfügbar“-Badges pro Person und keine doppelte Pflege der Terminzeiten. Eine Personenkarte mit Profilbild unter „Verfügbarkeit von“ macht eindeutig, dass Wochenplan, Ausnahmen, Kalender und verknüpfte Buchungsseiten zur ausgewählten Person gehören. Zeitfenster lassen sich am jeweiligen Tag per Plus hinzufügen und einzeln per `X` entfernen; eine wirkungslose Kopierauswahl entfällt. Ausnahmen werden zuerst als einzelner Tag, Zeitraum oder bundesweite deutsche Feiertage gewählt und anschließend direkt im aufgeklappten Detailbereich spezifiziert. Verknüpfte Buchungsseiten sind blaue Links zurück zu S08, verwenden dieselben Statusbezeichnungen wie S07 und enthalten nur Online-Meeting oder Rückruf.
|
||||
- M01 verwendet bewusst dieselbe breite Kalender- und Zeitlistenstruktur wie S01; V02 überträgt sie gezielt auf Mobil. M02 bleibt als kompakter Absage-Dialog im Buchungskontext.
|
||||
- Entwurf, veröffentlicht und deaktiviert sind für Buchungsseiten sichtbar. Im einfachen Happy Path werden Termine direkt als „Bevorstehend“ angelegt; nach dem Zeitpunkt gelten sie als „Stattgefunden“, sofern sie nicht als „Nicht erschienen“ markiert oder abgesagt wurden.
|
||||
|
||||
---
|
||||
|
||||
## 4. Nicht blockierende Development-Zustände
|
||||
|
||||
Es fehlen keine entscheidenden Screens oder Verbindungen. Die folgenden zwei Standardfälle werden innerhalb der bestehenden Screens umgesetzt und blockieren den Handoff nicht.
|
||||
|
||||
| Lücke | Ort | Kleinste sinnvolle Ergänzung | Eigener Screen? |
|
||||
|---|---|---|---|
|
||||
| Keine buchbaren Termine | S01 | Klarer Leerzustand statt leerer Zeitauswahl, mit Kontakt-/Zurück-Hinweis | Nein |
|
||||
| Gewählter Slot wurde beim Absenden bereits vergeben | S02 | Blockierender Hinweis und Rückweg zu S01; bereits eingegebene Daten möglichst behalten | Nein |
|
||||
|
||||
Normale Feldvalidierung, Ladeanzeige und generische Speicherfehler bleiben Standardzustände der vorhandenen Komponenten und bekommen keine eigenen Frames.
|
||||
|
||||
Am 2026-09-01 in Subframe ergänzt: `{{verwaltungslink}}` in S08, die kurzen Abschlusszustände ST01/ST02 und direkte Zeitlisten in S01/V01.
|
||||
|
||||
Am 2026-09-02 wurde die Blau-Weiß-Richtung auf S01, V01 und M01 finalisiert. Danach wurden die drei EXP-Seiten und S04a aus dem Flow entfernt, kleinere manuelle Anpassungen übernommen und V02 als eigene mobile Darstellung von M01 ergänzt. Der Heute-Punkt sitzt innerhalb des unveränderten Tageskreises; ausgewählte Uhrzeiten verwenden einen sehr hellblauen Auswahlzustand mit Fokusschatten.
|
||||
|
||||
Ebenfalls am 2026-09-02 wurde S03 auf eine einzige kompakte Bestätigungskarte reduziert. Die Demo-Daten entsprechen nun S01/S02; die zweite Termindetailkarte und der missverständliche Rücklink wurden entfernt.
|
||||
|
||||
Für S04 wurden am 2026-09-02 zwei Button-Redesigns sowie die eigenständigen Zustände S04E1 „Link abgelaufen“ und S04E2 „Ungültiger Link“ ergänzt. „Buttons untereinander“ wurde anschließend als finale S04-Richtung bestätigt; die alte Seite und „Buttons nebeneinander“ wurden entfernt. In S04E2 entfiel außerdem der große direkte Kontakt-Button zugunsten von „Zur Buchungsseite“ und einem zurückhaltenden Hilfe-/Kontaktlink im Footer.
|
||||
|
||||
Am 2026-09-03 wurden S05 bis S08 konsolidiert: „Termine“ ersetzt für konkrete Kundentermine das unscharfe „Buchungen“. Nach der anschließenden Benennungsvalidierung heißen die konfigurierbaren Angebote in S05 bis S08 einheitlich „Buchungsseiten“ und ihre teilbaren URLs „Buchungslinks“. S05 nutzt nur noch eine flache Tabelle, S06 nur noch einen Aktionsbereich, S07 nur noch die Listenansicht und S08 bildet die intern festgelegte Meeting-Art, automatische Mitarbeitenden-Zuweisung, die Fragen aus S02 sowie die immer versendete Bestätigungs-E-Mail explizit ab.
|
||||
|
||||
Bei der Einzelvalidierung von S05 am 2026-09-03 kamen der vorbereitende Listen-/Kalender-Umschalter, die durchsuchbare Einzel- und Mehrfachzuweisung, die rote Absage-Aktion, die rote Hervorhebung für heute und morgen sowie das bereinigte Statusmodell hinzu. Die Zeilenaktion „Termin verschieben“ verwendet M01 und behält die zuständige Person bei; der Kunde wird nach einer internen Änderung automatisch informiert.
|
||||
|
||||
Anschließend wurde S05 als zweite, pixelnahe Seite mit aktivem Reiter „Alle“ dupliziert. Sie zeigt alle vier Statusfarben mit chronologisch plausiblen Beispielterminen und behält die Mitarbeitenden-Zuweisung auch bei vergangenen beziehungsweise abgesagten Zeilen als nachträgliche Korrekturmöglichkeit bei.
|
||||
|
||||
Bei der Einzelvalidierung von S06 am 2026-09-03 wurde die doppelte Termindetailkarte entfernt und der Screen auf den Desktop-Anwendungsfall fokussiert. Danach wurden Kopf und Aktionsbereich vertikal getrennt, die rechte Spalte verbreitert, Termin- und Meeting-Angaben ergänzt, die Mitarbeitenden-Verwaltung dorthin verschoben und die Notiz-Aktion als echtes Eingabemenü ausgearbeitet.
|
||||
|
||||
Bei der gemeinsamen Validierung von S08 und S09 am 2026-09-03 wurde die doppelte Zeitregelpflege entfernt. S08 besitzt nun den direkten Weg „Verfügbarkeit verwalten“ und erklärt die Slot-Berechnung; S09 beschränkt sich auf persönliche Verfügbarkeit, Ausnahmen und Kalenderbelegung. Die verknüpften Buchungsseiten sind dort als Einstellungslinks mit den einheitlichen Statusbezeichnungen dargestellt. S09 ist bewusst nur für den internen Desktop-Einsatz gestaltet; eine Mobilvariante ist nicht erforderlich.
|
||||
|
||||
Zum Start der Einzelvalidierung von S08 am 2026-09-03 wurde die automatische Anfrageanlage aus Subframe entfernt. Eine mögliche spätere manuelle Lead-Erstellung aus einem gehaltenen Termin oder seinem Kontakt bleibt ungeplant und außerhalb dieses Scopes. Die sechs vorhandenen Einstellungsbereiche wurden außerdem in die projektweite InnerSidebar überführt.
|
||||
|
||||
In der anschließenden S08-Einzelvalidierung am 2026-09-03 wurde der Editor auf Desktop und volle verfügbare Breite fokussiert. Die Abschnittsnavigation läuft nun ganz links über die volle Höhe; daneben bleibt nur eine dünne Leiste für Rückweg, Autosave, Vorschau, Deaktivieren und Überlaufaktionen. Der Name liegt als Eingabefeld in den Grunddaten. Die Link-Endung wird nach Veröffentlichung gesperrt, die Meeting-Art intern zwischen Online-Meeting und Rückruf gewählt, die Systemfelder sind nicht umbenennbar und die Feldreihenfolge wird über Drag-Griffe geändert. Die rechte Spalte folgt dem zusammenhängenden Detailmuster aus S06 und zeigt Terminzeiten, Standard-Mitarbeitende samt schwarzer Verfügbarkeitsaktion und Veröffentlichung. E-Mail ist immer Pflicht, Telefon nur beim Rückruf. Die E-Mail-Konfiguration nutzt „Nachricht“ und Vorschau; Text und HTML werden direkt im Feld bearbeitet. Der QR-Code besitzt mit M03 einen eigenen kompakten Vorschauzustand und kann in S08 zusätzlich direkt heruntergeladen werden. AppShell und S08-Mobilansicht wurden bewusst dem Development-Team beziehungsweise außerhalb dieses Wireframe-Scope überlassen.
|
||||
|
||||
Die anschließende Detailkorrektur der Terminzeiten ergänzt HelpCircle-Tooltips an Abschnitt und allen vier verständlicher benannten Zeitbegriffen. Alle Selects zeigen ihren aktuellen Wert und vollständige Optionen; insbesondere der zuvor fehlerhafte Vorlaufzeit-Select besitzt wieder einen korrekt platzierten Chevron und lesbare Einträge.
|
||||
|
||||
Beim anschließenden Interaktionscheck am 2026-09-03 wurden alle vier Terminzeiten als echte Selects mit vollständigen Optionen bestätigt. „Person hinzufügen“ wurde aus dem Personenstack herausgezogen und als durchsuchbares Dropdown neben der Verfügbarkeitsaktion aufgebaut. Beide Zusatzfragen-Aktionen öffnen dasselbe Feldtyp-Menü; der vollbreite gestrichelte Hinzufügen-Kasten liegt innerhalb der Kundenfeldkarte unter den vorhandenen Feldern. Die rechte Spalte wurde von 420 auf 504 Pixel verbreitert. In der Bestätigungs-E-Mail entfiel die doppelte rechte HTML-Aktion, Text und HTML bleiben direkt im Nachrichtenfeld möglich und Platzhalter sowie Text sind deckungsgleich. Der Vorschau-Einstieg bleibt ohne gestalteten Popup-Inhalt dem Development überlassen. Die QR-Kachel besitzt ein direktes Vorschau-Popup; der Direktdownload sitzt innerhalb derselben Kachel und benötigt kein zusätzliches Augen-Icon.
|
||||
|
||||
Bei der S09-Einzelvalidierung am 2026-09-03 wurde die zuvor losgelöste Personenauswahl durch eine Karte „Verfügbarkeit von“ mit Profilbild und durchsuchbarer Mitarbeitenden-Liste ersetzt. Jedes Wochenzeitfenster besitzt nun eine eigene Löschaktion; das Plus öffnet ein echtes Hinzufügen-Menü, während die wirkungslose Kopierauswahl vollständig entfällt. „Ausnahmetage hinzufügen“ unterscheidet einen einzelnen Tag, einen Zeitraum und das Übernehmen deutscher Feiertage und klappt für jede Wahl eine passende zweite Spezifikationsstufe auf. Die rechte Spalte wurde auf 400 Pixel verbreitert und der Wochenplan entsprechend kompakter gesetzt. Die Beispiele wurden auf zukünftige Daten aktualisiert und enthalten einen bundesweiten Feiertag. Die verknüpften Buchungsseiten wurden auf die in S08 erlaubten Meeting-Arten Online-Meeting und Rückruf bereinigt.
|
||||
|
||||
---
|
||||
|
||||
## 5. Akzeptierter Development-Hinweis
|
||||
|
||||
| Befund | Einschätzung / Empfehlung |
|
||||
|---|---|
|
||||
| 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) |
|
||||
| S05 besitzt sowohl Status-Reiter als auch einen Statusfilter. | Im fertigen Verhalten den Filter kontextabhängig reduzieren: vollständig nur in „Alle“, unter „Vergangen“ nur für Stattgefunden/Nicht erschienen und unter „Bevorstehend“ ausblenden. |
|
||||
|
||||
---
|
||||
|
||||
## 3. Scope
|
||||
## 6. Bereinigter 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 |
|
||||
Aus der früheren Obsidian-Planung werden nicht mehr als aktuelle Anforderungen geführt:
|
||||
|
||||
- kein Zeitzonen-Wechsler; Subframe zeigt eine feste Zeitzone
|
||||
- keine eigene rahmenlose iFrame-Variante; S08 liefert nur den Embed-Code
|
||||
- keine Vorgabe von zwölf Feldtypen oder Anbindung eines vollständigen Formular-Baukastens; S08 zeigt eine einfache Feldliste mit „Zusatzfrage hinzufügen“ und direkten Drag-Griffen
|
||||
- keine Wahl der Meeting-Art durch Gäste; intern stehen pro Buchungsseite ausschließlich Online-Meeting und Rückruf zur Verfügung, keine Vor-Ort- oder weiteren Formate
|
||||
- keine S08-Mobilvariante und keine eigene AppShell-Ausarbeitung im Wireframe-Scope
|
||||
- keine technischen Zuweisungsalgorithmen oder Gewichtungsregeln; sichtbar ist nur die einfache automatische Auswahl einer verfügbaren zugewiesenen Person
|
||||
- keine automatische Anfrage-/Lead-Anlage durch eine Buchung und noch kein Workflow zur späteren manuellen Lead-Erstellung aus einem Termin oder Kontakt
|
||||
- keine zusätzliche Admin-/Rollenvariante für S09; sichtbar ist nur die Mitarbeiter-Auswahl
|
||||
- keine besondere Bulk-Version von M02 und keine technischen E-Mail-/Limit-Regeln
|
||||
- kein Freigabeprozess für normale Buchungen und kein Status „Ausstehend“ im Happy Path
|
||||
- keine zusätzlichen V2-Themen wie Wunsch-Mitarbeiter, gewichtetes Round-Robin oder personalisierte Buchungslinks; bei mehreren zugewiesenen Personen genügt die einfache automatische Auswahl einer verfügbaren Person
|
||||
|
||||
---
|
||||
|
||||
## 4. Entscheidungen (validiert 2026-07-09)
|
||||
## 7. Finaler Subframe-Vollabgleich
|
||||
|
||||
| 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 |
|
||||
Der Flow [WF-P16 Online-Terminbuchung](<https://app.subframe.com/f023064a5ca0/flow/8c3cf5e1-e6d2-494e-bf82-3bb7d4bbb5c9/edit>) enthält beim Abschluss genau 19 Live-Seiten. S05 besitzt zwei bewusst getrennte Darstellungszustände; deshalb entsprechen die 19 Seiten 18 logischen Screen- und Zustandsdateien.
|
||||
|
||||
### Happy Path
|
||||
| Logische Zuordnung | Exakter Subframe-Seitenname | Referenz | Status |
|
||||
|---|---|---|---|
|
||||
| [[S01 Termin waehlen\|S01]] | S01 Termin waehlen V1 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/7586ce1d-9bc1-45b8-816d-5dcbdb093b7e/edit>) | Fertig / Development-Handoff |
|
||||
| [[S02 Fragen\|S02]] | S02 Buchungsfragen V1 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/acb8c6c5-b525-453b-9a76-1a38c7bf9c71/edit>) | Fertig / Development-Handoff |
|
||||
| [[S03 Bestaetigung\|S03]] | S03 Buchungsbestaetigung V2 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/b79c2993-f2e7-4626-b408-1199ae4d22b9/edit>) | Fertig / Development-Handoff |
|
||||
| [[S04 Absagen Verschieben\|S04]] | EXP S04 Buttons untereinander | [Subframe](<https://app.subframe.com/f023064a5ca0/design/f67dbfdb-268b-4a03-b742-e34188ef8f86/edit>) | Fertig / Development-Handoff |
|
||||
| [[S05 Buchungen-Liste\|S05 · Bevorstehend]] | S05 Buchungen V1 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/1431498d-45ee-40ce-9ad9-ef6f538f73e7/edit>) | Fertig / Development-Handoff |
|
||||
| [[S06 Buchungs-Detail\|S06]] | S06 Buchungsdetail V1 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/c01ed655-658c-4af8-a349-ec12d00c9a77/edit>) | Fertig / Development-Handoff |
|
||||
| [[S07 Buchungsseiten-Liste\|S07]] | S07 Buchungsseiten V1 Listenansicht | [Subframe](<https://app.subframe.com/f023064a5ca0/design/85726c3b-956c-400e-b606-5eba24333bd2/edit>) | Fertig / Development-Handoff |
|
||||
| [[S08 Buchungsseiten-Editor\|S08]] | S08 Buchungsseite bearbeiten V1 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/68c58df0-1a5e-4b75-ab4c-de6fb60ccf56/edit>) | Fertig / Development-Handoff |
|
||||
| [[M01 Verschieben\|M01]] | M01 Termin verschieben V2 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/eac550b5-599f-4af0-8dfb-7a13fcb29069/edit>) | Fertig / Development-Handoff |
|
||||
| [[V02 Termin verschieben Handy\|V02]] | V02 Termin verschieben Mobil | [Subframe](<https://app.subframe.com/f023064a5ca0/design/2bea54ed-9355-4070-a29b-f416e9165664/edit>) | Fertig / Development-Handoff |
|
||||
| [[V01 Termin waehlen Handy\|V01]] | V01 Termin waehlen Mobil V1 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/b5706754-6c6e-482f-941e-1181aa646af2/edit>) | Fertig / Development-Handoff |
|
||||
| [[ST01 Termin verschoben\|ST01]] | ST01 Termin verschoben V1 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/c385aa35-b21f-4624-868b-ba78f7fff017/edit>) | Fertig / Development-Handoff |
|
||||
| [[S04E1 Link abgelaufen\|S04E1]] | S04E1 Link abgelaufen | [Subframe](<https://app.subframe.com/f023064a5ca0/design/6790b32a-fc94-4183-bd3f-f4f3feeaa933/edit>) | Fertig / Development-Handoff |
|
||||
| [[S05 Buchungen-Liste\|S05 · Alle]] | S05 Termine Alle Status | [Subframe](<https://app.subframe.com/f023064a5ca0/design/73c1f93d-7c93-4d34-89d0-eb75bc5e595f/edit>) | Fertig / Development-Handoff |
|
||||
| [[S09 Verfuegbarkeit\|S09]] | S09 Verfuegbarkeit V1 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/ad5f799c-9ba2-4a3c-894c-6ce7567e48ee/edit>) | Fertig / Development-Handoff |
|
||||
| [[M02 Stornieren\|M02]] | M02 Termin absagen V2 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/d3e3aab8-4b52-4b50-8281-84892f17da73/edit>) | Fertig / Development-Handoff |
|
||||
| [[ST02 Termin abgesagt\|ST02]] | ST02 Termin abgesagt V1 | [Subframe](<https://app.subframe.com/f023064a5ca0/design/cc65e647-8494-4b1f-a25f-0984b93e2be6/edit>) | Fertig / Development-Handoff |
|
||||
| [[S04E2 Ungueltiger Link\|S04E2]] | S04E2 Ungültiger Link | [Subframe](<https://app.subframe.com/f023064a5ca0/design/2106fe0f-1c6e-4618-99c4-9389083b2c53/edit>) | Fertig / Development-Handoff |
|
||||
| [[M03 QR-Code Vorschau\|M03]] | M03 QR-Code Vorschau | [Subframe](<https://app.subframe.com/f023064a5ca0/design/5e412fc6-baf2-4513-ac9e-ade76259d0fa/edit>) | Fertig / Development-Handoff |
|
||||
|
||||
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 |
|
||||
Die archivierte Datei [[S04a Termin verschieben]] dokumentiert nur den entfernten Zwischenstand. Im finalen Flow übernimmt M01 zusammen mit V02 die öffentliche und interne Verschiebung.
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
## 8. Flow
|
||||
|
||||
```text
|
||||
🌐 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
|
||||
Öffentlich: S01 -> S02 -> S03
|
||||
└-> V01 ist die mobile Darstellung von S01
|
||||
Bestätigungs-E-Mail --{{verwaltungslink}}--> S04
|
||||
├-> S04E1 bei abgelaufenem Link
|
||||
└-> S04E2 bei ungültigem Link
|
||||
S04 --verschieben--> M01
|
||||
└-> V02 ist die mobile Darstellung von M01
|
||||
M01 / V02 --bestätigen--> ST01
|
||||
S04 --absagen--> M02 --> ST02
|
||||
|
||||
Intern: Einstieg --> S05 Termine --Zeile--> S06 Termindetails
|
||||
S05 --Kopf-Button oder Buchungsseitenname--> S07 Buchungsseiten
|
||||
S05 --Buchungsseite bearbeiten--> S08 Buchungsseite bearbeiten
|
||||
S05 --zuweisen--> zuständige Person ersetzen
|
||||
S05 / S06 --verschieben--> M01 --bestätigen--> Termin und Kunden-E-Mail aktualisieren
|
||||
S06 --neu zuweisen--> zuständige Person ersetzen
|
||||
S07 -> S08
|
||||
S08 --Download in QR-Kachel--> QR-Code direkt laden
|
||||
S08 --QR-Code anklicken--> Vorschau-Popup
|
||||
├--Download--> QR-Code laden
|
||||
└-> M03 ist die Referenz des geöffneten Zustands
|
||||
S08 --Verfügbarkeit verwalten--> S09
|
||||
S09 --verknüpfte Buchungsseite--> S08
|
||||
S09 liefert die persönliche Wochenverfügbarkeit
|
||||
├-> Ausnahmen überschreiben den Wochenplan für einzelne Daten
|
||||
└-> belegte Kalenderzeiten bleiben immer blockiert
|
||||
S08 kombiniert diese mit den Zeitregeln der Buchungsseite zu freien Slots
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. Screen-Pakete
|
||||
|
||||
- [[S01 Termin waehlen]] · [[S02 Fragen]] · [[S03 Bestaetigung]] · [[V01 Termin waehlen Handy]] · [[S04 Absagen Verschieben]]
|
||||
- [[S05 Buchungen-Liste]] · [[S06 Buchungs-Detail]] · [[S07 Buchungsseiten-Liste]] · [[S08 Buchungsseiten-Editor]] · [[S09 Verfuegbarkeit]] · [[M01 Verschieben]] · [[M02 Stornieren]]
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
- [x] Jeder Screen ist mit Umsetzung markiert.
|
||||
- [x] Meldungs-/Error-State-Matrix ist ausgefüllt.
|
||||
- [ ] Subframe-Link ist eingetragen. *(Subframe erst nach explizitem OK)*
|
||||
- [x] Alle 19 aktuellen Subframe-Seiten per MCP abgeglichen; beide S05-Zustände sowie S07 bis S09 wurden geprüft. S06, S08 und M03 wurden gemäß Produktentscheidung ausschließlich auf Desktop validiert.
|
||||
- [x] Alle 18 logischen Screen- und Zustandsdateien mit Subframe verknüpft.
|
||||
- [x] Frühere Zusatzanforderungen auf den sichtbaren Subframe-Scope reduziert.
|
||||
- [x] Standardfehlerzustände ohne zusätzliche Screens als nicht blockierende Development-Regeln dokumentiert.
|
||||
- [x] Freigegebene Ergänzungen in Subframe gebaut und anschließend nach Obsidian synchronisiert.
|
||||
- [x] Öffentliche und interne Verschiebung verwenden gemeinsam M01/V02; S04a bleibt nur als Archivhinweis.
|
||||
- [x] Es bestehen keine offenen Produkt- oder Designentscheidungen, die den Development-Start blockieren.
|
||||
@@ -50,7 +50,7 @@ Diese Datei ist der erste Ort, um zu sehen:
|
||||
| WF-P12 Verwaltung | D-P12 | Automationen | Fertig / Development-Handoff | [MD](<P12 Verwaltung/WF-P12 Verwaltung/WF-P12 Verwaltung.md>) | [Canvas](<P12 Verwaltung/WF-P12 Verwaltung/WF-P12 Verwaltung.canvas>) | [Subframe](<https://app.subframe.com/f023064a5ca0/flow/62d8e7ad-c757-4416-b150-ae286310bca9/edit>) | Übergabe abgeschlossen | 5 finale Seiten: S01, S02, S03, M04 Vorlagen-Katalog und S06. Beide Flows zusammen 44/44 Seiten. |
|
||||
| WF-D-FORM Form Builder | D-FORM | Termine & Formulare | Review | [MD](<D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.md>) | [Canvas](<D-FORM Form Builder/WF-D-FORM Form Builder/WF-D-FORM Form Builder.canvas>) | [Subframe](<https://app.subframe.com/f023064a5ca0/flow/afb1c257-46f0-4b23-aaed-d75f4773f1a9/edit?tab=ai&conversationId=02d948da-f9aa-4ab5-8352-2745789bb9ad>) | David Review / Handoff | Mitarbeiterinnen-Paket eingebaut 2026-07-09; S02 Simple Builder ist empfohlener Hauptfluss; Advanced-Canvas bleibt Referenz |
|
||||
| WF-P16 Kalender | D-BOOK + D-P16 | Termine | Fertig / Development-Handoff | [MD](<P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.md>) | [Canvas](<P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.canvas>) | [Subframe](<https://app.subframe.com/f023064a5ca0/flow/67196422-e7bc-4a60-9556-17b4edb83246/edit>) | Development | 7 finale Live-Seiten vollständig synchronisiert; Produktregeln, E-Mail-Entscheidung und nicht blockierende Development-Hinweise abgeschlossen |
|
||||
| WF-P16 Terminbuchung | D-BOOK + D-P16 | Termine | Validiert | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.md>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Calendly-Stil; Davids Delta: Kunde kann per Mail-Link absagen/verschieben (S04) = CR an Dev; Feld-Zuordnung zum Lead im Editor |
|
||||
| WF-P16 Terminbuchung | D-BOOK + D-P16 | Termine | Fertig / Development-Handoff | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.md>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) | [Subframe](<https://app.subframe.com/f023064a5ca0/flow/8c3cf5e1-e6d2-494e-bf82-3bb7d4bbb5c9/edit>) | Übergabe abgeschlossen | 19/19 Live-Seiten und 18 logische Screen-Dateien vollständig synchronisiert; öffentlicher und interner Ablauf, Fehler-/Erfolgszustände sowie S05–S09 final validiert |
|
||||
| WF-P16 E-Signatur | D-P16 + AK-P16d | Termine | Validiert | [MD](<P16 E-Signatur/WF-P16 E-Signatur/WF-P16 E-Signatur.md>) | [Canvas](<P16 E-Signatur/WF-P16 E-Signatur/WF-P16 E-Signatur.canvas>) | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Projekt-Kern statt Deal; SES-Eigenbau Default; Davids Delta: eigene Kunden-Signierseite S04 |
|
||||
| WF-P15 Team-Chat | D-CHAT + AK-P15b | Kommunikation | Fertig / Development-Handoff | [MD](<P15 Team-Chat/WF-P15 Team-Chat/WF-P15 Team-Chat.md>) | [Canvas](<P15 Team-Chat/WF-P15 Team-Chat/WF-P15 Team-Chat.canvas>) | [Subframe](<https://app.subframe.com/f023064a5ca0/flow/32362b7d-bdcd-413f-a9de-33e68271380c/edit>) | Übergabe abgeschlossen | 24/24 aktuelle Subframe-Seiten am 2026-08-08 im finalen Team-Chat-Flow synchronisiert; UX-Validierung und Development-Handoff abgeschlossen |
|
||||
|
||||
@@ -303,18 +303,25 @@ Diese Datei ist der erste Ort, um zu sehen:
|
||||
| S02 | Kalender-Verbindung | WF-P16 Kalender | Settings / Connection | Bauen | Fertig / Development-Handoff | `/settings/integrations/calendar` | [MD](<P16 Kalender/WF-P16 Kalender/Screens/S02 Kalender-Einstellungen.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/e95220a1-132a-445d-b785-d292385faa5e/edit>) | [Canvas](<P16 Kalender/WF-P16 Kalender/WF-P16 Kalender.canvas>) |
|
||||
| D01 | OAuth-Assistent (aus WF-P5 M01) | WF-P16 Kalender | Wizard | Wiederverwenden | Validiert | aus S02 | [MD](<P16 Kalender/WF-P16 Kalender/Screens/S02 Kalender-Einstellungen.md>) | - | - |
|
||||
| D02 | Trennen-Bestaetigung + Extern-Wahl (aus WF-P5 M03) | WF-P16 Kalender | Modal | Wiederverwenden | Validiert | aus S02 | [MD](<P16 Kalender/WF-P16 Kalender/Screens/S02 Kalender-Einstellungen.md>) | - | - |
|
||||
| S01 | Termin waehlen (Slot-Picker) 🌐 | WF-P16 Terminbuchung | BESPOKE-Public | Bauen | Validiert | `/b/{firma}/{slug}` | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S01 Termin waehlen.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S02 | Fragen (Kunden-Formular) 🌐 | WF-P16 Terminbuchung | BESPOKE-Public | Bauen | Validiert | Schritt 2 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S02 Fragen.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S03 | Bestaetigung (+ .ics) 🌐 | WF-P16 Terminbuchung | BESPOKE-Public | Bauen | Validiert | Schritt 3 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S03 Bestaetigung.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| V01 | Termin waehlen — Handy 🌐📱 | WF-P16 Terminbuchung | BESPOKE-Public Mobile | Bauen | Validiert | Variante von S01 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/V01 Termin waehlen Handy.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S04 | Absagen/Verschieben per Link 🌐 | WF-P16 Terminbuchung | BESPOKE-Public | Bauen | Validiert (Delta) | Link aus Bestaetigungs-Mail | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S04 Absagen Verschieben.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S05 | Buchungen-Liste | WF-P16 Terminbuchung | Liste | Bauen | Validiert | `/bookings` | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S05 Buchungen-Liste.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S06 | Buchungs-Detail (Karteikarte) | WF-P16 Terminbuchung | Detail | Bauen | Validiert | `/bookings/:id` | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S06 Buchungs-Detail.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S07 | Buchungsseiten-Liste | WF-P16 Terminbuchung | Liste | Bauen | Validiert | `/bookings/pages` | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S07 Buchungsseiten-Liste.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S08 | Buchungsseiten-Editor | WF-P16 Terminbuchung | Settings/Form | Bauen | Validiert | `/bookings/pages/:id` + `/new` | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S08 Buchungsseiten-Editor.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S09 | Verfuegbarkeit (Wochen-Zeiten + Ausnahmen) | WF-P16 Terminbuchung | Settings/Form | Bauen | Validiert | `/availability` | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S09 Verfuegbarkeit.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| M01 | Verschieben (interner Slot-Picker) | WF-P16 Terminbuchung | Modal | Bauen | Validiert | aus S06 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/M01 Verschieben.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| M02 | Stornieren (Grund + Auto-Mail) | WF-P16 Terminbuchung | Modal | Bauen | Validiert | aus S05/S06 (auch Bulk) | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/M02 Stornieren.md>) | - | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S01 | Termin waehlen 🌐 | WF-P16 Terminbuchung | BESPOKE-Public | Bauen | Fertig / Development-Handoff | Oeffentlicher Buchungslink | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S01 Termin waehlen.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/7586ce1d-9bc1-45b8-816d-5dcbdb093b7e/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S02 | Buchungsfragen 🌐 | WF-P16 Terminbuchung | BESPOKE-Public | Bauen | Fertig / Development-Handoff | nach S01 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S02 Fragen.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/acb8c6c5-b525-453b-9a76-1a38c7bf9c71/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S03 | Buchungsbestaetigung (+ .ics) 🌐 | WF-P16 Terminbuchung | BESPOKE-Public | Bauen | Fertig / Development-Handoff | nach erfolgreicher Buchung | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S03 Bestaetigung.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/b79c2993-f2e7-4626-b408-1199ae4d22b9/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| V01 | Termin waehlen mobil 🌐📱 | WF-P16 Terminbuchung | BESPOKE-Public Mobile | Bauen | Fertig / Development-Handoff | Variante von S01 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/V01 Termin waehlen Handy.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/b5706754-6c6e-482f-941e-1181aa646af2/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S04 | Termin selbst verwalten 🌐 | WF-P16 Terminbuchung | BESPOKE-Public | Bauen | Fertig / Development-Handoff | Verwaltungslink aus Bestaetigungs-E-Mail | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S04 Absagen Verschieben.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/f67dbfdb-268b-4a03-b742-e34188ef8f86/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S04E1 | Verwaltungslink abgelaufen 🌐 | WF-P16 Terminbuchung | BESPOKE-Public State | Bauen | Fertig / Development-Handoff | abgelaufener Verwaltungslink | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S04E1 Link abgelaufen.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/6790b32a-fc94-4183-bd3f-f4f3feeaa933/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S04E2 | Ungueltiger Verwaltungslink 🌐 | WF-P16 Terminbuchung | BESPOKE-Public State | Bauen | Fertig / Development-Handoff | ungueltiger Verwaltungslink | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S04E2 Ungueltiger Link.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/2106fe0f-1c6e-4618-99c4-9389083b2c53/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S04a | Termin oeffentlich verschieben 🌐 | WF-P16 Terminbuchung | Historie | Entfernt | Archiviert | durch M01/V02 ersetzt | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S04a Termin verschieben.md>) | - | - |
|
||||
| ST01 | Termin verschoben 🌐 | WF-P16 Terminbuchung | BESPOKE-Public State | Bauen | Fertig / Development-Handoff | nach M01/V02 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/ST01 Termin verschoben.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/c385aa35-b21f-4624-868b-ba78f7fff017/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| ST02 | Termin abgesagt 🌐 | WF-P16 Terminbuchung | BESPOKE-Public State | Bauen | Fertig / Development-Handoff | nach M02 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/ST02 Termin abgesagt.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/cc65e647-8494-4b1f-a25f-0984b93e2be6/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S05 | Termine | WF-P16 Terminbuchung | Liste | Bauen | Fertig / Development-Handoff | interne Terminverwaltung | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S05 Buchungen-Liste.md>) | [Bevorstehend](<https://app.subframe.com/f023064a5ca0/design/1431498d-45ee-40ce-9ad9-ef6f538f73e7/edit>) · [Alle Status](<https://app.subframe.com/f023064a5ca0/design/73c1f93d-7c93-4d34-89d0-eb75bc5e595f/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S06 | Termindetails | WF-P16 Terminbuchung | Detail | Bauen | Fertig / Development-Handoff | aus S05 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S06 Buchungs-Detail.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/c01ed655-658c-4af8-a349-ec12d00c9a77/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S07 | Buchungsseiten | WF-P16 Terminbuchung | Liste | Bauen | Fertig / Development-Handoff | interne Buchungsseitenverwaltung | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S07 Buchungsseiten-Liste.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/85726c3b-956c-400e-b606-5eba24333bd2/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S08 | Buchungsseite bearbeiten | WF-P16 Terminbuchung | Settings/Form | Bauen | Fertig / Development-Handoff | aus S07 / Neue Buchungsseite | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S08 Buchungsseiten-Editor.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/68c58df0-1a5e-4b75-ab4c-de6fb60ccf56/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S09 | Verfuegbarkeit | WF-P16 Terminbuchung | Settings/Form | Bauen | Fertig / Development-Handoff | aus S08 / interne Verfuegbarkeit | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/S09 Verfuegbarkeit.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/ad5f799c-9ba2-4a3c-894c-6ce7567e48ee/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| M01 | Termin verschieben | WF-P16 Terminbuchung | BESPOKE Action | Bauen | Fertig / Development-Handoff | aus S04, S05 oder S06 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/M01 Verschieben.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/eac550b5-599f-4af0-8dfb-7a13fcb29069/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| V02 | Termin verschieben mobil 📱 | WF-P16 Terminbuchung | BESPOKE Action Mobile | Bauen | Fertig / Development-Handoff | Mobile Variante von M01 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/V02 Termin verschieben Handy.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/2bea54ed-9355-4070-a29b-f416e9165664/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| M02 | Termin absagen | WF-P16 Terminbuchung | Modal | Bauen | Fertig / Development-Handoff | aus S04, S05 oder S06 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/M02 Stornieren.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/d3e3aab8-4b52-4b50-8281-84892f17da73/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| M03 | QR-Code Vorschau | WF-P16 Terminbuchung | Popup-Zustand | Bauen | Fertig / Development-Handoff | aus S08 | [MD](<P16 Terminbuchung/WF-P16 Terminbuchung/Screens/M03 QR-Code Vorschau.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/5e412fc6-baf2-4513-ac9e-ade76259d0fa/edit>) | [Canvas](<P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas>) |
|
||||
| S01 | Signaturen im Projekt | WF-P16 E-Signatur | Projekt-Sektion | Bauen | Validiert | Projekt-Detail | [MD](<P16 E-Signatur/WF-P16 E-Signatur/Screens/S01 Signaturen im Projekt.md>) | - | [Canvas](<P16 E-Signatur/WF-P16 E-Signatur/WF-P16 E-Signatur.canvas>) |
|
||||
| S02 | Signatur-Wizard | WF-P16 E-Signatur | Wizard | Bauen | Validiert | aus Projekt-Detail/S01 | [MD](<P16 E-Signatur/WF-P16 E-Signatur/Screens/S02 Signatur-Wizard.md>) | - | [Canvas](<P16 E-Signatur/WF-P16 E-Signatur/WF-P16 E-Signatur.canvas>) |
|
||||
| S03 | Signatur-Detail & Status | WF-P16 E-Signatur | Detail | Bauen | Validiert | Signatur öffnen | [MD](<P16 E-Signatur/WF-P16 E-Signatur/Screens/S03 Signatur-Detail.md>) | - | [Canvas](<P16 E-Signatur/WF-P16 E-Signatur/WF-P16 E-Signatur.canvas>) |
|
||||
@@ -525,12 +532,18 @@ Diese Datei ist der erste Ort, um zu sehen:
|
||||
| WF-P16 Kalender | Sync-Konfliktfeature | Verworfen / entfernt | Kein Verlauf, keine Benachrichtigung, kein eigener Screen und kein Pop-up. Erlaubt bleibt nur ein kleiner nicht blockierender Badge `Moeglicher Konflikt` direkt an einer Person in M01b/M02. | David 2026-08-30 |
|
||||
| WF-P16 Kalender | Einstellungsstruktur | Genommen / final | Nur eine schlanke Verbindungsseite auf Basis der echten `SettingsPage`-Komponente. Kalenderansicht, Benachrichtigungen und Datenschutz sind keine Kalender-Unterseiten; Sync-Richtung, Konfliktverlauf und separates Verbindungsdetail bleiben entfernt. | David 2026-08-30; Umfang am 2026-08-31 erneut auditiert und als absichtliche Vereinfachung bestätigt |
|
||||
| WF-P16 Kalender | Outlook-Teaser | Genommen | Provider-Auswahl zeigt Outlook ausgegraut »bald verfuegbar« (v1 nur Google aktiv). | UI bleibt provider-neutral |
|
||||
| WF-P16 Terminbuchung | Kunden-Strecke als 3 Screens + Handy-Frame | Genommen | Termin waehlen -> Fragen -> Bestaetigung als eigene Frames; Handy-Frame vom Slot-Picker. | Validiert 2026-07-09 |
|
||||
| WF-P16 Terminbuchung | Self-Service absagen/verschieben per Mail-Link | Genommen (Delta) | »Wie Calendly«: eigene oeffentliche Seite S04, signierter Link, kein Login. | Change-Request an Dev (AK-P16b) |
|
||||
| WF-P16 Terminbuchung | Buchungs-Detail als eigene Detailseite | Genommen | Karteikarten-Muster (P6): links Termin + Verknuepfungen, rechts Antworten + Notizen. | Validiert 2026-07-09 |
|
||||
| WF-P16 Terminbuchung | Verfuegbarkeit: jeder selbst + Admin alle | Genommen | Passt zur Pro-Nutzer-Kalender-Verbindung; Admin-Mitarbeiter-Wechsler in S09. | Validiert 2026-07-09 |
|
||||
| WF-P16 Terminbuchung | Kunden-Fragen mit Feld-Zuordnung zum Lead | Genommen | Im Editor je Feld festlegen, wohin es im Lead-Eingang wandert (nichts abtippen). | Davids Punkt 2026-07-09 |
|
||||
| WF-P16 Terminbuchung | Fragen-Felder v1 ohne Formular-Baukasten | Genommen | Einfache Feld-Liste im Editor; D-FORM liegt jetzt als Review-Draft vor und wird spaeter ueber eine klare Schnittstelle eingesteckt. | Schnittstelle mit Dev klaeren |
|
||||
| WF-P16 Terminbuchung | Subframe als Source of Truth | Genommen / final | Der Flow `WF-P16 Online-Terminbuchung` enthält 19 Live-Seiten für 18 logische Screens/Zustände. Die Dokumentation leitet keine Anforderungen aus Anwendungscode ab. | Finaler MCP-Abgleich 2026-09-03 |
|
||||
| WF-P16 Terminbuchung | Kundenstrecke | Genommen / final | S01 → S02 → S03; V01 ist die mobile Darstellung der Slot-Wahl. Freie Zeiten stehen direkt als Liste bereit. | Von David vollständig validiert 2026-09-03 |
|
||||
| WF-P16 Terminbuchung | Self-Service per Verwaltungslink | Genommen / final | Die Bestätigungs-E-Mail führt zu S04. M01/V02 übernehmen das Verschieben, M02 das Absagen, ST01/ST02 den Erfolg; S04E1/S04E2 decken abgelaufene und ungültige Links ab. | S04a durch M01/V02 ersetzt; Verbindung abgeschlossen |
|
||||
| WF-P16 Terminbuchung | Kalender- und Zeitzustände | Genommen / final | Verfügbar = heller blauer Kreis, nicht verfügbar = graue Zahl, heute = kleiner Punkt im normalen Kreis, gewählt = kräftig blau plus Fokus. Gewählte Uhrzeiten sind hellblau mit Fokusschatten. | Auf S01, V01, M01 und V02 identisch validiert |
|
||||
| WF-P16 Terminbuchung | Terminverschiebung | Genommen / final | M01 ist die direkte Desktop-Entsprechung von S01; V02 die mobile Entsprechung. Zuständige Person bleibt fest, Kunden wählen niemanden und die Änderungs-E-Mail wird automatisch gesendet. | Öffentlicher und interner Aufruf verwenden denselben Ablauf |
|
||||
| WF-P16 Terminbuchung | S05 Termine | Genommen / final | Eine flache, chronologische Tabelle; ein zweiter Live-State zeigt unter `Alle` sämtliche Status. Datumsgruppen wurden entfernt, die Kalenderansicht ist nur als späterer Umschalter vorbereitet. | Statusmodell und Interaktionen final validiert |
|
||||
| WF-P16 Terminbuchung | S06 Termindetails | Genommen / final | Eine Desktop-Detailseite mit Aktionszeile, Termin-/Kontaktdaten, Antworten, Notizen und Verlauf sowie rechter Spalte für Meeting, Mitarbeitende, Systeminfos und Kalender-Sync. | Keine Mobilansicht erforderlich |
|
||||
| WF-P16 Terminbuchung | S07 Buchungsseiten | Genommen / final | Nur die Listenansicht bleibt. Name ist ein Link; Suche/Filter, Status, Mitarbeitende, Link kopieren, duplizieren, deaktivieren und Einstellungen sind vorhanden. | Kachelvariante entfernt |
|
||||
| WF-P16 Terminbuchung | S08 Buchungsseite bearbeiten | Genommen / final | Desktop-Editor mit Online-Meeting/Rückruf, festen Systemfeldern, einfachen Zusatzfragen, automatischer Bestätigungs-E-Mail samt Verwaltungslink, Zeitregeln, Standard-Mitarbeitenden sowie URL, Embed und QR-Code. | Kein Formular-Baukasten, keine AppShell- oder Mobil-Ausarbeitung im Scope |
|
||||
| WF-P16 Terminbuchung | Lead-/Anfrageanlage | Nicht im Scope / final | Eine Buchung erzeugt nicht automatisch einen Lead oder eine Anfrage. Eine mögliche spätere manuelle Lead-Erstellung bleibt ungeplant. | Bewusste Produktentscheidung von David |
|
||||
| WF-P16 Terminbuchung | S09 Verfügbarkeit | Genommen / final | Personenkarte, kompakter Wochenplan mit Plus/X, zweistufige Ausnahmetage inklusive deutscher Feiertage, Kalender-Sync und verknüpfte Buchungsseiten. Zeitregeln bleiben ausschließlich in S08. | Desktop-only; Kopierauswahl entfernt |
|
||||
| WF-P16 Terminbuchung | Standardfehler und spätere Kalenderansicht | Nicht blockierend | Keine Slots sowie zwischenzeitlich belegter Slot werden innerhalb von S01/S02 behandelt. Die S05-Kalenderansicht kann später am vorhandenen Umschalter ergänzt werden. | Keine zusätzlichen Screens für den Development-Handoff nötig |
|
||||
| WF-P16 E-Signatur | Signatur haengt am Projekt-Kern | Genommen | `ProjektSignatureDocument`/`Signer`; kein Deal-Objekt. | Pivot aus AK-P16d |
|
||||
| WF-P16 E-Signatur | SES-Eigenbau als Default | Genommen | Fern-Link + OTP und Touch vor Ort; PandaDoc nur BYOK-Opt-in, wenn verbunden. | Validiert 2026-07-09 |
|
||||
| WF-P16 E-Signatur | Kunden-Signierseite als eigener Screen | Genommen (Delta) | S04 `/sign/:token` mit Branding, OTP, PDF-Pruefung, Intent und Signatur. | D-P16 Screen-Luecke geschlossen |
|
||||
@@ -573,8 +586,6 @@ Diese Liste sammelt Punkte, die in einzelnen Paketen als `Backlog`, `Spaeter` od
|
||||
| WF-P16 Kalender | Outlook-Sync | Backlog (v2) | Interface bleibt provider-agnostisch; in der UI als Teaser sichtbar |
|
||||
| WF-P16 Kalender | Termin-Erinnerungen (Push/Mail) | Backlog/Klaeren | Falls spaeter benoetigt, zentral mit WF-P3 loesen; kein eigener Kalender-Einstellungsreiter |
|
||||
| WF-P16 Kalender | Tages-Ansicht | Backlog/Klaeren | Subframe zeigt `Tag` im S01-Umschalter und als Standardansicht, aber keine gebaute Tag-Darstellung; Entscheidung offen |
|
||||
| WF-P16 Terminbuchung | Wunsch-Mitarbeiter / Round-Robin | Backlog (v2) | v1 nur »erster freier Mitarbeiter«; Kunde waehlt keinen Mitarbeiter |
|
||||
| WF-P16 Terminbuchung | Personalisierte Buchungslinks | Backlog (v2) | v1 nur URL + QR + iFrame |
|
||||
| WF-P16 E-Signatur | Freier PDF-Feldplatzierer | Backlog (v2) | v1 nutzt standardisierte Signatur-/Certificate-Platzierung; kein PDF-Tagger |
|
||||
| WF-P16 E-Signatur | QES/D-Trust | Backlog (v2) | v1 SES reicht fuer SHK; QES nur spaeter fuer Sonderfaelle |
|
||||
| WF-P16 E-Signatur | Automatische Reminder-Regeln | Backlog/Klaeren | v1 manuelle Erinnerung; spaeter mit Benachrichtigungen/Automationen klaeren |
|
||||
|
||||
Reference in new issue
Block a user