docs: finalize P7 lead handoff and sync project

This commit is contained in:
david committed 2026-08-20 20:22:19 +02:00
1 parent d953a79e95
commit 058d72be72
43 files changed
+1685 -568

No files matched your search

@@ -17,5 +17,9 @@
{"id":"edge-m01-remove","fromNode":"m01","fromSide":"bottom","toNode":"note-remove","toSide":"top","label":"Device entfernen"},
{"id":"edge-m02-inline","fromNode":"m02","fromSide":"bottom","toNode":"note-inline","toSide":"top","label":"Codefehler"},
{"id":"edge-m03-inline","fromNode":"m03","fromSide":"bottom","toNode":"note-inline","toSide":"top","label":"Codefehler"}
]
],
"metadata":{
"version":"1.0-1.0",
"frontmatter":{}
}
}
@@ -115,15 +115,15 @@ Wie viel eigene Struktur braucht 2FA-Verwaltung, ohne aus einfachen Code-Eingabe
### Meldungs-/Error-State-Brainstorming
| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz |
|---|---|---|---|---|
| 2FA nicht aktiv | Zustand in M01 | nein | nein | CTA zum Einrichten |
| 2FA aktiv | Zustand in M01 | nein | nein | Device-Liste + Aktionen |
| neues Device hinzufuegen | Modal-Step M02 | ja | pruefen | QR/Secret + Code |
| Device entfernen | Row-Action + Confirm | teilweise | nein | wenn nicht letztes Device |
| letztes Device entfernen | Inline/Confirm-Hinweis | ja | nein | Nutzer soll 2FA deaktivieren statt letztes Device still entfernen |
| 2FA deaktivieren | Modal M03 | ja | pruefen | Code + bewusster Confirm im selben Modal |
| 2FA-Code falsch | Inline im Modal | ja | nein | korrigierbar |
| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz |
| ------------------------ | ---------------------- | ---------- | ------- | ----------------------------------------------------------------- |
| 2FA nicht aktiv | Zustand in M01 | nein | nein | CTA zum Einrichten |
| 2FA aktiv | Zustand in M01 | nein | nein | Device-Liste + Aktionen |
| neues Device hinzufuegen | Modal-Step M02 | ja | pruefen | QR/Secret + Code |
| Device entfernen | Row-Action + Confirm | teilweise | nein | wenn nicht letztes Device |
| letztes Device entfernen | Inline/Confirm-Hinweis | ja | nein | Nutzer soll 2FA deaktivieren statt letztes Device still entfernen |
| 2FA deaktivieren | Modal M03 | ja | pruefen | Code + bewusster Confirm im selben Modal |
| 2FA-Code falsch | Inline im Modal | ja | nein | korrigierbar |
---
@@ -46,4 +46,4 @@ A5 Dialog (echtes Modal: DialogLayout → Dialog → Dialog.Content).
## Notizen
- Wird auch aus anderen Flows geöffnet (z. B. Lead → Projekt: Kontakt verknüpfen/anlegen in D-P7).
- P7 greift fachlich auf diese Mechanik zurück: M02/M08 verknüpfen oder erstellen Ansprechpartner, M01 übernimmt optional einen Kontakt. Ob dabei dieser P6-Dialog technisch wiederverwendet wird, ist im aktuellen Subframe-Export nicht verdrahtet; der frühere Sonderfall `Lead → Projekt` bleibt als P7-Produktdelta offen.
@@ -0,0 +1,43 @@
---
kind: planning-gap
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: GAP-CSV
screen: CSV-Import-Wizard
status: Nicht im aktuellen Subframe-Flow
route: ""
subframe: ""
source_checked: 2026-08-20
---
# Offenes Delta — CSV-Import-Wizard
## Bisher geplantes Ziel
Lead-Listen aus Messekontakten oder Altbestand mit kontrollierter Feldzuordnung importieren. Dieser Punkt war Davids Delta und stand nicht im ursprünglichen Dev-Ticket.
## Bisher geplanter Umfang
1. CSV-Datei hochladen.
2. Spalten Lead-Feldern zuordnen; Auto-Vorschläge, eigene Felder und Überspringen.
3. Vorschau mit fehlerhaften Zeilen und Duplikaten.
4. Duplikatregel: überspringen, trotzdem anlegen oder markieren.
5. Import im Hintergrund mit Ergebnisübersicht.
## Bisher geplantes Pattern
A5 als vierstufiger Wizard: Datei → Spalten zuordnen → Vorschau und Duplikatregel → Import/Ergebnis. Die Dropzone sollte das P4-Dateimuster wiederverwenden.
## Bisher geplante Meldungen
| Ereignis | UI-Form | Blockiert? | Copy / Notiz |
|---|---|---|---|
| Datei nicht lesbar oder falsches Format | Schritt-Fehler | ja, nur diesen Schritt | Klartext plus Beispiel-Hinweis |
| Zeilen mit Fehlern | Markierung in der Vorschau | nein | `werden übersprungen` |
Das Wizard-Muster war außerdem als spätere Wiederverwendung für den Kontaktimport notiert. Serverseitiger Import-Job, Duplikatlogik und Feld-Mapping wären ein Change-Request an Development.
## Abgleich 2026-08-20
Im finalen 20-Seiten-Flow `WF-P7 LeadListe` existiert kein CSV-Import. Er bleibt als separater Change-Request-Kandidat erhalten, ist kein aktueller Subframe-Screen und blockiert den abgeschlossenen P7-Screen-Handoff nicht.
@@ -0,0 +1,36 @@
---
kind: planning-gap
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: GAP-STAT
screen: Lead-Statistiken
status: Nicht im aktuellen Subframe-Flow
route: "/leads/statistics"
subframe: ""
source_checked: 2026-08-20
---
# Offenes Delta — Lead-Statistiken
## Bisher geplantes Ziel
Der Chef sieht, woher Anfragen kommen, wie schnell reagiert wird und was aus Leads wird.
## Bisher geplanter Umfang
- KPI-Kacheln: Eingegangen, Konversion Lead → Projekt, Lead → Gewonnen, Reaktionszeit, Spam-Quote und offene Anfragen über 24 Stunden.
- Aufschlüsselung nach Quelle, Verantwortlichem, Tag, Wochentag und Status.
- Trend-Charts mit Vorperioden-Vergleich.
- Drill-down in eine vorgefilterte Inbox.
- Verantwortlichen-Auswertung nur mit `leads.read_all`.
## Bisher geplantes Pattern und Zustände
- A2 mit KPI-Kit: Kacheln sowie Balken-/Linien-Charts aus dem Baukasten.
- Bei zu wenig Daten: `Noch nicht genug Anfragen für Trends`.
- Laden und Fehler über den wiederverwendbaren A7-Zustand.
## Abgleich 2026-08-20
Im finalen 20-Seiten-Flow `WF-P7 LeadListe` existiert keine Statistikseite. D-P7/R-P7 beschreiben sie weiterhin und das Backend nennt Statistik-Aggregate. Sie bleibt ein separater Ticketkandidat und blockiert den abgeschlossenen P7-Screen-Handoff nicht.
@@ -0,0 +1,61 @@
---
kind: planning-gap
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: GAP-CONTRACT
screen: Produktvertrag-Deltas
status: Separates Produkt-/Development-Folgethema
route: ""
subframe: ""
source_checked: 2026-08-20
---
# Offenes Delta — Produktvertrag versus aktueller Subframe-Flow
Subframe ist die Single Source of Truth für den gebauten UI-Stand. Diese Datei bewahrt davon abweichende Anforderungen aus D-P7, R-P7, AD-20 und der bisherigen Obsidian-Planung. Sie behauptet nicht, dass diese Punkte gebaut sind.
## Eingang
Früher verbindlich bzw. geplant, im aktuellen S02 nicht oder nicht vollständig sichtbar:
- Anfragen aus Formular, E-Mail, Anruf, manueller Anlage und Webhook live ohne Neuladen.
- Quellen-Marker, vollständiger Lead-Status, Weiterverarbeitungsfreigabe `ja/nein/unklar`, Spam-Begründung, Duplikat- und Auto-Promoted-Marker.
- Filter für nicht zugewiesen, eigene Felder und die Toggle-Chips `Spam ausblenden` sowie `Konvertierte einblenden`.
- Bulk-Aktionen für Status, Spam, Archiv und Konversion; cursor-basierte Pagination.
- Zustände für leer, Laden, Fehler und `read_own`.
Der aktuelle Eingang baut Karten-/Listenansicht, Filter/Presets, Löschen, Übernehmen und Zuweisen. Ob und wie `Übernehmen` bzw. `Zuweisen` in die Arbeitsliste überführt, ist im statischen Export nicht verdrahtet.
## Lead-Record
Früher verbindlich bzw. geplant, im aktuellen S03 nicht sichtbar:
- Quellen-Detail je Eingangstyp, etwa Formular-Submission, E-Mail-Header oder Anrufaufnahme.
- Freigabeentscheidung als Gate für die Konversion.
- Harte und weiche Kontakt-Matches mit Direktverknüpfung.
- Spam-Score mit Klartextbegründung und Re-Submission-Verlauf.
- DSGVO-Löschdatum sowie vollständige Statusfolge `new/qualified/converted/lost/spam`.
- 404-/Permission-, Lade- und Fehlerzustände.
## Konversion
Der bisherige Produktvertrag verlangt:
1. Lead → Projekt statt Lead → Deal.
2. Vorschau der zu übernehmenden Lead-Felder.
3. Ziel-Board bzw. Pipeline und Startspalte/-status auswählen.
4. Kontakt per Match übernehmen, suchen oder vorbefüllt neu anlegen.
5. Fehlende Pflichtdaten direkt im Dialog ergänzen.
6. Bulk-Variante mit gemeinsamer Zielwahl und Konfliktliste je Lead.
7. Nach Erfolg Leadstatus `converted` und Sprung zur Projekt-Detailseite.
Das aktuelle M01 zeigt stattdessen ein verlustfreies Mapping in einen Deal auf dem fest vorgegebenen Vertriebsboard und eine Checkbox zur Kontaktübernahme. Diese Differenz ist vor dem Development-Handoff zu entscheiden.
## Manuelle Anlage
Die alte Planung sah zusätzlich Verantwortlich mit Default `ich`, eine Live-Match-Prüfung während der Eingabe und das anschließende Öffnen des Details vor. Das aktuelle M02 bietet dagegen Privatperson/Firma, Projekt-/Firmenname, Kontakt, Quelle, Projekttyp, Priorität und Tags; die Dublettenentscheidung ist als nachgelagertes M03 gebaut.
## Einordnung nach dem finalen Handoff
Davids Finalisierungsanweisung vom 2026-08-20 bestätigt den aktuellen Subframe-Stand als geltenden P7-UI-Handoff. Die hier konservierten Abweichungen sind keine offenen Entscheidungen innerhalb dieses Screen-Tickets mehr. Falls sie weiterverfolgt werden, erhalten sie einen ergänzenden Flow oder ein eigenes Produkt-/Development-Ticket.
@@ -0,0 +1,34 @@
---
kind: planning-gap
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: GAP-SOURCES
screen: Quellen-Verwaltung
status: Nicht im aktuellen Subframe-Flow
route: "/admin/lead-sources"
subframe: ""
source_checked: 2026-08-20
---
# Offenes Delta — Quellen-Verwaltung
## Bisher geplantes Ziel
Steuern, woher Anfragen kommen, einschließlich fremder Websites.
## Bisher geplanter Umfang
- Quellen-Liste mit Name, Typ System/eigene Quelle, Lead-Anzahl der letzten 30 Tage und Status.
- Eigene Quelle mit Anzeige-Label, Standard-Verantwortlichem und Standard-Tags anlegen.
- Webhook-URL mit Token kopieren.
- Bearbeiten und archivieren.
## Bisher geplantes Pattern und Zustände
- A2/A6 unter Einstellungen → Arbeitsweise.
- Laden, Fehler und fehlender Zugriff über den wiederverwendbaren A7-Zustand.
## Abgleich 2026-08-20
Im finalen 20-Seiten-Flow `WF-P7 LeadListe` existiert keine Quellen-Verwaltung. D-P7/R-P7 und die bestehende Admin-Route beschreiben sie weiterhin. Sie bleibt ein separater Settings-/Ticketkandidat und blockiert den abgeschlossenen P7-Screen-Handoff nicht.
@@ -0,0 +1,20 @@
---
kind: planning-gap-index
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
status: Separate Folgethemen
source_checked: 2026-08-20
---
# P7 — Separate Folgethemen außerhalb des finalen Subframe-Flows
Diese Themen waren vor dem Subframe-Abgleich als aktuelle P7-Screens oder verbindliche Produktanforderungen geplant. Sie bleiben erhalten, damit Produkt-/Dev-Anforderungen nicht still verloren gehen.
- [[Produktvertrag-Deltas]] — Anforderungen, die vom aktuellen UI abweichen oder dort nicht sichtbar sind
- [[Lead-Statistiken]]
- [[Quellen-Verwaltung]]
- [[Spam-Schutz]]
- [[CSV-Import-Wizard]]
Sie sind keine aktuellen Tracker-Screens. Die letzten vier Themen besitzen im finalen Flow keine Seite; der ältere Produktvertrag hat mit M01 zwar ein UI-Gegenstück, weicht aber beim Zielmodell ab. Diese Punkte blockieren den abgeschlossenen D-P7-Screen-Handoff nicht und werden bei Bedarf als eigene Produkt-/Development-Tickets entschieden.
@@ -0,0 +1,35 @@
---
kind: planning-gap
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: GAP-SPAM
screen: Spam-Schutz
status: Nicht im aktuellen Subframe-Flow
route: "/admin/lead-anti-spam"
subframe: ""
source_checked: 2026-08-20
---
# Offenes Delta — Spam-Schutz
## Bisher geplantes Ziel
Spam automatisch abfangen, ohne echte Anfragen zu verlieren.
## Bisher geplanter Umfang
- Limits pro Quelle/Stunde und IP/Stunde.
- 10-facher Anstieg pausiert eine Quelle automatisch und benachrichtigt Admins.
- Schalter für IP-Sperrliste, Wegwerf-Domains, Honeypot und Absenden unter drei Sekunden.
- Quarantäne versus vollständig Spam.
- Auto-Löschfrist für verlorene Leads; Spam 30 Tage.
## Bisher geplantes Pattern und Zustände
- A6 Settings mit Toggle-Zeilen und Klartextbeschreibung je Regel.
- Laden, Fehler und fehlender Zugriff über den wiederverwendbaren A7-Zustand.
## Abgleich 2026-08-20
Im finalen 20-Seiten-Flow `WF-P7 LeadListe` existieren weder Spam-Schutz-Settings noch Spam-Score/Begründung im Lead-Record. D-P7/R-P7 und die bestehende Admin-Route beschreiben diese Funktion weiterhin. Sie bleibt ein separater Ticketkandidat und blockiert den abgeschlossenen P7-Screen-Handoff nicht.
@@ -0,0 +1,60 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M01
screen: Konversion
subframe_name: "M01 Konversion"
subframe_page_id: "1609485c-d315-4cdf-8e41-ad1dfb0b2691"
typ: Konversionsdialog
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/1609485c-d315-4cdf-8e41-ad1dfb0b2691/edit"
source_checked: 2026-08-20
---
# M01 — Konversion
## Ziel und Rolle im Flow
Wandelt den geöffneten [[S03 Lead-Record|Lead]] in einen Deal auf dem Vertriebsboard um.
## Sichtbarer Aufbau
- Titel `In Deal umwandeln`.
- Erklärung: Thomas Klein wird als Deal auf dem Vertriebsboard angelegt.
- Abschnitt `Feld-Mapping (verlustfrei)`.
## Sichtbares Mapping
| Lead-Feld | Ziel / Beispielwert |
|---|---|
| Ansprechpartner | Thomas Klein |
| Telefon / E-Mail | 0160 5551020 · t.klein@web.de |
| Quelle | Empfehlung |
| Projekttyp | Bad-Sanierung |
| Potenzieller Wert | 25.000 € |
| Owner | zuständige Person |
| Verlauf + Notizen | Deal-Timeline |
Zusätzlich ist `Kontakt (Ansprechpartner) in den Deal übernehmen` standardmäßig aktiviert.
## Aktionen
- Abbrechen.
- `In Deal umwandeln`.
## Finaler UI-Stand und Vertragsdelta
Der finale Dialog spricht von Deal und festem Vertriebsboard; das ist der geltende P7-Screen-Handoff. D-P7/R-P7 und AD-20 beschreiben abweichend `Lead → Projekt` mit Ziel-Pipeline/Startstatus und separater Kontaktverknüpfung. Diese ältere Anforderung bleibt ein separates Produkt-/Development-Folgethema und blockiert den Screen-Handoff nicht.
## Verwendete Komponenten
`Button`, `Checkbox`, `Dialog`, `DialogLayout`; technisch echte Struktur `DialogLayout` → `Dialog.Content`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/1609485c-d315-4cdf-8e41-ad1dfb0b2691/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -1,57 +0,0 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M01
screen: Lead zu Projekt
typ: Modal (gross)
umsetzung: Bauen
status: Validiert
route: "aus S01/S02, nur bei Freigabe = ja"
subframe: ""
---
# M01 — Lead → Projekt ⭐
## Ziel
Der Kern-Moment der Kette: aus einer guten Anfrage wird ein Projekt — kontrolliert, mit sauberem Kontakt dran.
## Was das Tool können muss
- **Daten-Vererbungs-Vorschau**: welche Lead-Felder ins Projekt fließen (Name, Nachricht, eigene Felder …)
- **Ziel-Board + Start-Spalte wählen** (Default-Vorauswahl beim Subframe-Bau klären)
- **Kontakt separat verknüpfen**: Auto-Match-Vorschlag (gleiche E-Mail/Telefon) → bestehenden wählen ODER neu anlegen (öffnet [[M01 Kontakt anlegen]] aus P6, vorbefüllt)
- Fehlende Pflichtdaten (z. B. Name) direkt im Modal nachtragen (Mängel-Banner)
- **Bulk-Variante** (Davids Ergänzung): mehrere Leads auf einmal — gemeinsame Board-Wahl, Kontakt-Match je Lead, Konfliktliste für Leads ohne Match
## Pattern / Archetyp
A5 großes Modal (echtes Modal: DialogLayout → Dialog → Dialog.Content) mit drei Sektionen.
## Aufbau
1. **Was wird übernommen** — Vorschau der vererbten Felder
2. **Wohin** — Pipeline/Board + Start-Spalte
3. **Wer** — Kontakt (Match-Vorschlag / suchen / neu anlegen)
## Aktionen
- »Projekt erstellen« → Projekt existiert, Lead wird `converted`, Sprung zur Projekt-Detailseite (Toast mit Link)
- Abbrechen
## Meldungsentscheidung
| Ereignis | UI-Form | Blockiert? | Umsetzung | Copy/Notiz |
|---|---|---|---|---|
| Pflichtdaten fehlen | Mängel-Banner + Inline-Nachtragen | ja (Aktion) | Nur dokumentieren | z. B. fehlender Name |
| Bulk: Lead ohne Kontakt-Match | Konflikt-Zeile in Bulk-Ansicht | nein | Nur dokumentieren | einzeln nachziehen |
## Subframe
- (erst nach explizitem OK)
## Notizen
- Ersetzt das alte 4-Optionen-Promotion-Modal (Pivot AD-20). Bulk-Machbarkeit → Dev-Frage beim Handoff.
@@ -1,42 +0,0 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M02
screen: Anfrage anlegen
typ: Modal
umsetzung: Bauen
status: Validiert
route: "aus S01 (Route /leads/new bleibt Dev-seitig)"
subframe: ""
---
# M02 — Anfrage anlegen
## Ziel
Anruf kommt rein, kein passender Kontakt — Anfrage in Sekunden erfassen.
## Was das Tool können muss
- Schnelles Erfassen: Vor-/Nachname, E-Mail, Telefon, Nachricht, Quelle (Default: manuell), Verantwortlicher (Default: ich), Tags
- **Live-Match-Check beim Tippen**: »Gibt es schon als Kontakt/Anfrage« mit Sprung-Link
## Pattern / Archetyp
A5 Dialog, gleiche Mechanik wie »Kontakt anlegen« (P6).
## Aktionen
- »Anlegen« → Anfrage erscheint in der Inbox, Detail öffnet
- Abbrechen
## Subframe
- (erst nach explizitem OK)
## Notizen
- Davids Delta: Modal statt eigener Seite (Ticket sah `/leads/new` als Seite vor — UI-Form ist Designer-Freiheit).
- D01 Inline-Anlegen (Plus → Zeile) als »Später«-Muster dokumentiert.
@@ -0,0 +1,49 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M02-K
screen: Lead anlegen Kontakt verknuepfen
subframe_name: "M02 Lead anlegen Kontakt verknuepfen"
subframe_page_id: "75858347-70f9-4233-99f6-e72f0852ccab"
typ: Anlage-Dialog · Kontaktvariante
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/75858347-70f9-4233-99f6-e72f0852ccab/edit"
source_checked: 2026-08-20
---
# M02 — Lead anlegen · Kontakt verknüpfen
## Ziel und Rolle im Flow
Variante von [[M02 Lead anlegen]], in der für eine Firma ein bestehender Ansprechpartner gesucht und ausgewählt wird.
## Sichtbarer Zustand
- Suchfeld `Kontakt suchen (Name, Firma) …` mit Beispielsuche `Reit`.
- Treffer Klaus Reithofer, Sabine Reitz und Martin Reiter.
- Auswahlmarkierung am aktiven Treffer.
- `Nicht dabei? Neu anlegen` als Rückweg zur Neuanlage.
- Die übrigen Lead-Felder bleiben sichtbar: Projekt/Firma, Kontaktwege, Quelle, Projekttyp, Priorität und Tags.
## Aktionen
- Kontakt auswählen.
- Zu `Neu anlegen` wechseln.
- Abbrechen oder `Lead anlegen`.
## Aktuelle Abgrenzung
Der gerenderte Varianten-Screen zeigt am Segment Privatperson/Firma keinen aktiven Zustand, obwohl die Firmenfelder sichtbar sind. Development übernimmt hier den Firmenzustand aus M02 und setzt ihn visuell aktiv; dafür ist kein weiterer Screen nötig.
## Verwendete Komponenten
`Avatar`, `Button`, `Dialog`, `IconButton`, `IconWithBackground`, `Select`, `TextInput`, `ToggleGroup`, `DialogLayout`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/75858347-70f9-4233-99f6-e72f0852ccab/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,53 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M02
screen: Lead anlegen
subframe_name: "M02 Lead anlegen"
subframe_page_id: "14a837e3-c2f7-4289-9ae4-d9427935e74f"
typ: Anlage-Dialog
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/14a837e3-c2f7-4289-9ae4-d9427935e74f/edit"
source_checked: 2026-08-20
---
# M02 — Lead anlegen
## Ziel und Rolle im Flow
Manuellen Lead aus [[S01 Arbeitsliste]] oder [[S02 Eingang Karten|Eingang]] anlegen. Die Quelle ist frei wählbar; laut Copy ist mindestens ein Kontaktweg nötig.
## Felder und Optionen
- Segment Privatperson / Firma; im gerenderten Grundscreen ist Firma aktiv.
- Projektname und Firmenname als Pflichtfelder im Firmenzustand.
- Telefon und E-Mail.
- Hinweis: mindestens eines von Telefon, Fax oder E-Mail.
- Ansprechpartner der Firma: neu anlegen oder bestehenden verknüpfen.
- Quelle: Telefon, Formular, WhatsApp, Empfehlung, Portal, LinkedIn, Persönliches Gespräch, Messe oder Andere.
- Projekttyp: Heizungstausch, Wärmepumpe, Bad-Sanierung, Wartung oder Notdienst.
- Priorität: Kritisch, Hoch, Mittel oder Niedrig.
- Tags.
## Aktionen und Varianten
- `Bestehenden verknüpfen` → [[M02 Lead anlegen Kontakt verknuepfen]].
- Eine gefundene gleiche Telefonnummer führt fachlich zu [[M03 Dubletten-Pruefung]].
- Abbrechen oder `Lead anlegen`.
## Sichtbare Inkonsistenz
Die Pflicht-Copy erlaubt Fax als Kontaktweg, der Dialog enthält aber kein Fax-Feld. Außerdem ist nicht sichtbar, ob ein manuell angelegter Lead zuerst im Eingang oder direkt in der Arbeitsliste landet.
## Verwendete Komponenten
`Button`, `Dialog`, `IconButton`, `IconWithBackground`, `Select`, `TextInput`, `ToggleGroup`, `DialogLayout`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/14a837e3-c2f7-4289-9ae4-d9427935e74f/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -1,47 +0,0 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M03
screen: CSV-Import
typ: Modal/Wizard
umsetzung: Bauen
status: Validiert (Davids Delta)
route: "aus S01, Importieren-Knopf"
subframe: ""
---
# M03 — CSV-Import-Wizard
## Ziel
Ganze Listen auf einmal reinholen (z. B. Messekontakte, Alt-Bestand) — mit sauberer Feld-Zuordnung statt Chaos. **Davids Delta: steht nicht im Dev-Ticket → Change-Request.**
## Was das Tool können muss
- CSV-Datei hochladen (Dropzone-Baustein aus P4)
- **Spalten-Zuordnung**: jede CSV-Spalte einem Lead-Feld zuordnen (Auto-Vorschlag bei passenden Überschriften, eigene Felder wählbar, Spalte überspringen möglich)
- **Vorschau vor dem Import**: erste Zeilen gemappt anzeigen, Fehler markieren (ungültige E-Mail, leere Pflichtwerte)
- **Duplikat-Behandlung wählen**: überspringen / trotzdem anlegen / als möglichs Duplikat markieren
- Import läuft im Hintergrund; Ergebnis-Meldung (»142 importiert, 3 übersprungen — Liste ansehen«)
## Pattern / Archetyp
A5 mehrstufiger Wizard: 1. Datei → 2. Spalten zuordnen → 3. Vorschau + Duplikat-Regel → 4. Import läuft/Ergebnis.
## Meldungsentscheidung
| Ereignis | UI-Form | Blockiert? | Umsetzung | Copy/Notiz |
|---|---|---|---|---|
| Datei nicht lesbar / falsches Format | Schritt-Fehler | ja (Schritt) | Nur dokumentieren | Klartext + Beispiel-Hinweis |
| Zeilen mit Fehlern | markierte Zeilen in Vorschau | nein | Nur dokumentieren | »werden übersprungen« |
## Subframe
- (erst nach explizitem OK)
## Notizen
- Change-Request an Dev: Import-Job serverseitig, Duplikat-Logik, Feld-Mapping. Beim Handoff formulieren.
- Gleiches Wizard-Muster ist später für Kontakt-Import wiederverwendbar (nur notiert, nicht beauftragt).
@@ -0,0 +1,49 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M03
screen: Dubletten-Pruefung
subframe_name: "M03 Dubletten-Pruefung"
subframe_page_id: "36fb8b6a-bced-44a3-b8bd-76ae3ecf7cdd"
typ: Dubletten-Entscheidung
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/36fb8b6a-bced-44a3-b8bd-76ae3ecf7cdd/edit"
source_checked: 2026-08-20
---
# M03 — Dubletten-Prüfung
## Ziel und Rolle im Flow
Warnt bei gleicher Telefonnummer während [[M02 Lead anlegen|der Lead-Anlage]] und verlangt eine bewusste Entscheidung vor dem Zusammenführen.
## Vergleich
Zwei Karten `NEU` und `BESTAND` zeigen jeweils:
- Name.
- Telefonnummer.
- Quelle.
- Anliegen.
Im Beispiel besitzen beide Anna-Weber-Datensätze dieselbe Telefonnummer, aber unterschiedliche Quellen und Anliegen.
## Aktionen
- `Getrennt anlegen`.
- `Zusammenführen`.
Der statische Screen zeigt kein neutrales Abbrechen; die beiden Aktionen bilden die vollständige Entscheidung.
## Verwendete Komponenten
`Button`, `Dialog`, `DialogLayout`; echte Struktur `DialogLayout` → `Dialog.Content`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/36fb8b6a-bced-44a3-b8bd-76ae3ecf7cdd/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,47 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M04
screen: Naechste Aktion
subframe_name: "M04 Naechste Aktion"
subframe_page_id: "9b3a7954-384f-42ed-9b04-934f30adbc0f"
typ: Reminder-/Aufgaben-Dialog
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/9b3a7954-384f-42ed-9b04-934f30adbc0f/edit"
source_checked: 2026-08-20
---
# M04 — Nächste Aktion
## Ziel und Rolle im Flow
Setzt einen Reminder für den aktuellen [[S03 Lead-Record|Lead]]. Die Aktion erscheint anschließend im Bereich `Anstehend`.
## Felder
- Aufgabe, Beispiel `Angebot nachfassen`.
- Notiz optional.
- Datum über Monatskalender.
- Uhrzeit über getrennte Stunden- und Minutenwahl in 5-Minuten-Schritten.
## Aktionen
- Abbrechen.
- Setzen.
## Sichtbare Inkonsistenz
Der gerenderte Screen markiert im Kalender den 20. August, zeigt daneben `Mi, 12.08.2026` und gleichzeitig `Noch kein Termin gewählt`. Development verwendet einen einzigen ausgewählten Datums-/Zeitwert und leitet alle drei Darstellungen daraus ab; dafür ist kein zusätzlicher Screen nötig.
## Verwendete Komponenten
`Button`, `Calendar`, `Dialog`, `TextInput`, `DialogLayout`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/9b3a7954-384f-42ed-9b04-934f30adbc0f/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,42 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M05
screen: Ansicht speichern
subframe_name: "M05 Ansicht speichern"
subframe_page_id: "c011c64f-df15-42c2-b920-66f0ebea87fd"
typ: Kleiner Dialog
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/c011c64f-df15-42c2-b920-66f0ebea87fd/edit"
source_checked: 2026-08-20
---
# M05 — Ansicht speichern
## Ziel und Rolle im Flow
Speichert die aktuelle Filterkombination aus [[S02 Eingang Karten|Eingang]] als eigene benannte Ansicht.
## Inhalt
- Erklärung `Die aktuelle Filter-Kombination als eigene Ansicht sichern.`
- Feld `Name der Ansicht`.
- Platzhalter `z. B. Notfälle Region Stuttgart`.
## Aktionen
- Schließen oder Abbrechen.
- Speichern.
## Verwendete Komponenten
`Button`, `Dialog`, `IconButton`, `TextInput`, `DialogLayout`; echte Struktur `DialogLayout` → `Dialog.Content`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/c011c64f-df15-42c2-b920-66f0ebea87fd/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,52 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M06
screen: Dialer
subframe_name: "M06 Dialer"
subframe_page_id: "dcd35b81-dce7-4257-be0d-8755adeffe8b"
typ: Schwebender Anruf-Composer
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/dcd35b81-dce7-4257-be0d-8755adeffe8b/edit"
source_checked: 2026-08-20
---
# M06 — Dialer
## Ziel und Rolle im Flow
Startet und protokolliert einen Anruf direkt aus [[S03 Lead-Record]]. Der Dialer liegt als schwebendes Panel unten rechts über dem aktuellen Kontext.
## Kopf und Kontakt
- `Anruf · Thomas Klein`.
- Einstellungen, Minimieren und Schließen.
- Ausgehende Nummer `+49 711 44 55 66`.
- Kontakt, Typ Mobil, Rufnummer, Beziehung und Ort.
## Anruf und Protokoll
- Primäraktion `Anrufen` → [[V03 Dialer Im Gespraech]].
- Reiter Tastenfeld → [[V02 Dialer Tastenfeld]] und Notiz.
- Gesprächsnotiz wird am Lead protokolliert.
- Ergebniswahl: Erreicht, Mailbox, Kein Interesse, Interesse, Interessiert in 1–3 Monaten, Schlechter Fit, Weggedrückt, Gatekeeper, falsche/alte Nummer, Kunde und Rescheduling.
- Stimmung: Positiv, Neutral oder Negativ.
- `Protokollieren & abschließen`.
- Minimieren → [[V05 Dialer kompakt]].
## QA-Hinweis
Die Ergebnisliste mischt deutsche und englische Vertriebsbegriffe. Die Taxonomie sollte vor Development-Handoff vereinheitlicht und fachlich auf den SHK-Kontext geprüft werden.
## Verwendete Komponenten
`Button`, `Select`; das Panel ist kein `Dialog` und bleibt bewusst im Arbeitskontext.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/dcd35b81-dce7-4257-be0d-8755adeffe8b/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,55 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M07
screen: E-Mail schreiben
subframe_name: "M07 E-Mail schreiben"
subframe_page_id: "9a4d7a13-73e3-412d-8beb-0c6dfcc7617c"
typ: Schwebender E-Mail-Composer
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/9a4d7a13-73e3-412d-8beb-0c6dfcc7617c/edit"
source_checked: 2026-08-20
---
# M07 — E-Mail schreiben
## Ziel und Rolle im Flow
Verfasst eine E-Mail direkt aus [[S03 Lead-Record]], ohne den Lead-Kontext zu verlassen. Der Composer liegt schwebend unten rechts.
## Kopf und Adressierung
- `E-Mail · Thomas Klein`.
- Entwurfsstatus `Entwurf gespeichert 14:57`.
- Minimieren → [[V06 E-Mail minimiert]], Vollbild → [[V07 E-Mail Vollbild]], Schließen.
- Empfänger, Cc/Bcc und Betreff.
## Editor
- Schriftfamilie und Größe.
- Textfarbe/Format, Fett, Kursiv, Unterstrichen, Durchgestrichen.
- Ausrichtung, Listen, Ein-/Ausrückung.
- Link, Bild, Anhang, Kalender, Variablen und Tabelle.
- Vorschau.
- Beispieltext mit Anrede und Signatur.
- Anhang `Angebot.pdf`.
## Versand und weitere Aktionen
- Sofort senden.
- Zeitversand: in 1 Stunde, heute 17:00, morgen 08:00, Montag 09:00 oder frei wählbar.
- Vorlagen.
- Entwurf löschen.
## Verwendete Komponenten
`Button`, `DropdownMenuSelect`, `IconButton`; schwebender Composer ohne Dialogstruktur.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/9a4d7a13-73e3-412d-8beb-0c6dfcc7617c/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,49 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: M08
screen: Ansprechpartner hinzufuegen
subframe_name: "M08 Ansprechpartner hinzufuegen"
subframe_page_id: "c7949b46-6b91-47ec-b08c-959f686df55b"
typ: Kontakt-Verknüpfungsdialog
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/c7949b46-6b91-47ec-b08c-959f686df55b/edit"
source_checked: 2026-08-20
---
# M08 — Ansprechpartner hinzufügen
## Ziel und Rolle im Flow
Verknüpft im [[S03 Lead-Record]] einen bestehenden oder neuen Ansprechpartner mit der Organisation. Der Beispieldialog arbeitet für Reithofer Immobilien GmbH.
## Sichtbarer Aufbau
- Umschalter `Bestehenden verknüpfen` / `Neu anlegen`.
- Suche nach Name, Firma oder Rolle.
- Trefferliste mit Avatar, Name, Rolle und Organisation.
- Bereits verknüpfte Kontakte werden entsprechend markiert.
- Rollenwahl: Geschäftsführer, Technik, Objektbetreuung, Buchhaltung, Hausmeister, WEG-Verwaltung, Assistenz oder Sonstige.
- Option `Als Haupt-Ansprechpartner setzen`.
## Aktionen
- Schließen oder Abbrechen.
- Verknüpfen.
## Abhängigkeit
Die Kontaktanlage und -verknüpfung berührt P6 Kontakte & Organisationen. Vor Development-Handoff muss geklärt werden, ob der Dialog eine P6-Komponente wiederverwendet oder P7-spezifisch bleibt.
## Verwendete Komponenten
`Avatar`, `Button`, `Checkbox`, `Dialog`, `IconButton`, `IconWithBackground`, `Select`, `TextInput`, `ToggleGroup`, `DialogLayout`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/c7949b46-6b91-47ec-b08c-959f686df55b/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,66 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: S01
screen: Arbeitsliste
subframe_name: "S01 Arbeitsliste"
subframe_page_id: "ae41c6ea-d1b0-4656-9a5c-55f64343962a"
typ: Priorisierte Lead-Liste
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/ae41c6ea-d1b0-4656-9a5c-55f64343962a/edit"
source_checked: 2026-08-20
---
# S01 — Arbeitsliste
## Ziel und Rolle im Flow
Die Arbeitsliste zeigt alle Leads mit aktiver Fälligkeit und priorisiert den nächsten Handlungsbedarf. Sie ist vom ungeprüften [[S02 Eingang Karten|Eingang]] getrennt.
## Kopf und Steuerung
- Titel `Leads` mit Unterzeile `Alles mit aktiver Fälligkeit, priorisiert`.
- `Abarbeiten` öffnet [[V01 Abarbeiten-Modus]].
- `Lead anlegen` öffnet [[M02 Lead anlegen]].
- FilterBar mit Freitextsuche und den aktiven Filtern Status, Tags, Verantwortlich und Zeitraum. Der gerenderte Finalstand zeigt unter anderem `Marketing`, fünf Verantwortliche und `01.08. – 20.08.`.
- Presets: Heute, Diese Woche, Alle offenen und Meine Projekte; zusätzlich Preset speichern und Filter zurücksetzen.
- Filterwerte: Status Offen/In Bearbeitung/Pausiert/Verloren sowie Tags Design/Entwicklung/Vertrieb/Support.
- Gruppierung nach Fälligkeit, Zuständig, Anfragenart, Kundentyp oder ohne Gruppierung.
## Sichtbare Daten
- Spalten: Lead, Anfragenart, Priorität, Nächste Aktion, Zuständig und Wert.
- Lead-Zelle: Name/Firma plus kurze Anliegenbeschreibung.
- Priorität: vierstufige Balkenanzeige plus Badge Kritisch/Hoch/Mittel/Niedrig.
- Nächste Aktion: konkrete Handlung oder Inaktivität inklusive Fälligkeit.
- Owner: Avatar und Kurzname; Wert als Euro-Kompaktwert.
## Gebaute Gruppen
- Überfällig.
- Neu · unbearbeitet.
- Rückruf zugesagt.
- Heute fällig.
- Droht kalt zu werden.
Die Beispieldaten decken Störung, Heizungstausch, Wartungsvertrag, Bad-Sanierung, Fußbodenheizung und Wärmepumpe ab.
## Aktionen und Beziehungen
- Zeile öffnen → [[S03 Lead-Record]].
- Checkboxen erlauben Auswahl. Ein zugehöriger Mehrfachaktionszustand ist im aktuellen Screen noch nicht gebaut.
- `Abarbeiten` → [[V01 Abarbeiten-Modus]].
- `Lead anlegen` → [[M02 Lead anlegen]].
## Verwendete Komponenten
`Avatar`, `AvatarGroup`, `Badge`, `BadgeFeedback`, `Button`, `Checkbox`, `DropdownMenuMultiSelect`, `FilterBar`, `Tag_Label`, `ToggleGroup`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/ae41c6ea-d1b0-4656-9a5c-55f64343962a/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -1,61 +0,0 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: S01
screen: Lead-Inbox
typ: Triage-Liste
umsetzung: Bauen
status: Validiert
route: "/leads"
subframe: ""
---
# S01 — Lead-Inbox
## Ziel
Keine Anfrage verlieren: alles Eingehende an einem Ort, in Sekunden sortiert.
## Was das Tool können muss
- Anfragen aus **allen Quellen** automatisch empfangen (Formular, E-Mail, Anruf, manuell, Webhook) — live, ohne Neuladen
- Triage direkt in der Zeile: zuweisen, Status wechseln, **Zu Projekt machen**, als Spam markieren
- Mehrfachauswahl mit Massenbearbeitung (zuweisen/Status/Spam/Archiv) **inkl. Massen-Konvertierung** (Davids Ergänzung)
- Spam-Schutz sichtbar machen (Marker mit Begründung), ohne die Liste zu verstopfen
## Pattern / Archetyp
A2 Liste mit Triage-Akzenten, Tabelle/Karten-Umschalter, cursor-paginiert.
## Daten
- Zeile: Identität (Name, sonst E-Mail/Telefon, sonst Quelle+Datum) · Quellen-Marker · Status · Freigabe (ja/nein/unklar) · Verantwortlicher · Eingegangen (relativ < 7 T) · 80-Zeichen-Nachrichten-Vorschau
- Marker: »Mögliches Duplikat« · »Spam-Verdacht« · »Auto-promoviert«
- Filter: Status (Default new+qualified), Quelle, Verantwortlicher (inkl. »nicht zugewiesen«), Zeitraum, Tags, eigene Felder
- Toggle-Chips: **»Spam ausblenden« (Default an)** · **»Konvertierte einblenden« (Default aus)**
## Aktionen
- Zeile öffnen → [[S02 Lead-Detail]]
- Inline: Zuweisen · Status · **»Zu Projekt«** → [[M01 Lead zu Projekt]] · Spam
- Bulk: Zuweisen/Status/Spam/Archiv + **Bulk »Zu Projekt«** (M01 in Bulk-Variante)
- »+ Anfrage« → [[M02 Anfrage anlegen]] · »Importieren« → [[M03 CSV-Import]]
- »Statistiken« → [[S03 Lead-Statistiken]]
## Zustände
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Leer | »Keine neuen Anfragen« | Nur dokumentieren |
| Laden / Fehler | A7 | Wiederverwenden |
| `read_own` | nur eigene sichtbar (server-seitig) | Wiederverwenden |
## Subframe
- (erst nach explizitem OK)
## Notizen
- D01 Inline-Anlegen (Plus → Zeile mit Pflichtfeldern) — gemeinsames »Später«-Muster mit P6.
@@ -0,0 +1,59 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: S02-K
screen: Eingang Karten
subframe_name: "S02 Eingang Karten"
subframe_page_id: "165bfa17-8792-4616-bfb6-d064bc7352a8"
typ: Triage · Kartenansicht
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/165bfa17-8792-4616-bfb6-d064bc7352a8/edit"
source_checked: 2026-08-20
---
# S02 — Eingang Karten
## Ziel und Rolle im Flow
Neue Anfragen zuerst sichten und zuteilen, bevor sie in die [[S01 Arbeitsliste|Arbeitsliste]] wandern. Diese Seite ist die großzügigere Kartenvariante von [[S02 Eingang Liste]].
## Filter und Presets
- Freitextsuche.
- Sichtbare Filter: Dringlichkeit, Anfragenart, Region und Kanal.
- Weitere Filter: Status, Tags, Verantwortlich, Zeitraum, Priorität und Erstellt am.
- Presets: Heute, Diese Woche, Alle offenen und Meine Projekte.
- Aktionen: Preset speichern → [[M05 Ansicht speichern]]; Filter zurücksetzen.
## Daten je Karte
- Auswahl-Checkbox und Prioritätsbadge.
- Name, Kanal und Kurzbeschreibung.
- Potenzieller Wert, Region, Telefonnummer, Anfragenart und Eingangszeit.
- Vorschlag für die zuständige Person mit Begründung, etwa bereits zugewiesen oder passende Region.
Die aktuelle Beispielansicht zeigt Anna Weber, Laura Neumann und Jonas Krüger mit Telefon- bzw. WhatsApp-Anfragen.
## Aktionen
- `Lead anlegen` → [[M02 Lead anlegen]].
- `Übernehmen`, `Zuweisen`, `Öffnen` → bei Öffnen [[S03 Lead-Record]].
- `Verwerfen` → [[V08 Verwerfen bestaetigen]].
- Mehrfachauswahl: Löschen, Übernehmen und Zuweisen.
## Finale Handoff-Logik
`Übernehmen` weist den Lead der handelnden Person zu, `Zuweisen` einer gewählten Person; beide führen aus dem Eingang in [[S01 Arbeitsliste]]. Die exportierten Handler sind technisch leer, diese Logik ist deshalb von Development zu verdrahten.
## Verwendete Komponenten
`Avatar`, `Badge`, `BadgeFeedback`, `Button`, `Checkbox`, `DropdownMenuMultiSelect`, `DropdownMenuSelect`, `FilterBar`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/165bfa17-8792-4616-bfb6-d064bc7352a8/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,56 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: S02-L
screen: Eingang Liste
subframe_name: "S02 Eingang Liste"
subframe_page_id: "24d7b73c-39f4-4c74-adf4-8493861adb68"
typ: Triage · Listenansicht
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/24d7b73c-39f4-4c74-adf4-8493861adb68/edit"
source_checked: 2026-08-20
---
# S02 — Eingang Liste
## Ziel und Rolle im Flow
Kompakte Listenvariante des [[S02 Eingang Karten|Eingangs]]. Neue Anfragen werden gesichtet und zugeteilt, bevor sie in [[S01 Arbeitsliste]] weiterlaufen.
## Filter und Presets
- Freitextsuche sowie Dringlichkeit, Anfragenart, Region und Kanal.
- Weitere Filter: Status, Tags, Verantwortlich, Zeitraum, Priorität und Erstellt am.
- Presets: Heute, Diese Woche, Alle offenen und Meine Projekte.
- Preset speichern → [[M05 Ansicht speichern]]; Filter zurücksetzen.
## Tabellenstruktur
- Spalten: Priorität, Lead, Anfragenart, Wert, Vorschlag und Aktionen.
- Gruppen im gebauten Beispiel: Kritisch und Niedrig.
- Zeile: Prioritätsbadge, Name, Kurzbeschreibung, Anfragenart, potenzieller Wert und vorgeschlagene zuständige Person.
## Aktionen
- `Lead anlegen` → [[M02 Lead anlegen]].
- Pro Zeile: Übernehmen oder Zuweisen, alternativen Mitarbeiter wählen, Öffnen, Zuweisen und Verwerfen.
- `Öffnen` → [[S03 Lead-Record]].
- `Verwerfen` → [[V08 Verwerfen bestaetigen]].
- Mehrfachauswahl: Löschen, Übernehmen und Zuweisen.
## Aktuelle Abgrenzung
Der Flow enthält Karten- und Listenansicht als zwei gebaute Darstellungsvarianten, zeigt aber keinen eigenen Umschalter zwischen beiden. Development integriert beide Ansichten in denselben Eingangskontext; die konkrete Umschaltmechanik ist keine zusätzliche P7-Seite.
## Verwendete Komponenten
`Avatar`, `BadgeFeedback`, `Button`, `Checkbox`, `DropdownMenuMultiSelect`, `DropdownMenuSelect`, `FilterBar`, `IconButton`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/24d7b73c-39f4-4c74-adf4-8493861adb68/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -1,54 +0,0 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: S02
screen: Lead-Detail
typ: Detail
umsetzung: Bauen
status: Validiert
route: "/leads/:id"
subframe: ""
---
# S02 — Lead-Detail
## Ziel
Eine Anfrage komplett verstehen und entscheiden: weiterverarbeiten, ablehnen oder Spam.
## Was das Tool können muss
- **Herkunft transparent machen**: welches Formular (mit Submission), welcher E-Mail-Header, welcher Anruf (mit Aufnahme-Link)
- **Freigabe-Entscheidung** festhalten (ja/nein/unklar) — bei »ja« wird »Zu Projekt« möglich
- **Match-Hinweise**: existierende Kontakte mit gleicher E-Mail/Telefon (harte Treffer) oder ähnlichem Namen (weiche) — mit Direktsprung
- Spam-Score mit Klartext-Begründung; Re-Submission-Verlauf (gleiche Person hat mehrfach angefragt)
## Pattern / Archetyp
A3 Detail — gleiches Grundgerüst wie die Kontakt-Karteikarte (Zweispalter + Reiter).
## Daten
- Kopf: Identität, Status, Freigabe-Schalter, Quellen-Marker · Triage-Quick-Actions (Annehmen / Antworten / Anrufen / Notiz / Aufgabe / Termin)
- Links: Stammdaten inline editierbar · eigene Felder · Match-Hinweise · DSGVO-Lösch-Countdown
- Rechts, Reiter: Übersicht/Nachricht · Konversation · Verlauf (Activity)
## Aktionen
- **»Zu Projekt«** → [[M01 Lead zu Projekt]] (nur bei Freigabe = ja; sonst Hinweis)
- Status wechseln (new/qualified/converted/lost/spam) · zuweisen
- Match-Hinweis → Kontakt-Karteikarte öffnen oder direkt verknüpfen
## Zustände
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| DSGVO-Countdown | »Wird am [Datum] automatisch gelöscht« | Nur dokumentieren |
| Nicht gefunden / kein Recht | 404 | Wiederverwenden |
| Laden / Fehler | A7 | Wiederverwenden |
## Subframe
- (erst nach explizitem OK)
@@ -0,0 +1,73 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: S03
screen: Lead-Record
subframe_name: "S03 Lead-Record"
subframe_page_id: "6c173984-ea71-4d85-b53e-ebc397b3c821"
typ: Lead-Detail / Record
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/6c173984-ea71-4d85-b53e-ebc397b3c821/edit"
source_checked: 2026-08-20
---
# S03 — Lead-Record
## Ziel und Rolle im Flow
Zentrale Arbeitsansicht für einen einzelnen Lead. Sie bündelt Stammdaten, Kommunikationsverlauf, anstehende Aufgaben, Lead-Metadaten und Ansprechpartner.
## Kopf
- Breadcrumb `Leads › Thomas Klein`.
- Initialen, Name, Status `Rückruf zugesagt`, Hinweis `zeitkritisch` sowie `Eigentümer · Leonberg`.
- Inline bearbeitbare Anfragenart, im Beispiel `Bad-Sanierung`.
- Primäraktion `Qualifiziert zu Deal` → [[M01 Konversion]].
## Schnellaktionen
- Anrufen → [[M06 Dialer]].
- WhatsApp.
- Mail → [[M07 E-Mail schreiben]].
- Task bzw. Aufgabe/Reminder → [[M04 Naechste Aktion]].
- Datei.
## Kontakt und Objekt
- Ansprechpartner, Beziehung, Telefon, E-Mail.
- Straße, Hausnummer, PLZ, Ort und Region.
- Die Felder sind als borderless `TextInput` direkt bearbeitbar angelegt.
## Statistik
Zähler für E-Mails, Anrufe, WhatsApp, Notizen und Aufgaben.
## Anstehend und Verlauf
- Anstehende Aufgabe mit Titel, Kontext, Fälligkeit sowie Erledigen/Verwerfen.
- Schnellerfassung für Notiz, E-Mail, Anruf und WhatsApp.
- Chronologischer Verlauf mit Antwort, Notiz, gesendetem Angebot, Telefonat und Lead-Erfassung.
- Verlaufseinträge besitzen Bearbeiten- und Löschen-Aktionen.
## Lead-Details
- Status, Owner, potenzieller Wert, Priorität, Quelle, nächste Aktion, Engagement und Erfasst.
- Tags mit `Tag hinzufügen …`; im Beispiel Heiß und Großauftrag.
- Ansprechpartner-Liste mit Hauptkontakt-Markierung und Hinzufügen → [[M08 Ansprechpartner hinzufuegen]].
## Sichtbarer Datenkonflikt
Der Hauptdatensatz zeigt Thomas Klein als privaten Eigentümer in Leonberg. Die rechte Ansprechpartner-Liste enthält gleichzeitig Andreas Reithofer und Julia Wenger von Reithofer Immobilien GmbH. Development verwendet für Test-/Seed-Daten einen konsistenten Lead und passende Ansprechpartner; die UI-Struktur selbst bleibt unverändert.
## Verwendete Komponenten
`Avatar`, `BadgeFeedback`, `Button`, `DropdownMenuSelect`, `IconButton`, `MultiSelectTags`, `Tag_Label`, `TextInput`, `Tooltip`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/6c173984-ea71-4d85-b53e-ebc397b3c821/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -1,45 +0,0 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: S03
screen: Lead-Statistiken
typ: KPI-Seite
umsetzung: Bauen
status: Validiert
route: "/leads/statistics"
subframe: ""
---
# S03 — Lead-Statistiken
## Ziel
Der Chef sieht: Woher kommen Anfragen, wie schnell reagieren wir, was wird daraus?
## Was das Tool können muss
- KPI-Kacheln: Eingegangen · Umwandlung Lead→Projekt · Lead→Gewonnen · Reaktionszeit · Spam-Quote · offene Anfragen > 24 h
- Aufschlüsselung nach Quelle / Verantwortlichem / Tag / Wochentag / Status
- Trend-Charts mit Vergleich zur Vorperiode (Zeitraum-Wahl + Vergleichs-Schalter)
- **Drill-Down**: Klick auf eine Zahl → vorgefilterte Inbox
## Pattern / Archetyp
A2 + KPI-Kit (Kacheln, Balken-/Linien-Charts aus dem Baukasten).
## Zustände
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Zu wenig Daten | »Noch nicht genug Anfragen für Trends« | Nur dokumentieren |
| Laden / Fehler | A7 | Wiederverwenden |
## Permissions / Gates
Aufschlüsselung nach Verantwortlichem nur mit `leads.read_all`.
## Subframe
- (erst nach explizitem OK)
@@ -1,40 +0,0 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: S04
screen: Quellen-Verwaltung
typ: Settings-Liste
umsetzung: Bauen
status: Validiert
route: "/admin/lead-sources (Einstellungen -> Arbeitsweise)"
subframe: ""
---
# S04 — Quellen-Verwaltung
## Ziel
Steuern, woher Anfragen kommen — inkl. Anschluss fremder Websites.
## Was das Tool können muss
- Quellen-Liste: Name · Typ (System/eigene) · Anfragen der letzten 30 Tage · Status
- Eigene Quelle anlegen (Name, Anzeige-Label, optional Standard-Verantwortlicher + Standard-Tags)
- **Webhook-URL mit Token** je Quelle (Kopier-Knopf) — damit Fremd-Websites Anfragen direkt einliefern
- Bearbeiten / Archivieren
## Pattern / Archetyp
A2/A6 unter Einstellungen → Arbeitsweise.
## Zustände
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden |
## Subframe
- (erst nach explizitem OK)
@@ -1,41 +0,0 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: S05
screen: Spam-Schutz
typ: Settings
umsetzung: Bauen
status: Validiert
route: "/admin/lead-anti-spam (Einstellungen -> Arbeitsweise)"
subframe: ""
---
# S05 — Spam-Schutz
## Ziel
Spam automatisch abfangen, ohne echte Anfragen zu verlieren — alles in Klartext einstellbar.
## Was das Tool können muss
- **Limits**: max. Anfragen pro Quelle/Stunde und pro IP/Stunde
- **Anomalie-Erkennung**: 10-facher Anstieg → Quelle pausiert automatisch (mit Benachrichtigung)
- **Auto-Spam-Regeln als Schalter**: IP-Sperrliste · Wegwerf-E-Mail-Domains · Honeypot-Feld · Absenden unter 3 Sekunden
- **Modus**: Quarantäne (landet markiert in der Inbox) vs. vollständig Spam (ausgeblendet)
- Auto-Lösch-Frist für verlorene Anfragen (0 = nie); Spam fix 30 Tage
## Pattern / Archetyp
A6 Settings mit Toggle-Zeilen (je Regel Klartext-Beschreibung).
## Zustände
| Zustand | Beschreibung | Umsetzung |
|---|---|---|
| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden |
## Subframe
- (erst nach explizitem OK)
@@ -0,0 +1,43 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: V01
screen: Abarbeiten-Modus
subframe_name: "V01 Abarbeiten-Modus"
subframe_page_id: "f2451766-d918-49b2-8c77-913e4817d31a"
typ: Arbeitsmodus / Overlay
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/f2451766-d918-49b2-8c77-913e4817d31a/edit"
source_checked: 2026-08-20
---
# V01 — Abarbeiten-Modus
## Ziel und Rolle im Flow
Sequenzieller Bearbeitungsmodus aus [[S01 Arbeitsliste]]. Die Leiste zeigt Fortschritt und Aktionen für den aktuell geöffneten Lead.
## Sichtbarer Aufbau
- Moduslabel `Abarbeiten`.
- Fortschritt `3 / 12` plus Fortschrittsbalken.
- `Überspringen`.
- `Erledigt` mit Weiter-Pfeil.
- Schließen.
## Finale Handoff-Logik
Die gebaute Subframe-Seite enthält nur die obere Leiste. Development legt V01 über den aktiven [[S03 Lead-Record|Lead-Record]]; `Erledigt` und `Überspringen` wechseln jeweils zum nächsten Lead der aktuellen gefilterten Arbeitsliste.
## Verwendete Komponenten
`Button`, `IconButton`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/f2451766-d918-49b2-8c77-913e4817d31a/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,40 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: V02
screen: Dialer Tastenfeld
subframe_name: "V02 Dialer Tastenfeld"
subframe_page_id: "8960b4b1-cecb-4050-a322-2e8e0b30f0ad"
typ: Dialer-Variante
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/8960b4b1-cecb-4050-a322-2e8e0b30f0ad/edit"
source_checked: 2026-08-20
---
# V02 — Dialer Tastenfeld
## Ziel und Rolle im Flow
Tastenfeld-Variante von [[M06 Dialer]] für DTMF- oder abweichende Nummerneingabe.
## Sichtbarer Zustand
- Kontakt- und Anrufkopf bleiben erhalten.
- Reiter Tastenfeld ist aktiv.
- Eingabeanzeige `Nummer eingeben`.
- Ziffern 0–9 mit Buchstaben, Stern und Raute.
- Löschen und Übernehmen.
- Untere Aktion `Protokollieren & abschließen` bleibt sichtbar.
## Verwendete Komponenten
`Button`; schwebendes Panel ohne Dialogstruktur.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/8960b4b1-cecb-4050-a322-2e8e0b30f0ad/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,39 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: V03
screen: Dialer Im Gespraech
subframe_name: "V03 Dialer Im Gespraech"
subframe_page_id: "b81072df-5ffd-45b9-959e-166a830807e6"
typ: Dialer-Variante · aktiver Anruf
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/b81072df-5ffd-45b9-959e-166a830807e6/edit"
source_checked: 2026-08-20
---
# V03 — Dialer im Gespräch
## Ziel und Rolle im Flow
Aktiver Gesprächszustand nach `Anrufen` in [[M06 Dialer]].
## Sichtbarer Zustand
- Status `Im Gespräch` und laufende Dauer, im Beispiel 02:14.
- Auflegen und Stummschalten.
- Tastenfeld- und Notiz-Reiter bleiben erreichbar.
- Gesprächsnotiz, Ergebnis und Stimmung können während des Gesprächs gepflegt werden.
- `Protokollieren & abschließen` bleibt als Abschlussaktion sichtbar.
## Verwendete Komponenten
`Button`, `Select`; schwebendes Panel ohne Dialogstruktur.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/b81072df-5ffd-45b9-959e-166a830807e6/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,40 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: V05
screen: Dialer kompakt
subframe_name: "V05 Dialer kompakt"
subframe_page_id: "b9ea58a5-7e98-435f-8a5b-e696cbc2709b"
typ: Dialer-Variante · kompakt
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/b9ea58a5-7e98-435f-8a5b-e696cbc2709b/edit"
source_checked: 2026-08-20
---
# V05 — Dialer kompakt
## Ziel und Rolle im Flow
Minimierte Variante von [[M06 Dialer]], damit der Nutzer im übrigen Lead-Kontext weiterarbeiten kann.
## Sichtbarer Zustand
- Titel `Anruf · Thomas Klein`.
- Einstellungen, Maximieren und Schließen.
- Ausgehende Nummer, Kontakt, Mobil-Badge, Rufnummer, Beziehung und Ort.
- Primäraktion `Anrufen`.
Notiz, Ergebnis und Protokollierung werden im kompakten Zustand ausgeblendet und kehren beim Maximieren zurück.
## Verwendete Komponenten
`Button`; schwebendes Panel ohne Dialogstruktur.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/b9ea58a5-7e98-435f-8a5b-e696cbc2709b/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,36 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: V06
screen: E-Mail minimiert
subframe_name: "V06 E-Mail minimiert"
subframe_page_id: "25f763a3-8146-4330-97a5-394510ac0b17"
typ: E-Mail-Composer · minimiert
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/25f763a3-8146-4330-97a5-394510ac0b17/edit"
source_checked: 2026-08-20
---
# V06 — E-Mail minimiert
## Ziel und Rolle im Flow
Minimiert [[M07 E-Mail schreiben]], ohne den Entwurf zu schließen.
## Sichtbarer Zustand
- Titel und Leadbezug.
- Empfängeradresse.
- Betreff beziehungsweise `(Kein Betreff)`.
- Maximieren und Schließen.
Editor, Anhänge und Versandaktionen sind im minimierten Zustand verborgen.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/25f763a3-8146-4330-97a5-394510ac0b17/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,38 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: V07
screen: E-Mail Vollbild
subframe_name: "V07 E-Mail Vollbild"
subframe_page_id: "20deb403-a0a8-48aa-944b-65a7c464fa7b"
typ: E-Mail-Composer · Vollbild
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/20deb403-a0a8-48aa-944b-65a7c464fa7b/edit"
source_checked: 2026-08-20
---
# V07 — E-Mail Vollbild
## Ziel und Rolle im Flow
Vollbildvariante von [[M07 E-Mail schreiben]] für längere E-Mails und konzentriertes Arbeiten.
## Sichtbarer Zustand
- Gleiche Adressierung, Editorwerkzeuge, Anhang, Vorlagen und Versandoptionen wie M07.
- Breite Schreibfläche über fast die gesamte Seite.
- Entwurfsstatus bleibt sichtbar.
- Minimieren, auf die normale Größe zurückkehren und Schließen.
## Verwendete Komponenten
`Button`, `DropdownMenuSelect`, `IconButton`; Vollbild-Composer ohne Dialogstruktur.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/20deb403-a0a8-48aa-944b-65a7c464fa7b/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -0,0 +1,46 @@
---
kind: screen
project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
id: V08
screen: Verwerfen bestaetigen
subframe_name: "V08 Verwerfen bestaetigen"
subframe_page_id: "ecc9c8b6-ab3a-4dc3-82d2-6f98f2829344"
typ: Destruktiver Bestätigungsdialog
umsetzung: Bauen
status: Fertig / Development-Handoff
route: ""
subframe: "https://app.subframe.com/f023064a5ca0/design/ecc9c8b6-ab3a-4dc3-82d2-6f98f2829344/edit"
source_checked: 2026-08-20
---
# V08 — Verwerfen bestätigen
## Ziel und Rolle im Flow
Bestätigt das irreversible Entfernen eines Leads aus [[S02 Eingang Karten|dem Eingang]].
## Copy
- Titel `Lead wirklich verwerfen?`.
- Der Lead wird aus dem Eingang entfernt und landet nicht in der Arbeitsliste.
- Die Aktion kann laut Screen nicht rückgängig gemacht werden.
## Aktionen
- Schließen oder Abbrechen.
- Destruktiv `Verwerfen`.
## Development-Hinweis
Für den finalen UI-Handoff entfernt `Verwerfen` den Lead irreversibel aus dem Eingang und führt nicht in die Arbeitsliste. Die technische Speicherung bzw. gesetzliche Aufbewahrung kann intern über Status/Soft-Delete erfolgen, darf die im Screen kommunizierte Nutzerwirkung aber nicht widersprechen.
## Verwendete Komponenten
`Button`, `Dialog`, `IconButton`, `IconWithBackground`, `DialogLayout`; echte Struktur `DialogLayout` → `Dialog.Content`.
## Subframe
- [Screen direkt öffnen](https://app.subframe.com/f023064a5ca0/design/ecc9c8b6-ab3a-4dc3-82d2-6f98f2829344/edit)
- [P7-Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
@@ -1,38 +1,72 @@
{
"nodes":[
{"id":"md-paket","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.md","x":-80,"y":-440,"width":460,"height":280},
{"id":"group-triage","type":"group","x":-80,"y":-100,"width":1820,"height":380,"label":"Triage"},
{"id":"group-stats","type":"group","x":1880,"y":-100,"width":540,"height":380,"label":"Auswertung"},
{"id":"group-aktionen","type":"group","x":-80,"y":460,"width":1780,"height":380,"label":"Konvertieren, Anlegen, Import"},
{"id":"group-settings","type":"group","x":1880,"y":460,"width":1080,"height":380,"label":"Einstellungen → Arbeitsweise"},
{"id":"note-entry","type":"text","text":"# Einstieg\n\nSidebar → Leads (`/leads`).\n\nAlle Quellen landen hier automatisch: Formular, E-Mail, Anruf, Webhook, manuell.","x":0,"y":0,"width":360,"height":200},
{"id":"s01","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S01 Lead-Inbox.md","x":560,"y":0,"width":420,"height":200},
{"id":"s02","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S02 Lead-Detail.md","x":1240,"y":0,"width":420,"height":200},
{"id":"s03","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S03 Lead-Statistiken.md","x":1920,"y":0,"width":420,"height":200},
{"id":"m02","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M02 Anfrage anlegen.md","x":40,"y":560,"width":420,"height":200},
{"id":"m01","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M01 Lead zu Projekt.md","x":620,"y":560,"width":420,"height":200},
{"id":"m03","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M03 CSV-Import.md","x":1200,"y":560,"width":420,"height":200},
{"id":"s04","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S04 Quellen-Verwaltung.md","x":1920,"y":560,"width":420,"height":200},
{"id":"s05","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S05 Spam-Schutz.md","x":2500,"y":560,"width":420,"height":200}
],
"edges":[
{
"id":"e-entry",
"fromNode":"note-entry",
"fromSide":"right",
"toNode":"s01",
"toSide":"left",
"toEnd":"arrow",
"styleAttributes":{"path":"dotted"}
},
{"id":"e-open","fromNode":"s01","fromSide":"right","toNode":"s02","toSide":"left","toEnd":"arrow","label":"Anfrage öffnen"},
{"id":"e-stats","fromNode":"s01","fromSide":"top","toNode":"s03","toSide":"top","toEnd":"arrow","label":"Statistiken · Drill-Down zurück in gefilterte Inbox"},
{"id":"e-convert","fromNode":"s02","fromSide":"bottom","toNode":"m01","toSide":"top","toEnd":"arrow","label":"Zu Projekt (Freigabe = ja; aus S01 auch als Bulk)"},
{"id":"e-new","fromNode":"s01","fromSide":"bottom","toNode":"m02","toSide":"top","toEnd":"arrow","label":"+ Anfrage"},
{"id":"e-import","fromNode":"s01","fromSide":"bottom","toNode":"m03","toSide":"top","toEnd":"arrow","label":"Importieren (CSV)"}
],
"metadata":{
"version":"1.0-1.0",
"frontmatter":{}
}
}
"nodes": [
{"id":"a100000000000001","type":"group","x":0,"y":0,"width":2300,"height":1600,"color":"4","label":"1 · Eingang, Arbeitsliste und Lead-Record"},
{"id":"a100000000000002","type":"group","x":2400,"y":0,"width":2200,"height":1600,"color":"5","label":"2 · Anlage, Konversion und Record-Aktionen"},
{"id":"a100000000000003","type":"group","x":0,"y":1800,"width":2300,"height":820,"color":"6","label":"3 · Telefon"},
{"id":"a100000000000004","type":"group","x":2400,"y":1800,"width":2200,"height":820,"color":"6","label":"4 · E-Mail"},
{"id":"a100000000000005","type":"group","x":4800,"y":0,"width":1120,"height":1600,"color":"3","label":"5 · Dokumentierte Development-Folgethemen"},
{"id":"b100000000000001","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.md","x":0,"y":-520,"width":420,"height":260},
{"id":"b100000000000002","type":"text","text":"# Fertig / Development-Handoff\n\n**Finaler Abgleich:** 2026-08-20 · 20/20 Seiten inklusive JSX gelesen; alle zuletzt geänderten Hauptseiten und Dialogvarianten gerendert. S01 besitzt eine neue UUID.\n\n**Kanten:** sichtbare Controls plus final dokumentierte Handoff-Logik. Die exportierten `onClick`-Handler bleiben technisch leer.\n\n**Farben:** Grün = Hauptfluss · Cyan = Record/Aktionen · Violett = Kommunikation · Gelb = Folgethemen.","x":520,"y":-520,"width":1000,"height":300},
{"id":"b100000000000003","type":"text","text":"# Finaler UI-Stand\n\nSubframe zeigt **Lead → Deal** auf dem festen Vertriebsboard; das ist der geltende P7-Screen-Handoff. Frühere Anforderungen zu Projekt-Konversion, Freigabe, Zielwahl, Anti-Spam, Statistik und Quellenverwaltung bleiben dokumentierte Folgethemen.\n\nDetails und QA-Hinweise stehen im Paket-MD, Abschnitt 6. Subframe wurde nicht verändert.","x":1620,"y":-520,"width":980,"height":300,"color":"1"},
{"id":"b100000000000004","type":"text","text":"# Einstieg\n\nNavigation **Leads**.\n\nNeue Anfragen starten im Eingang. **Übernehmen** weist der handelnden Person zu, **Zuweisen** einer gewählten Person; beide führen in die priorisierte Arbeitsliste.","x":80,"y":160,"width":400,"height":220},
{"id":"b100000000000005","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S02 Eingang Karten.md","x":560,"y":160,"width":420,"height":220},
{"id":"b100000000000006","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S02 Eingang Liste.md","x":560,"y":540,"width":420,"height":220},
{"id":"b100000000000007","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S01 Arbeitsliste.md","x":1200,"y":160,"width":420,"height":220},
{"id":"b100000000000008","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/S03 Lead-Record.md","x":1700,"y":540,"width":440,"height":240},
{"id":"b100000000000009","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V01 Abarbeiten-Modus.md","x":1200,"y":920,"width":420,"height":220,"color":"3"},
{"id":"b10000000000000a","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M05 Ansicht speichern.md","x":560,"y":920,"width":420,"height":220,"color":"6"},
{"id":"b10000000000000b","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V08 Verwerfen bestaetigen.md","x":1700,"y":920,"width":420,"height":220,"color":"1"},
{"id":"b10000000000000c","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M02 Lead anlegen.md","x":2500,"y":160,"width":420,"height":220,"color":"6"},
{"id":"b10000000000000d","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M02 Lead anlegen Kontakt verknuepfen.md","x":3100,"y":160,"width":420,"height":220,"color":"6"},
{"id":"b10000000000000e","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M03 Dubletten-Pruefung.md","x":3740,"y":160,"width":420,"height":220,"color":"6"},
{"id":"b10000000000000f","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M01 Konversion.md","x":2500,"y":560,"width":420,"height":220,"color":"6"},
{"id":"b100000000000010","type":"text","text":"# Finales Outcome\n\nM01 legt einen **Deal auf dem Vertriebsboard** an. Das ist der geltende P7-Screen-Handoff.\n\nDie ältere Projekt-Konversion aus AD-20 / D-P7 / R-P7 bleibt ein separates Vertragsdelta.","x":3100,"y":560,"width":420,"height":220,"color":"1"},
{"id":"b100000000000011","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M04 Naechste Aktion.md","x":2500,"y":920,"width":420,"height":220,"color":"6"},
{"id":"b100000000000012","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M08 Ansprechpartner hinzufuegen.md","x":3100,"y":920,"width":420,"height":220,"color":"6"},
{"id":"b100000000000013","type":"text","text":"# Record-Abhängigkeiten\n\nS03 öffnet Konversion, nächste Aktion, Dialer, E-Mail und Ansprechpartner.\n\nM08 berührt P6 Kontakte & Organisationen. WhatsApp und Datei besitzen im aktuellen P7-Flow keine eigene Seite.","x":3740,"y":920,"width":420,"height":260},
{"id":"b100000000000014","type":"text","text":"# Einstieg Telefon\n\nS03 Lead-Record → **Anrufen**.\n\nAnrufzustände bleiben als schwebendes Panel im Arbeitskontext.","x":80,"y":1960,"width":360,"height":200},
{"id":"b100000000000015","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M06 Dialer.md","x":520,"y":1960,"width":400,"height":220,"color":"6"},
{"id":"b100000000000016","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V02 Dialer Tastenfeld.md","x":1040,"y":1960,"width":400,"height":220,"color":"3"},
{"id":"b100000000000017","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V03 Dialer Im Gespraech.md","x":1560,"y":1960,"width":400,"height":220,"color":"3"},
{"id":"b100000000000018","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V05 Dialer kompakt.md","x":1040,"y":2280,"width":400,"height":220,"color":"3"},
{"id":"b100000000000019","type":"text","text":"# Einstieg E-Mail\n\nS03 Lead-Record → **Mail**.\n\nDer Composer bleibt schwebend, kann minimiert oder auf Vollbild erweitert werden.","x":2480,"y":1960,"width":360,"height":200},
{"id":"b10000000000001a","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/M07 E-Mail schreiben.md","x":2940,"y":1960,"width":400,"height":220,"color":"6"},
{"id":"b10000000000001b","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V06 E-Mail minimiert.md","x":3460,"y":1960,"width":400,"height":220,"color":"3"},
{"id":"b10000000000001c","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Screens/V07 E-Mail Vollbild.md","x":3980,"y":1960,"width":400,"height":220,"color":"3"},
{"id":"b10000000000001d","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/README.md","x":4900,"y":160,"width":420,"height":220,"color":"3"},
{"id":"b10000000000001e","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Lead-Statistiken.md","x":5420,"y":160,"width":400,"height":200,"color":"3"},
{"id":"b10000000000001f","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Quellen-Verwaltung.md","x":4900,"y":520,"width":400,"height":200,"color":"3"},
{"id":"b100000000000020","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Spam-Schutz.md","x":5420,"y":520,"width":400,"height":200,"color":"3"},
{"id":"b100000000000021","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/CSV-Import-Wizard.md","x":4900,"y":880,"width":400,"height":200,"color":"3"},
{"id":"b100000000000022","type":"text","text":"# Nicht Teil des finalen P7-UI-Flows\n\nStatistik, Quellen, Anti-Spam und CSV besitzen keine Seite. Der ältere Produktvertrag weicht bei Zielmodell und Pflichtdaten von M01 ab.\n\nDiese Punkte blockieren den Screen-Handoff nicht und bleiben als separate Development-/Produkt-Folgethemen erhalten.","x":4900,"y":1240,"width":920,"height":260,"color":"1"},
{"id":"b100000000000023","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/Backlog/Produktvertrag-Deltas.md","x":5420,"y":880,"width":400,"height":200,"color":"1"}
],
"edges": [
{"id":"c100000000000001","fromNode":"b100000000000004","fromSide":"right","toNode":"b100000000000005","toSide":"left","toEnd":"arrow","label":"Eingang"},
{"id":"c100000000000002","fromNode":"b100000000000005","fromSide":"bottom","fromEnd":"arrow","toNode":"b100000000000006","toSide":"top","toEnd":"arrow","label":"Darstellungsvariante"},
{"id":"c100000000000003","fromNode":"b100000000000005","fromSide":"right","toNode":"b100000000000007","toSide":"left","toEnd":"arrow","label":"Übernehmen / Zuweisen"},
{"id":"c100000000000004","fromNode":"b100000000000006","fromSide":"right","toNode":"b100000000000008","toSide":"left","toEnd":"arrow","label":"Öffnen"},
{"id":"c100000000000005","fromNode":"b100000000000007","fromSide":"bottom","toNode":"b100000000000008","toSide":"top","toEnd":"arrow","label":"Lead öffnen"},
{"id":"c100000000000006","fromNode":"b100000000000007","fromSide":"bottom","toNode":"b100000000000009","toSide":"top","toEnd":"arrow","label":"Abarbeiten"},
{"id":"c100000000000007","fromNode":"b100000000000005","fromSide":"bottom","toNode":"b10000000000000a","toSide":"top","toEnd":"arrow","label":"Preset speichern"},
{"id":"c100000000000008","fromNode":"b100000000000006","fromSide":"right","toNode":"b10000000000000b","toSide":"left","toEnd":"arrow","label":"Verwerfen"},
{"id":"c100000000000009","fromNode":"b100000000000007","fromSide":"right","toNode":"b10000000000000c","toSide":"left","toEnd":"arrow","label":"Lead anlegen"},
{"id":"c10000000000000a","fromNode":"b10000000000000c","fromSide":"right","toNode":"b10000000000000d","toSide":"left","toEnd":"arrow","label":"Kontakt verknüpfen"},
{"id":"c10000000000000b","fromNode":"b10000000000000d","fromSide":"right","toNode":"b10000000000000e","toSide":"left","toEnd":"arrow","label":"gleiche Telefonnummer"},
{"id":"c10000000000000c","fromNode":"b100000000000008","fromSide":"right","toNode":"b10000000000000f","toSide":"left","toEnd":"arrow","label":"Qualifiziert zu Deal"},
{"id":"c10000000000000d","fromNode":"b10000000000000f","fromSide":"right","toNode":"b100000000000010","toSide":"left","toEnd":"arrow","label":"In Deal umwandeln"},
{"id":"c10000000000000e","fromNode":"b100000000000008","fromSide":"bottom","toNode":"b100000000000011","toSide":"left","toEnd":"arrow","label":"Task / Reminder"},
{"id":"c10000000000000f","fromNode":"b100000000000008","fromSide":"bottom","toNode":"b100000000000012","toSide":"left","toEnd":"arrow","label":"Ansprechpartner +"},
{"id":"c100000000000010","fromNode":"b100000000000014","fromSide":"right","toNode":"b100000000000015","toSide":"left","toEnd":"arrow","label":"Anrufen"},
{"id":"c100000000000011","fromNode":"b100000000000015","fromSide":"right","toNode":"b100000000000016","toSide":"left","toEnd":"arrow","label":"Tastenfeld"},
{"id":"c100000000000012","fromNode":"b100000000000015","fromSide":"right","toNode":"b100000000000017","toSide":"left","toEnd":"arrow","label":"Anrufen"},
{"id":"c100000000000013","fromNode":"b100000000000015","fromSide":"bottom","toNode":"b100000000000018","toSide":"left","toEnd":"arrow","label":"minimieren"},
{"id":"c100000000000014","fromNode":"b100000000000019","fromSide":"right","toNode":"b10000000000001a","toSide":"left","toEnd":"arrow","label":"Mail"},
{"id":"c100000000000015","fromNode":"b10000000000001a","fromSide":"right","toNode":"b10000000000001b","toSide":"left","toEnd":"arrow","label":"minimieren"},
{"id":"c100000000000016","fromNode":"b10000000000001a","fromSide":"right","toNode":"b10000000000001c","toSide":"left","toEnd":"arrow","label":"Vollbild"}
],
"metadata": {
"version": "1.0-1.0",
"frontmatter": {}
}
}
+199 -105
View File
@@ -4,135 +4,229 @@ project: HiveGrid Screen Project
ticket: D-P7
package: WF-P7 Leads
typ: Flow
status: Validiert
subframe: ""
status: Fertig / Development-Handoff
subframe: "https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit"
canvas: "WF-P7 Leads.canvas"
source_checked: 2026-08-20
---
# WF-P7 Leads
Status: Validiert (Screen-Liste)
Subframe-Link: -
Canvas: [Canvas](<WF-P7 Leads.canvas>)
Stand: 2026-07-08
Status: **Fertig / Development-Handoff** · finaler Subframe-Stand vollständig abgeglichen
Subframe: [Flow öffnen](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
Canvas: [Canvas öffnen](<WF-P7 Leads.canvas>)
Ticket: [D-P7 Leads](<../../../Tickets/Fertige Tickets/D-P7 Leads.md>)
Stand: 2026-08-20
---
## 1. Kurzfassung
## 1. Verbindliche Quelle
Der Lead-Eingang: Anfragen aus allen Quellen (Formular, E-Mail, Anruf, manuell, Webhook) landen automatisch in einer Triage-Liste. Dort wird sortiert, zugewiesen — und im Kern-Moment **»Zu Projekt machen«** startet die Kette Richtung Auftrag. Kontakt wird dabei separat verknüpft (kein altes Promotion-Modal, Pivot AD-20).
Für den aktuellen UI-Stand ist der bestehende Subframe-Flow die Single Source of Truth. Subframe wurde nur gelesen und nicht verändert.
---
## 2. Intent Check
| Frage | Antwort |
| Feld | Wert |
|---|---|
| Welches Ticket/Modul ist betroffen? | D-P7, Dev-Pendant R-P7 |
| Was soll der Nutzer am Ende schaffen? | Keine Anfrage verlieren, Spam loswerden, schnell reagieren, gute Anfragen zu Projekten machen |
| Flow, Screen, Zustand oder Doku? | Triage-Liste + Detail + Konvertier-Modal + Statistiken + 2 Einstellungs-Seiten + Anlege-Modal |
| Welche Planning-Quellen wurden geprüft? | `ticket-docs/D-P7.md`, ENTITY-MODEL (Pivot), SCREEN-MAP §2, HiveGrid Map |
| Was ist sicher im Scope? | Alles oben + Anti-Spam + Webhook-Quellen |
| Was ist sicher nicht im Scope? | Kontakt-/Organisations-Listen (P6), Projekt-Welt (P8), Promotion-Modal (existiert nicht mehr) |
| Admin/Normalrolle-Unterschiede? | `leads.*`; bei `read_own` nur eigene (404); Statistiken-Aufschlüsselung nach Person nur mit `read_all` |
| Unsichere Annahmen? | Massen-Konvertierung (Bulk »Zu Projekt«): UI validiert, technische Machbarkeit mit Dev bestätigen |
| Projekt | `Basedesign` (`f023064a5ca0`) |
| Flow | `WF-P7 LeadListe` |
| Flow-ID | `69f745e5-4a15-4227-b9db-ec08c78fd6d7` |
| Bestand | 20 Subframe-Seiten |
| Abgleich | 2026-08-20 per MCP; nach Davids finalen Änderungen erneut 20/20 Seiten inklusive JSX gelesen, alle geänderten Hauptseiten und Dialogvarianten gerendert |
Die Screen-Namen, UUIDs, sichtbaren Inhalte, Komponenten und gebauten Varianten kommen direkt aus Subframe. Frühere Obsidian-Annahmen gelten nur noch dort, wo der aktuelle Flow sie sichtbar bestätigt. `S01 Arbeitsliste` wurde im finalen Stand neu angelegt und besitzt deshalb die neue UUID `ae41c6ea-d1b0-4656-9a5c-55f64343962a`.
Wichtig für die Flow-Kanten: Die exportierten `onClick`-Handler sind leer. Die Canvas-Verbindungen zeigen deshalb sichtbare Auslöser und naheliegende Beziehungen. Wo das Ergebnis einer Aktion im Screen nicht eindeutig ist, ist es als offen markiert und nicht als bereits verdrahtete Navigation behauptet.
---
## 3. Scope
## 2. Aktuelle Flow-Struktur
| Punkt | Inhalt |
|---|---|
| Ticket/Modul | D-P7 · Lead-Eingang |
| Nutzerrolle | Maximalansicht (Admin) |
| Startpunkt | Sidebar »Leads« |
| Ziel | Anfrage triagiert → Projekt erstellt oder erledigt/Spam |
| Haupt-Archetyp | A2 Triage-Liste · A3 Detail · A5 Modal · A6 Settings · KPI-Kit |
| Bespoke-Anteil | Keiner |
| Out of scope | Kampagnen-/Marketing-Quellen-Details (P14) |
---
## 4. Entscheidungen (validiert 2026-07-08)
| Entscheidung | Status | Notiz |
|---|---|---|
| Ein Paket für das ganze Feature | genommen | inkl. Quellen + Spam-Schutz (leben unter Einstellungen → Arbeitsweise) |
| **Lead → Projekt als großes Modal** | genommen | Drei Sektionen: Daten-Vererbungs-Vorschau · Ziel-Board + Start-Spalte · Kontakt verknüpfen (Auto-Match oder neu via M01 aus P6). Man bleibt im Kontext der Liste |
| **Mehrfachauswahl / Massenbearbeitung** | genommen | Davids Ergänzung: Bulk-Zuweisen/Status/Spam/Archiv UND Massen-Konvertierung (Modal in Bulk-Variante: gemeinsame Board-Wahl, Kontakt-Match je Lead). Machbarkeit Bulk-Convert mit Dev bestätigen |
| Anfrage anlegen als Modal | genommen | Wie »Kontakt anlegen« (P6), mit Live-Duplikat-Check |
| **Inline-Anlegen (Plus → Zeile mit Pflichtfeldern)** | dokumentiert / später | Davids Idee — gemeinsames Muster mit P6 (D01 dort); »muss gut gemacht werden«, erstmal Modal |
| Spam standardmäßig ausgeblendet, Konvertierte ausgeblendet | genommen | Toggle-Chips laut Ticket |
| Pivot-Regel | genommen | Freigabe (ja/nein/unklar) am Lead; bei »ja« → Projekt; Kontakt separat verknüpft; Status new/qualified/converted/lost/spam |
| **CSV-Import-Wizard** | genommen — Davids Delta (2026-07-08) | Ganze Listen importieren: Datei hochladen → Spalten den Lead-Feldern zuordnen → Vorschau mit Fehlern/Duplikaten → Import. Steht NICHT im Dev-Ticket → als Change-Request/Delta an Dev |
### Happy Path
1. Anfrage kommt rein (Formular/Anruf/E-Mail) → erscheint live in der Inbox, ggf. mit Duplikat-/Spam-Marker.
2. Triage direkt in der Zeile: zuweisen, Status, oder Spam.
3. Gute Anfrage öffnen → Detail: Herkunft, Match-Hinweise (»könnte Kontakt X sein«), Freigabe auf »ja«.
4. **»Zu Projekt machen«** → Modal: Vorschau der übernommenen Daten, Board + Start-Spalte wählen, Kontakt verknüpfen (Match oder neu) → Projekt existiert, Lead = konvertiert.
5. Chef schaut in die Statistiken: Woher kommen Anfragen, wie schnell reagieren wir, was wird daraus?
### Meldungs-/Error-States (validiert)
| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz |
|---|---|---|---|---|
| Spam-Verdacht / mögliches Duplikat / auto-promoviert | Marker in der Zeile + Begründung im Detail | nein | Nur dokumentieren | Klartext-Begründung (»3 Anfragen in 1 Min von gleicher IP«) |
| Pflichtdaten fehlen beim Konvertieren (z. B. Name) | Mängel-Banner im Modal | ja (Aktion) | Nur dokumentieren | Felder direkt im Modal nachtragbar |
| DSGVO-Auto-Löschung | Countdown-Hinweis im Detail | nein | Nur dokumentieren | »Wird am [Datum] automatisch gelöscht« (Spam 30 T, lost konfigurierbar) |
| Fremder Lead bei `read_own` | unsichtbar / 404 | ja | Wiederverwenden | Dev-Vorgabe |
| Leere Inbox | Leer-Zustand | nein | Nur dokumentieren | »Keine neuen Anfragen« |
---
## 7. Validierte Screen-Liste
| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status |
|---|---|---|---|---|---|
| S01 | Lead-Inbox (Triage-Liste) | Liste | Bauen | `/leads` | Validiert |
| S02 | Lead-Detail | Detail | Bauen | `/leads/:id` | Validiert |
| M01 | Lead → Projekt ⭐ | Modal (groß, + Bulk-Variante) | Bauen | aus S01/S02 | Validiert |
| S03 | Lead-Statistiken | KPI-Seite | Bauen | `/leads/statistics` | Validiert |
| S04 | Quellen-Verwaltung | Settings-Liste | Bauen | `/admin/lead-sources` | Validiert |
| S05 | Spam-Schutz | Settings | Bauen | `/admin/lead-anti-spam` | Validiert |
| M02 | Anfrage anlegen | Modal | Bauen | aus S01 | Validiert |
| M03 | CSV-Import-Wizard | Modal/Wizard | Bauen | aus S01 | Validiert (Davids Delta) |
| D01 | Inline-Anlegen (Plus → Zeile) | Idee | Später | in S01 | Dokumentiert (gemeinsam mit P6) |
| D02–D06 | Marker/Banner/Zustände (s. Tabelle) | Inline | Nur dokumentieren | — | Validiert |
---
## 8. Grid
### Eingang, Arbeitsliste und Lead-Record
```text
Sidebar -> S01 (Inbox) -> S02 (Detail)
S01/S02 -> M01 (Lead -> Projekt; aus S01 auch als Bulk)
S01 -> M02 (+ Anfrage) / M03 (CSV-Import)
S01 -> S03 (Statistiken; Drill-Down zurueck in gefilterte Inbox)
Einstellungen -> S04 (Quellen) / S05 (Spam-Schutz)
M01 nutzt M01 aus P6 (Kontakt anlegen) fuer neue Kontakte
S02 Eingang Karten <-> S02 Eingang Liste
| Übernehmen / Zuweisen
v
S01 Arbeitsliste -> S03 Lead-Record -> M01 Konversion -> Deal im Vertriebsboard
| |
v +-> M04 Nächste Aktion
V01 Abarbeiten-Modus +-> M06 Dialer -> V02 / V03 / V05
+-> M07 E-Mail -> V06 / V07
+-> M08 Ansprechpartner hinzufügen
```
---
- **Eingang** ist die Triage für neue, noch nicht übernommene Anfragen. Karten- und Listenansicht zeigen dieselben drei Beispieldatensätze mit Filtern, Zuweisungsvorschlägen, Mehrfachauswahl und Verwerfen. Für den Handoff gilt: `Übernehmen` weist den Lead der handelnden Person zu, `Zuweisen` einer gewählten Person; beide führen in die Arbeitsliste.
- **Arbeitsliste** priorisiert bereits aktive Leads nach Fälligkeit bzw. Handlungsbedarf. Gruppierungen sind Fälligkeit, Zuständig, Anfragenart, Kundentyp oder keine Gruppierung.
- **Lead-Record** ist die zentrale Bearbeitungsseite mit Kontaktdaten, nächster Aktion, Kommunikationsverlauf, Lead-Details und Ansprechpartnern.
- **Abarbeiten-Modus** ist im aktuellen Subframe-Bestand als schmale Fortschrittsleiste gebaut; die darunterliegende Lead-Ansicht ist in dieser Seite nicht enthalten.
## 9. Screen-Pakete
### Anlage, Dubletten und Verwerfen
- [[S01 Lead-Inbox]] · [[S02 Lead-Detail]] · [[M01 Lead zu Projekt]]
- [[S03 Lead-Statistiken]] · [[M02 Anfrage anlegen]] · [[M03 CSV-Import]]
- [[S04 Quellen-Verwaltung]] · [[S05 Spam-Schutz]]
```text
S01/S02 -> M02 Lead anlegen
| Ansprechpartner neu / bestehenden verknüpfen
+-> M02 Lead anlegen Kontakt verknüpfen
+-> M03 Dubletten-Prüfung
S02 -> V08 Verwerfen bestätigen
S02 -> M05 Ansicht speichern
```
- M02 unterscheidet Privatperson und Firma und verlangt laut Copy mindestens einen Kontaktweg.
- Die Kontakt-Verknüpfungsvariante sucht bestehende Kontakte direkt im Anlage-Dialog.
- M03 vergleicht neuen und bestehenden Datensatz bei gleicher Telefonnummer und bietet getrenntes Anlegen oder Zusammenführen.
- V08 ist eine irreversible Verwerfen-Bestätigung für den Eingang.
### Kommunikation
- M07 ist ein schwebender E-Mail-Composer mit Empfänger, Cc/Bcc, Betreff, Rich-Text-Werkzeugen, Anhang, Vorlagen, Entwurfsstatus und geplantem Versand.
- V06 und V07 zeigen denselben Composer minimiert bzw. im Vollbild.
- M06 ist ein schwebender Dialer mit Rufnummer, Notiz, Gesprächsergebnis, Stimmung und Protokollierung am Lead.
- V02, V03 und V05 zeigen Tastenfeld, aktives Gespräch und kompakte Ansicht.
---
## 10. Offene Fragen
## 3. Vollständiger Subframe-Bestand
- Massen-Konvertierung (Bulk »Zu Projekt«): technische Machbarkeit + Verhalten bei fehlenden Kontakt-Matches → Frage an Dev (beim Handoff)
- CSV-Import (M03): Davids Delta, steht nicht im Dev-Ticket → als Change-Request formulieren (Import-Job, Duplikat-Behandlung serverseitig)
- Ziel-Board-Vorauswahl im Konvertier-Modal (z. B. immer »Vertrieb«-Board als Default?) → beim Subframe-Bau
- Statistiken: welche KPI-Kacheln auf Seite 1 → beim Subframe-Bau (Ticket-Liste ist Obermenge)
Die Spalte „Canvas-ID“ löst doppelte Subframe-Präfixe eindeutig auf. Maßgeblich bleiben Subframe-Name und UUID.
## Handoff-Check
| Canvas-ID | Subframe-Seite | Typ / Rolle | Screen-MD | Subframe |
|---|---|---|---|---|
| S01 | S01 Arbeitsliste | priorisierte Arbeitsliste | [MD](<Screens/S01 Arbeitsliste.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/ae41c6ea-d1b0-4656-9a5c-55f64343962a/edit) |
| M05 | M05 Ansicht speichern | Filteransicht speichern | [MD](<Screens/M05 Ansicht speichern.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/c011c64f-df15-42c2-b920-66f0ebea87fd/edit) |
| S03 | S03 Lead-Record | zentrale Lead-Detailansicht | [MD](<Screens/S03 Lead-Record.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/6c173984-ea71-4d85-b53e-ebc397b3c821/edit) |
| V01 | V01 Abarbeiten-Modus | Fortschritts-/Arbeitsmodus | [MD](<Screens/V01 Abarbeiten-Modus.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/f2451766-d918-49b2-8c77-913e4817d31a/edit) |
| M08 | M08 Ansprechpartner hinzufuegen | Kontakt verknüpfen/anlegen | [MD](<Screens/M08 Ansprechpartner hinzufuegen.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/c7949b46-6b91-47ec-b08c-959f686df55b/edit) |
| S02-K | S02 Eingang Karten | Eingang · Kartenansicht | [MD](<Screens/S02 Eingang Karten.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/165bfa17-8792-4616-bfb6-d064bc7352a8/edit) |
| S02-L | S02 Eingang Liste | Eingang · Listenansicht | [MD](<Screens/S02 Eingang Liste.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/24d7b73c-39f4-4c74-adf4-8493861adb68/edit) |
| M01 | M01 Konversion | Lead in Deal umwandeln | [MD](<Screens/M01 Konversion.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/1609485c-d315-4cdf-8e41-ad1dfb0b2691/edit) |
| M02 | M02 Lead anlegen | Lead-Anlage | [MD](<Screens/M02 Lead anlegen.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/14a837e3-c2f7-4289-9ae4-d9427935e74f/edit) |
| M02-K | M02 Lead anlegen Kontakt verknuepfen | Anlage · bestehender Kontakt | [MD](<Screens/M02 Lead anlegen Kontakt verknuepfen.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/75858347-70f9-4233-99f6-e72f0852ccab/edit) |
| M07 | M07 E-Mail schreiben | schwebender E-Mail-Composer | [MD](<Screens/M07 E-Mail schreiben.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/9a4d7a13-73e3-412d-8beb-0c6dfcc7617c/edit) |
| V06 | V06 E-Mail minimiert | Composer · minimiert | [MD](<Screens/V06 E-Mail minimiert.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/25f763a3-8146-4330-97a5-394510ac0b17/edit) |
| V07 | V07 E-Mail Vollbild | Composer · Vollbild | [MD](<Screens/V07 E-Mail Vollbild.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/20deb403-a0a8-48aa-944b-65a7c464fa7b/edit) |
| M03 | M03 Dubletten-Pruefung | Dublettenentscheidung | [MD](<Screens/M03 Dubletten-Pruefung.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/36fb8b6a-bced-44a3-b8bd-76ae3ecf7cdd/edit) |
| V08 | V08 Verwerfen bestaetigen | irreversible Bestätigung | [MD](<Screens/V08 Verwerfen bestaetigen.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/ecc9c8b6-ab3a-4dc3-82d2-6f98f2829344/edit) |
| M04 | M04 Naechste Aktion | Reminder/Aufgabe setzen | [MD](<Screens/M04 Naechste Aktion.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/9b3a7954-384f-42ed-9b04-934f30adbc0f/edit) |
| M06 | M06 Dialer | Dialer · Ausgangszustand | [MD](<Screens/M06 Dialer.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/dcd35b81-dce7-4257-be0d-8755adeffe8b/edit) |
| V02 | V02 Dialer Tastenfeld | Dialer · Tastenfeld | [MD](<Screens/V02 Dialer Tastenfeld.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/8960b4b1-cecb-4050-a322-2e8e0b30f0ad/edit) |
| V03 | V03 Dialer Im Gespraech | Dialer · aktives Gespräch | [MD](<Screens/V03 Dialer Im Gespraech.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/b81072df-5ffd-45b9-959e-166a830807e6/edit) |
| V05 | V05 Dialer kompakt | Dialer · kompakt | [MD](<Screens/V05 Dialer kompakt.md>) | [Subframe](https://app.subframe.com/f023064a5ca0/design/b9ea58a5-7e98-435f-8a5b-e696cbc2709b/edit) |
- [x] Jeder Screen ist mit Umsetzung markiert.
- [x] Meldungs-/Error-State-Matrix ist ausgefüllt.
- [ ] Subframe-Link ist eingetragen. *(Subframe erst nach explizitem OK)*
---
## 4. Fachlicher Stand aus dem aktuellen JSX
### Eingang
- Karten- und Listenansicht tragen denselben Titel und dieselbe Erklärung: neue Anfragen werden zuerst gesichtet und zugeteilt, bevor sie in die Arbeitsliste wandern.
- Filter/Preset-Inhalte: Freitext, Dringlichkeit, Anfragenart, Region und Kanal; zusätzliche Filter für Status, Tags, Verantwortlich, Zeitraum, Priorität und Erstellt am; Presets Heute, Diese Woche, Alle offenen und Meine Projekte.
- Sichtbare Lead-Daten: Priorität, Name, Kurzbeschreibung, Kanal, potenzieller Wert, Region, Telefonnummer, Anfragenart, Eingangszeit und vorgeschlagene zuständige Person.
- Einzelaktionen: Übernehmen, Zuweisen, Öffnen und Verwerfen. Mehrfachaktionen: Löschen, Übernehmen und Zuweisen.
### Arbeitsliste
- FilterBar mit Freitext und aktiven Chips für Status, Tags, Verantwortlich und Zeitraum; Presets Heute, Diese Woche, Alle offenen und Meine Projekte.
- Spalten: Lead, Anfragenart, Priorität, Nächste Aktion, Zuständig und Wert.
- Gruppierungen: Fälligkeit, Zuständig, Anfragenart, Kundentyp oder keine.
- Gebaute Fälligkeitsgruppen: Überfällig, Neu · unbearbeitet, Rückruf zugesagt, Heute fällig und Droht kalt zu werden.
- Zeilen zeigen Name/Firma, Kurzbeschreibung, Anfragenart, vierstufige Prioritätsanzeige samt Badge, nächste Aktion/Fälligkeit, Avatar/Owner und potenziellen Wert.
### Lead-Record
- Kopf: Breadcrumb Leads → Lead, Initialen, Name, Statusbadge, Hinweis `zeitkritisch`, Kundentyp/Ort, Anfragenart und `Qualifiziert zu Deal`.
- Schnellaktionen: Anrufen, WhatsApp, Mail, Task und Datei.
- Linke Spalte: Ansprechpartner, Beziehung, Telefon, E-Mail, Straße, Hausnummer, PLZ, Ort und Region; darunter Kommunikationsstatistik.
- Mitte: Anstehende Aufgabe/Reminder, Inline-Erfassung für Notiz/E-Mail/Anruf/WhatsApp und chronologischer Verlauf.
- Rechte Spalte: Status, Owner, potenzieller Wert, Priorität, Quelle, nächste Aktion, Engagement, Erfasst, Tags und Ansprechpartner.
- Verlaufseinträge besitzen Bearbeiten/Löschen-Menüs. Tags und viele Stammdaten sind als direkt bearbeitbare Felder angelegt.
### Konversion
- M01 wandelt den Lead in einen `Deal` auf dem Vertriebsboard um.
- Sichtbares verlustfreies Mapping: Ansprechpartner, Telefon/E-Mail, Quelle, Projekttyp, potenzieller Wert, Owner sowie Verlauf/Notizen → Deal-Timeline.
- Kontaktübernahme ist per Checkbox wählbar. Ziel-Board und Startstatus sind im aktuellen Dialog nicht auswählbar.
### Anlage und Dubletten
- M02 enthält Privatperson/Firma, Projektname, Firmenname, Telefon, E-Mail, Ansprechpartner, Quelle, Projekttyp, Priorität und Tags.
- Die Firma-Variante bietet Ansprechpartner neu anlegen oder bestehenden Kontakt suchen/verknüpfen.
- M03 vergleicht bei identischer Telefonnummer Name, Telefon, Quelle und Anliegen; Entscheidungen sind getrennt anlegen oder zusammenführen.
### Nächste Aktion, E-Mail und Telefon
- M04 setzt Aufgabe, optionale Notiz, Datum und Uhrzeit; der Reminder erscheint in `Anstehend`.
- E-Mail: Empfänger, Cc/Bcc, Betreff, Rich-Text-Toolbar, Variablen/Einfügewerkzeuge, Anhang, Vorlagen, Sofort- oder Zeitversand, Entwurfsstatus und Löschen.
- Dialer: Kontakt und Rufnummer, ausgehende Nummer, Tastenfeld, Gesprächsnotiz, Ergebnis, Stimmung, Gesprächsdauer, Stummschalten, Auflegen sowie `Protokollieren & abschließen`.
---
## 5. Gebaute Zustände und Varianten
| Auslöser / Zustand | Gebaute Seite | Sichtbares Ergebnis |
|---|---|---|
| Eingang als Karten oder Liste | S02-K / S02-L | gleiche Triage-Daten in zwei Darstellungen |
| Filterkombination sichern | M05 | benannte Ansicht speichern |
| sequenziell arbeiten | V01 | Fortschritt, Überspringen, Erledigt, Schließen |
| Lead in Deal umwandeln | M01 | Mapping-Vorschau und Kontaktübernahme |
| bestehenden Ansprechpartner verwenden | M02-K / M08 | Suche, Auswahl, Rolle und Hauptkontakt |
| gleiche Telefonnummer | M03 | getrennt anlegen oder zusammenführen |
| Lead aus Eingang verwerfen | V08 | irreversible Bestätigung |
| nächste Aktivität planen | M04 | Aufgabe/Notiz mit Datum und Uhrzeit |
| E-Mail schreiben | M07 / V06 / V07 | normal, minimiert und Vollbild |
| anrufen | M06 / V02 / V03 / V05 | normal, Tastenfeld, im Gespräch und kompakt |
---
## 6. Finaler UI-Stand und Development-Folgethemen
Mit Davids Finalisierungsanweisung vom 2026-08-20 gilt der aktuelle Subframe-Flow als validierter UI-Stand für den Development-Handoff. Die folgenden Abweichungen zur älteren Planung bleiben bewusst sichtbar, blockieren aber nicht den Abschluss dieses Screen-Tickets.
### Geltender finaler UI-Stand
1. **Konversion zu Deal:** M01 verwendet `Qualifiziert zu Deal` und `In Deal umwandeln` und legt auf dem festen Vertriebsboard an. Der frühere Vertrag `Lead → Projekt` mit Ziel-Pipeline/Startstatus ist nicht Teil des finalen P7-UI-Flows.
2. **Keine separate Weiterverarbeitungsfreigabe:** `ja / nein / unklar` ist im finalen Lead-Record nicht als eigenes Feld oder Gate gebaut.
3. **Kein frei wählbares Konversionsziel:** Ziel-Board und Startstatus werden in M01 nicht ausgewählt.
4. **Separate Folgethemen:** Lead-Statistiken, Quellen-Verwaltung, Anti-Spam-Settings und CSV-Import besitzen im finalen 20-Seiten-Flow keine Seite. Sie bleiben als eigene Produkt-/Ticketkandidaten erhalten.
5. **Nicht im finalen Record enthalten:** Quellen-Detail, Spam-Score/Begründung, Match-Hinweise, Re-Submission-Verlauf, DSGVO-Löschdatum und der frühere vollständige Status-Workflow.
### QA- und Umsetzungshinweise
- M02 nennt Fax als zulässigen Kontaktweg, zeigt aber kein Fax-Feld.
- S03 zeigt den Lead Thomas Klein, listet rechts jedoch Ansprechpartner der Reithofer Immobilien GmbH. Der Beispieldatensatz ist fachlich nicht konsistent.
- M04 zeigt gleichzeitig unterschiedliche Datumszustände (Kalenderauswahl, Datumstext und `Noch kein Termin gewählt`).
- S02 enthält das Preset `Meine Projekte`, obwohl der Screen neue Leads/Anfragen zeigt.
- V01 enthält nur die Abarbeiten-Leiste; der aktive Lead darunter ist in der gebauten Seite nicht enthalten.
- S01 besitzt Auswahl-Checkboxen, aber keinen gebauten Mehrfachaktionszustand.
- Die Dialer-Ergebnisse mischen deutsche und englische Taxonomie (`Gatekeeper`, `Rescheduling`); Development sollte die finale Fachwortliste mit Produkt abstimmen.
- Die exportierten Handler sind leer. Für Development gilt die oben dokumentierte Handoff-Logik für `Übernehmen` und `Zuweisen`.
### Nicht gebaute Standardzustände
Im finalen 20-Seiten-Flow gibt es keine eigenen Empty-, Loading-, Fehler-, Permission- oder Erfolgsseiten für Eingang, Arbeitsliste, Lead-Record, Versand, Anruf oder Konversion. Development verwendet dafür die bestehenden Standardmuster; neue eigene Screens wären ein späterer Produktumfang.
Der vollständige Abgleich der bisherigen Produktanforderungen mit dem aktuellen UI ist unter [Produktvertrag-Deltas](<Backlog/Produktvertrag-Deltas.md>) konserviert.
---
## 7. Bereinigter Altbestand
- Die frühere 8-Screen-Planung wurde durch den tatsächlichen 20-Seiten-Bestand ersetzt.
- `S01 Lead-Inbox` wurde fachlich in `S02 Eingang` und `S01 Arbeitsliste` aufgeteilt.
- `S02 Lead-Detail` wurde durch `S03 Lead-Record` ersetzt.
- Das frühere große `Lead → Projekt`-Modal mit Board-/Spaltenwahl und Bulk-Variante ist nicht mehr als aktueller Screen dokumentiert; maßgeblich ist M01 Konversion aus Subframe.
- Lead-Statistiken, Quellen-Verwaltung, Spam-Schutz, CSV-Import und die abweichenden Vertragsanforderungen bleiben unter [Backlog](<Backlog/README.md>) erhalten, sind aber nicht als aktuelle Subframe-Screens markiert.
- Routen sind im aktuellen Subframe-Code nicht hinterlegt und deshalb nicht als verifizierte Fakten weitergeführt.
---
## 8. Handoff-Check
- [x] Alle 20 aktuellen Subframe-Seiten haben eine Screen-Datei.
- [x] Alle 20 Screen-Dateien enthalten UUID, direkten Link und Abgleichdatum.
- [x] Paket-MD, Tracker und Canvas verwenden denselben 20-Seiten-Bestand.
- [x] Subframe wurde nur gelesen und nicht verändert.
- [x] Alte, nicht mehr belegte Planung wurde sichtbar geparkt statt still als gebaut weitergeführt.
- [x] Alle echten Dialogseiten importieren `Dialog` und enthalten `Dialog.Content`; Dialer und E-Mail sind bewusst schwebende Panels.
- [x] Davids finaler Subframe-Stand ist als geltende UI-Entscheidung dokumentiert; ältere Vertragsdeltas bleiben als Folgethemen erhalten.
- [x] Nicht gebaute Standardzustände sind als Development-Wiederverwendung statt als eigene P7-Screens eingeordnet.
- [x] Das fertige Tickethandoff liegt unter `Tickets/Fertige Tickets/D-P7 Leads.md`.
+28 -12
View File
@@ -41,7 +41,7 @@ Diese Datei ist der erste Ort, um zu sehen:
| WF-P4 Dateien | D-P4 | Aufgaben & Dateien | Validiert | [MD](<P4 Dateien/WF-P4 Dateien/WF-P4 Dateien.md>) | [Canvas](<P4 Dateien/WF-P4 Dateien/WF-P4 Dateien.canvas>) | - | Subframe nach explizitem OK | Screens validiert 2026-07-08; Teilen/Ordner/Versionen sichtbar als Backlog v2 |
| WF-P5 Integrationen | D-P5 | Integrationen | Validiert | [MD](<P5 Integrationen/WF-P5 Integrationen/WF-P5 Integrationen.md>) | [Canvas](<P5 Integrationen/WF-P5 Integrationen/WF-P5 Integrationen.canvas>) | - | Subframe nach explizitem OK | Screens validiert 2026-07-08; Sync-Verlauf als eigene Seiten; Connection-Card = Muster fuer P14/P15/P16 |
| WF-P6 Kontakte und Organisationen | D-CRM | Kontakte | Validiert | [MD](<P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.md>) | [Canvas](<P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.canvas>) | - | Subframe nach explizitem OK | Screens validiert 2026-07-08; Karteikarte = Muster-Vorlage fuer alle Detailseiten (Zweispalter + Reiter) |
| WF-P7 Leads | D-P7 | Leads | Validiert | [MD](<P7 Leads/WF-P7 Leads/WF-P7 Leads.md>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) | - | Subframe nach explizitem OK | Screens validiert 2026-07-08; Lead->Projekt als grosses Modal (+Bulk); CSV-Import = Davids Delta/CR |
| WF-P7 Leads | D-P7 | Leads | Fertig / Development-Handoff | [MD](<P7 Leads/WF-P7 Leads/WF-P7 Leads.md>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) | [Subframe](<https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit>) | Übergabe abgeschlossen | 20/20 Seiten nach Davids finalen Änderungen am 2026-08-20 erneut synchronisiert; S01 mit neuer UUID, Folgethemen separat dokumentiert |
| WF-P8 Pipelines | D-P8 + D-KANBAN | Pipelines | In Subframe | [MD](<P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.md>) | [Canvas](<P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas>) | [Subframe](<https://app.subframe.com/f023064a5ca0/flow/d9dfdec6-7236-4386-8514-697b9e0f0bc4/edit>) | Development-Handoff | 23 aktuelle Seiten per MCP abgeglichen; S03/S04/M03/M04-Produktlogik am 2026-07-28 von David validiert |
| WF-P9 Projekt-Akte | D-P9 | Auftrag | Validiert | [MD](<P9 Projekt-Akte/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.md>) | [Canvas](<P9 Projekt-Akte/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.canvas>) | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Rechnung v1 neu; Board-Auftragsoptionen erweitern WF-P8 S04 |
| WF-P9 Plantafel | D-PLAN | Auftrag | Validiert | [MD](<P9 Plantafel/WF-P9 Plantafel/WF-P9 Plantafel.md>) | [Canvas](<P9 Plantafel/WF-P9 Plantafel/WF-P9 Plantafel.canvas>) | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Monteur-Modus = 1 Frame Heute<->Woche; Konflikt-Dialog wird gebaut |
@@ -154,14 +154,26 @@ Diese Datei ist der erste Ort, um zu sehen:
| S07 | Duplikat-Tool | WF-P6 Kontakte und Organisationen | Settings-Liste | Bauen | Validiert | `/admin/duplicates` | [MD](<P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/Screens/S07 Duplikat-Tool.md>) | - | [Canvas](<P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.canvas>) |
| M03 | Zusammenfuehren (Seite an Seite) | WF-P6 Kontakte und Organisationen | Modal (gross) | Bauen | Validiert | aus S07 | [MD](<P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/Screens/M03 Zusammenfuehren.md>) | - | [Canvas](<P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.canvas>) |
| D01 | Inline-Anlegen in Liste (Notion-Stil) | WF-P6 Kontakte und Organisationen | Idee | Spaeter | Dokumentiert | in S01 | [MD](<P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.md>) | - | - |
| S01 | Lead-Inbox (Triage) | WF-P7 Leads | Liste | Bauen | Validiert | `/leads` | [MD](<P7 Leads/WF-P7 Leads/Screens/S01 Lead-Inbox.md>) | - | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| S02 | Lead-Detail | WF-P7 Leads | Detail | Bauen | Validiert | `/leads/:id` | [MD](<P7 Leads/WF-P7 Leads/Screens/S02 Lead-Detail.md>) | - | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M01 | Lead zu Projekt (Kern-Moment) | WF-P7 Leads | Modal (gross, +Bulk) | Bauen | Validiert | aus S01/S02 | [MD](<P7 Leads/WF-P7 Leads/Screens/M01 Lead zu Projekt.md>) | - | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| S03 | Lead-Statistiken | WF-P7 Leads | KPI-Seite | Bauen | Validiert | `/leads/statistics` | [MD](<P7 Leads/WF-P7 Leads/Screens/S03 Lead-Statistiken.md>) | - | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M02 | Anfrage anlegen | WF-P7 Leads | Modal | Bauen | Validiert | aus S01 | [MD](<P7 Leads/WF-P7 Leads/Screens/M02 Anfrage anlegen.md>) | - | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M03 | CSV-Import-Wizard | WF-P7 Leads | Modal/Wizard | Bauen | Validiert (Delta) | aus S01 | [MD](<P7 Leads/WF-P7 Leads/Screens/M03 CSV-Import.md>) | - | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| S04 | Quellen-Verwaltung | WF-P7 Leads | Settings-Liste | Bauen | Validiert | `/admin/lead-sources` | [MD](<P7 Leads/WF-P7 Leads/Screens/S04 Quellen-Verwaltung.md>) | - | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| S05 | Spam-Schutz | WF-P7 Leads | Settings | Bauen | Validiert | `/admin/lead-anti-spam` | [MD](<P7 Leads/WF-P7 Leads/Screens/S05 Spam-Schutz.md>) | - | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| S01 | Arbeitsliste | WF-P7 Leads | priorisierte Liste | Bauen | Fertig / Development-Handoff | Leads > Arbeitsliste | [MD](<P7 Leads/WF-P7 Leads/Screens/S01 Arbeitsliste.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/ae41c6ea-d1b0-4656-9a5c-55f64343962a/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M05 | Ansicht speichern | WF-P7 Leads | Modal | Bauen | Fertig / Development-Handoff | aus S02 Eingang | [MD](<P7 Leads/WF-P7 Leads/Screens/M05 Ansicht speichern.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/c011c64f-df15-42c2-b920-66f0ebea87fd/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| S03 | Lead-Record | WF-P7 Leads | Detail | Bauen | Fertig / Development-Handoff | aus S01/S02 | [MD](<P7 Leads/WF-P7 Leads/Screens/S03 Lead-Record.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/6c173984-ea71-4d85-b53e-ebc397b3c821/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| V01 | Abarbeiten-Modus | WF-P7 Leads | Arbeitsmodus | Bauen | Fertig / Development-Handoff | aus S01 | [MD](<P7 Leads/WF-P7 Leads/Screens/V01 Abarbeiten-Modus.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/f2451766-d918-49b2-8c77-913e4817d31a/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M08 | Ansprechpartner hinzufuegen | WF-P7 Leads | Modal | Bauen | Fertig / Development-Handoff | aus S03 | [MD](<P7 Leads/WF-P7 Leads/Screens/M08 Ansprechpartner hinzufuegen.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/c7949b46-6b91-47ec-b08c-959f686df55b/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| S02-K | Eingang Karten | WF-P7 Leads | Kartenliste | Bauen | Fertig / Development-Handoff | Leads > Eingang | [MD](<P7 Leads/WF-P7 Leads/Screens/S02 Eingang Karten.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/165bfa17-8792-4616-bfb6-d064bc7352a8/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| S02-L | Eingang Liste | WF-P7 Leads | Tabellenliste | Bauen | Fertig / Development-Handoff | Leads > Eingang | [MD](<P7 Leads/WF-P7 Leads/Screens/S02 Eingang Liste.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/24d7b73c-39f4-4c74-adf4-8493861adb68/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M01 | Konversion | WF-P7 Leads | Modal | Bauen | Fertig / Development-Handoff | aus S03 | [MD](<P7 Leads/WF-P7 Leads/Screens/M01 Konversion.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/1609485c-d315-4cdf-8e41-ad1dfb0b2691/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M02 | Lead anlegen | WF-P7 Leads | Modal | Bauen | Fertig / Development-Handoff | aus S01 | [MD](<P7 Leads/WF-P7 Leads/Screens/M02 Lead anlegen.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/14a837e3-c2f7-4289-9ae4-d9427935e74f/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M02-K | Lead anlegen Kontakt verknuepfen | WF-P7 Leads | Modal-Variante | Bauen | Fertig / Development-Handoff | in M02 | [MD](<P7 Leads/WF-P7 Leads/Screens/M02 Lead anlegen Kontakt verknuepfen.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/75858347-70f9-4233-99f6-e72f0852ccab/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M07 | E-Mail schreiben | WF-P7 Leads | schwebender Composer | Bauen | Fertig / Development-Handoff | aus S03 | [MD](<P7 Leads/WF-P7 Leads/Screens/M07 E-Mail schreiben.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/9a4d7a13-73e3-412d-8beb-0c6dfcc7617c/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| V06 | E-Mail minimiert | WF-P7 Leads | Composer-Variante | Bauen | Fertig / Development-Handoff | aus M07 | [MD](<P7 Leads/WF-P7 Leads/Screens/V06 E-Mail minimiert.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/25f763a3-8146-4330-97a5-394510ac0b17/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| V07 | E-Mail Vollbild | WF-P7 Leads | Composer-Variante | Bauen | Fertig / Development-Handoff | aus M07 | [MD](<P7 Leads/WF-P7 Leads/Screens/V07 E-Mail Vollbild.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/20deb403-a0a8-48aa-944b-65a7c464fa7b/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M03 | Dubletten-Pruefung | WF-P7 Leads | Modal | Bauen | Fertig / Development-Handoff | aus M02 | [MD](<P7 Leads/WF-P7 Leads/Screens/M03 Dubletten-Pruefung.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/36fb8b6a-bced-44a3-b8bd-76ae3ecf7cdd/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| V08 | Verwerfen bestaetigen | WF-P7 Leads | Bestätigung | Bauen | Fertig / Development-Handoff | aus S02 | [MD](<P7 Leads/WF-P7 Leads/Screens/V08 Verwerfen bestaetigen.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/ecc9c8b6-ab3a-4dc3-82d2-6f98f2829344/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M04 | Naechste Aktion | WF-P7 Leads | Modal | Bauen | Fertig / Development-Handoff | aus S03 | [MD](<P7 Leads/WF-P7 Leads/Screens/M04 Naechste Aktion.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/9b3a7954-384f-42ed-9b04-934f30adbc0f/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| M06 | Dialer | WF-P7 Leads | schwebendes Panel | Bauen | Fertig / Development-Handoff | aus S03 | [MD](<P7 Leads/WF-P7 Leads/Screens/M06 Dialer.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/dcd35b81-dce7-4257-be0d-8755adeffe8b/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| V02 | Dialer Tastenfeld | WF-P7 Leads | Dialer-Variante | Bauen | Fertig / Development-Handoff | aus M06 | [MD](<P7 Leads/WF-P7 Leads/Screens/V02 Dialer Tastenfeld.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/8960b4b1-cecb-4050-a322-2e8e0b30f0ad/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| V03 | Dialer Im Gespraech | WF-P7 Leads | Dialer-Variante | Bauen | Fertig / Development-Handoff | aus M06 | [MD](<P7 Leads/WF-P7 Leads/Screens/V03 Dialer Im Gespraech.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/b81072df-5ffd-45b9-959e-166a830807e6/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| V05 | Dialer kompakt | WF-P7 Leads | Dialer-Variante | Bauen | Fertig / Development-Handoff | aus M06 | [MD](<P7 Leads/WF-P7 Leads/Screens/V05 Dialer kompakt.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/b9ea58a5-7e98-435f-8a5b-e696cbc2709b/edit>) | [Canvas](<P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) |
| S00 | Boards-Startseite | WF-P8 Pipelines | Board-Auswahl | Bauen | In Subframe | Einstieg Pipelines | [MD](<P8 Pipelines/WF-P8 Pipelines/Screens/S00 Boards-Startseite.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/1778cf5e-777b-439c-81b6-c51f85283cc4/edit>) | [Canvas](<P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas>) |
| S01 | Kanban-Board | WF-P8 Pipelines | Board | Bauen | In Subframe | aus S00 | [MD](<P8 Pipelines/WF-P8 Pipelines/Screens/S01 Kanban-Board.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/52699d37-974d-4f5d-b3d0-003de765b692/edit>) | [Canvas](<P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas>) |
| S02 | Pipelines Detailansicht | WF-P8 Pipelines | Projekt-Detail / Editor | Bauen | In Subframe | aus S01/S03 | [MD](<P8 Pipelines/WF-P8 Pipelines/Screens/S02 Pipelines Detailansicht.md>) | [Subframe](<https://app.subframe.com/f023064a5ca0/design/8f60a380-bb06-4ed7-b21f-1abd1c8ddbb7/edit>) | [Canvas](<P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas>) |
@@ -392,9 +404,13 @@ Diese Datei ist der erste Ort, um zu sehen:
| WF-P6 Kontakte | Inline-Anlegen (Notion-Stil) | Spaeter | Plus in der Liste -> neue Zeile inline; leere Zeile loescht sich automatisch. | Davids Idee, dokumentiert; erstmal nicht bauen |
| WF-P6 Kontakte | Listen-Struktur | Genommen | Zwei getrennte Reiter (Kontakte = ALLE Personen inkl. Ansprechpartner mit sichtbarer Org+Rolle; Organisationen separat); nie gemischt. | Validiert 2026-07-08 |
| WF-P6 Kontakte | Anlege-Regeln + Hauptkontakt | Genommen | Privatperson ohne Kontaktart-Frage; Org auch ohne Person; genau EIN Hauptkontakt je Org, erste Person automatisch (umhaengbar); auch Privatpersonen koennen Sekundaerkontakte haben. | Validiert 2026-07-08 |
| WF-P7 Leads | Lead->Projekt-Form | Genommen | Grosses Modal mit 3 Sektionen (Vererbungs-Vorschau, Board+Spalte, Kontakt verknuepfen); auch als Bulk-Variante (Massen-Konvertierung). | Bulk-Machbarkeit mit Dev bestaetigen |
| WF-P7 Leads | CSV-Import-Wizard | Genommen (Delta) | Datei -> Spalten zuordnen -> Vorschau/Duplikat-Regel -> Import im Hintergrund. Steht nicht im Dev-Ticket. | Change-Request an Dev |
| WF-P7 Leads | Anfrage anlegen | Genommen | Modal (wie Kontakt anlegen); Inline-Anlegen (Plus -> Zeile) als gemeinsames Spaeter-Muster mit P6 dokumentiert. | Validiert 2026-07-08 |
| WF-P7 Leads | Aktueller Subframe-Bestand | Geltend / final | 20 Seiten aus `WF-P7 LeadListe`; Namen, UUIDs, Links und sichtbare JSX-Inhalte sind in Paket, Screen-Dateien und Canvas synchronisiert. | Finaler MCP-Abgleich 2026-08-20 |
| WF-P7 Leads | Eingang und Arbeitsliste | Geltend / final | S02 Karten/Liste triagiert neue Anfragen. `Übernehmen` weist der handelnden Person zu, `Zuweisen` einer gewählten Person; beide führen in S01. | Handoff-Logik 2026-08-20 |
| WF-P7 Leads | Deal oder Projekt | Finaler UI-Stand | Subframe zeigt `Qualifiziert zu Deal` und `In Deal umwandeln` auf festem Vertriebsboard. Die ältere Projekt-Konversion bleibt als Vertragsdelta dokumentiert, ist aber kein Screen-Handoff-Blocker. | Davids Finalisierungsanweisung 2026-08-20 |
| WF-P7 Leads | Freigabe und Konversionsziel | Nicht im finalen P7-UI | `weiterverarbeitung_freigabe` sowie die Wahl von Ziel-Pipeline und Startstatus sind im finalen Konversionsfluss nicht gebaut. | Separates Produkt-/Development-Folgethema |
| WF-P7 Leads | Statistik, Quellen, Anti-Spam, CSV | Nicht im finalen P7-Flow | Diese Bereiche besitzen keine aktuelle Subframe-Seite und bleiben als separate Ticketkandidaten dokumentiert. | Kein Blocker für diesen Screen-Handoff |
| WF-P7 Leads | Lead manuell anlegen | Geltend / final | M02 mit Privatperson/Firma, Kontakt neu/verknüpfen und M03 Dubletten-Prüfung ersetzt die alte Planung `Anfrage anlegen`. | Finaler MCP-Abgleich 2026-08-20 |
| WF-P7 Leads | Standardzustände | Development-Standard | Keine eigenen Empty-, Loading-, Fehler-, Permission- oder Erfolgsseiten im finalen Flow; Development verwendet die bestehenden Standardmuster. | Eigene Screens wären späterer Produktumfang |
| WF-P8 Pipelines | Aktueller Subframe-Bestand | Geltend | 23 Seiten im Flow `(MCP) WF-P8 Pipelines`; alle Namen, UUIDs, Links und JSX-Inhalte sind in Paket, Screen-Dateien und Canvas synchronisiert. | MCP-Abgleich 2026-07-28 |
| WF-P8 Pipelines | Board- und Listenansicht | Geltend | S01 und S03 sind zwei Ansichten derselben Projektdatenbasis; S01a/S03a sind die gebauten Empty States. | Im aktuellen JSX sichtbar |
| WF-P8 Pipelines | Normale Auswahl vs. Admin-Verwaltung | Geltend | S00 ist die normale Board-Auswahl mit Zugriffsgates; S07 ist die Admin-Boardverwaltung. | Im aktuellen JSX explizit beschrieben |
+1 -1
View File
@@ -22,7 +22,7 @@
{"id":"b75d102c4db2d32f","type":"file","file":"02 Wireframes/P16 Terminbuchung/WF-P16 Terminbuchung/WF-P16 Terminbuchung.canvas","x":3067,"y":2560,"width":460,"height":220},
{"id":"8f3127f03a5bab96","type":"text","text":"## Automations-Baukasten (Flow-Editor)\n**Ticket:** `D-FLOW` · **Status:** ✅ validiert / Development-Handoff\n**Wo:** `/automations/:id/edit`\n\n**Final:** Vollbild-Canvas, 31er-Baustein-Picker, Kontextmenü, 32 Konfigurationsdialoge, reduzierte Start-Auswahl sowie Bestätigungen für Aktivieren/Pausieren. M03 V3 bleibt als Referenz. Der Workflow-Engine-Flow umfasst 39 Seiten.\n\nKein eigener Screen für gefüllten Editor, Probelauf oder Schleifen-/Ratenwarnung. **Aufwendigste UI der ganzen App.**","x":2150,"y":3100,"width":460,"height":360,"color":"1"},
{"id":"e6d8c36a0f89d954","type":"text","text":"## Automationen: Übersicht & Verläufe\n**Ticket:** `D-P12` · **Status:** ✅ validiert / Development-Handoff\n**Wo:** `/automations`\n\n**Final:** Eigener Verwaltungs-Flow mit 5 Seiten: S01 Automation-Liste, S02 Lauf-Liste, S03 Lauf-Detail, M04 Vorlagen-Katalog und S06 Zugangsdaten. Zusammen mit den 39 Workflow-Engine-Seiten sind 44/44 aktuelle Seiten synchronisiert.\n\nDie 32 Konfigurationsdialoge bleiben einzeln dokumentiert.","x":3067,"y":3100,"width":460,"height":360,"color":"2"},
{"id":"8272764aa65537b0","type":"text","text":"## Lead-Eingang (Anfragen)\n**Ticket:** `D-P7` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/leads`\n\n**Was drin ist:** Eingangs-Liste aller Anfragen (mit Quelle, Spam-Verdacht, Duplikat-Hinweis), Anfrage-Detail, »Zu Projekt machen«, Statistiken, Quellen-Verwaltung, Spam-Schutz-Einstellungen\n\n**So funktioniert's:** Alle Anfragen (Website, Formulare, Anrufe, Buchungen) landen hier. Wer sie bearbeiten darf (Freigabe = ja), macht daraus ein Projekt und hängt den Kontakt dran.","x":2007,"y":1040,"width":460,"height":360,"color":"5"},
{"id":"8272764aa65537b0","type":"text","text":"## Lead-Eingang (Anfragen)\n**Ticket:** `D-P7` · **Status:** ✅ Development-Handoff\n**Quelle:** final 20/20 Seiten abgeglichen · S01 neue UUID · Subframe unverändert\n**Wo:** Eingang → Arbeitsliste → Lead-Record\n\n**Gebaut:** Karten-/Listen-Triage, priorisierte Arbeit, Record, Anlage/Dubletten, nächste Aktion, E-Mail und Dialer. M01 konvertiert final zu einem Deal.\n\n**Folgethemen:** ältere Projekt-Konversion, Freigabe/Zielwahl sowie Statistik, Quellen, Anti-Spam und CSV.","x":2007,"y":1040,"width":460,"height":360,"color":"5"},
{"id":"487ffd8c4ba06816","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas","x":2007,"y":1440,"width":460,"height":220},
{"id":"d9868dadb782f253","type":"text","text":"## Kontakte & Organisationen\n**Ticket:** `D-CRM` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/contacts`\n\n**Was drin ist:** Kontakt-Liste, Organisations-Liste, Kontakt-Detailseite (die Vorlage für ALLE Detailseiten), eigene Felder, Tags, Duplikate zusammenführen\n\n**So funktioniert's:** Ein Kontakt ist Privatperson oder Organisation und hat einen Status (Kontakt → Kunde → Bestandskunde). Auf der Detailseite sieht man alles: Projekte, Mails, Anrufe, Aufgaben, Dateien, Notizen.","x":3077,"y":1040,"width":460,"height":360,"color":"5"},
{"id":"e7b3227af605e50f","type":"file","file":"02 Wireframes/P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.canvas","x":3077,"y":1440,"width":460,"height":220},
+16 -15
View File
@@ -43,7 +43,7 @@ Gesamtkarte aller HiveGrid-v1-Features. Eine Karte = **ein Feature** (so benannt
| Login, Registrierung & Workspace | Login & Zugänge | D-P2 | 🔵 | ✅ validiert |
| Dashboard (Startseite) | Suche & Dashboard | D-DASH (Teil) | 🔵 | ⬜ offen |
| Suche (Cmd+K) | Suche & Dashboard | D-DASH (Teil) | 🔴 klein | ⬜ offen |
| Lead-Eingang (Anfragen) | Vertrieb | D-P7 | 🔵 | 🟡 vorgeplant |
| Lead-Eingang (Anfragen) | Vertrieb | D-P7 | 🔵 | ✅ Development-Handoff · Folgethemen dokumentiert |
| Kontakte & Organisationen | Vertrieb | D-CRM | 🔵 | 🟡 vorgeplant |
| Kanban-Board & Pipelines (Projekte) | Vertrieb | D-P8 + D-KANBAN | 🟠 | 🟢 in Subframe, abgeglichen |
| Projekt-Akte (Auftrag) 📱 | Auftrag & Baustelle | D-P9 | 🟠 | 🟡 vorgeplant |
@@ -109,10 +109,10 @@ Gesamtkarte aller HiveGrid-v1-Features. Eine Karte = **ein Feature** (so benannt
```
Wege rein: Website-Demo ─┐
Formular ─────┤
Terminbuchung ┼──▶ Lead-Eingang ──▶ Kontakt anlegen/verknüpfen
Anruf ────────┘ │
│ Freigabe = ja → wird Projekt
▼
Terminbuchung ┼──▶ Eingang ──▶ Arbeitsliste ──▶ Lead-Record
Anruf ────────┘ │
│ finales M01: Deal
▼
Kanban-Board (Vertriebs-Board) ── gewonnen ──▶ Auftrags-Board
│
▼
@@ -193,16 +193,17 @@ Abhaken = in der groben Planung berücksichtigt (Screens/Flow verortet). Quelle:
### Vertrieb
#### Lead-Eingang (Anfragen) — `D-P7` — 🟡 vorgeplant (2026-07-08)
- [x] Eingangs-Liste (Quelle, Status, Freigabe ja/nein/unklar, Duplikat-/Spam-Marker, Schnell-Aktionen, Mehrfach-Aktionen, live)
- [x] Anfrage-Detail (Quelle im Detail, Spam-Wert mit Begründung, »könnte dieser Kontakt sein«-Hinweise, Verlauf bei Mehrfach-Anfragen)
- [x] »Zu Projekt machen« als großes Modal (Daten-Übernahme-Vorschau, Ziel-Board + Start-Spalte, Kontakt anlegen oder verknüpfen) — auch als Bulk (Massen-Konvertierung, Davids Ergänzung)
- [x] Statistiken (eingegangen, Umwandlungsquote, Reaktionszeit, je Quelle, Drill-Down in gefilterte Inbox)
- [x] Quellen-Verwaltung (inkl. Webhook-Link für Fremd-Websites)
- [x] Spam-Schutz-Einstellungen (Limits, automatische Markierung, Quarantäne, Auto-Löschfristen)
- [x] Anfrage von Hand anlegen als Modal (mit Duplikat-Check beim Tippen); Inline-Anlegen als Später-Muster
- Davids Delta: **CSV-Import-Wizard** (Datei → Spalten zuordnen → Vorschau → Import) — Change-Request an Dev
- Paket: `02 Wireframes/P7 Leads/WF-P7 Leads/` (Screens validiert; Subframe steht aus)
#### Lead-Eingang (Anfragen) — `D-P7` — ✅ Development-Handoff (2026-08-20)
- Quelle: [Subframe-Flow `WF-P7 LeadListe`](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit), nach Davids finalen Änderungen erneut 20/20 Seiten inklusive JSX gelesen; Subframe blieb unverändert.
- [x] Eingang in Karten- und Listenansicht mit Filtern, Presets, Mehrfachauswahl, Übernehmen, Zuweisen, Öffnen und Verwerfen
- [x] Priorisierte Arbeitsliste mit Fälligkeitsgruppen, Gruppierung und Abarbeiten-Modus
- [x] Lead-Record mit Stammdaten, Timeline, nächster Aktion, Ansprechpartnern und Schnellaktionen
- [x] Manuelle Lead-Anlage, Kontaktverknüpfung und Dubletten-Prüfung
- [x] E-Mail-Composer und Dialer mit den gebauten Zustandsvarianten
- [x] Finaler UI-Stand konvertiert zu einem Deal auf dem festen Vertriebsboard; ältere Projekt-Konversion bleibt als Vertragsdelta dokumentiert.
- [x] Nicht gebaute Standardzustände sind für Development als Wiederverwendung bestehender Muster eingeordnet.
- Folgethemen außerhalb dieses finalen Screen-Flows: Weiterverarbeitungsfreigabe/Zielwahl, Statistiken, Quellen-Verwaltung, Anti-Spam und CSV-Import.
- Paket: [WF-P7 Leads](<../02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.md>) · [Canvas](<../02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas>) · [Ticket](<../Tickets/Fertige Tickets/D-P7 Leads.md>)
#### Kontakte & Organisationen — `D-CRM` — 🟡 vorgeplant (2026-07-08)
- [x] Kontakt-Liste (Filter, Mehrfach-Aktionen, CSV-Export)
+134
View File
@@ -0,0 +1,134 @@
---
kind: ticket-handoff
project: HiveGrid Screen Project
ticket: D-P7
area: Lead-Eingang / Arbeitsliste / Lead-Record / Kommunikation
status: Fertig / Development-Handoff
repo: https://git.tool-ctrl.de/toolctrl-labs/HiveGrid-Wireframes
stand: 2026-08-20
---
# D-P7 Leads
Repo: https://git.tool-ctrl.de/toolctrl-labs/HiveGrid-Wireframes
Zentrale Tracker-Datei: [Screen Paket Tracker](../../02%20Wireframes/Screen%20Paket%20Tracker.md)
Flow-Paket: [WF-P7 Leads](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/WF-P7%20Leads.md)
Canvas: [WF-P7 Leads.canvas](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/WF-P7%20Leads.canvas)
Subframe: [WF-P7 LeadListe](https://app.subframe.com/f023064a5ca0/flow/69f745e5-4a15-4227-b9db-ec08c78fd6d7/edit)
## Kurzfassung
Der von David finalisierte Lead-Flow ist als Development-Handoff abgeschlossen. Der Live-Stand umfasst **20 Seiten in einem Subframe-Flow** für Eingang, Arbeitsliste, Lead-Record, manuelle Anlage, Konversion, nächste Aktion, Ansprechpartner, E-Mail und Dialer.
Alle 20 Seiten wurden am 2026-08-20 nach Davids letzten Änderungen erneut per MCP inklusive JSX gelesen. Die zuletzt geänderten Hauptseiten und Dialogvarianten wurden zusätzlich gerendert. Namen, UUIDs, Direktlinks, sichtbare Inhalte und Komponenten sind mit den 20 aktiven Screen-Dateien, dem Paket-MD, Tracker, P7-Canvas und der HiveGrid-Map synchronisiert. Subframe wurde bei diesem Handoff nur gelesen und nicht verändert.
`S01 Arbeitsliste` wurde in Subframe neu angelegt und besitzt deshalb im finalen Bestand die neue UUID `ae41c6ea-d1b0-4656-9a5c-55f64343962a`.
## Gemacht
- Finalen 20-Seiten-Bestand vollständig aus Subframe gelesen und gegen Obsidian geprüft.
- Eingang als Karten- und Listenansicht mit identischen Triage-Daten dokumentiert.
- Neu angelegte S01-Arbeitsliste inklusive FilterBar, Presets, Gruppierungen und Fälligkeitsgruppen synchronisiert.
- Lead-Record, nächste Aktion, Ansprechpartner, E-Mail-Composer und Dialer-Zustände dokumentiert.
- Manuelle Lead-Anlage mit Privatperson/Firma, Kontakt-Neuanlage/-Verknüpfung und Dubletten-Prüfung dokumentiert.
- Alle 20 Screen-Dateien auf `Fertig / Development-Handoff` gestellt.
- Veraltete frühere 8-Screen-Planung aus dem aktiven Bestand entfernt und relevante Anforderungen als Folgethemen konserviert.
- Screen Paket Tracker, P7-Canvas, HiveGrid Map und Master-Canvas synchronisiert.
- Dialogstruktur geprüft: alle echten P7-Dialogseiten importieren `Dialog` und verwenden `Dialog.Content`; Dialer und E-Mail sind bewusst schwebende Panels.
## Finale Produktentscheidungen
- **Eingang und Arbeitsliste:** Neue Anfragen starten in S02. `Übernehmen` weist der handelnden Person zu, `Zuweisen` einer gewählten Person; beide führen in die priorisierte S01-Arbeitsliste.
- **Zwei Eingangsdarstellungen:** S02 Karten und S02 Liste sind zwei Varianten derselben Triage-Datenbasis.
- **Arbeitsliste:** Gruppierung nach Fälligkeit, Zuständig, Anfragenart, Kundentyp oder ohne Gruppierung; Abarbeiten-Modus als eigener Arbeitszustand.
- **Zentraler Record:** S03 bündelt Stammdaten, Timeline, anstehende Aktion, Kommunikation, Lead-Details und Ansprechpartner.
- **Konversion:** Der finale P7-UI-Stand konvertiert den Lead über M01 zu einem `Deal` auf dem festen Vertriebsboard.
- **Manuelle Anlage:** M02 unterstützt Privatperson/Firma, Kontakt neu/verknüpfen sowie die nachgelagerte Dublettenentscheidung M03.
- **Kommunikation:** E-Mail wird als schwebender Composer mit Normal-, Mini- und Vollbildzustand gebaut; Telefonie als schwebender Dialer mit Tastenfeld-, Gesprächs- und Kompaktzustand.
- **Standardzustände:** Empty-, Loading-, Fehler-, Permission- und Erfolgsfälle verwenden in Development bestehende Standardmuster; sie sind keine eigenen P7-Seiten.
## Hauptfluss
```text
S02 Eingang Karten <-> S02 Eingang Liste
| Übernehmen / Zuweisen
v
S01 Arbeitsliste -> S03 Lead-Record -> M01 Konversion -> Deal im Vertriebsboard
| |
v +-> M04 Nächste Aktion
V01 Abarbeiten-Modus +-> M06 Dialer -> V02 / V03 / V05
+-> M07 E-Mail -> V06 / V07
+-> M08 Ansprechpartner hinzufügen
S01/S02 -> M02 Lead anlegen -> M02 Kontakt verknüpfen -> M03 Dubletten-Prüfung
S02 -> M05 Ansicht speichern
S02 -> V08 Verwerfen bestätigen
```
## Vollständiges Subframe-Inventar
| ID | Live-Name | UUID | Repo | Subframe |
|---|---|---|---|---|
| S01 | S01 Arbeitsliste | `ae41c6ea-d1b0-4656-9a5c-55f64343962a` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/S01%20Arbeitsliste.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/ae41c6ea-d1b0-4656-9a5c-55f64343962a/edit) |
| M05 | M05 Ansicht speichern | `c011c64f-df15-42c2-b920-66f0ebea87fd` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/M05%20Ansicht%20speichern.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/c011c64f-df15-42c2-b920-66f0ebea87fd/edit) |
| S03 | S03 Lead-Record | `6c173984-ea71-4d85-b53e-ebc397b3c821` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/S03%20Lead-Record.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/6c173984-ea71-4d85-b53e-ebc397b3c821/edit) |
| V01 | V01 Abarbeiten-Modus | `f2451766-d918-49b2-8c77-913e4817d31a` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/V01%20Abarbeiten-Modus.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/f2451766-d918-49b2-8c77-913e4817d31a/edit) |
| M08 | M08 Ansprechpartner hinzufuegen | `c7949b46-6b91-47ec-b08c-959f686df55b` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/M08%20Ansprechpartner%20hinzufuegen.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/c7949b46-6b91-47ec-b08c-959f686df55b/edit) |
| S02-K | S02 Eingang Karten | `165bfa17-8792-4616-bfb6-d064bc7352a8` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/S02%20Eingang%20Karten.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/165bfa17-8792-4616-bfb6-d064bc7352a8/edit) |
| S02-L | S02 Eingang Liste | `24d7b73c-39f4-4c74-adf4-8493861adb68` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/S02%20Eingang%20Liste.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/24d7b73c-39f4-4c74-adf4-8493861adb68/edit) |
| M01 | M01 Konversion | `1609485c-d315-4cdf-8e41-ad1dfb0b2691` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/M01%20Konversion.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/1609485c-d315-4cdf-8e41-ad1dfb0b2691/edit) |
| M02 | M02 Lead anlegen | `14a837e3-c2f7-4289-9ae4-d9427935e74f` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/M02%20Lead%20anlegen.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/14a837e3-c2f7-4289-9ae4-d9427935e74f/edit) |
| M02-K | M02 Lead anlegen Kontakt verknuepfen | `75858347-70f9-4233-99f6-e72f0852ccab` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/M02%20Lead%20anlegen%20Kontakt%20verknuepfen.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/75858347-70f9-4233-99f6-e72f0852ccab/edit) |
| M07 | M07 E-Mail schreiben | `9a4d7a13-73e3-412d-8beb-0c6dfcc7617c` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/M07%20E-Mail%20schreiben.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/9a4d7a13-73e3-412d-8beb-0c6dfcc7617c/edit) |
| V06 | V06 E-Mail minimiert | `25f763a3-8146-4330-97a5-394510ac0b17` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/V06%20E-Mail%20minimiert.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/25f763a3-8146-4330-97a5-394510ac0b17/edit) |
| V07 | V07 E-Mail Vollbild | `20deb403-a0a8-48aa-944b-65a7c464fa7b` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/V07%20E-Mail%20Vollbild.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/20deb403-a0a8-48aa-944b-65a7c464fa7b/edit) |
| M03 | M03 Dubletten-Pruefung | `36fb8b6a-bced-44a3-b8bd-76ae3ecf7cdd` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/M03%20Dubletten-Pruefung.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/36fb8b6a-bced-44a3-b8bd-76ae3ecf7cdd/edit) |
| V08 | V08 Verwerfen bestaetigen | `ecc9c8b6-ab3a-4dc3-82d2-6f98f2829344` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/V08%20Verwerfen%20bestaetigen.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/ecc9c8b6-ab3a-4dc3-82d2-6f98f2829344/edit) |
| M04 | M04 Naechste Aktion | `9b3a7954-384f-42ed-9b04-934f30adbc0f` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/M04%20Naechste%20Aktion.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/9b3a7954-384f-42ed-9b04-934f30adbc0f/edit) |
| M06 | M06 Dialer | `dcd35b81-dce7-4257-be0d-8755adeffe8b` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/M06%20Dialer.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/dcd35b81-dce7-4257-be0d-8755adeffe8b/edit) |
| V02 | V02 Dialer Tastenfeld | `8960b4b1-cecb-4050-a322-2e8e0b30f0ad` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/V02%20Dialer%20Tastenfeld.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/8960b4b1-cecb-4050-a322-2e8e0b30f0ad/edit) |
| V03 | V03 Dialer Im Gespraech | `b81072df-5ffd-45b9-959e-166a830807e6` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/V03%20Dialer%20Im%20Gespraech.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/b81072df-5ffd-45b9-959e-166a830807e6/edit) |
| V05 | V05 Dialer kompakt | `b9ea58a5-7e98-435f-8a5b-e696cbc2709b` | [MD](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Screens/V05%20Dialer%20kompakt.md) | [Subframe](https://app.subframe.com/f023064a5ca0/design/b9ea58a5-7e98-435f-8a5b-e696cbc2709b/edit) |
## Development-Hinweise
- Die exportierten `onClick`-Handler sind leer. Canvas-Kanten und dokumentierte Outcomes beschreiben die finale Produktlogik, nicht bereits verdrahtete Prototype-Navigation.
- Routen sind im Subframe-Seitencode nicht hinterlegt und werden von Development in die bestehende Navigation integriert.
- V01 enthält nur die Abarbeiten-Leiste; Development legt sie über den aktiven Lead-Record und wechselt mit Erledigt/Überspringen zum nächsten Lead.
- M02 nennt Fax als zulässigen Kontaktweg, zeigt aber kein Fax-Feld.
- S03 kombiniert im Beispieldatensatz Thomas Klein mit Ansprechpartnern der Reithofer Immobilien GmbH; Development sollte konsistente Testdaten verwenden.
- M04 enthält im statischen Beispiel unterschiedliche Datumszustände; die Implementierung verwendet einen eindeutigen ausgewählten Termin.
- S01 besitzt Auswahl-Checkboxen ohne eigene Bulk-Aktionsseite. Falls Bulk-Aktionen umgesetzt werden, bleiben sie Inline-/Toolbar-Zustand und kein zusätzlicher Screen.
- Die Dialer-Ergebnisliste mischt deutsche und englische Fachbegriffe; die finale Taxonomie ist mit Produkt abzustimmen.
## Separate Folgethemen
Diese Punkte sind nicht Bestandteil des finalen 20-Seiten-P7-UI-Flows und blockieren den Screen-Handoff nicht:
- Älterer Vertrag `Lead → Projekt` mit frei wählbarer Ziel-Pipeline und Startstatus.
- Separate Weiterverarbeitungsfreigabe `ja/nein/unklar`.
- Lead-Statistiken.
- Quellen-Verwaltung.
- Anti-Spam-Settings und Spam-Detailinformationen.
- CSV-Import-Wizard.
- Eigene Empty-, Loading-, Fehler-, Permission- oder Erfolgsseiten über die Standardmuster hinaus.
Die Detailhistorie liegt unter [P7 Backlog](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Backlog/README.md) und [Produktvertrag-Deltas](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/Backlog/Produktvertrag-Deltas.md).
## Abschlussprüfung
- 20 Subframe-Seiten = 20 aktive Screen-Dateien = 20 aktuelle Screen-Nodes im P7-Canvas.
- Alle Live-Namen, UUIDs und Direktlinks sind eindeutig und synchron.
- S01 verwendet überall die neue finale UUID.
- Paket-MD, Tracker, P7-Canvas, HiveGrid Map und Master-Canvas sind abgeglichen.
- P7-Canvas und Master-Canvas sind JSON-valide; IDs sind eindeutig und alle Kanten referenzieren vorhandene Nodes.
- Alle lokalen Markdown-, Ticket- und Canvas-Ziele wurden auf Existenz geprüft.
- Subframe wurde für den finalen Handoff nur gelesen und nicht verändert.
## Hinweis für das Ticket-System
Diese Datei ist der kompakte fertige Handoff für `D-P7`. Für die vollständige Detailwahrheit sind das [P7-Flow-Paket](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/WF-P7%20Leads.md), der [P7-Canvas](../../02%20Wireframes/P7%20Leads/WF-P7%20Leads/WF-P7%20Leads.canvas), die 20 verknüpften Screen-Dateien und der [Screen Paket Tracker](../../02%20Wireframes/Screen%20Paket%20Tracker.md) maßgeblich.