From 2de481bf255cd536cf82c27c03580a7496bfa29a Mon Sep 17 00:00:00 2001 From: davetoolctrl Date: Thu, 9 Jul 2026 15:38:27 +0200 Subject: [PATCH] Plan P8 Pipelines, P9 Auftrag (Akte/Plantafel/Abnahme), P12 Automationen - WF-P8: Kanban-Board, Edit-Mode (nur Detailansicht), Gewonnen regel-basiert - WF-P9: Projekt-Akte + Rechnung v1, Plantafel (Heute<->Woche offline), Abnahme mehrstufig - WF-P12: Flow-Editor (Katalog/Canvas/Konfig, Start-Auswahl) + Verwaltung (Timeline, 24h-Undo) - D-FORM zurueckgestellt (Davids Mitarbeiter:in) Co-Authored-By: Claude Fable 5 --- .../Screens/M01 Probelauf.md | 41 + .../Screens/M02 Schleifen-Warnung.md | 34 + .../Screens/M03 Start-Auswahl.md | 32 + .../Screens/S01 Flow-Editor.md | 44 + .../WF-P12 Flow-Editor.canvas | 19 + .../WF-P12 Flow-Editor/WF-P12 Flow-Editor.md | 121 ++ .../Screens/S01 Automation-Liste.md | 41 + .../Screens/S02 Lauf-Liste.md | 40 + .../Screens/S03 Lauf-Detail.md | 42 + .../Screens/S04 Vorlagen-Katalog.md | 39 + .../Screens/S05 Baustein-Konfig-Panels.md | 44 + .../WF-P12 Verwaltung.canvas | 41 + .../WF-P12 Verwaltung/WF-P12 Verwaltung.md | 110 ++ .../Screens/M01 Verloren-Dialog.md | 42 + .../Screens/M02 Board-Wechsel-Dialog.md | 42 + .../Screens/S01 Kanban-Board.md | 57 + .../Screens/S02 Projekt-Detailseite.md | 51 + .../Screens/S03 Projekt-Liste.md | 47 + .../Screens/S04 Board-Einstellungen.md | 47 + .../Screens/S05 Detail-Schablone Edit-Mode.md | 51 + .../Screens/S06 Verlust-Gruende.md | 39 + .../Screens/S07 Boards-Uebersicht.md | 39 + .../WF-P8 Pipelines/WF-P8 Pipelines.canvas | 32 + .../WF-P8 Pipelines/WF-P8 Pipelines.md | 142 ++ .../Screens/S01 Abnahme-Liste.md | 40 + .../Screens/S02 Schritt Pruefungen.md | 43 + .../Screens/S03 Schritt Maengel.md | 43 + .../Screens/S04 Schritt Unterschriften.md | 43 + .../WF-P9 Abnahme/WF-P9 Abnahme.canvas | 17 + .../P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.md | 111 ++ .../Screens/M01 Konflikt-Dialog.md | 33 + .../Screens/M02 Einsatz-Dialog.md | 34 + .../WF-P9 Plantafel/Screens/S01 Plantafel.md | 44 + .../Screens/S02 Meine Termine.md | 42 + .../WF-P9 Plantafel/WF-P9 Plantafel.canvas | 21 + .../WF-P9 Plantafel/WF-P9 Plantafel.md | 118 ++ .../Screens/M01 Rechnung anlegen.md | 38 + .../Screens/S01 Auftrags-Reiter.md | 45 + .../Screens/S02 Mobil-Modus.md | 42 + .../Screens/S03 Abnahme-Formular-Vorlagen.md | 39 + .../Screens/S04 Projekt-Vorlagen.md | 38 + .../WF-P9 Projekt-Akte.canvas | 20 + .../WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.md | 114 ++ 02 Wireframes/Screen Paket Tracker.md | 46 + 05 HiveGrid Map/HiveGrid Map.canvas | 1165 +++++------------ 05 HiveGrid Map/HiveGrid Map.md | 115 +- 46 files changed, 2578 insertions(+), 910 deletions(-) create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M01 Probelauf.md create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M02 Schleifen-Warnung.md create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M03 Start-Auswahl.md create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/S01 Flow-Editor.md create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/WF-P12 Flow-Editor.canvas create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/WF-P12 Flow-Editor.md create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S01 Automation-Liste.md create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S02 Lauf-Liste.md create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S03 Lauf-Detail.md create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S04 Vorlagen-Katalog.md create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S05 Baustein-Konfig-Panels.md create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Verwaltung/WF-P12 Verwaltung.canvas create mode 100644 02 Wireframes/P12 Automationen/WF-P12 Verwaltung/WF-P12 Verwaltung.md create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M01 Verloren-Dialog.md create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M02 Board-Wechsel-Dialog.md create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01 Kanban-Board.md create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Projekt-Detailseite.md create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03 Projekt-Liste.md create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S04 Board-Einstellungen.md create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S05 Detail-Schablone Edit-Mode.md create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S06 Verlust-Gruende.md create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Boards-Uebersicht.md create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas create mode 100644 02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S01 Abnahme-Liste.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S02 Schritt Pruefungen.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S03 Schritt Maengel.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S04 Schritt Unterschriften.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.canvas create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/M01 Konflikt-Dialog.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/M02 Einsatz-Dialog.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/S01 Plantafel.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/S02 Meine Termine.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Plantafel/WF-P9 Plantafel.canvas create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Plantafel/WF-P9 Plantafel.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/M01 Rechnung anlegen.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S01 Auftrags-Reiter.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S02 Mobil-Modus.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S03 Abnahme-Formular-Vorlagen.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S04 Projekt-Vorlagen.md create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.canvas create mode 100644 02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.md diff --git a/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M01 Probelauf.md b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M01 Probelauf.md new file mode 100644 index 00000000..acafa8b8 --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M01 Probelauf.md @@ -0,0 +1,41 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-FLOW +package: WF-P12 Flow-Editor +id: M01 +screen: Probelauf +typ: Modal +umsetzung: Bauen +status: Validiert +route: "aus S01 (Probelauf-Knopf / vor Aktivierung)" +subframe: "" +--- + +# M01 — Probelauf (Dry-Run) + +## Ziel + +Vor dem Scharfschalten sehen, was die Automation WIRKLICH tun würde — keine bösen Überraschungen. + +## Was das Tool können muss + +- **»Trifft X Datensätze«** + die ersten 5 als Beispiele +- Schritt-für-Schritt-Simulation in Klartext (»E-Mail würde an max@… gehen«) +- **Pflicht-Bestätigung** ab Schwelle (> 100 Datensätze/Schritt, mandant-einstellbar) — ggf. mit Bestätigungs-Phrase +- Ergebnis: aktivieren oder zurück in den Editor + +## Pattern / Archetyp + +A5 Modal + Simulations-Liste. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Über Schwelle | Bestätigung Pflicht | Nur dokumentieren | +| Trifft nichts | »Aktuell trifft die Automation 0 Datensätze« | Nur dokumentieren | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M02 Schleifen-Warnung.md b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M02 Schleifen-Warnung.md new file mode 100644 index 00000000..9356fa6b --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M02 Schleifen-Warnung.md @@ -0,0 +1,34 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-FLOW +package: WF-P12 Flow-Editor +id: M02 +screen: Schleifen-Warnung +typ: Modal +umsetzung: Bauen +status: Validiert +route: "aus S01 bei Schleifen-Verdacht" +subframe: "" +--- + +# M02 — Schleifen-/Raten-Warnung + +## Ziel + +Endlos-Schleifen verhindern, bevor sie den Betrieb fluten — verständlich erklärt. + +## Was das Tool können muss + +- **Mini-Abhängigkeits-Graph**: welche Automationen sich gegenseitig auslösen (der Kreis ist markiert) +- Klartext: »Automation A löst B aus, B löst wieder A aus« +- **»Beheben«**-Knopf (springt zum betroffenen Baustein) +- Anomalie-Hinweis-Variante: »2.000-mal in 5 Min gelaufen, typisch 5–10/Tag — pausiert« + wieder aktivieren + +## Pattern / Archetyp + +A5 Modal + Mini-Graph. + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M03 Start-Auswahl.md b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M03 Start-Auswahl.md new file mode 100644 index 00000000..99049e0b --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M03 Start-Auswahl.md @@ -0,0 +1,32 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-FLOW +package: WF-P12 Flow-Editor +id: M03 +screen: Start-Auswahl +typ: Modal +umsetzung: Bauen +status: Validiert +route: "»+ Neue Automation« (aus der Automation-Liste)" +subframe: "" +--- + +# M03 — Start-Auswahl + +## Ziel + +Der schnellste Weg zum Erfolgserlebnis: mit einer Vorlage starten statt vor leerer Fläche zu sitzen. + +## Was das Tool können muss + +- **Leer starten** ODER **Vorlage wählen** (SHK-Vorlagen + eigene, nach Kategorie, mit Use-Case-Beschreibung — eingebetteter Vorlagen-Katalog aus WF-P12 Verwaltung) +- Auswahl → Editor öffnet mit vorbefülltem Flow (Vorlage) oder leer + +## Pattern / Archetyp + +A5 Dialog (echtes Modal). + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/S01 Flow-Editor.md b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/S01 Flow-Editor.md new file mode 100644 index 00000000..f169c3a4 --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/S01 Flow-Editor.md @@ -0,0 +1,44 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-FLOW +package: WF-P12 Flow-Editor +id: S01 +screen: Flow-Editor +typ: BESPOKE (schwerste UI) +umsetzung: Bauen +status: Validiert +route: "/automations/:id/edit" +subframe: "" +--- + +# S01 — Flow-Editor ⭐ + +## Ziel + +Automationen zusammenklicken wie ein Diagramm — verständlich für Büro-Menschen, nicht nur Techniker. + +## Was das Tool können muss + +- **Zeichenfläche**: Bausteine setzen, verbinden, verschieben, duplizieren, löschen; Pan/Zoom; Undo/Redo; automatisch anordnen; Mini-Übersichtskarte +- **Katalog links** (einklappbar): Auslöser + Aktionen, nach Modul gruppiert/filterbar, per Ziehen oder Klick hinzufügen +- **Konfig-Panel rechts**: Klick auf Baustein → typ-abhängiges Formular in Klartext (Inhalte aus WF-P12 Verwaltung S05) +- **Inline-Validierung** direkt am Baustein: nicht verbunden · Schleifen-Verdacht · Pflichtfeld fehlt +- Kopf: Name, Status-Pill (aktiv/pausiert/Entwurf), Speichern, **Probelauf** → [[M01 Probelauf]], Aktivieren/Deaktivieren +- Aktivieren blockiert bei Fehlern (Klartext-Liste, Sprung zum Baustein) + +## Pattern / Archetyp + +**BESPOKE** — Dreispalten-Anordnung (validiert): Katalog · Canvas · Konfig. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Leerer Flow | Hinweis »Ersten Auslöser aus dem Katalog ziehen« | Nur dokumentieren | +| Ungespeichert verlassen | Hinweis | Nur dokumentieren | +| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/WF-P12 Flow-Editor.canvas b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/WF-P12 Flow-Editor.canvas new file mode 100644 index 00000000..4ead7b7e --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/WF-P12 Flow-Editor.canvas @@ -0,0 +1,19 @@ +{ + "nodes":[ + {"id":"md-paket","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/WF-P12 Flow-Editor.md","x":-80,"y":-440,"width":460,"height":280}, + {"id":"group-editor","type":"group","x":-80,"y":-100,"width":1820,"height":380,"label":"Editor (Bespoke — schwerste UI, Langläufer)"}, + {"id":"group-schutz","type":"group","x":-80,"y":460,"width":1820,"height":380,"label":"Schutz-Dialoge"}, + {"id":"note-entry","type":"text","text":"# Einstieg\n\n»+ Neue Automation« aus der Automation-Liste (WF-P12 Verwaltung) → Start-Auswahl.\n\nKlartext-First: alles in verständlichem Deutsch.","x":0,"y":0,"width":360,"height":200}, + {"id":"m03","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M03 Start-Auswahl.md","x":560,"y":0,"width":420,"height":200}, + {"id":"s01","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/S01 Flow-Editor.md","x":1240,"y":0,"width":420,"height":200}, + {"id":"m01","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M01 Probelauf.md","x":560,"y":560,"width":420,"height":200}, + {"id":"m02","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/Screens/M02 Schleifen-Warnung.md","x":1240,"y":560,"width":420,"height":200}, + {"id":"note-embed","type":"text","text":"# Einbettung\n\nBaustein-Konfig-Panels (rechtes Panel) kommen aus WF-P12 Verwaltung (S05).\n\nAnordnung validiert: Katalog links · Canvas Mitte · Konfig rechts.","x":0,"y":560,"width":460,"height":240} + ], + "edges":[ + {"id":"e-entry","fromNode":"note-entry","fromSide":"right","toNode":"m03","toSide":"left","toEnd":"arrow","styleAttributes":{"path":"dotted"}}, + {"id":"e-start","fromNode":"m03","fromSide":"right","toNode":"s01","toSide":"left","toEnd":"arrow","label":"leer oder Vorlage"}, + {"id":"e-dryrun","fromNode":"s01","fromSide":"bottom","toNode":"m01","toSide":"top","toEnd":"arrow","label":"Probelauf / vor Aktivierung"}, + {"id":"e-loop","fromNode":"s01","fromSide":"bottom","toNode":"m02","toSide":"top","toEnd":"arrow","label":"bei Schleifen-Verdacht","styleAttributes":{"path":"long-dashed"}} + ] +} diff --git a/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/WF-P12 Flow-Editor.md b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/WF-P12 Flow-Editor.md new file mode 100644 index 00000000..fda94352 --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/WF-P12 Flow-Editor.md @@ -0,0 +1,121 @@ +--- +kind: wireframe-package +project: HiveGrid Screen Project +ticket: D-FLOW +package: WF-P12 Flow-Editor +typ: Flow +status: Validiert +subframe: "" +canvas: "WF-P12 Flow-Editor.canvas" +--- + +# WF-P12 Flow-Editor + +Status: Validiert (Screen-Liste) +Subframe-Link: - +Canvas: [Canvas]() +Stand: 2026-07-09 + +--- + +## 1. Kurzfassung + +Der Automations-Baukasten: Zeichenfläche mit Auslöser- und Aktions-Bausteinen, alles in verständlichem Deutsch, mit Probelauf und Schleifen-Schutz. **Schwerste UI der App, erste USP-Säule, Langläufer — viele Iterationen einplanen.** + +--- + +## 2. Intent Check + +| Frage | Antwort | +|---|---| +| Ticket/Modul | D-FLOW, Dev-Pendant R-P12a/R-P12b (Editor blockt R-P12b!) | +| Nutzer-Ziel | »Wenn X passiert, tu Y« zusammenklicken — ohne Programmierkenntnisse, ohne Angst vor Fehlern | +| Quellen geprüft | `ticket-docs/D-FLOW.md`, ENTITY-MODEL Domäne 7, HiveGrid Map | +| Sicher im Scope | Graph-Canvas, Katalog, Konfig-Panel-Rahmen, Mini-Map, Toolbar, Validation, Dry-Run, Loop-Warnung, Start-Auswahl | +| Sicher nicht im Scope | Sprach-zu-Automation (gestrichen, AD-26) · KWP-Konfig-UI (v2) · Liste/Verläufe/Vorlagen (WF-P12 Verwaltung) | +| Unsichere Annahmen | — | + +--- + +## 3. Scope + +| Punkt | Inhalt | +|---|---| +| Startpunkt | »+ Neue Automation« (aus der Automation-Liste) oder bestehende öffnen | +| Ziel | Automation gebaut, per Probelauf geprüft, bewusst aktiviert | +| Haupt-Archetyp | **BESPOKE — schwerste UI** + A5 Modals | +| Out of scope | s. o. | + +--- + +## 4. Entscheidungen (validiert 2026-07-09) + +| Entscheidung | Status | Notiz | +|---|---|---| +| Zwei P12-Pakete (Editor / Verwaltung) | genommen | Editor ist Langläufer | +| **Grundanordnung: Katalog links · Canvas Mitte · Konfig rechts** | genommen | n8n-Muster; Klick auf Baustein öffnet Konfig-Panel rechts, Canvas bleibt sichtbar; Katalog einklappbar | +| **Start-Auswahl mit Vorlagen** | genommen | »+ Neue Automation« → Dialog: leer starten ODER SHK-/eigene Vorlage wählen → Editor öffnet | +| Dry-Run + Schleifen-Warnung als eigene Modals | genommen | Pflicht-Bestätigung ab Schwelle (mandant-einstellbar) | +| Aktivieren blockiert bei Fehlern | genommen | Klartext-Fehlerliste (nicht verbunden / Schleife / Pflichtfeld) — dokumentiert | +| Klartext-First | genommen | Baustein-Labels, Validierung, Dry-Run-Ausgaben: verständliches Deutsch, nicht technisch | +| Konfig-Panel-Inhalte kommen aus WF-P12 Verwaltung | genommen | typ-abhängige Formulare (S05 dort), der Editor bettet sie ein | + +### Happy Path + +1. »+ Neue Automation« → Start-Auswahl: Vorlage »Neue Anfrage → Aufgabe für Vertrieb« wählen (oder leer). +2. Editor: Bausteine aus dem Katalog ziehen, verbinden; Klick → Konfig rechts in Klartext. +3. Inline-Fehler beheben (»Baustein nicht verbunden«). +4. **Probelauf**: »Trifft 143 Datensätze …« — prüfen, ggf. Pflicht-Bestätigung. +5. Aktivieren. Bei Schleifen-Verdacht: Warnmodal mit Mini-Graph + »Beheben«. + +### Meldungs-/Error-States (validiert) + +| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz | +|---|---|---|---|---| +| Probelauf ab Schwelle | Pflicht-Bestätigung im Dry-Run-Modal | ja | Bauen (M01) | »Trifft > 100 Datensätze — bitte bestätigen« | +| Schleife erkannt | Warnmodal mit Mini-Abhängigkeits-Graph | ja | Bauen (M02) | + »Beheben«-Knopf | +| Aktivieren mit Fehlern | blockiert + Klartext-Fehlerliste | ja | Nur dokumentieren | je Fehler Sprung zum Baustein | +| Anomalie-Pause | Banner (auch in Liste/Detail) | nein | Nur dokumentieren | »2.000-mal in 5 Min — pausiert« | +| Ungespeicherte Änderungen | Hinweis beim Verlassen | nein | Nur dokumentieren | — | + +--- + +## 7. Validierte Screen-Liste + +| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status | +|---|---|---|---|---|---| +| S01 | Flow-Editor (Katalog · Canvas · Konfig) ⭐ | BESPOKE | Bauen | `/automations/:id/edit` | Validiert | +| M01 | Probelauf (Dry-Run) | Modal | Bauen | aus S01 | Validiert | +| M02 | Schleifen-/Raten-Warnung | Modal | Bauen | aus S01 | Validiert | +| M03 | Start-Auswahl (leer / Vorlage) | Modal | Bauen | »+ Neue Automation« | Validiert | +| D01–D03 | Aktivieren-Block / Anomalie-Banner / Verlassen-Hinweis | Inline | Nur dokumentieren | — | Validiert | + +--- + +## 8. Grid + +```text +Automation-Liste (WF-P12 Verwaltung) -> M03 (Start-Auswahl) -> S01 (Editor) +S01 -> M01 (Probelauf) -> Aktivieren +S01 -> M02 (Schleifen-Warnung, bei Verdacht) +S01 bettet ein: Baustein-Konfig-Panels (WF-P12 Verwaltung S05) +``` + +--- + +## 9. Screen-Pakete + +- [[S01 Flow-Editor]] · [[M01 Probelauf]] · [[M02 Schleifen-Warnung]] · [[M03 Start-Auswahl]] + +--- + +## 10. Offene Fragen + +- Kanten-Interaktion (Klick-Verbinden vs. nur Ziehen) + Auto-Layout-Verhalten → Subframe-Iterationen +- Dry-Run-Schwelle: Default-Wert → Dev + +## Handoff-Check + +- [x] Jeder Screen ist mit Umsetzung markiert. +- [x] Meldungs-/Error-State-Matrix ist ausgefüllt. +- [ ] Subframe-Link ist eingetragen. *(Subframe erst nach explizitem OK)* diff --git a/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S01 Automation-Liste.md b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S01 Automation-Liste.md new file mode 100644 index 00000000..e6c57bef --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S01 Automation-Liste.md @@ -0,0 +1,41 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P12 +package: WF-P12 Verwaltung +id: S01 +screen: Automation-Liste +typ: Liste +umsetzung: Bauen +status: Validiert +route: "/automations" +subframe: "" +--- + +# S01 — Automation-Liste + +## Ziel + +Alle Automationen im Blick: Was läuft, was ist pausiert, was tut wie oft? + +## Was das Tool können muss + +- Zeile: Name · Auslöser (Klartext) · Status-Pill (aktiv/pausiert/Entwurf) · Läufe (30 Tage) · letzte Ausführung +- »nur meine«-Filter · Anomalie-Pause-Banner +- »+ Neue Automation« → Start-Auswahl (WF-P12 Flow-Editor M03) · Zeile öffnen → Editor · Läufe → [[S02 Lauf-Liste]] +- Zeilen-Aktion »als Vorlage speichern« → [[S04 Vorlagen-Katalog]] + +## Pattern / Archetyp + +A2 Liste. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Leer | »Noch keine Automationen« + Start-Knopf | Nur dokumentieren | +| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S02 Lauf-Liste.md b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S02 Lauf-Liste.md new file mode 100644 index 00000000..510b03fb --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S02 Lauf-Liste.md @@ -0,0 +1,40 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P12 +package: WF-P12 Verwaltung +id: S02 +screen: Lauf-Liste +typ: Liste +umsetzung: Bauen +status: Validiert +route: "/automations/:id/executions" +subframe: "" +--- + +# S02 — Lauf-Liste + +## Ziel + +Was hat diese Automation zuletzt getan? + +## Was das Tool können muss + +- Letzte Läufe: Zeit · Status-Pill (ok/fehlgeschlagen/übersprungen) · Klartext-Summary · Probelauf-Marker · Dauer +- Filter: Status, Datum, Auslöser-Typ +- Zeile öffnen → [[S03 Lauf-Detail]] + +## Pattern / Archetyp + +A2 Liste. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Leer | »Noch keine Läufe« | Nur dokumentieren | +| Laden / Fehler | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S03 Lauf-Detail.md b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S03 Lauf-Detail.md new file mode 100644 index 00000000..b2bc911e --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S03 Lauf-Detail.md @@ -0,0 +1,42 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P12 +package: WF-P12 Verwaltung +id: S03 +screen: Lauf-Detail +typ: Detail + Timeline +umsetzung: Bauen +status: Validiert +route: "/automations/:id/executions/:exec_id" +subframe: "" +--- + +# S03 — Lauf-Detail + +## Ziel + +Jeden Lauf Schritt für Schritt nachvollziehen — und Fehler rückgängig machen. + +## Was das Tool können muss + +- Kopf: Klartext-Summary + Auslöser-Daten **lesbar** (kein rohes JSON) + Probelauf-Marker +- **Schritt-für-Schritt-Timeline**: je Schritt Klartext (»E-Mail an max@… gesendet«), Status, Ein-/Ausgabe lesbar, Dauer +- **24-h-Rückgängig-Knopf mit Countdown** (Restzeit sichtbar; danach ausgegraut + Hinweis) +- Fehlgeschlagenen Schritt **erneut ausführen** · **»ab Schritt X fortsetzen«** + +## Pattern / Archetyp + +A3 + Timeline. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Schritt fehlgeschlagen | roter Marker + Klartext-Fehler + Retry daneben | Nur dokumentieren | +| Rückgängig abgelaufen | Knopf grau + »nur 24 h möglich« | Nur dokumentieren | +| Laden / Fehler | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S04 Vorlagen-Katalog.md b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S04 Vorlagen-Katalog.md new file mode 100644 index 00000000..c00ac5d8 --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S04 Vorlagen-Katalog.md @@ -0,0 +1,39 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P12 +package: WF-P12 Verwaltung +id: S04 +screen: Vorlagen-Katalog +typ: Liste/Karten +umsetzung: Bauen +status: Validiert +route: "/automations/templates" +subframe: "" +--- + +# S04 — Vorlagen-Katalog + +## Ziel + +Fertige SHK-Automationen zum Sofort-Nutzen — plus eigene Vorlagen des Betriebs. + +## Was das Tool können muss + +- Vorlagen-Karten nach Kategorie: Name · Use-Case-Beschreibung · Nutzungs-Anzahl · **»Verwenden«** (öffnet Editor vorbefüllt) +- SHK-Vorlagen (geseedet) + eigene (»aus Automation erstellen« in der Liste) +- Wird auch in der Start-Auswahl (Flow-Editor M03) eingebettet + +## Pattern / Archetyp + +A2 Karten-Liste. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Laden / Fehler | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S05 Baustein-Konfig-Panels.md b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S05 Baustein-Konfig-Panels.md new file mode 100644 index 00000000..0cf02e52 --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S05 Baustein-Konfig-Panels.md @@ -0,0 +1,44 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P12 +package: WF-P12 Verwaltung +id: S05 +screen: Baustein-Konfig-Panels +typ: Compose-Panel (eingebettet) +umsetzung: Bauen +status: Validiert +route: "eingebettet im Flow-Editor (rechtes Panel)" +subframe: "" +--- + +# S05 — Baustein-Konfig-Panels + +## Ziel + +Das rechte Panel im Flow-Editor: je Baustein-Typ ein Klartext-Formular. Als **Muster** werden zwei Panels gebaut, der Rest folgt dem Schema. + +## Was das Tool können muss + +- **Typ-abhängige Felder** je Auslöser (Anfrage/Kontakt/Board/E-Mail/Formular/Buchung/Kalender/Zeitplan/Webhook) und je Aktion (Datensatz ändern, Benachrichtigung, HTTP, Aufgabe, Wenn-Dann, Warten, Schleife) +- **Klartext-Labels** (»Wenn eine neue Anfrage aus Quelle … eingeht«) statt Technik-Sprache +- Inline-Validierung (Pflichtfeld fehlt) mit Badge am Baustein +- Muster-Panels (Subframe): Auslöser »Neue Anfrage« + Aktion »Aufgabe anlegen« + +## Pattern / Archetyp + +Compose — Formular-Bausteine (A4) im Editor-Panel. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Pflichtfeld fehlt | Inline + Badge am Baustein | Nur dokumentieren | + +## Subframe + +- (erst nach explizitem OK) + +## Notizen + +- KWP-Push: nur Registry-Eintrag, kein Konfig-UI (v1-Grenze). diff --git a/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/WF-P12 Verwaltung.canvas b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/WF-P12 Verwaltung.canvas new file mode 100644 index 00000000..46dd36a4 --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/WF-P12 Verwaltung.canvas @@ -0,0 +1,41 @@ +{ + "nodes":[ + {"id":"md-paket","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Verwaltung/WF-P12 Verwaltung.md","x":-80,"y":-440,"width":460,"height":280}, + {"id":"group-verw","type":"group","x":-80,"y":-100,"width":2500,"height":380,"label":"Übersicht und Verläufe"}, + {"id":"group-extra","type":"group","x":-80,"y":460,"width":1820,"height":380,"label":"Vorlagen + Konfig-Panels"}, + {"id":"note-entry","type":"text","text":"# Einstieg\n\nSidebar → Automation.","x":0,"y":0,"width":300,"height":200}, + {"id":"s01","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S01 Automation-Liste.md","x":500,"y":0,"width":420,"height":200}, + {"id":"s02","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S02 Lauf-Liste.md","x":1140,"y":0,"width":420,"height":200}, + {"id":"s03","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S03 Lauf-Detail.md","x":1780,"y":0,"width":420,"height":200}, + {"id":"s04","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S04 Vorlagen-Katalog.md","x":0,"y":560,"width":420,"height":200}, + {"id":"s05","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Verwaltung/Screens/S05 Baustein-Konfig-Panels.md","x":580,"y":560,"width":420,"height":200}, + {"id":"note-embed","type":"text","text":"# Einbettungen\n\n- S04 steckt auch in der Start-Auswahl (Flow-Editor M03)\n- S05 ist das rechte Panel im Flow-Editor\n- »+ Neue Automation« in S01 → Start-Auswahl (Flow-Editor)","x":1160,"y":560,"width":500,"height":240} + ], + "edges":[ + { + "id":"e-entry", + "fromNode":"note-entry", + "fromSide":"right", + "toNode":"s01", + "toSide":"left", + "toEnd":"arrow", + "styleAttributes":{"path":"dotted"} + }, + {"id":"e-runs","fromNode":"s01","fromSide":"right","toNode":"s02","toSide":"left","toEnd":"arrow","label":"Läufe"}, + {"id":"e-detail","fromNode":"s02","fromSide":"right","toNode":"s03","toSide":"left","toEnd":"arrow","label":"Lauf öffnen"}, + { + "id":"e-template", + "fromNode":"s01", + "fromSide":"bottom", + "toNode":"s04", + "toSide":"top", + "toEnd":"arrow", + "label":"als Vorlage speichern", + "styleAttributes":{"path":"long-dashed"} + } + ], + "metadata":{ + "version":"1.0-1.0", + "frontmatter":{} + } +} \ No newline at end of file diff --git a/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/WF-P12 Verwaltung.md b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/WF-P12 Verwaltung.md new file mode 100644 index 00000000..c9c212e8 --- /dev/null +++ b/02 Wireframes/P12 Automationen/WF-P12 Verwaltung/WF-P12 Verwaltung.md @@ -0,0 +1,110 @@ +--- +kind: wireframe-package +project: HiveGrid Screen Project +ticket: D-P12 +package: WF-P12 Verwaltung +typ: Flow +status: Validiert +subframe: "" +canvas: "WF-P12 Verwaltung.canvas" +--- + +# WF-P12 Verwaltung + +Status: Validiert (Screen-Liste) +Subframe-Link: - +Canvas: [Canvas]() +Stand: 2026-07-09 + +--- + +## 1. Kurzfassung + +Die Nicht-Canvas-Flächen der Automationen: Übersichtsliste, Lauf-Verläufe mit Klartext-Timeline und 24-h-Rückgängig, Vorlagen-Katalog — und die Baustein-Konfig-Panels, die der Flow-Editor einbettet. + +--- + +## 2. Intent Check + +| Frage | Antwort | +|---|---| +| Ticket/Modul | D-P12, Dev-Pendant R-P12a/R-P12b | +| Nutzer-Ziel | Überblick behalten, jeden Lauf nachvollziehen, Fehler rückgängig machen | +| Quellen geprüft | `ticket-docs/D-P12.md`, ENTITY-MODEL Domäne 7, HiveGrid Map | +| Sicher im Scope | Liste, Lauf-Liste/-Detail, Vorlagen-Katalog, Konfig-Panel-Inhalte | +| Sicher nicht im Scope | Editor-Canvas (WF-P12 Flow-Editor), KWP-Konfig (v2), Sprach-Eingabe (gestrichen) | +| Unsichere Annahmen | — | + +--- + +## 3. Scope + +| Punkt | Inhalt | +|---|---| +| Startpunkt | Sidebar »Automation« | +| Ziel | Automation gefunden, Lauf verstanden, ggf. rückgängig/erneut | +| Haupt-Archetyp | A2 Listen · A3 + Timeline · Compose-Panels | +| Out of scope | s. o. | + +--- + +## 4. Entscheidungen (validiert 2026-07-09) + +| Entscheidung | Status | Notiz | +|---|---|---| +| Zwei P12-Pakete | genommen | dieses = Verwaltung | +| Lauf-Detail mit Klartext-Timeline | genommen | je Schritt: was, womit (Input/Output lesbar), wie lange, Ergebnis | +| 24-h-Rückgängig als Countdown-Knopf | genommen | + Retry + »ab Schritt X fortsetzen« | +| Vorlagen-Katalog mit »aus Automation erstellen« | genommen | SHK + eigene, nach Kategorie | +| Baustein-Konfig-Panels hier designen | genommen | typ-abhängige Klartext-Formulare je Auslöser/Aktion — der Editor bettet sie ein; je ein Muster-Panel (Auslöser + Aktion) wird gebaut | + +### Meldungs-/Error-States (validiert) + +| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz | +|---|---|---|---|---| +| Lauf fehlgeschlagen | rote Status-Pill + Klartext-Fehler am Schritt | nein | Nur dokumentieren | Retry/Resume direkt daneben | +| Anomalie-Pause | Banner in Liste + Detail | nein | Nur dokumentieren | wie im Editor | +| Rückgängig-Fenster abgelaufen | Knopf ausgegraut + Hinweis | nein | Nur dokumentieren | »Nur 24 h nach Lauf möglich« | +| Leere Liste | Leer-Zustand + »+ Neue Automation« | nein | Nur dokumentieren | → Start-Auswahl (Flow-Editor M03) | + +--- + +## 7. Validierte Screen-Liste + +| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status | +|---|---|---|---|---|---| +| S01 | Automation-Liste | Liste | Bauen | `/automations` | Validiert | +| S02 | Lauf-Liste | Liste | Bauen | `/automations/:id/executions` | Validiert | +| S03 | Lauf-Detail (Klartext-Timeline) | Detail + Timeline | Bauen | `…/executions/:exec_id` | Validiert | +| S04 | Vorlagen-Katalog | Liste/Karten | Bauen | `/automations/templates` | Validiert | +| S05 | Baustein-Konfig-Panels (Muster Auslöser + Aktion) | Compose-Panel | Bauen | eingebettet im Flow-Editor | Validiert | +| D01–D04 | Zustände (s. Tabelle) | Inline/Banner | Nur dokumentieren | — | Validiert | + +--- + +## 8. Grid + +```text +Sidebar -> S01 (Liste) -> S02 (Laeufe) -> S03 (Lauf-Detail: Timeline, 24h-Undo, Retry, Resume) +S01 -> "+ Neue Automation" -> M03 (Start-Auswahl, WF-P12 Flow-Editor) +S04 (Vorlagen) <- "aus Automation erstellen" (S01) +S05 (Konfig-Panels) -> eingebettet in Flow-Editor S01 +``` + +--- + +## 9. Screen-Pakete + +- [[S01 Automation-Liste]] · [[S02 Lauf-Liste]] · [[S03 Lauf-Detail]] · [[S04 Vorlagen-Katalog]] · [[S05 Baustein-Konfig-Panels]] + +--- + +## 10. Offene Fragen + +- Welche zwei Muster-Panels für S05 (Vorschlag: Auslöser »Neue Anfrage« + Aktion »Aufgabe anlegen«) → beim Subframe-Bau + +## Handoff-Check + +- [x] Jeder Screen ist mit Umsetzung markiert. +- [x] Meldungs-/Error-State-Matrix ist ausgefüllt. +- [ ] Subframe-Link ist eingetragen. *(Subframe erst nach explizitem OK)* diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M01 Verloren-Dialog.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M01 Verloren-Dialog.md new file mode 100644 index 00000000..8efcd203 --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M01 Verloren-Dialog.md @@ -0,0 +1,42 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-KANBAN +package: WF-P8 Pipelines +id: M01 +screen: Verloren-Dialog +typ: Modal +umsetzung: Bauen +status: Validiert +route: "beim Ziehen in eine Verloren-Spalte (S01/S02)" +subframe: "" +--- + +# M01 — Verloren-Dialog + +## Ziel + +Kein Projekt geht »einfach so« verloren — der Grund ist Pflicht (Reporting). + +## Pattern / Archetyp + +A5 Dialog (echtes Modal). + +## Daten + +- **Grund-Auswahl (Pflicht)** aus den Verlust-Gründen ([[S06 Verlust-Gruende]]) + optionales Freitext-Feld + +## Aktionen + +- »Als verloren markieren« → Karte wandert, 24-h-Rückgängig-Banner +- Abbrechen → Karte springt zurück + +## Meldungsentscheidung + +| Ereignis | UI-Form | Blockiert? | Umsetzung | Copy/Notiz | +|---|---|---|---|---| +| Kein Grund gewählt | Inline-Validierung | ja | Nur dokumentieren | Pflichtfeld | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M02 Board-Wechsel-Dialog.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M02 Board-Wechsel-Dialog.md new file mode 100644 index 00000000..3fb28c14 --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M02 Board-Wechsel-Dialog.md @@ -0,0 +1,42 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-KANBAN +package: WF-P8 Pipelines +id: M02 +screen: Board-Wechsel-Dialog +typ: Modal +umsetzung: Bauen +status: Validiert +route: "beim Einzug in eine Spalte ohne Auto-Regel (v. a. Gewonnen)" +subframe: "" +--- + +# M02 — Board-Wechsel-Dialog + +## Ziel + +Davids Regel-Logik: Hat die Spalte eine Auto-Verschieben-Regel, passiert der Wechsel still. **Ohne Regel** fragt dieser Dialog: »Wohin damit?« + +## Pattern / Archetyp + +A5 Dialog (echtes Modal). + +## Daten + +- Kurz-Bestätigung (z. B. »Projekt gewonnen 🎉«) +- **Auswahl: Ziel-Board + Start-Spalte** (nur Boards mit Zugriff) +- Option »Hier liegen lassen« (kein Wechsel) + +## Aktionen + +- »Verschieben« → Projekt wechselt Board (nur View-Wechsel, kein Kopieren), Toast + 24-h-Rückgängig +- »Hier lassen« / Abbrechen + +## Subframe + +- (erst nach explizitem OK) + +## Notizen + +- Spalten-Regel wird in [[S04 Board-Einstellungen]] gepflegt; Umsetzung (direkt vs. Automation-Engine) = Dev-Frage. diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01 Kanban-Board.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01 Kanban-Board.md new file mode 100644 index 00000000..4b94763a --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01 Kanban-Board.md @@ -0,0 +1,57 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-KANBAN +package: WF-P8 Pipelines +id: S01 +screen: Kanban-Board +typ: BESPOKE Board +umsetzung: Bauen +status: Validiert +route: "/projects" +subframe: "" +--- + +# S01 — Kanban-Board ⭐ + +## Ziel + +Der Vertrieb auf einen Blick: Wo steht welches Projekt, was hängt, was ist gewonnen? + +## Was das Tool können muss + +- **EIN Board-System für alle Board-Typen** (Vertrieb/Auftrag/eigene) — Boards sind Views auf denselben Projekt-Datensatz +- **Karten ziehen = Status wechseln**, mit Validation (unerlaubte Spalte → Karte springt zurück + Klartext) +- **Gewonnen-Spalte:** Regel greift (Auto-Verschieben nach Board X, Toast) oder [[M02 Board-Wechsel-Dialog]] +- **Verloren-Spalte:** [[M01 Verloren-Dialog]] — Grund ist Pflicht +- Umsatz-Aggregate nur für Berechtigte (sonst »—«) +- Live (mehrere Nutzer sehen Änderungen sofort), Pagination je Spalte (100+) + +## Pattern / Archetyp + +**BESPOKE** — horizontales Spalten-Board. + +## Daten + +- Board-Wechsler oben (nur Boards, die die Rolle sehen darf) + Umschalter Board/Liste ([[S03 Projekt-Liste]]) +- Spaltenkopf: Name · Projekt-Anzahl · Summe (gegated) · Win-% +- Karte (fix, kein Karten-Editor v1): Titel · Umsatz (gegated) · Verantwortlicher-Avatar · Termin-/Abschlussdatum · max. 3 Tags · Hänger-Marker (zu lange in Spalte) +- Filter: Verantwortlicher, Tags, Umsatz-Bereich, Datum · »nur meine«-Schnellfilter + +## Aktionen + +- Karte öffnen → [[S02 Projekt-Detailseite]] +- Drag&Drop · Mehrfachauswahl + Bulk (zuweisen, Spalte, Tags) +- Admin: **»Board verwalten«** → [[S04 Board-Einstellungen]] · **Edit-Mode** → [[S05 Detail-Schablone Edit-Mode]] + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Leeres Board | »Noch keine Projekte« + CTA (Lead-Eingang / anlegen) | Nur dokumentieren | +| Live weg | Inline »aktualisiert sich gerade nicht« | Nur dokumentieren | +| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Projekt-Detailseite.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Projekt-Detailseite.md new file mode 100644 index 00000000..b7d8e9c5 --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Projekt-Detailseite.md @@ -0,0 +1,51 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P8 +package: WF-P8 Pipelines +id: S02 +screen: Projekt-Detailseite +typ: Detail (P6-Muster) +umsetzung: Bauen +status: Validiert +route: "/projects/:id" +subframe: "" +--- + +# S02 — Projekt-Detailseite + +## Ziel + +Alles zu einem Projekt an einem Ort — die Akte, die in P9 um Auftrags-Reiter wächst. + +## Was das Tool können muss + +- **Status sichtbar und klickbar**: Status-Leiste (Spalten des aktuellen Boards) im Kopf, Klick = Wechsel; Historie mit Verweildauer je Spalte +- Herkunft zeigen: »Kam aus Anfrage X« (Link zum Lead) +- Gewonnen/Verloren-Banner mit **24-h-Rückgängig** +- Kontakte **mit Projekt-Rollen** verknüpfen: Auftraggeber · Bauherr · Rechnungsempfänger · Ansprechpartner +- Felder je Board unterschiedlich (kommt aus der Detail-Schablone / Edit-Mode) + +## Pattern / Archetyp + +A3 — **P6-Karteikarten-Muster** (Zweispalter + Reiter), erweitert um die Status-Leiste im Kopf. + +## Aufbau + +- **Kopf:** Nummer + Titel · Status-Leiste (klickbar) · Board-Zugehörigkeit · Schnell-Aktionen (Anrufen/E-Mail/Termin/Aufgabe/Notiz) +- **Links:** Stammdaten inline (Umsatz gegated, Zeitraum, Adress-Slots) · Kontakte mit Rollen · eigene Felder (je Board-Schablone) · Tags · Herkunfts-Hinweis +- **Rechts, Reiter:** Verlauf (Default) · Termine · Aufgaben (V01 aus P4) · Dateien (P4-Sektion) — Rechnungen/Checklisten/Abnahmen kommen mit P9 dazu +- »Verlauf dieses Objekts« (Audit-Drawer aus P3) + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Gewonnen/Verloren | Banner + 24-h-Rückgängig | Nur dokumentieren | +| Umsatz ohne Recht | »—« | Nur dokumentieren | +| Nicht gefunden / kein Recht | 404 | Wiederverwenden | +| Laden / Fehler | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03 Projekt-Liste.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03 Projekt-Liste.md new file mode 100644 index 00000000..d569992d --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03 Projekt-Liste.md @@ -0,0 +1,47 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P8 +package: WF-P8 Pipelines +id: S03 +screen: Projekt-Liste +typ: Liste +umsetzung: Bauen +status: Validiert +route: "/projects/list" +subframe: "" +--- + +# S03 — Projekt-Liste + +## Ziel + +Alle Projekte über alle Boards hinweg — für Suchen, Sortieren, Exportieren. + +## Was das Tool können muss + +- Cross-Board-Sicht mit Board-Spalte und Board-Filter +- Server-seitig sortieren/filtern/paginieren, Spalten konfigurierbar, CSV-Export, Mehrfach-Aktionen + +## Pattern / Archetyp + +A2 Liste (Umschalter Board ↔ Liste im Kopf von [[S01 Kanban-Board]]). + +## Daten + +- Zeile: Projekt-Nummer · Titel · Board · Status (Spalte) · Umsatz (gegated) · Kontakt/Organisation · Zeitraum/Abschlussdatum · letzte Aktivität + +## Aktionen + +- Zeile öffnen → [[S02 Projekt-Detailseite]] +- Bulk: zuweisen, Tags, Archiv · CSV-Export + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Leer / Laden / Fehler | A7 + Klartext | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S04 Board-Einstellungen.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S04 Board-Einstellungen.md new file mode 100644 index 00000000..4e9419b3 --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S04 Board-Einstellungen.md @@ -0,0 +1,47 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P8 +package: WF-P8 Pipelines +id: S04 +screen: Board-Einstellungen +typ: Verwaltung +umsetzung: Bauen +status: Validiert +route: "aus S01 (Board verwalten) + aus S07 (Einstellungen)" +subframe: "" +--- + +# S04 — Board-Einstellungen + +## Ziel + +Ein Board zuschneiden: Spalten, wer es sieht, was beim Einzug in eine Spalte passiert. **Zwei Einstiege** (im Board + über Einstellungen), gleiche Seite. + +## Was das Tool können muss + +- **Spalten:** anlegen, per Ziehen ordnen, je Spalte: Name · Art (offen/gewonnen/verloren) · Win-% · Farbe; Validation: min. 1 gewonnen + 1 verloren +- **Spalten-Regel (Davids Delta):** »Beim Einzug in diese Spalte automatisch verschieben nach [Board, Start-Spalte]« — greift die Regel, entfällt der Wechsel-Dialog +- **Rollen-Zugriff:** Matrix wer sehen / wer bearbeiten darf (Rolle/Person/Gruppe) +- Board: umbenennen · Typ (Vertrieb/Auftrag/eigenes) · duplizieren · archivieren +- Einstieg in die **Detail-Schablone** → [[S05 Detail-Schablone Edit-Mode]] + +## Pattern / Archetyp + +A6 Settings + A2 (Spalten-Liste mit Drag&Drop). + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Validation verletzt (kein gewonnen/verloren) | Inline-Hinweis, Speichern blockiert | Nur dokumentieren | +| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) + +## Notizen + +- Spalten-Regel: Umsetzung (Board-Modell vs. Automation-Engine) = Dev-Frage beim Handoff. +- Auftrags-Erweiterung (aus WF-P9 Projekt-Akte, validiert): je Spalte zusätzlich **»Abnahme Pflicht«** (Wechsel ohne Abnahme blockiert), **Abnahme-Vorlagen-Zuweisung** und **Auto-Archiv nach N Tagen**. diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S05 Detail-Schablone Edit-Mode.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S05 Detail-Schablone Edit-Mode.md new file mode 100644 index 00000000..f7fd19b0 --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S05 Detail-Schablone Edit-Mode.md @@ -0,0 +1,51 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P8 +package: WF-P8 Pipelines +id: S05 +screen: Detail-Schablone Edit-Mode +typ: Modus (WYSIWYG) +umsetzung: Bauen +status: Validiert +route: "aus S01/S04 (Edit-Mode-Umschalter)" +subframe: "" +--- + +# S05 — Detail-Schablone (Edit-Mode) + +## Ziel + +**Davids Konzept:** Die Projekt-Detailansicht dieses Boards als leere Schablone — alle Felder genau da, wo sie sitzen, nur ungefüllt. Direkt bearbeiten statt abstrakter Einstellungs-Tabelle. + +## Was das Tool können muss + +- Umschalten in den Edit-Mode vom Board/Board-Einstellungen aus (nur Admin) +- Felder **verschieben** (Reihenfolge/Position in der Detailansicht) +- Felder **ein-/ausblenden** (Show / not Show) und als **Pflicht** markieren — optional je Spalte/Status +- **Feld hinzufügen**: bestehendes eigenes Feld wählen ODER neues anlegen (nutzt Eigene Felder aus P6) +- **Berechtigung je Feld** setzen (wer sieht/bearbeitet — z. B. Umsatz nur Vertrieb) +- Gilt **nur für die Detailansicht** — das Karten-Layout ist bewusst NICHT editierbar (v1, Davids Entscheidung) + +## Pattern / Archetyp + +WYSIWYG-Variante der [[S02 Projekt-Detailseite]] mit Edit-Rahmen (gestrichelte Feld-Slots, Drag-Handles, Feld-Einstellungs-Popover). + +## Aktionen + +- Feld ziehen · Feld-Popover (sichtbar/Pflicht/Berechtigung) · »+ Feld« · Speichern/Verwerfen · zurück zum Board + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Ungespeicherte Änderungen | Hinweis beim Verlassen | Nur dokumentieren | +| Kein Admin-Recht | Umschalter gar nicht sichtbar | Nur dokumentieren | + +## Subframe + +- (erst nach explizitem OK) + +## Notizen + +- Entspricht fachlich der Feld-Konfiguration je Board (PipelineFieldConfig) — nur als WYSIWYG statt Tabelle. Dev-seitig identisches Modell. diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S06 Verlust-Gruende.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S06 Verlust-Gruende.md new file mode 100644 index 00000000..cd5550c9 --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S06 Verlust-Gruende.md @@ -0,0 +1,39 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P8 +package: WF-P8 Pipelines +id: S06 +screen: Verlust-Gruende +typ: Settings-Liste +umsetzung: Bauen +status: Validiert +route: "/admin/pipelines/lost-reasons (Einstellungen -> Arbeitsweise)" +subframe: "" +--- + +# S06 — Verlust-Gründe + +## Ziel + +Pflegen, warum Projekte verloren gehen — Grundlage fürs Reporting. + +## Was das Tool können muss + +- Liste: Grund · Anzahl verknüpfter Projekte · Status +- Anlegen / bearbeiten / **archivieren** (kein Löschen — Reporting braucht die Historie) +- 5 SHK-Vorlagen vorbefüllt + +## Pattern / Archetyp + +A2 Settings-Liste unter Einstellungen → Arbeitsweise. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Boards-Uebersicht.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Boards-Uebersicht.md new file mode 100644 index 00000000..151455a4 --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Boards-Uebersicht.md @@ -0,0 +1,39 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P8 +package: WF-P8 Pipelines +id: S07 +screen: Boards-Uebersicht +typ: Settings-Liste +umsetzung: Bauen +status: Validiert +route: "/admin/pipelines (Einstellungen -> Arbeitsweise -> Boards)" +subframe: "" +--- + +# S07 — Boards-Übersicht (Einstellungen) + +## Ziel + +Der zweite Einstieg (Davids Entscheidung): alle Boards an einem Ort finden, in ihre Einstellungen springen, neue anlegen. + +## Was das Tool können muss + +- Liste aller Boards: Name · Typ (Vertrieb/Auftrag/eigenes) · Spalten-Anzahl · aktive Projekte · wer Zugriff hat (Kurzform) · Status +- **»+ Neues Board«** (Name, Typ, Start-Spalten aus Vorlage) +- Zeile öffnen → [[S04 Board-Einstellungen]] (dieselbe Seite wie der Einstieg im Board) + +## Pattern / Archetyp + +A2 Settings-Liste unter Einstellungen → Arbeitsweise. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas new file mode 100644 index 00000000..7866035b --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas @@ -0,0 +1,32 @@ +{ + "nodes":[ + {"id":"md-paket","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.md","x":-80,"y":-440,"width":460,"height":280}, + {"id":"group-board","type":"group","x":-80,"y":-100,"width":1820,"height":380,"label":"Board (Bespoke)"}, + {"id":"group-liste","type":"group","x":1880,"y":-100,"width":540,"height":380,"label":"Listen-Ansicht"}, + {"id":"group-dialoge","type":"group","x":-80,"y":460,"width":1120,"height":380,"label":"Won/Lost-Dialoge"}, + {"id":"group-verw","type":"group","x":1200,"y":460,"width":1200,"height":380,"label":"Board-Verwaltung + Edit-Mode"}, + {"id":"group-settings","type":"group","x":-80,"y":1120,"width":1820,"height":380,"label":"Einstellungen → Arbeitsweise (zweiter Einstieg)"}, + {"id":"note-entry","type":"text","text":"# Einstieg\n\nSidebar → Pipelines (`/projects`) — öffnet das zuletzt genutzte Board.\n\nBoards = Views auf denselben Projekt-Datensatz (Pivot).","x":0,"y":0,"width":360,"height":200}, + {"id":"s01","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S01 Kanban-Board.md","x":560,"y":0,"width":420,"height":200}, + {"id":"s02","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S02 Projekt-Detailseite.md","x":1240,"y":0,"width":420,"height":200}, + {"id":"s03","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S03 Projekt-Liste.md","x":1920,"y":0,"width":420,"height":200}, + {"id":"m01","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M01 Verloren-Dialog.md","x":0,"y":560,"width":420,"height":200}, + {"id":"m02","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/M02 Board-Wechsel-Dialog.md","x":580,"y":560,"width":420,"height":200}, + {"id":"s04","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S04 Board-Einstellungen.md","x":1240,"y":560,"width":420,"height":200}, + {"id":"s05","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S05 Detail-Schablone Edit-Mode.md","x":1940,"y":560,"width":420,"height":200}, + {"id":"note-settings","type":"text","text":"# Einstieg 2\n\nEinstellungen → Arbeitsweise: alle Boards finden, neue anlegen, Verlust-Gründe pflegen.\n\nGleiche Board-Einstellungen wie im Tool — kein Duplikat.","x":0,"y":1220,"width":360,"height":200}, + {"id":"s07","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S07 Boards-Uebersicht.md","x":560,"y":1220,"width":420,"height":200}, + {"id":"s06","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/Screens/S06 Verlust-Gruende.md","x":1240,"y":1220,"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":"Karte öffnen"}, + {"id":"e-liste","fromNode":"s01","fromSide":"top","toNode":"s03","toSide":"top","toEnd":"arrow","label":"Umschalter Board ↔ Liste"}, + {"id":"e-lost","fromNode":"s01","fromSide":"bottom","toNode":"m01","toSide":"top","toEnd":"arrow","label":"Verloren-Spalte (Grund Pflicht)"}, + {"id":"e-won","fromNode":"s01","fromSide":"bottom","toNode":"m02","toSide":"top","toEnd":"arrow","label":"Gewonnen ohne Spalten-Regel"}, + {"id":"e-verw","fromNode":"s02","fromSide":"bottom","toNode":"s04","toSide":"top","toEnd":"arrow","label":"Board verwalten (aus S01/S02)"}, + {"id":"e-edit","fromNode":"s04","fromSide":"right","toNode":"s05","toSide":"left","toEnd":"arrow","label":"Edit-Mode öffnen"}, + {"id":"e-link","fromNode":"s07","fromSide":"top","toNode":"s04","toSide":"bottom","toEnd":"arrow","label":"öffnet dieselbe Seite","styleAttributes":{"path":"long-dashed"}}, + {"id":"e-set","fromNode":"note-settings","fromSide":"right","toNode":"s07","toSide":"left","toEnd":"arrow","styleAttributes":{"path":"dotted"}} + ] +} diff --git a/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.md b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.md new file mode 100644 index 00000000..3eb735c4 --- /dev/null +++ b/02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.md @@ -0,0 +1,142 @@ +--- +kind: wireframe-package +project: HiveGrid Screen Project +ticket: D-P8 + D-KANBAN +package: WF-P8 Pipelines +typ: Flow +status: Validiert +subframe: "" +canvas: "WF-P8 Pipelines.canvas" +--- + +# WF-P8 Pipelines + +Status: Validiert (Screen-Liste) +Subframe-Link: - +Canvas: [Canvas]() +Stand: 2026-07-08 + +--- + +## 1. Kurzfassung + +Das Herzstück des Vertriebs: **Kanban-Boards als Views auf den einen Projekt-Datensatz.** Karten ziehen = Status wechseln, gewonnen = Board-Wechsel (regel-basiert oder per Dialog), Umsatz nur für Berechtigte. Konfiguration lebt im Board (Edit-Mode für die Detailansicht) mit zweitem Einstieg über die Einstellungen. Deckt **beide Tickets** ab: D-KANBAN (Board, Bespoke) + D-P8 (Detail, Liste, Verwaltung). + +--- + +## 2. Intent Check + +| Frage | Antwort | +|---|---| +| Welches Ticket/Modul ist betroffen? | D-P8 + D-KANBAN (P8), Dev-Pendant R-P8a/R-P8b | +| Was soll der Nutzer am Ende schaffen? | Vertrieb im Blick (Board), Projekt-Details pflegen, Boards selbst zuschneiden (Spalten, Rechte, Felder) | +| Flow, Screen, Zustand oder Doku? | Bespoke-Board + Detail + Liste + Verwaltungs-Screens + 2 Dialoge | +| Welche Planning-Quellen wurden geprüft? | `ticket-docs/D-P8.md` + `D-KANBAN.md`, ENTITY-MODEL Domäne 5 (Pivot), HiveGrid Map | +| Was ist sicher im Scope? | Board, Projekt-Detail (Basis), Liste, Board-Einstellungen, Edit-Mode Detailansicht, Verlust-Gründe | +| Was ist sicher nicht im Scope? | Plantafel/Abnahme/Rechnungen-Reiter (P9), Forecast-Widgets als Screens (P11/D-DASH — hier nur Datenquellen), Karten-Layout-Editor (bewusst nicht, Davids Entscheidung) | +| Admin/Normalrolle-Unterschiede? | Board-Sichtbarkeit je Rolle (PipelineAccess); Umsatz field-level gegated; Verwaltung nur Admin | +| Unsichere Annahmen? | Spalten-Regel »Auto-Verschieben nach Board X« — technische Umsetzung (direkt oder via Automation-Engine) → Dev-Frage | + +--- + +## 3. Scope + +| Punkt | Inhalt | +|---|---| +| Ticket/Modul | D-P8 + D-KANBAN · Sidebar-Punkt »Pipelines« | +| Nutzerrolle | Maximalansicht (Admin) | +| Startpunkt | Sidebar »Pipelines« → zuletzt genutztes Board | +| Ziel | Projekt durchs Board bewegt; gewonnen → Auftrags-Board | +| Haupt-Archetyp | **BESPOKE Board** · A3 Detail (P6-Muster) · A2 Liste · A5/A6 Verwaltung | +| Bespoke-Anteil | Das Board selbst (ein Board für alle Pipeline-Typen) | +| Out of scope | P9-Sub-Areas, KWP, getrennte Sales-/Projekt-Kanbans (Pivot: EIN Board-System) | + +--- + +## 4. Entscheidungen (validiert 2026-07-08) + +| Entscheidung | Status | Notiz | +|---|---|---| +| EIN Paket für beide Tickets | genommen | Board = Bespoke-Kern, Rest Baukasten | +| **Boards = Views auf Projekte** | genommen | Pivot AD-20: ein Datensatz, »Deal«/»Auftrag« = Board-Typen, kein Kopieren beim Gewinnen, Status immer board-intern | +| **Edit-Mode: NUR die Detailansicht** | genommen | Vom Board aus umschaltbar: alle Felder der Projekt-Detailansicht als leere Schablone — verschieben, hinzufügen (nutzt Eigene Felder aus P6), sichtbar/Pflicht, Berechtigung je Feld. **Karten-Layout bewusst NICHT editierbar (v1)** | +| **Zwei Einstiege zu den Board-Einstellungen** | genommen | (1) im Board: »Board verwalten« + Edit-Mode-Umschalter · (2) Einstellungen → Arbeitsweise → Boards: Liste aller Boards, Springen in deren Einstellungen, »+ Neues Board« — gleiche Ziele, kein Duplikat | +| **Gewonnen-Moment regel-basiert** | genommen — Davids Delta | Spalten-Regel: »Beim Einzug in diese Spalte automatisch verschieben nach [Board, Spalte]« → kein Dialog. Ohne Regel → Auswahl-Dialog »Wohin verschieben?«. Umsetzung (direkt vs. Automation-Engine) = Dev-Frage | +| Verloren = Grund Pflicht | genommen | Dialog mit Verlust-Grund-Auswahl (SHK-Vorlagen geseedet) | +| Projekt-Detail nach P6-Karteikarten-Muster | genommen | Zweispalter + Reiter, Status-Leiste im Kopf | +| Umsatz-Gating | genommen | Ohne Recht »—« (field-level via Feld-Konfiguration + Rechte) | + +### Happy Path + +1. Sidebar »Pipelines« → zuletzt genutztes Board; Wechsler oben (Vertrieb/Auftrag/eigene — nur die, die man sehen darf). +2. Karten ziehen; Spaltenköpfe zeigen Anzahl + Summe + Win-%. +3. In »Gewonnen« ziehen → Regel greift (auto-verschoben, Toast) ODER Dialog »Wohin?«. +4. In »Verloren« ziehen → Grund-Pflicht-Dialog. +5. Karte öffnen → Projekt-Detail (P6-Muster) mit klickbarer Status-Leiste + Historie. +6. Admin: Edit-Mode → Detailansicht-Schablone anpassen (Felder, Sichtbarkeit, Pflicht, Rechte); »Board verwalten« → Spalten, Rollen-Zugriff, Spalten-Regeln. + +### Meldungs-/Error-States (validiert) + +| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz | +|---|---|---|---|---| +| Verloren ohne Grund | Pflicht-Dialog | ja | Bauen (M01) | Grund-Auswahl + Freitext | +| Gewonnen/Verloren gesetzt | 24-h-Rückgängig-Banner | nein | Nur dokumentieren | am Projekt + Board-Toast | +| Umsatz ohne Recht | »—« in Karte/Kopf/Liste | nein | Nur dokumentieren | field-level | +| Ziehen in unerlaubte Spalte | Klartext-Hinweis, Karte springt zurück | ja (Aktion) | Nur dokumentieren | Validation | +| Live-Verbindung weg | Inline-Hinweis | nein | Nur dokumentieren | »aktualisiert sich gerade nicht« | +| Leeres Board | Leer-Zustand + CTA | nein | Nur dokumentieren | »Noch keine Projekte — aus Lead-Eingang konvertieren oder anlegen« | + +--- + +## 7. Validierte Screen-Liste + +| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status | +|---|---|---|---|---|---| +| S01 | Kanban-Board ⭐ | BESPOKE | Bauen | `/projects` | Validiert | +| S02 | Projekt-Detailseite | Detail (P6-Muster) | Bauen | `/projects/:id` | Validiert | +| S03 | Projekt-Liste (alle Boards) | Liste | Bauen | `/projects/list` | Validiert | +| S04 | Board-Einstellungen (Spalten, Rollen-Zugriff, Spalten-Regeln) | Verwaltung | Bauen | aus Board + aus Einstellungen | Validiert | +| S05 | Detail-Schablone (Edit-Mode) | Modus/Variante | Bauen | aus Board/S04 | Validiert | +| S06 | Verlust-Gründe | Settings-Liste | Bauen | `/admin/pipelines/lost-reasons` | Validiert | +| S07 | Boards-Übersicht (Einstellungen) | Settings-Liste | Bauen | Einstellungen → Arbeitsweise | Validiert | +| M01 | Verloren-Dialog (Grund Pflicht) | Modal | Bauen | aus S01/S02 | Validiert | +| M02 | Board-Wechsel-Dialog (»Wohin?« ohne Regel) | Modal | Bauen | aus S01 | Validiert | +| D01 | KPI-/Forecast-Datenquellen | Doku | Nur dokumentieren | Widgets in D-DASH | Validiert | +| D02–D06 | Zustände (s. Tabelle) | Inline/Banner | Nur dokumentieren | — | Validiert | + +--- + +## 8. Grid + +```text +Sidebar -> S01 (Board) -> S02 (Projekt-Detail) +S01 -> S03 (Listen-Ansicht) [Umschalter] +S01 -> M01 (Verloren) / M02 (Board-Wechsel ohne Regel) +S01 -> S04 (Board verwalten) -> S05 (Edit-Mode Detailansicht) +Einstellungen -> S07 (Boards-Uebersicht) -> S04 +Einstellungen -> S06 (Verlust-Gruende) +S02 nutzt P6-Muster + bettet ein: Aufgaben V01, Datei-Sektion, Verlauf-Drawer +``` + +--- + +## 9. Screen-Pakete + +- [[S01 Kanban-Board]] · [[S02 Projekt-Detailseite]] · [[S03 Projekt-Liste]] +- [[S04 Board-Einstellungen]] · [[S05 Detail-Schablone Edit-Mode]] +- [[S06 Verlust-Gruende]] · [[S07 Boards-Uebersicht]] +- [[M01 Verloren-Dialog]] · [[M02 Board-Wechsel-Dialog]] + +--- + +## 10. Offene Fragen + +- **Dev-Frage (Davids Delta):** Spalten-Regel »Auto-Verschieben nach Board X, Spalte Y« — direkt am Board-Modell oder als vereinfachte Oberfläche über die Automation-Engine (P12)? Beim Handoff klären +- Karten-Inhalt fix definiert (Titel, Umsatz gegated, Avatar, Datum, max. 3 Tags, Hänger-Marker) — Feinschliff beim Subframe-Bau +- Projekt anlegen direkt aus dem Board (+ auf Spalte)? → beim Subframe-Bau entscheiden (Anfragen kommen primär aus dem Lead-Eingang) + +## Handoff-Check + +- [x] Jeder Screen ist mit Umsetzung markiert. +- [x] Meldungs-/Error-State-Matrix ist ausgefüllt. +- [ ] Subframe-Link ist eingetragen. *(Subframe erst nach explizitem OK)* diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S01 Abnahme-Liste.md b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S01 Abnahme-Liste.md new file mode 100644 index 00000000..d9d207e0 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S01 Abnahme-Liste.md @@ -0,0 +1,40 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-ABN +package: WF-P9 Abnahme +id: S01 +screen: Abnahme-Liste +typ: Liste +umsetzung: Bauen +status: Validiert +route: "/projects/:id/acceptance" +subframe: "" +--- + +# S01 — Abnahme-Liste + +## Ziel + +Alle (Teil-)Abnahmen eines Projekts im Blick — mit PDF-Zugriff. + +## Was das Tool können muss + +- Je Protokoll: Datum · Ergebnis (erfolgt / mit Vorbehalt / verweigert) · Unterzeichner · **PDF-Link** · Mängel-Status +- Teil-/Mehrfach-Abnahmen; die letzte **Voll**-Abnahme löst den Spalten-Wechsel-Vorschlag aus +- »Neue Abnahme« → [[S02 Schritt Pruefungen]] + +## Pattern / Archetyp + +A2 Liste (im Abnahmen-Reiter der Projekt-Akte). + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Leer | »Noch keine Abnahme« + Start-Knopf | Nur dokumentieren | +| Laden / Fehler | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S02 Schritt Pruefungen.md b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S02 Schritt Pruefungen.md new file mode 100644 index 00000000..a19e5477 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S02 Schritt Pruefungen.md @@ -0,0 +1,43 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-ABN +package: WF-P9 Abnahme +id: S02 +screen: Schritt Pruefungen +typ: BESPOKE-Mobile (Workflow 1/3) +umsetzung: Bauen +status: Validiert +route: "/projects/:id/acceptance/new" +subframe: "" +--- + +# S02 — Schritt 1: Prüfungen 📱 + +## Ziel + +Die technische Abnahme erfassen — Feld für Feld, mit Handschuhen bedienbar. + +## Was das Tool können muss + +- Kopf: Projekt, Datum, Anwesende +- **Druckprobe** (ja/nein + Wert) · **Funktionsprüfung** · **Zählerstände** · Inbetriebnahme-/Garantie-Datum +- **Übergebene Dokumente** als Abhak-Liste +- Felder kommen aus der zugewiesenen Vorlage (SHK-Standard als Referenz) +- Offline: alles lokal gespeichert, Fortschritt bleibt erhalten +- Fortschritts-Anzeige (1/3) · Weiter → [[S03 Schritt Maengel]] + +## Pattern / Archetyp + +BESPOKE-Mobile Formular-Schritt (große Touch-Ziele). + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Pflichtfeld fehlt | Schritt-Validierung beim Weiter | Nur dokumentieren | +| Offline | Banner + lokal gespeichert | Nur dokumentieren | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S03 Schritt Maengel.md b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S03 Schritt Maengel.md new file mode 100644 index 00000000..9ee17c17 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S03 Schritt Maengel.md @@ -0,0 +1,43 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-ABN +package: WF-P9 Abnahme +id: S03 +screen: Schritt Maengel +typ: BESPOKE-Mobile (Workflow 2/3) +umsetzung: Bauen +status: Validiert +route: "Workflow-Schritt 2" +subframe: "" +--- + +# S03 — Schritt 2: Mängel 📱 + +## Ziel + +Jeden Mangel festhalten — mit Foto, in Sekunden. + +## Was das Tool können muss + +- **Mängel-Repeater**: je Mangel Beschreibung + **Foto direkt aus der Kamera** + Einstufung +- **Einstufung bestimmt das Ergebnis**: kritisch = Abnahme verweigert · klein = mit Vorbehalt · kosmetisch = erfolgt +- Live-Hinweis, welches Ergebnis die aktuelle Einstufung ergibt (»Mit diesem Mangel wird die Abnahme verweigert«) +- »Keine Mängel« als schneller Pfad +- Bemerkungen Kunde / Monteur (Freitext) +- Fortschritt (2/3) · Weiter → [[S04 Schritt Unterschriften]] + +## Pattern / Archetyp + +BESPOKE-Mobile Repeater-Schritt. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Kritischer Mangel erfasst | Hinweis »wird verweigert« | Nur dokumentieren | +| Foto wartet auf Upload | Warteschlangen-Marker (offline) | Nur dokumentieren | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S04 Schritt Unterschriften.md b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S04 Schritt Unterschriften.md new file mode 100644 index 00000000..1eb7cfb7 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S04 Schritt Unterschriften.md @@ -0,0 +1,43 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-ABN +package: WF-P9 Abnahme +id: S04 +screen: Schritt Unterschriften +typ: BESPOKE-Mobile (Workflow 3/3) +umsetzung: Bauen +status: Validiert +route: "Workflow-Schritt 3" +subframe: "" +--- + +# S04 — Schritt 3: Zusammenfassung + Unterschriften 📱 + +## Ziel + +Bewusst abschließen: alles nochmal sehen, dann rechtsgültig unterschreiben. + +## Was das Tool können muss + +- **Zusammenfassung**: Prüfungen, Mängel mit Einstufung, das daraus folgende **Ergebnis groß sichtbar** (erfolgt / mit Vorbehalt / verweigert) +- **Touch-Unterschrift Kunde** (Name eingebbar, darf vom Kontakt abweichen) + **Touch-Unterschrift Monteur** — IP + Zeitstempel automatisch +- »Abschließen« → PDF wird erzeugt + automatisch an den Kunden gemailt · bei »mit Vorbehalt« werden Mängel zu Aufgaben · bei »verweigert« geht das Projekt zurück in Ausführung + Meldung an den Projektleiter +- Danach **unveränderbar** (Gesperrt-Banner beim späteren Öffnen) +- Offline: Abschluss lokal, PDF/Mail gehen nach Sync raus (Klartext-Hinweis) + +## Pattern / Archetyp + +BESPOKE-Mobile Abschluss-Schritt mit Unterschriften-Feld (Baukasten-Primitive). + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Unterschrift fehlt | »Abschließen« gesperrt bis beide da | Nur dokumentieren | +| Offline-Abschluss | »Gespeichert — PDF + Mail gehen raus, sobald Verbindung da ist« | Nur dokumentieren | +| Später geöffnet | Gesperrt-Banner »Rechtsgültig abgeschlossen« | Nur dokumentieren | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.canvas b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.canvas new file mode 100644 index 00000000..e1392be4 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.canvas @@ -0,0 +1,17 @@ +{ + "nodes":[ + {"id":"md-paket","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.md","x":-80,"y":-440,"width":460,"height":280}, + {"id":"group-flow","type":"group","x":-80,"y":-100,"width":2500,"height":380,"label":"Abnahme-Workflow 📱 (mehrstufig, offline)"}, + {"id":"group-notes","type":"group","x":-80,"y":460,"width":2500,"height":340,"label":"Regeln"}, + {"id":"s01","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S01 Abnahme-Liste.md","x":0,"y":0,"width":420,"height":200}, + {"id":"s02","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S02 Schritt Pruefungen.md","x":640,"y":0,"width":420,"height":200}, + {"id":"s03","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S03 Schritt Maengel.md","x":1240,"y":0,"width":420,"height":200}, + {"id":"s04","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Abnahme/Screens/S04 Schritt Unterschriften.md","x":1880,"y":0,"width":420,"height":200}, + {"id":"note-rules","type":"text","text":"# Regeln (nur Doku)\n\n- Einstufung bestimmt Ergebnis: kritisch = verweigert (zurück in Ausführung + PL-Meldung) · klein = mit Vorbehalt (Mängel → Aufgaben) · kosmetisch = erfolgt\n- Nach Abschluss: PDF + Auto-Mail an Kunden, danach UNVERÄNDERBAR (6 Jahre, Gesperrt-Banner)\n- Offline komplett ausfüllbar inkl. Fotos + Unterschriften; Sync bei Verbindung\n- Teil-Abnahmen möglich; letzte Voll-Abnahme → Spalten-Wechsel-Vorschlag","x":0,"y":540,"width":1100,"height":240} + ], + "edges":[ + {"id":"e-neu","fromNode":"s01","fromSide":"right","toNode":"s02","toSide":"left","toEnd":"arrow","label":"Neue Abnahme"}, + {"id":"e-w1","fromNode":"s02","fromSide":"right","toNode":"s03","toSide":"left","toEnd":"arrow","label":"Weiter"}, + {"id":"e-w2","fromNode":"s03","fromSide":"right","toNode":"s04","toSide":"left","toEnd":"arrow","label":"Weiter"} + ] +} diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.md b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.md new file mode 100644 index 00000000..90426b4a --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.md @@ -0,0 +1,111 @@ +--- +kind: wireframe-package +project: HiveGrid Screen Project +ticket: D-ABN +package: WF-P9 Abnahme +typ: Flow +status: Validiert +subframe: "" +canvas: "WF-P9 Abnahme.canvas" +--- + +# WF-P9 Abnahme + +Status: Validiert (Screen-Liste) +Subframe-Link: - +Canvas: [Canvas]() +Stand: 2026-07-09 + +--- + +## 1. Kurzfassung + +Das Baustellen-Protokoll: mehrstufiger Mobile-Ablauf (Prüfungen → Mängel → Unterschriften), Touch-Signatur Kunde + Monteur, PDF + Auto-Mail, danach unveränderbar (6 Jahre) — offline-fähig mit Sync. Plus Abnahme-Liste je Projekt. + +--- + +## 2. Intent Check + +| Frage | Antwort | +|---|---| +| Ticket/Modul | D-ABN, Dev-Pendant R-P9a/R-P9b | +| Nutzer-Ziel | Monteur schließt die Baustelle rechtssicher ab — auch ohne Netz | +| Quellen geprüft | `ticket-docs/D-ABN.md`, ENTITY-MODEL Domäne 5 (immutable, Mängel = Checkliste), HiveGrid Map | +| Sicher im Scope | Mehrstufiger Workflow, Mängel-Repeater mit Foto, Signaturen, PDF, Liste, Teil-Abnahmen | +| Sicher nicht im Scope | Plantafel (eigenes Paket); Vorlagen-Editor (Formular-Baukasten, D-FORM) | +| Unsichere Annahmen | — | + +--- + +## 3. Scope + +| Punkt | Inhalt | +|---|---| +| Startpunkt | Abnahme-Knopf (Projekt-Mobil-Modus / Abnahmen-Reiter) | +| Ziel | Unterschriebenes Protokoll als PDF beim Kunden, Mängel als Aufgaben | +| Haupt-Archetyp | **BESPOKE-Mobile** (Workflow) + A2 (Liste) | +| Out of scope | Nachträgliches Bearbeiten (immutable!) | + +--- + +## 4. Entscheidungen (validiert 2026-07-09) + +| Entscheidung | Status | Notiz | +|---|---|---| +| **Mehrstufiger Ablauf** statt langem Scroll-Screen | genommen | Schritte: 1 Prüfungen → 2 Mängel → 3 Zusammenfassung + Unterschriften. Fortschritt sichtbar, Unterschrift bewusst am Ende | +| Ergebnis folgt aus der Mängel-Einstufung | genommen | kritisch = **verweigert** (zurück in Ausführung + Meldung an PL) · klein = **mit Vorbehalt** (Mängel werden Aufgaben) · kosmetisch/keine = **erfolgt** | +| Touch-Signaturen Kunde + Monteur | genommen | Name eingebbar (darf vom Kontakt abweichen); IP + Zeitstempel automatisch | +| Nach Speichern unveränderbar | genommen | 6 Jahre, nur archivierbar; Gesperrt-Banner | +| Offline-fähig | genommen | komplett ausfüllbar inkl. Fotos + Unterschriften; Sync bei Verbindung | +| Teil-Abnahmen möglich | genommen | mehrere Protokolle je Projekt; letzte Voll-Abnahme → Spalten-Wechsel-Vorschlag | + +### Meldungs-/Error-States (validiert) + +| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz | +|---|---|---|---|---| +| Gespeichertes Protokoll geöffnet | Gesperrt-Banner | ja (Edit) | Nur dokumentieren | »Rechtsgültig abgeschlossen — nicht änderbar« | +| Offline beim Abschließen | Hinweis: gespeichert, wird gesendet | nein | Nur dokumentieren | PDF/Mail gehen nach Sync raus | +| Pflichtfeld fehlt beim Weiter | Schritt-Validierung | ja (Schritt) | Nur dokumentieren | Klartext je Feld | +| Kritischer Mangel erfasst | Hinweis »Abnahme wird verweigert« | nein | Nur dokumentieren | vor der Unterschrift sichtbar | + +--- + +## 7. Validierte Screen-Liste + +| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status | +|---|---|---|---|---|---| +| S01 | Abnahme-Liste (je Projekt) | Liste | Bauen | `/projects/:id/acceptance` | Validiert | +| S02 | Schritt 1 — Prüfungen 📱 | BESPOKE-Mobile | Bauen | `/projects/:id/acceptance/new` | Validiert | +| S03 | Schritt 2 — Mängel 📱 | BESPOKE-Mobile | Bauen | Workflow | Validiert | +| S04 | Schritt 3 — Zusammenfassung + Unterschriften 📱 | BESPOKE-Mobile | Bauen | Workflow | Validiert | +| D01–D04 | Gesperrt/Offline/Validierung (s. Tabelle) | Inline/Banner | Nur dokumentieren | — | Validiert | + +--- + +## 8. Grid + +```text +Projekt (Abnahmen-Reiter / Mobil-Modus) -> S01 (Liste) -> Neue Abnahme +S02 (Pruefungen) -> S03 (Maengel) -> S04 (Zusammenfassung + Unterschriften) -> PDF + Auto-Mail +S03: kritisch -> verweigert (PL-Meldung) · klein -> Maengel werden Aufgaben +Nach Abschluss: immutable; letzte Voll-Abnahme -> Spalten-Wechsel-Vorschlag +``` + +--- + +## 9. Screen-Pakete + +- [[S01 Abnahme-Liste]] · [[S02 Schritt Pruefungen]] · [[S03 Schritt Maengel]] · [[S04 Schritt Unterschriften]] + +--- + +## 10. Offene Fragen + +- Formular-Felder kommen aus der zugewiesenen Vorlage (WF-P9 Projekt-Akte S03); SHK-Standard ist die Referenz fürs Design +- PDF-Layout: Dev/Standard — Design liefert nur die Bildschirm-Flächen + +## Handoff-Check + +- [x] Jeder Screen ist mit Umsetzung markiert. +- [x] Meldungs-/Error-State-Matrix ist ausgefüllt. +- [ ] Subframe-Link ist eingetragen. *(Subframe erst nach explizitem OK)* diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/M01 Konflikt-Dialog.md b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/M01 Konflikt-Dialog.md new file mode 100644 index 00000000..218036d5 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/M01 Konflikt-Dialog.md @@ -0,0 +1,33 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-PLAN +package: WF-P9 Plantafel +id: M01 +screen: Konflikt-Dialog +typ: Modal +umsetzung: Bauen +status: Validiert +route: "aus S01 bei Konflikt" +subframe: "" +--- + +# M01 — Konflikt-Dialog (»Trotzdem zuweisen?«) + +## Ziel + +Konflikte nicht verhindern, sondern **bewusst machen** — das Büro entscheidet informiert. + +## Was das Tool können muss + +- Klartext-Grund: »Max ist an dem Tag im Urlaub« / »Max ist bereits bei Projekt X verplant (9–12 Uhr)« / »außerhalb der Arbeitszeit« +- Bei Doppelbelegung: der andere Einsatz verlinkt +- Entscheidung: **»Trotzdem zuweisen«** oder abbrechen (Block springt zurück) + +## Pattern / Archetyp + +A5 Dialog (echtes Modal). + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/M02 Einsatz-Dialog.md b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/M02 Einsatz-Dialog.md new file mode 100644 index 00000000..e97d8de8 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/M02 Einsatz-Dialog.md @@ -0,0 +1,34 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-PLAN +package: WF-P9 Plantafel +id: M02 +screen: Einsatz-Dialog +typ: Modal/Panel +umsetzung: Bauen +status: Validiert +route: "aus S01 (leerer Slot / Einsatz-Klick)" +subframe: "" +--- + +# M02 — Einsatz anlegen/bearbeiten + +## Ziel + +Einsatz in Sekunden anlegen — Mitarbeiter und Zeit sind vom Slot schon vorbelegt. + +## Was das Tool können muss + +- Vorbelegt: Mitarbeiter + Zeitraum (vom angeklickten Slot) +- **Projekt wählen** (Auto-Complete) · Zeitraum anpassen · Notiz +- Status setzen (Default: geplant) +- Konflikt-Prüfung beim Speichern → ggf. [[M01 Konflikt-Dialog]] + +## Pattern / Archetyp + +A5 Dialog (echtes Modal). + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/S01 Plantafel.md b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/S01 Plantafel.md new file mode 100644 index 00000000..e6fd92b5 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/S01 Plantafel.md @@ -0,0 +1,44 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-PLAN +package: WF-P9 Plantafel +id: S01 +screen: Plantafel +typ: BESPOKE Grid +umsetzung: Bauen +status: Validiert +route: "/projects/plantafel" +subframe: "" +--- + +# S01 — Plantafel (Desktop-Raster) ⭐ + +## Ziel + +Das Büro verplant alle Monteure kollisionsfrei — auf einen Blick. + +## Was das Tool können muss + +- Raster: **Zeilen = Mitarbeiter, Spalten = Zeit** (Umschalter Tag/Woche/Monat) +- Einsatz-Blöcke: Projekt-Titel, Status-Farbe (vom Board-Status), Adresse kurz +- **Ziehen = verschieben, Kante ziehen = verlängern/kürzen**; Klick auf leeren Slot → [[M02 Einsatz-Dialog]] +- **Konflikt-Marker** am Block (doppelt / Urlaub/krank aus HR / außerhalb Arbeitszeit); Zuweisung trotzdem möglich via [[M01 Konflikt-Dialog]] +- Status-Kette je Einsatz: geplant → bestätigt → unterwegs → fertig/abgesagt +- Mehrfachauswahl → **Bulk-Umplanung** auf anderen Monteur +- Filter: Mitarbeiter (Rolle/Gruppe/Verfügbarkeit) + Projekt · Kalender-Sync-Marker je Einsatz + +## Pattern / Archetyp + +**BESPOKE** — Scheduling-Grid. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Leer | »Noch keine Einsätze in diesem Zeitraum« | Nur dokumentieren | +| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/S02 Meine Termine.md b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/S02 Meine Termine.md new file mode 100644 index 00000000..fb37da33 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/S02 Meine Termine.md @@ -0,0 +1,42 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-PLAN +package: WF-P9 Plantafel +id: S02 +screen: Meine Termine +typ: BESPOKE-Mobile (offline) +umsetzung: Bauen +status: Validiert +route: "Handy / Bottom-Nav »Heute«" +subframe: "" +--- + +# S02 — Meine Termine 📱 (Heute ↔ Woche) + +## Ziel + +Der Monteur weiß immer, wo er als Nächstes hin muss — auch im Keller ohne Netz. + +## Was das Tool können muss + +- **Heute-Liste** (Hauptansicht): je Einsatz Projekt, Zeit, **Adresse + Navi-Link**, Ansprechpartner mit Anruf-Knopf +- **Status per Tipp**: bestätigt → unterwegs → fertig +- Umschalter oben: **Heute ↔ Woche** (kompakte Wochen-Sicht) — ein Frame, validiert +- Einsatz antippen → Projekt-Mobil-Modus (WF-P9 Projekt-Akte S02) +- **Offline-fähig**: Liste gecacht, Status-Tipps werden bei Verbindung nachgereicht (Sync-Status sichtbar) + +## Pattern / Archetyp + +📱 BESPOKE-Mobile, große Touch-Ziele, Bottom-Nav-Einstieg »Heute«. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Offline | Banner »offline — Änderungen werden nachgereicht« + Sync-Status | Nur dokumentieren | +| Keine Termine heute | »Heute keine Einsätze« | Nur dokumentieren | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/WF-P9 Plantafel.canvas b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/WF-P9 Plantafel.canvas new file mode 100644 index 00000000..207a1a37 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/WF-P9 Plantafel.canvas @@ -0,0 +1,21 @@ +{ + "nodes":[ + {"id":"md-paket","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Plantafel/WF-P9 Plantafel.md","x":-80,"y":-440,"width":460,"height":280}, + {"id":"group-desktop","type":"group","x":-80,"y":-100,"width":1140,"height":380,"label":"Büro (Desktop, Bespoke)"}, + {"id":"group-dialoge","type":"group","x":-80,"y":460,"width":1140,"height":380,"label":"Dialoge"}, + {"id":"group-mobil","type":"group","x":1200,"y":-100,"width":1120,"height":380,"label":"Monteur 📱 (offline)"}, + {"id":"note-entry","type":"text","text":"# Einstieg\n\nSidebar → Plantafel.\n\nKonflikte gespeist aus HR (Urlaub/krank) + Kalender-Abgleich.","x":0,"y":0,"width":360,"height":200}, + {"id":"s01","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/S01 Plantafel.md","x":560,"y":0,"width":420,"height":200}, + {"id":"m02","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/M02 Einsatz-Dialog.md","x":0,"y":560,"width":420,"height":200}, + {"id":"m01","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/M01 Konflikt-Dialog.md","x":580,"y":560,"width":420,"height":200}, + {"id":"s02","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Plantafel/Screens/S02 Meine Termine.md","x":1240,"y":0,"width":420,"height":200}, + {"id":"note-mobil","type":"text","text":"# Monteur-Einstieg\n\nBottom-Nav »Heute«. Ein Frame mit Umschalter Heute ↔ Woche (validiert). Tipp auf Einsatz → Projekt-Mobil-Modus.","x":1800,"y":0,"width":460,"height":200} + ], + "edges":[ + {"id":"e-entry","fromNode":"note-entry","fromSide":"right","toNode":"s01","toSide":"left","toEnd":"arrow","styleAttributes":{"path":"dotted"}}, + {"id":"e-slot","fromNode":"s01","fromSide":"bottom","toNode":"m02","toSide":"top","toEnd":"arrow","label":"Slot-Klick / Einsatz öffnen"}, + {"id":"e-konflikt","fromNode":"m02","fromSide":"right","toNode":"m01","toSide":"left","toEnd":"arrow","label":"bei Konflikt"}, + {"id":"e-drag","fromNode":"s01","fromSide":"bottom","toNode":"m01","toSide":"top","toEnd":"arrow","label":"Drag&Drop bei Konflikt","styleAttributes":{"path":"long-dashed"}}, + {"id":"e-mobil","fromNode":"note-mobil","fromSide":"left","toNode":"s02","toSide":"right","toEnd":"arrow","styleAttributes":{"path":"dotted"}} + ] +} diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/WF-P9 Plantafel.md b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/WF-P9 Plantafel.md new file mode 100644 index 00000000..e18af3f7 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Plantafel/WF-P9 Plantafel.md @@ -0,0 +1,118 @@ +--- +kind: wireframe-package +project: HiveGrid Screen Project +ticket: D-PLAN +package: WF-P9 Plantafel +typ: Flow +status: Validiert +subframe: "" +canvas: "WF-P9 Plantafel.canvas" +--- + +# WF-P9 Plantafel + +Status: Validiert (Screen-Liste) +Subframe-Link: - +Canvas: [Canvas]() +Stand: 2026-07-09 + +--- + +## 1. Kurzfassung + +Die Einsatzplanung: Raster Mitarbeiter × Zeit mit Drag&Drop, Konflikt-Warnungen (Doppelbelegung, Urlaub/krank aus HR, Arbeitszeit) — und der offline-fähige Monteur-Handy-Modus »Meine Termine heute/Woche«. **Bespoke, höchste Priorität nach dem Flow-Editor.** + +--- + +## 2. Intent Check + +| Frage | Antwort | +|---|---| +| Ticket/Modul | D-PLAN, Dev-Pendant R-P9a/R-P9b | +| Nutzer-Ziel | Büro: Monteure kollisionsfrei verplanen · Monteur: wissen, wo er heute hin muss — auch ohne Netz | +| Quellen geprüft | `ticket-docs/D-PLAN.md`, ENTITY-MODEL Domäne 5, HiveGrid Map | +| Sicher im Scope | Desktop-Raster, Einsatz-Dialog, Konflikt-Dialog, Monteur-Modus (Heute + Woche), Kalender-Sync-Marker | +| Sicher nicht im Scope | Material-Ausgang, Zeiterfassung, Leistungspositionen (v2); Abnahme (eigenes Paket) | +| Unsichere Annahmen | — | + +--- + +## 3. Scope + +| Punkt | Inhalt | +|---|---| +| Startpunkt | Sidebar »Plantafel« (Desktop) · Bottom-Nav »Heute« (Monteur) | +| Ziel | Einsatz geplant/verschoben ohne Konflikt · Monteur beim Kunden | +| Haupt-Archetyp | **BESPOKE** (Grid) + 📱 offline | +| Out of scope | v2-Themen s. o. | + +--- + +## 4. Entscheidungen (validiert 2026-07-09) + +| Entscheidung | Status | Notiz | +|---|---|---| +| Monteur-Modus als EIN Frame mit Umschalter Heute ↔ Woche | genommen | Heute-Liste ist die Hauptansicht | +| Konflikt-Dialog »Trotzdem zuweisen?« wird gebaut | genommen | Klartext-Grund (doppelt / Urlaub / krank / außerhalb Arbeitszeit) + bewusste Entscheidung | +| Einsatz-Dialog (Klick auf leeren Slot / Einsatz) | genommen | Projekt wählen, Zeitraum, Notiz; Status-Kette geplant→bestätigt→unterwegs→fertig/abgesagt | +| Status-Farbe der Einsätze = Board-Status des Projekts | genommen | Ticket-Vorgabe (pipeline-basiert) | +| Konflikte kommen aus HR (Urlaub/krank) + Kalender | genommen | Querverbindungen aus der Map | + +### Happy Path + +1. Büro öffnet Plantafel (Woche), sieht alle Monteure als Zeilen. +2. Einsatz per Klick auf freien Slot anlegen oder per Ziehen verschieben/verlängern. +3. Konflikt? Dialog erklärt in Klartext, warum — zuweisen geht trotzdem (bewusst). +4. Monteur am Handy: »Heute« — Liste mit Adresse + Navi-Link, Status per Tipp (unterwegs → fertig). Funktioniert offline, synct später. + +### Meldungs-/Error-States (validiert) + +| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz | +|---|---|---|---|---| +| Konflikt beim Zuweisen | Dialog »Trotzdem zuweisen?« | ja (Aktion) | Bauen (M01) | Klartext-Grund | +| Offline (Monteur) | Hinweis + Sync-Status | nein | Nur dokumentieren | Status-Tipps werden nachgereicht | +| Kalender-Sync aktiv | kleiner Marker am Einsatz | nein | Nur dokumentieren | — | +| Leere Tafel | Leer-Zustand + CTA | nein | Nur dokumentieren | — | + +--- + +## 7. Validierte Screen-Liste + +| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status | +|---|---|---|---|---|---| +| S01 | Plantafel (Desktop-Raster) ⭐ | BESPOKE | Bauen | `/projects/plantafel` | Validiert | +| S02 | Meine Termine 📱 (Heute ↔ Woche) | BESPOKE-Mobile, offline | Bauen | Handy / Bottom-Nav »Heute« | Validiert | +| M01 | Konflikt-Dialog (»Trotzdem zuweisen?«) | Modal | Bauen | aus S01 | Validiert | +| M02 | Einsatz anlegen/bearbeiten | Modal/Panel | Bauen | aus S01 (Slot-Klick) | Validiert | +| D01–D03 | Offline/Sync-Marker/Leer (s. Tabelle) | Inline | Nur dokumentieren | — | Validiert | + +--- + +## 8. Grid + +```text +Sidebar -> S01 (Raster: Y=Mitarbeiter, X=Zeit, Tag/Woche/Monat) +S01 -> M02 (Slot-Klick: Einsatz anlegen/bearbeiten) +M02/Drag&Drop -> M01 (bei Konflikt) +Monteur-Handy -> S02 (Heute <-> Woche, offline) -> Projekt-Mobil-Modus (WF-P9 Projekt-Akte S02) +Konflikte gespeist aus: HR (Urlaub/krank) + Kalender-Abgleich +``` + +--- + +## 9. Screen-Pakete + +- [[S01 Plantafel]] · [[S02 Meine Termine]] · [[M01 Konflikt-Dialog]] · [[M02 Einsatz-Dialog]] + +--- + +## 10. Offene Fragen + +- Bulk-Reassign-UX (mehrere Einsätze auf anderen Monteur): Auswahl-Modus im Raster — Feinschliff beim Subframe-Bau +- Zeitraster-Granularität (Stunden vs. Halbtage) → Dev/Subframe-Bau + +## Handoff-Check + +- [x] Jeder Screen ist mit Umsetzung markiert. +- [x] Meldungs-/Error-State-Matrix ist ausgefüllt. +- [ ] Subframe-Link ist eingetragen. *(Subframe erst nach explizitem OK)* diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/M01 Rechnung anlegen.md b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/M01 Rechnung anlegen.md new file mode 100644 index 00000000..6af01cc2 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/M01 Rechnung anlegen.md @@ -0,0 +1,38 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P9 +package: WF-P9 Projekt-Akte +id: M01 +screen: Rechnung anlegen +typ: Modal +umsetzung: Bauen +status: Validiert +route: "aus dem Rechnungen-Reiter (S01)" +subframe: "" +--- + +# M01 — Rechnung anlegen + +## Ziel + +Rechnung am Projekt festhalten — einfaches Sub-Entity, kein Rechnungs-Generator. + +## Was das Tool können muss + +- Nummer automatisch (fortlaufend) · Betrag · Status (Entwurf/gestellt/bezahlt/storniert) · Datum + fällig am · PDF anhängen (Dropzone-Baustein) +- Status später direkt in der Liste umschaltbar (z. B. »als bezahlt markieren«) + +## Pattern / Archetyp + +A5 Dialog (echtes Modal). + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Betrag fehlt | Inline-Validierung | Nur dokumentieren | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S01 Auftrags-Reiter.md b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S01 Auftrags-Reiter.md new file mode 100644 index 00000000..a5c46546 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S01 Auftrags-Reiter.md @@ -0,0 +1,45 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P9 +package: WF-P9 Projekt-Akte +id: S01 +screen: Auftrags-Reiter +typ: Detail-Erweiterung +umsetzung: Bauen +status: Validiert +route: "/projects/:id (Auftrags-Board)" +subframe: "" +--- + +# S01 — Auftrags-Reiter am Projekt + +## Ziel + +Die Projekt-Akte für die Bau-Phase: alles zum Auftrag an einem Ort. Erweitert die P8-Detailseite (gleiche Seite, gleiche Daten). + +## Was das Tool können muss + +- **Team-Reiter:** Mitglieder mit Rollen (Monteur/Projektleiter/zuständig/Beobachter), ganze Gruppe auf einmal zuweisen +- **Termine-Reiter:** Projekt-Termine (speisen die Plantafel) +- **Rechnungen-Reiter (v1 neu):** Liste (Nummer automatisch, Betrag, Status entwurf/gestellt/bezahlt/storniert, fällig am, PDF) + [[M01 Rechnung anlegen]] +- **Checklisten-Reiter:** Checklisten inkl. Mängel (mit Einstufung + Foto, kommen aus der Abnahme) +- **Abnahmen-Reiter:** Einstieg in die Abnahme-Liste/den Workflow (WF-P9 Abnahme) +- Adress-Slots: Baustelle / Rechnung / Bauherr +- Roter **Offene-Mängel-Banner**; Spaltenwechsel ohne Pflicht-Abnahme blockiert (Klartext + Abnahme-Knopf) + +## Pattern / Archetyp + +A3 — Reiter-Erweiterung der [[../../P8 Pipelines/WF-P8 Pipelines/Screens/S02 Projekt-Detailseite|P8-Projekt-Detailseite]] (P6-Muster). + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Offene Mängel | roter Banner | Nur dokumentieren | +| Stage-Block ohne Abnahme | Klartext + Knopf | Nur dokumentieren | +| Laden / Fehler / 404 | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S02 Mobil-Modus.md b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S02 Mobil-Modus.md new file mode 100644 index 00000000..fa4e2d72 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S02 Mobil-Modus.md @@ -0,0 +1,42 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P9 +package: WF-P9 Projekt-Akte +id: S02 +screen: Mobil-Modus +typ: Variante 📱 +umsetzung: Bauen +status: Validiert +route: "/projects/:id (Handy)" +subframe: "" +--- + +# S02 — Mobil-Modus 📱 + +## Ziel + +Der Monteur auf der Baustelle: nur das Nötigste, mit einem Daumen bedienbar. + +## Was das Tool können muss + +- Stammdaten kompakt (Titel, Adresse mit **Navi-Link**, Ansprechpartner mit Anruf-Knopf) +- **Meine heutigen Aufgaben** an diesem Projekt (abhakbar) +- **Abnahme-Knopf** (startet WF-P9 Abnahme) +- **One-Tap-Foto-Upload** (Kamera → hängt direkt am Projekt) +- Offline-tauglich: Hinweis + Sync-Status + +## Pattern / Archetyp + +📱 Mobile-Variante der Projekt-Detailseite (reduziert, große Touch-Ziele). + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Offline | Hinweis + »wird synchronisiert, sobald Verbindung da ist« | Nur dokumentieren | +| Foto-Upload wartet | Warteschlangen-Hinweis | Nur dokumentieren | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S03 Abnahme-Formular-Vorlagen.md b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S03 Abnahme-Formular-Vorlagen.md new file mode 100644 index 00000000..7546d041 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S03 Abnahme-Formular-Vorlagen.md @@ -0,0 +1,39 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P9 +package: WF-P9 Projekt-Akte +id: S03 +screen: Abnahme-Formular-Vorlagen +typ: Settings +umsetzung: Bauen +status: Validiert +route: "/admin/projects/acceptance-forms (Einstellungen -> Arbeitsweise)" +subframe: "" +--- + +# S03 — Abnahme-Formular-Vorlagen + +## Ziel + +Welche Felder das Abnahme-Protokoll hat, je Vorlage — SHK-Standard ist vorbefüllt. + +## Was das Tool können muss + +- Vorlagen-Liste (Name, in Nutzung bei X Boards, Status) +- Zuweisung: welche Vorlage gilt für welches Board/welche Spalte (Verbindung zur Abnahme-Pflicht-Option) +- Bearbeiten öffnet den **Formular-Baukasten** (kommt mit D-FORM/P16) — bis dahin: Verwaltung + Zuweisung + +## Pattern / Archetyp + +A6 unter Einstellungen → Arbeitsweise. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S04 Projekt-Vorlagen.md b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S04 Projekt-Vorlagen.md new file mode 100644 index 00000000..c06803ba --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S04 Projekt-Vorlagen.md @@ -0,0 +1,38 @@ +--- +kind: screen +project: HiveGrid Screen Project +ticket: D-P9 +package: WF-P9 Projekt-Akte +id: S04 +screen: Projekt-Vorlagen +typ: Settings-Liste +umsetzung: Bauen +status: Validiert +route: "/admin/projects/templates (Einstellungen -> Arbeitsweise)" +subframe: "" +--- + +# S04 — Projekt-Vorlagen + +## Ziel + +Wiederkehrende Auftrags-Typen (z. B. »Heizungstausch«) einmal definieren, immer wieder nutzen. + +## Was das Tool können muss + +- Vorlagen-Liste + Editor: Standard-Board + Start-Spalte · Standard-Team (Rollen) · Standard-Aufgaben · Standard-Termine/Einsätze · vorbelegte eigene Felder +- Beim Projekt-Anlegen wählbar + +## Pattern / Archetyp + +A2 unter Einstellungen → Arbeitsweise. + +## Zustände + +| Zustand | Beschreibung | Umsetzung | +|---|---|---| +| Laden / Fehler / kein Zugriff | A7 | Wiederverwenden | + +## Subframe + +- (erst nach explizitem OK) diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.canvas b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.canvas new file mode 100644 index 00000000..b411a017 --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.canvas @@ -0,0 +1,20 @@ +{ + "nodes":[ + {"id":"md-paket","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.md","x":-80,"y":-440,"width":460,"height":280}, + {"id":"group-akte","type":"group","x":-80,"y":-100,"width":1820,"height":380,"label":"Projekt-Akte (erweitert P8-Detailseite)"}, + {"id":"group-settings","type":"group","x":-80,"y":460,"width":1820,"height":380,"label":"Rechnung + Vorlagen (Einstellungen → Arbeitsweise)"}, + {"id":"note-entry","type":"text","text":"# Einstieg\n\nAuftrags-Board → Projekt öffnen. Gleiche Detailseite wie im Vertrieb (P8) — die Auftrags-Reiter kommen dazu.","x":0,"y":0,"width":360,"height":200}, + {"id":"s01","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S01 Auftrags-Reiter.md","x":560,"y":0,"width":420,"height":200}, + {"id":"s02","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S02 Mobil-Modus.md","x":1240,"y":0,"width":420,"height":200}, + {"id":"m01","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/M01 Rechnung anlegen.md","x":0,"y":560,"width":420,"height":200}, + {"id":"s03","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S03 Abnahme-Formular-Vorlagen.md","x":580,"y":560,"width":420,"height":200}, + {"id":"s04","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/Screens/S04 Projekt-Vorlagen.md","x":1160,"y":560,"width":420,"height":200}, + {"id":"note-rules","type":"text","text":"# Regeln (nur Doku)\n\n- Board-Auftragsoptionen (Abnahme-Pflicht je Spalte, Auto-Archiv) erweitern die Board-Einstellungen aus WF-P8 (S04)\n- Offene Mängel → roter Banner; Spaltenwechsel ohne Pflicht-Abnahme blockiert\n- Abnahmen-Reiter → Paket WF-P9 Abnahme · Termine speisen die Plantafel","x":1900,"y":0,"width":460,"height":760} + ], + "edges":[ + {"id":"e-entry","fromNode":"note-entry","fromSide":"right","toNode":"s01","toSide":"left","toEnd":"arrow","styleAttributes":{"path":"dotted"}}, + {"id":"e-mobil","fromNode":"s01","fromSide":"right","toNode":"s02","toSide":"left","toEnd":"arrow","label":"Handy-Variante","styleAttributes":{"path":"short-dashed"}}, + {"id":"e-rechnung","fromNode":"s01","fromSide":"bottom","toNode":"m01","toSide":"top","toEnd":"arrow","label":"+ Rechnung"}, + {"id":"e-vorlage","fromNode":"s03","fromSide":"top","toNode":"s01","toSide":"bottom","toEnd":"arrow","label":"Vorlage gilt je Board/Spalte","styleAttributes":{"path":"long-dashed"}} + ] +} diff --git a/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.md b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.md new file mode 100644 index 00000000..b9923d1d --- /dev/null +++ b/02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.md @@ -0,0 +1,114 @@ +--- +kind: wireframe-package +project: HiveGrid Screen Project +ticket: D-P9 +package: WF-P9 Projekt-Akte +typ: Flow +status: Validiert +subframe: "" +canvas: "WF-P9 Projekt-Akte.canvas" +--- + +# WF-P9 Projekt-Akte + +Status: Validiert (Screen-Liste) +Subframe-Link: - +Canvas: [Canvas]() +Stand: 2026-07-09 + +--- + +## 1. Kurzfassung + +Die Projekt-Detailseite wächst für die Auftrags-Phase: Reiter Team / Termine / **Rechnungen (v1 neu)** / Checklisten & Mängel / Abnahmen, Adress-Slots, Mängel-Banner — plus Handy-Modus für Monteure und die Vorlagen-Verwaltung. **Gleicher Projekt-Datensatz wie im Vertrieb (Pivot, kein zweites Objekt).** + +--- + +## 2. Intent Check + +| Frage | Antwort | +|---|---| +| Ticket/Modul | D-P9, Dev-Pendant R-P9a/R-P9b | +| Nutzer-Ziel | Alles zum Auftrag an einem Ort: Team, Termine, Geld, Mängel, Abnahmen | +| Quellen geprüft | `ticket-docs/D-P9.md`, ENTITY-MODEL Domäne 5 (Pivot), HiveGrid Map | +| Sicher im Scope | Auftrags-Reiter, Rechnung-Sub-Entity, Mobil-Modus, Vorlagen, Board-Auftragsoptionen | +| Sicher nicht im Scope | Plantafel (WF-P9 Plantafel), Abnahme-Workflow (WF-P9 Abnahme), Material/Zeiterfassung/Leistungspositionen/KWP (v2) | +| Unsichere Annahmen | — | + +--- + +## 3. Scope + +| Punkt | Inhalt | +|---|---| +| Startpunkt | Projekt-Detailseite (P8-Basis), Auftrags-Board | +| Ziel | Auftrag komplett dokumentiert bis zur Abnahme + Rechnung | +| Haupt-Archetyp | A3 Sub-Areas + 📱-Variante · A2/A5 Rechnung · A6 Vorlagen | +| Out of scope | KWP-Felder (v1 nicht vorhanden), Material/Lagerist, Zeiterfassung (v2) | + +--- + +## 4. Entscheidungen (validiert 2026-07-09) + +| Entscheidung | Status | Notiz | +|---|---|---| +| Drei P9-Pakete (Akte / Plantafel / Abnahme) | genommen | deckt sich mit der Feature-Map | +| Auftrags-Reiter erweitern die P8-Detailseite | genommen | gleicher Datensatz, gleiche Seite — Reiter kommen dazu: Team · Termine · Rechnungen · Checklisten & Mängel · Abnahmen | +| Rechnung = einfaches Sub-Entity am Projekt | genommen | Nummer (automatisch), Betrag, Status entwurf/gestellt/bezahlt/storniert, Datum, fällig am, PDF-Datei | +| Mobil-Modus als eigener Frame | genommen | Stammdaten + heutige Aufgaben + Abnahme-Knopf + One-Tap-Foto | +| Board-Auftragsoptionen erweitern die P8-Board-Einstellungen | genommen | je Spalte: »Abnahme Pflicht« (Wechsel blockiert ohne Abnahme), Abnahme-Vorlagen-Zuweisung, Auto-Archiv nach N Tagen — dokumentiert als Erweiterung von WF-P8 S04, kein neuer Screen | +| Team-Reiter mit Rollen | genommen | Monteur / Projektleiter / zuständig / Beobachter; ganze Gruppe auf einmal zuweisbar | + +### Meldungs-/Error-States (validiert) + +| Ereignis | UI-Form | Blockiert? | Bauen? | Copy/Notiz | +|---|---|---|---|---| +| Offene Mängel | roter Banner am Projekt | nein | Nur dokumentieren | mit Sprung zur Mängel-Checkliste | +| Spaltenwechsel ohne Pflicht-Abnahme | blockiert + Klartext | ja | Nur dokumentieren | »Erst Abnahme durchführen« + Abnahme-Knopf | +| Offline (Mobil-Modus) | Hinweis + Sync-Status | nein | Nur dokumentieren | A7-offline | + +--- + +## 7. Validierte Screen-Liste + +| ID | Screen/Zustand | Typ | Umsetzung | Ort | Status | +|---|---|---|---|---|---| +| S01 | Auftrags-Reiter am Projekt (Team/Termine/Rechnungen/Checklisten/Abnahmen + Adress-Slots) | Detail-Erweiterung | Bauen | `/projects/:id` | Validiert | +| S02 | Mobil-Modus 📱 | Variante | Bauen | gleiche Route, Handy | Validiert | +| M01 | Rechnung anlegen | Modal | Bauen | aus Rechnungen-Reiter | Validiert | +| S03 | Abnahme-Formular-Vorlagen | Settings | Bauen | `/admin/projects/acceptance-forms` | Validiert | +| S04 | Projekt-Vorlagen | Settings-Liste | Bauen | `/admin/projects/templates` | Validiert | +| D01 | Board-Auftragsoptionen (Abnahme-Pflicht/Auto-Archiv) | Doku | Nur dokumentieren | in WF-P8 S04 | Validiert | +| D02–D04 | Banner/Blockade/Offline (s. Tabelle) | Inline | Nur dokumentieren | — | Validiert | + +--- + +## 8. Grid + +```text +Auftrags-Board -> Projekt-Detail (P8-S02) + Auftrags-Reiter (S01) +Rechnungen-Reiter -> M01 (Rechnung anlegen) +Abnahmen-Reiter -> WF-P9 Abnahme (S01 Liste / Workflow) +Handy -> S02 (Mobil-Modus) -> Abnahme-Workflow +Einstellungen -> S03 (Abnahme-Vorlagen, nutzt Formular-Baukasten P16) / S04 (Projekt-Vorlagen) +``` + +--- + +## 9. Screen-Pakete + +- [[S01 Auftrags-Reiter]] · [[S02 Mobil-Modus]] · [[M01 Rechnung anlegen]] +- [[S03 Abnahme-Formular-Vorlagen]] · [[S04 Projekt-Vorlagen]] + +--- + +## 10. Offene Fragen + +- Abnahme-Formular-Vorlagen basieren auf dem Formular-Baukasten (P16/D-FORM) — solange der nicht geplant ist, hier nur Verwaltung/Zuweisung; Editor kommt mit D-FORM +- Rechnungs-PDF: nur Datei-Anhang (v1) — kein Rechnungs-Generator (nicht beauftragt) + +## Handoff-Check + +- [x] Jeder Screen ist mit Umsetzung markiert. +- [x] Meldungs-/Error-State-Matrix ist ausgefüllt. +- [ ] Subframe-Link ist eingetragen. *(Subframe erst nach explizitem OK)* diff --git a/02 Wireframes/Screen Paket Tracker.md b/02 Wireframes/Screen Paket Tracker.md index 95ed2828..23383ebe 100644 --- a/02 Wireframes/Screen Paket Tracker.md +++ b/02 Wireframes/Screen Paket Tracker.md @@ -42,6 +42,12 @@ Diese Datei ist der erste Ort, um zu sehen: | WF-P5 Integrationen | D-P5 | Integrationen | Validiert | [MD]() | [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]() | [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]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-08; Lead->Projekt als grosses Modal (+Bulk); CSV-Import = Davids Delta/CR | +| WF-P8 Pipelines | D-P8 + D-KANBAN | Pipelines | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-08; Edit-Mode nur Detailansicht; Gewonnen regel-basiert (Spalten-Regel = Davids Delta) | +| WF-P9 Projekt-Akte | D-P9 | Auftrag | Validiert | [MD]() | [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]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Monteur-Modus = 1 Frame Heute<->Woche; Konflikt-Dialog wird gebaut | +| WF-P9 Abnahme | D-ABN | Auftrag | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; mehrstufiger Mobile-Workflow; immutable nach Abschluss | +| WF-P12 Flow-Editor | D-FLOW | Automationen | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Katalog links/Canvas Mitte/Konfig rechts; Start-Auswahl mit Vorlagen; Langlaeufer | +| WF-P12 Verwaltung | D-P12 | Automationen | Validiert | [MD]() | [Canvas]() | - | Subframe nach explizitem OK | Screens validiert 2026-07-09; Klartext-Timeline + 24h-Undo; Konfig-Panels hier, Editor bettet ein | --- @@ -151,6 +157,37 @@ Diese Datei ist der erste Ort, um zu sehen: | M03 | CSV-Import-Wizard | WF-P7 Leads | Modal/Wizard | Bauen | Validiert (Delta) | aus S01 | [MD]() | - | [Canvas]() | | S04 | Quellen-Verwaltung | WF-P7 Leads | Settings-Liste | Bauen | Validiert | `/admin/lead-sources` | [MD]() | - | [Canvas]() | | S05 | Spam-Schutz | WF-P7 Leads | Settings | Bauen | Validiert | `/admin/lead-anti-spam` | [MD]() | - | [Canvas]() | +| S01 | Kanban-Board (Bespoke) | WF-P8 Pipelines | Board | Bauen | Validiert | `/projects` | [MD]() | - | [Canvas]() | +| S02 | Projekt-Detailseite (P6-Muster) | WF-P8 Pipelines | Detail | Bauen | Validiert | `/projects/:id` | [MD]() | - | [Canvas]() | +| S03 | Projekt-Liste (alle Boards) | WF-P8 Pipelines | Liste | Bauen | Validiert | `/projects/list` | [MD]() | - | [Canvas]() | +| S04 | Board-Einstellungen | WF-P8 Pipelines | Verwaltung | Bauen | Validiert | aus Board + Einstellungen | [MD]() | - | [Canvas]() | +| S05 | Detail-Schablone (Edit-Mode) | WF-P8 Pipelines | Modus | Bauen | Validiert | aus S01/S04 | [MD]() | - | [Canvas]() | +| S06 | Verlust-Gruende | WF-P8 Pipelines | Settings-Liste | Bauen | Validiert | `/admin/pipelines/lost-reasons` | [MD]() | - | [Canvas]() | +| S07 | Boards-Uebersicht (Einstellungen) | WF-P8 Pipelines | Settings-Liste | Bauen | Validiert | `/admin/pipelines` | [MD]() | - | [Canvas]() | +| M01 | Verloren-Dialog (Grund Pflicht) | WF-P8 Pipelines | Modal | Bauen | Validiert | aus S01/S02 | [MD]() | - | [Canvas]() | +| M02 | Board-Wechsel-Dialog | WF-P8 Pipelines | Modal | Bauen | Validiert | Spalte ohne Auto-Regel | [MD]() | - | [Canvas]() | +| S01 | Auftrags-Reiter am Projekt | WF-P9 Projekt-Akte | Detail-Erweiterung | Bauen | Validiert | `/projects/:id` | [MD]() | - | [Canvas]() | +| S02 | Mobil-Modus | WF-P9 Projekt-Akte | Variante 📱 | Bauen | Validiert | `/projects/:id` (Handy) | [MD]() | - | [Canvas]() | +| M01 | Rechnung anlegen | WF-P9 Projekt-Akte | Modal | Bauen | Validiert | Rechnungen-Reiter | [MD]() | - | [Canvas]() | +| S03 | Abnahme-Formular-Vorlagen | WF-P9 Projekt-Akte | Settings | Bauen | Validiert | `/admin/projects/acceptance-forms` | [MD]() | - | [Canvas]() | +| S04 | Projekt-Vorlagen | WF-P9 Projekt-Akte | Settings-Liste | Bauen | Validiert | `/admin/projects/templates` | [MD]() | - | [Canvas]() | +| S01 | Plantafel (Desktop-Raster) | WF-P9 Plantafel | BESPOKE Grid | Bauen | Validiert | `/projects/plantafel` | [MD]() | - | [Canvas]() | +| S02 | Meine Termine (Heute<->Woche) | WF-P9 Plantafel | BESPOKE-Mobile offline | Bauen | Validiert | Bottom-Nav »Heute« | [MD]() | - | [Canvas]() | +| M01 | Konflikt-Dialog (Trotzdem zuweisen?) | WF-P9 Plantafel | Modal | Bauen | Validiert | aus S01 | [MD]() | - | [Canvas]() | +| M02 | Einsatz-Dialog | WF-P9 Plantafel | Modal/Panel | Bauen | Validiert | Slot-Klick in S01 | [MD]() | - | [Canvas]() | +| S01 | Abnahme-Liste | WF-P9 Abnahme | Liste | Bauen | Validiert | `/projects/:id/acceptance` | [MD]() | - | [Canvas]() | +| S02 | Abnahme Schritt 1: Pruefungen | WF-P9 Abnahme | BESPOKE-Mobile | Bauen | Validiert | `/projects/:id/acceptance/new` | [MD]() | - | [Canvas]() | +| S03 | Abnahme Schritt 2: Maengel | WF-P9 Abnahme | BESPOKE-Mobile | Bauen | Validiert | Workflow | [MD]() | - | [Canvas]() | +| S04 | Abnahme Schritt 3: Unterschriften | WF-P9 Abnahme | BESPOKE-Mobile | Bauen | Validiert | Workflow | [MD]() | - | [Canvas]() | +| S01 | Flow-Editor (Katalog/Canvas/Konfig) | WF-P12 Flow-Editor | BESPOKE | Bauen | Validiert | `/automations/:id/edit` | [MD]() | - | [Canvas]() | +| M01 | Probelauf (Dry-Run) | WF-P12 Flow-Editor | Modal | Bauen | Validiert | aus S01 | [MD]() | - | [Canvas]() | +| M02 | Schleifen-Warnung | WF-P12 Flow-Editor | Modal | Bauen | Validiert | aus S01 | [MD]() | - | [Canvas]() | +| M03 | Start-Auswahl (leer/Vorlage) | WF-P12 Flow-Editor | Modal | Bauen | Validiert | + Neue Automation | [MD]() | - | [Canvas]() | +| S01 | Automation-Liste | WF-P12 Verwaltung | Liste | Bauen | Validiert | `/automations` | [MD]() | - | [Canvas]() | +| S02 | Lauf-Liste | WF-P12 Verwaltung | Liste | Bauen | Validiert | `.../executions` | [MD]() | - | [Canvas]() | +| S03 | Lauf-Detail (Timeline, 24h-Undo) | WF-P12 Verwaltung | Detail | Bauen | Validiert | `.../executions/:id` | [MD]() | - | [Canvas]() | +| S04 | Vorlagen-Katalog | WF-P12 Verwaltung | Karten-Liste | Bauen | Validiert | `/automations/templates` | [MD]() | - | [Canvas]() | +| S05 | Baustein-Konfig-Panels (Muster) | WF-P12 Verwaltung | Compose-Panel | Bauen | Validiert | im Flow-Editor | [MD]() | - | [Canvas]() | --- @@ -228,6 +265,15 @@ Diese Datei ist der erste Ort, um zu sehen: | 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-P8 Pipelines | Edit-Mode | Genommen | NUR die Detailansicht als WYSIWYG-Schablone (Felder verschieben/hinzufuegen/sichtbar/Pflicht/Berechtigung); Karten-Layout bewusst NICHT editierbar (v1). | Validiert 2026-07-08 | +| WF-P8 Pipelines | Zwei Einstiege zur Board-Verwaltung | Genommen | Im Board (Board verwalten + Edit-Mode) UND Einstellungen -> Arbeitsweise -> Boards (Liste, neues Board). Gleiche Seiten, kein Duplikat. | Validiert 2026-07-08 | +| WF-P8 Pipelines | Gewonnen regel-basiert | Genommen (Delta) | Spalten-Regel "Auto-Verschieben nach Board X, Spalte Y" -> kein Dialog; ohne Regel -> Auswahl-Dialog. | Dev-Frage: direkt am Board-Modell oder via Automation-Engine | +| WF-P9 Plantafel | Monteur-Modus | Genommen | EIN Frame mit Umschalter Heute <-> Woche; offline mit Sync-Status. | Validiert 2026-07-09 | +| WF-P9 Abnahme | Workflow-Form | Genommen | Mehrstufig (Pruefungen -> Maengel -> Unterschriften) statt langem Scroll-Screen. | Validiert 2026-07-09 | +| WF-P9 Projekt-Akte | Board-Auftragsoptionen | Genommen | Abnahme-Pflicht je Spalte, Vorlagen-Zuweisung, Auto-Archiv -> erweitern WF-P8 S04 (kein neuer Screen). | Validiert 2026-07-09 | +| WF-P12 Flow-Editor | Editor-Anordnung | Genommen | Katalog links, Canvas Mitte, Konfig-Panel rechts (n8n-Muster); Katalog einklappbar. | Validiert 2026-07-09 | +| WF-P12 Flow-Editor | Anlegen-Flow | Genommen | Start-Auswahl-Modal: leer ODER Vorlage (Katalog eingebettet). | Validiert 2026-07-09 | +| WF-D-FORM | Formulare zurueckgestellt | Offen | Davids Mitarbeiter:in arbeitet daran; Infos folgen von David. | 2026-07-09 | --- diff --git a/05 HiveGrid Map/HiveGrid Map.canvas b/05 HiveGrid Map/HiveGrid Map.canvas index 967b4dd3..1ecd853b 100644 --- a/05 HiveGrid Map/HiveGrid Map.canvas +++ b/05 HiveGrid Map/HiveGrid Map.canvas @@ -1,862 +1,307 @@ { - "nodes": [ - { - "id": "904c5ece127e2e4c", - "type": "group", - "x": 5497, - "y": 3020, - "width": 1540, - "height": 1400, - "label": "VERWALTUNG (WORKSPACE-EINSTELLUNGEN)" - }, - { - "id": "88792c50986c93db", - "type": "group", - "x": 1950, - "y": 960, - "width": 2587, - "height": 740, - "color": "2", - "label": "VERTRIEB — vom Anruf zum Auftrag" - }, - { - "id": "77c19412215a977c", - "type": "group", - "x": 5037, - "y": 960, - "width": 2260, - "height": 740, - "color": "2", - "label": "AUFTRAG & BAUSTELLE" - }, - { - "id": "41b8d85d3bb8d47d", - "type": "group", - "x": -160, - "y": 0, - "width": 1850, - "height": 740, - "color": "6", - "label": "BASIS — gilt für alle Features" - }, - { - "id": "ca7223940f6e1d29", - "type": "group", - "x": 2520, - "y": 2080, - "width": 2317, - "height": 520, - "label": "TERMINE & FORMULARE" - }, - { - "id": "e97e13901e405fcd", - "type": "group", - "x": 5037, - "y": 2080, - "width": 1540, - "height": 740, - "label": "KOMMUNIKATION" - }, - { - "id": "8acc5d7d61317076", - "type": "group", - "x": 2110, - "y": 3020, - "width": 1450, - "height": 740, - "label": "AUTOMATIONEN" - }, - { - "id": "070f258760fab4e9", - "type": "group", - "x": 760, - "y": 3020, - "width": 1190, - "height": 740, - "label": "AUFGABEN & DATEIEN — stecken in jedem Feature" - }, - { - "id": "db7d9db3cd7939b0", - "type": "group", - "x": 3997, - "y": 0, - "width": 1040, - "height": 740, - "label": "SUCHE & DASHBOARD" - }, - { - "id": "c3172228336521df", - "type": "group", - "x": 7197, - "y": 3020, - "width": 540, - "height": 1400, - "label": "PLATTFORM-ADMIN — unsere interne Verwaltung" - }, - { - "id": "00d6b92d3845c185", - "type": "group", - "x": 1160, - "y": 2080, - "width": 1190, - "height": 520, - "label": "E-MAIL-MARKETING" - }, - { - "id": "7a26f88c260892eb", - "type": "group", - "x": 1950, - "y": 0, - "width": 557, - "height": 740, - "color": "3", - "label": "WEBSITE 🌐" - }, - { - "id": "2025c7621bb63c98", - "type": "group", - "x": 2737, - "y": 0, - "width": 540, - "height": 740, - "color": "4", - "label": "LOGIN & ZUGÄNGE" - }, - { - "id": "3c6e5b1ea4a27913", - "type": "group", - "x": 7977, - "y": 3020, - "width": 540, - "height": 740, - "label": "HR (MITARBEITER)" - }, - { - "id": "e21930b7073823f8", - "type": "text", - "text": "## Aufgaben\n**Ticket:** `D-P4` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/tasks` + überall als Reiter\n\n**Was drin ist:** Aufgaben-Liste (Meine / von mir erstellt / Alle), Aufgabe mit Frist, Priorität, Zuständigem (Person oder Gruppe), Beobachtern und Verknüpfung (Kontakt/Projekt/…)\n\n**So funktioniert's:** Einmal gebaut, überall eingebettet — jede Detailseite hat einen Aufgaben-Reiter. Aufgaben können auch aus Chat, Formularen oder Automationen entstehen (Herkunft sichtbar). Erinnerung vor/nach Frist.", - "x": 800, - "y": 3100, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "036e2a807223753d", - "type": "text", - "text": "## Dateien\n**Ticket:** `D-P4` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/files` + überall als Reiter\n\n**Was drin ist:** Datei-Übersicht (Tabelle oder Kacheln, Filter, Mehrfach-Aktionen inkl. ZIP), Upload per Drag&Drop (mehrere gleichzeitig, mit Fortschritt), Datei-Detail mit Vorschau\n\n**So funktioniert's:** Dateien hängen an Kontakten/Projekten/… mit Rolle (z. B. »Angebot«). iPhone-Fotos (HEIC) werden automatisch zu JPG. Versionen kommen in v2.", - "x": 1450, - "y": 3100, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "a1328943a7cef3b2", - "type": "file", - "file": "02 Wireframes/P4 Aufgaben und Dateien/WF-P4 Dateien/WF-P4 Dateien.canvas", - "x": 1450, - "y": 3500, - "width": 460, - "height": 220 - }, - { - "id": "98798c9044c1d4bc", - "type": "file", - "file": "02 Wireframes/P4 Aufgaben und Dateien/WF-P4 Aufgaben/WF-P4 Aufgaben.canvas", - "x": 800, - "y": 3500, - "width": 460, - "height": 220 - }, - { - "id": "8f3127f03a5bab96", - "type": "text", - "text": "## Automations-Baukasten (Flow-Editor)\n**Ticket:** `D-FLOW` · **Status:** ⬜ offen\n**Wo:** `/automations/:id/edit`\n\n**Was drin ist:** Zeichenfläche mit Bausteinen: Auslöser (neue Anfrage, Formular abgeschickt, Zeitplan …) und Aktionen (Aufgabe anlegen, Mail senden, Wenn-Dann, Warten …) per Ziehen verbinden\n\n**So funktioniert's:** Alles in verständlichem Deutsch beschriftet. Vor dem Aktivieren zeigt eine Probe-Vorschau »trifft X Datensätze« — erst bestätigen, dann läuft's. Warnt vor Endlos-Schleifen. **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:** ⬜ offen\n**Wo:** `/automations`\n\n**Was drin ist:** Liste aller Automationen (aktiv/pausiert/Entwurf), Lauf-Protokolle Schritt für Schritt in Klartext, Vorlagen-Katalog (SHK-Vorlagen + eigene)\n\n**So funktioniert's:** Jeder Lauf ist nachvollziehbar; 24 h lang rückgängig machbar (Countdown-Knopf), fehlgeschlagene Schritte neu anstoßen.", - "x": 3067, - "y": 3100, - "width": 460, - "height": 360, - "color": "2" - }, - { - "id": "77ebfde5a3a05b8a", - "type": "text", - "text": "## Online-Terminbuchung 🌐\n**Ticket:** `D-BOOK` + `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** 🌐 Buchungslink + `/bookings`\n\n**Was drin ist:** 🌐 Buchungs-Seite für Kunden (freien Termin wählen → Formular → Bestätigung mit Kalender-Datei), intern: Buchungs-Liste (verschieben, stornieren, No-Show), Buchungsseiten-Editor, Verfügbarkeits-Zeiten\n\n**So funktioniert's:** Kunde bucht selbst, der erste freie Mitarbeiter bekommt den Termin, die Anfrage landet im Lead-Eingang. Muss am schönsten aussehen — ist öffentlich.", - "x": 3067, - "y": 2160, - "width": 460, - "height": 360, - "color": "2" - }, - { - "id": "28bd46ecb4eaa069", - "type": "text", - "text": "## Kalender\n**Ticket:** `D-BOOK` + `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** `/calendar` + Einstellungen\n\n**Was drin ist:** Monats-/Wochen-Ansicht mit allen Terminen (Google-Kalender + Buchungen + Plantafel, je mit Herkunfts-Marker), Google-Kalender verbinden, Konflikt-Übersicht\n\n**So funktioniert's:** Läuft in beide Richtungen mit Google (Outlook kommt in v2). Fremde private Termine erscheinen nur als »belegt«.", - "x": 3837, - "y": 2160, - "width": 460, - "height": 360, - "color": "2" - }, - { - "id": "b789fc765f833f45", - "type": "text", - "text": "## Digital unterschreiben (E-Signatur)\n**Ticket:** `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Angebot als PDF hochladen → Unterzeichner festlegen → Kunde unterschreibt per Link (mit SMS/Mail-Code) oder direkt auf dem Gerät → Status je Unterzeichner, Erinnerung, Widerruf\n\n**So funktioniert's:** Hängt direkt am Projekt (»Angebot zur Signatur senden«). Eigene Lösung, kein Pflicht-Drittanbieter.", - "x": 4337, - "y": 2160, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "6b8c7d3bc3ee7449", - "type": "text", - "text": "## Formulare (Baukasten) 🌐\n**Ticket:** `D-FORM` + `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** `/forms` + öffentlicher Link\n\n**Was drin ist:** Formular-Baukasten (Felder per Ziehen anordnen, Wenn-Dann-Logik »zeige Feld X wenn …«, Live-Vorschau), 🌐 öffentliches Formular zum Teilen (Link, QR-Code, Einbetten), Antworten-Übersicht\n\n**So funktioniert's:** Was nach dem Absenden passiert, ist einstellbar: Anfrage/Aufgabe anlegen, Mail senden, Automation starten. Dieselben Formulare stecken auch in HR-Anträgen und der Terminbuchung.", - "x": 2560, - "y": 2160, - "width": 460, - "height": 360, - "color": "1" - }, - { - "id": "ab16fe58ff28c0ac", - "type": "text", - "text": "## Kampagnen & Empfängerlisten\n**Ticket:** `D-KAMP` · **Status:** ⬜ offen\n**Wo:** `/email-marketing`\n\n**Was drin ist:** Kampagne erstellen in 6 Schritten (Absender → Inhalt → Empfänger → Test-Mail → Zeitpunkt → Check) · Empfängerlisten (Segmente) mit Filtern bauen\n\n**So funktioniert's:** Vor dem Versand prüft eine Checkliste alles Rechtliche (Domain bestätigt? Abmelde-Link? Impressum?) — bei Rot wird nicht gesendet.", - "x": 1200, - "y": 2160, - "width": 460, - "height": 360, - "color": "2" - }, - { - "id": "4cce52e2e3bd8823", - "type": "text", - "text": "## Versand-Technik & Statistiken 🌐\n**Ticket:** `D-P14` · **Status:** ⬜ offen\n**Wo:** `/email-marketing` + Einstellungen\n\n**Was drin ist:** Eigene Absender-Domain einrichten (mit Copy-Paste-Anleitung), Kampagnen-Übersicht + Statistiken (zugestellt/geöffnet/geklickt), gesperrte Empfänger, Vorlagen, 🌐 Abmelde-Seite\n\n**So funktioniert's:** Mails an Kunden tauchen automatisch am Kontakt auf (BCC-Trick, kein Postfach-Anschluss nötig — der kommt in v2).", - "x": 1850, - "y": 2160, - "width": 460, - "height": 360, - "color": "2" - }, - { - "id": "401d8270854bebac", - "type": "text", - "text": "## Team-Chat 📱\n**Ticket:** `D-CHAT` · **Status:** ⬜ offen\n**Wo:** `/chat`\n\n**Was drin ist:** Channel-Liste, Chat-Verlauf (Antwort-Threads, Emoji-Reaktionen, gelesen-von, Anhänge), Erwähnungen mit @, angepinnte Nachrichten, Suche, Direktnachrichten\n\n**So funktioniert's:** Jedes Projekt kann seinen eigenen Channel haben (Team wird automatisch synchron gehalten). Monteure: vereinfachte Handy-Ansicht mit Foto-Direktupload. Admin kann DMs nur mit Begründung einsehen.", - "x": 5077, - "y": 2160, - "width": 460, - "height": 360, - "color": "2" - }, - { - "id": "5c72e7b04059503a", - "type": "text", - "text": "## Integrationen (Apps verbinden)\n**Ticket:** `D-P5` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/admin/integrations`\n\n**Was drin ist:** App-Katalog (nach Kategorie, mit Status-Ampel), Verbindung einrichten per Schritt-für-Schritt-Assistent, Verbindungs-Zustand + Sync-Verlauf in Klartext\n\n**So funktioniert's:** Das gemeinsame Gerüst für alle Anbindungen — E-Mail, Telefonie, Kalender, Signatur nutzen alle dieselben Verbindungs-Karten.", - "x": 5537, - "y": 3100, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "b334f15bdd19d9ad", - "type": "text", - "text": "## Erste Schritte & Demo-Daten\n**Ticket:** `D-P20` (Teil) · **Status:** ⬜ offen\n**Wo:** `/onboarding` + Admin\n\n**Was drin ist:** Erste-Schritte-Checkliste (mit Direkt-Links, abhakbar, ausblendbar), Beispieldaten-Knopf (anlegen, zählen, wieder löschen, »Demo ausblenden«-Filter), Hell/Dunkel-Umschalter\n\n**So funktioniert's:** Kein Einrichtungs-Assistent — beim Registrieren wird alles SHK-typisch vorbefüllt, die Checkliste führt danach durch.", - "x": 5537, - "y": 3760, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "a-integrationen-pkg", - "type": "file", - "file": "02 Wireframes/P5 Integrationen/WF-P5 Integrationen/WF-P5 Integrationen.canvas", - "x": 5537, - "y": 3500, - "width": 460, - "height": 220 - }, - { - "id": "29ca06733a9b243b", - "type": "text", - "text": "## Telefonie (Anrufe)\n**Ticket:** `D-P15` · **Status:** ⬜ offen\n**Wo:** `/calls` + Einstellungen\n\n**Was drin ist:** AirCall verbinden (Telefon-Nutzer zuordnen), Anruf-Liste + Detail (Notiz, Aufnahme), Anruf-Knopf direkt an Kontakt/Anfrage/Projekt\n\n**So funktioniert's:** Anrufe werden automatisch dem richtigen Kontakt zugeordnet. Unbekannte Nummer ruft an → wird automatisch eine Anfrage im Lead-Eingang.", - "x": 5577, - "y": 2160, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "0f6acf7087283c0c", - "type": "text", - "text": "## Aktivitäts-Protokoll (Audit-Log)\n**Ticket:** `D-P3` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/admin/audit`\n\n**Was drin ist:** Wer hat wann was geändert — als deutscher Klartext-Satz, mit Filter und Vorher/Nachher-Vergleich, Export mit Zweck-Angabe\n\n**So funktioniert's:** Der gleiche Verlauf ist auch an jedem Datensatz einblendbar (»Verlauf dieses Objekts«). Unterscheidet Mensch / Automation / Agent / Admin.", - "x": 6037, - "y": 3100, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "3864f1b74d665e1a", - "type": "file", - "file": "02 Wireframes/P3 Querschnitt/WF-P3 Audit Log/WF-P3 Audit Log.canvas", - "x": 6037, - "y": 3500, - "width": 460, - "height": 220 - }, - { - "id": "6533d410b309a48f", - "type": "text", - "text": "## Datenschutz (Export & Löschung)\n**Ticket:** `D-P21` (Teil) · **Status:** ⬜ offen\n**Wo:** `/admin/privacy` + Einstellungen\n\n**Was drin ist:** Daten-Export als ZIP (für einen Nutzer oder den ganzen Workspace), Workspace-Löschung (mehrstufig, 30 Tage Schonfrist, Passwort + 2FA), Konto-Löschung, Liste der Unterauftragsverarbeiter, AVV-Vertrag\n\n**So funktioniert's:** Letzter Baustein vor dem Launch. DSGVO-Auskunftsanfragen laufen in v1 als manuelle Anleitung, ohne eigenen Assistenten.", - "x": 6037, - "y": 3760, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "50945ed6e43505ce", - "type": "text", - "text": "## Benachrichtigungen\n**Ticket:** `D-P3` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** Glocke oben + Einstellungen\n\n**Was drin ist:** Glocke mit Ungelesen-Zähler + aufklappbare Liste (Klick springt zur Sache), eigene Seite mit allen Meldungen, Einstellungen: pro Ereignis-Typ wählen ob In-App und/oder E-Mail\n\n**So funktioniert's:** Wird von allen Features gespeist (neue Anfrage, Aufgabe fällig, Antrag genehmigt …). Master-Schalter »alle E-Mails aus«.", - "x": 6077, - "y": 2160, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "43a26561f03f72da", - "type": "file", - "file": "02 Wireframes/P3 Querschnitt/WF-P3 Benachrichtigungen/WF-P3 Benachrichtigungen.canvas", - "x": 6077, - "y": 2560, - "width": 460, - "height": 220 - }, - { - "id": "6b3c0929759a607b", - "type": "text", - "text": "## Abo & Rechnungen (für HiveGrid)\n**Ticket:** `D-P20` (Teil) · **Status:** ⚠️ Ticket braucht Recut\n**Wo:** `/admin/subscription`\n\n**Was drin ist:** Abo-Übersicht (Plan, Plätze, gebuchte Module, Test-Countdown), Verbrauchs-Balken (Automations-Läufe, Speicher), Rechnungen + Zahlungsstatus\n\n**Achtung:** Das Ticket wird gerade umgeschnitten (neuer Abrechnungs-Unterbau) — erst planen, wenn der Brief neu steht. Kein Selbst-Upgrade in v1.", - "x": 6537, - "y": 3100, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "db76161d24fb0c1d", - "type": "text", - "text": "## Feedback & Hilfe\n**Ticket:** `D-P21` (Teil) · **Status:** ⬜ offen\n**Wo:** überall + `/help`\n\n**Was drin ist:** Schwebender Feedback-Knopf (Fehler melden / Idee / Frage, optional mit Screenshot), kleine FAQ-Seite\n\n**So funktioniert's:** Meldungen landen direkt in unserer Support-Inbox im Plattform-Admin.", - "x": 6537, - "y": 3760, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "c8d8914e45e1497e", - "type": "text", - "text": "## Plattform-Admin\n**Ticket:** `D-ADMIN` · **Status:** ⬜ offen\n**Wo:** admin.hivegrid.de\n\n**Was drin ist:** Eigener Login (2FA Pflicht), Übersichts-Dashboard (Kunden, Nutzer, Umsatz, System-Zustand), Kunden-Verwaltung (Module freischalten = Abo-Baukasten, Test verlängern, »als Kunde einloggen« mit Begründung), Nutzer-Hilfen (2FA-Reset), Feature-Schalter, Warteschlangen-Monitor, Support-Inbox, Protokoll\n\n**So funktioniert's:** Komplett eigene Welt für uns als Betreiber — Kunden sehen davon nichts. Muss funktionieren, nicht hübsch sein.", - "x": 7237, - "y": 3100, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "abf5f779c1463715", - "type": "text", - "text": "## Hinweis\nDieses eine Ticket enthält viele kleine Features (Kunden, Schalter, Support …).\n\nBeim atomaren Durchgehen behandeln wir es als eigenen Bereich und teilen es bei Bedarf in Unter-Pakete auf. Priorität liegt aber hinter der Vertriebs-/Auftrags-Kette.", - "x": 7237, - "y": 3760, - "width": 460, - "height": 360, - "color": "5" - }, - { - "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": "e10a35560a461111", - "type": "text", - "text": "## Kanban-Board & Pipelines (Projekte)\n**Ticket:** `D-P8` + `D-KANBAN` · **Status:** ⬜ offen\n**Wo:** `/projects` + Admin\n\n**Was drin ist:** Kanban-Board mit Spalten je Status (Karten ziehen = Status wechseln), Projekt-Liste, Projekt-Detailseite, Pipeline-Einstellungen (Spalten, Rechte, Pflichtfelder), Verlust-Gründe\n\n**So funktioniert's:** Ein Projekt wandert durch Boards — »Vertrieb« und »Auftrag« sind nur zwei Boards für denselben Datensatz. Gewonnen = wechselt aufs Auftrags-Board. Wer welche Felder sieht (z. B. Umsatz), ist einstellbar.", - "x": 4037, - "y": 1040, - "width": 460, - "height": 360, - "color": "2" - }, - { - "id": "4bb807ef5e3c8dee", - "type": "text", - "text": "## Projekt-Akte (Auftrag) 📱\n**Ticket:** `D-P9` · **Status:** ⬜ offen\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Reiter am Projekt: Team-Mitglieder, Termine, **Rechnungen (neu in v1)**, Checklisten & Mängel, Aufgaben, Dateien, Abnahmen · dazu Projekt-Vorlagen und Abnahme-Formular-Vorlagen\n\n**So funktioniert's:** Alles zum Auftrag an einem Ort. Am Handy reduziert: Stammdaten, heutige Aufgaben, Abnahme-Knopf, Foto direkt hochladen.", - "x": 5077, - "y": 1040, - "width": 460, - "height": 360, - "color": "2" - }, - { - "id": "3f83fa1a16ae69df", - "type": "text", - "text": "## Plantafel (Einsatzplanung) 📱\n**Ticket:** `D-PLAN` · **Status:** ⬜ offen\n**Wo:** `/projects/plantafel`\n\n**Was drin ist:** Planungs-Raster: Zeilen = Mitarbeiter, Spalten = Zeit. Einsätze per Ziehen verschieben/verlängern, Klick auf freien Slot = neuer Einsatz\n\n**So funktioniert's:** Warnt bei Konflikten (doppelt verplant, Urlaub/krank, außerhalb Arbeitszeit) — zuweisen geht trotzdem. Monteure sehen am Handy »Meine Termine heute« mit Adresse + Navi, auch offline.", - "x": 5897, - "y": 1040, - "width": 460, - "height": 360, - "color": "1" - }, - { - "id": "d9ad572ae83b4d0a", - "type": "text", - "text": "## Abnahme (Baustellen-Protokoll) 📱\n**Ticket:** `D-ABN` · **Status:** ⬜ offen\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Abnahme-Formular (Druckprobe, Funktionsprüfung, Zählerstände, übergebene Dokumente), Mängel mit Foto festhalten, Unterschrift Kunde + Monteur direkt am Handy, Liste aller Abnahmen je Projekt\n\n**So funktioniert's:** Nach dem Speichern unveränderbar (6 Jahre Aufbewahrung), PDF geht automatisch per Mail an den Kunden. Funktioniert offline, lädt später hoch. Mängel werden automatisch Aufgaben.", - "x": 6767, - "y": 1040, - "width": 460, - "height": 360, - "color": "1" - }, - { - "id": "903e3384b0a5e623", - "type": "text", - "text": "**Detail-Flows:** 9 Wireframe-Pakete mit eigenen Canvases in `02 Wireframes/P2 Auth/` (Login, Signup, Reset, Set Password, 2FA, RBAC …) — siehe Tracker", - "x": 2777, - "y": 480, - "width": 460, - "height": 220 - }, - { - "id": "3e27875daca5713d", - "type": "text", - "text": "## Login, Registrierung & Workspace\n**Ticket:** `D-P2` · **Status:** ✅ validiert / in Subframe\n**Wo:** Login-Seiten + Einstellungen\n\n**Was drin ist:** Registrierung, Login + 2FA, Passwort vergessen/ändern, Workspace-Auswahl + neuer Workspace, Profil & Sicherheit, Mitarbeiter & Rollen (Admin)\n\n**Stand:** 9 Wireframe-Pakete fertig gebaut. Konto/Workspace löschen bewusst geparkt. → `02 Wireframes/P2 Auth/`", - "x": 2777, - "y": 80, - "width": 460, - "height": 360, - "color": "4" - }, - { - "id": "89c0813f7e139a88", - "type": "text", - "text": "## Dashboard (Startseite)\n**Ticket:** `D-DASH` (Teil) · **Status:** ⬜ offen\n**Wo:** `/dashboard`\n\n**Was drin ist:** 3 feste Ansichten je Rolle: Chef (Umsatz, Projekte, Auslastung) · Büro (Projekte, Aufgaben, Anrufe) · Monteur 📱 (meine Termine, Projekte, Aufgaben)\n\n**So funktioniert's:** Kacheln mit Zahlen, Listen und Trend-Charts, live aktualisiert. Kein freies Umbauen in v1 — nur Filter/Zeitraum einstellbar.", - "x": 4037, - "y": 80, - "width": 460, - "height": 360, - "color": "2" - }, - { - "id": "4a4e5be847a54e5f", - "type": "text", - "text": "## Suche (Cmd+K)\n**Ticket:** `D-DASH` (Teil) · **Status:** ⬜ offen\n**Wo:** überall + `/search`\n\n**Was drin ist:** Such-Fenster per Tastenkürzel: tippen, Treffer nach Typ gruppiert, mit Pfeiltasten navigieren · dazu große Such-Seite mit Filtern\n\n**So funktioniert's:** Findet Kontakte, Projekte, Dateien usw. — zeigt nur, was man sehen darf.", - "x": 4537, - "y": 80, - "width": 460, - "height": 360, - "color": "1" - }, - { - "id": "ce5632682989a6ca", - "type": "text", - "text": "## Website (Landing & Demo-Anfrage)\n**Ticket:** `D-WEB` · **Status:** ⬜ offen\n**Wo:** 🌐 hivegrid.de\n\n**Was drin ist:** Startseite, Features-Seite, Preise-Teaser, Demo-Anfrage-Formular\n\n**Warum wichtig:** Der erste Eindruck nach außen. Farben/Schriften sind dieselben wie in der App. Demo-Anfragen landen im Lead-Eingang.", - "x": 2007, - "y": 80, - "width": 460, - "height": 360, - "color": "2" - }, - { - "id": "c02969250252a3ab", - "type": "text", - "text": "## Feinschliff vor Launch\n**Ticket:** `D-POLISH` · **Status:** ⬜ offen\n**Wo:** 🌐 alles öffentlich Sichtbare\n\n**Was drin ist:** Letzter Polier-Durchgang: Terminbuchungs-Seite, öffentliche Formulare, Marketing-Mails · danach Screenshots als »So muss es aussehen«-Referenz einfrieren\n\n**Warum wichtig:** Kommt ganz am Ende, direkt vor dem Launch. Braucht Terminbuchung + Dashboard fertig.", - "x": 1190, - "y": 80, - "width": 460, - "height": 360, - "color": "3" - }, - { - "id": "d48196ed3e229be5", - "type": "text", - "text": "**Standards:** `04 Standards/Subframe UI Standards/` — validierte Layout-Regeln", - "x": 690, - "y": 480, - "width": 460, - "height": 220 - }, - { - "id": "d53e7ea48a9b1e6c", - "type": "text", - "text": "## UI-Baukasten (Listen, Formulare, Modals …)\n**Ticket:** `D-D0b` · **Status:** ✅ validiert\n**Wo:** überall in der App\n\n**Was drin ist:** Fertige Bausteine: Listen mit Filter, Detail-Seiten, Formular-Felder (12 Typen), Dialoge/Wizards, Settings-Seiten, Leer-/Lade-/Fehler-Zustände + Kleinteile (Buttons, Tags, Charts, Unterschriften-Feld …)\n\n**Warum wichtig:** Einmal designen, überall wiederverwenden. Layout-Standards liegen in `04 Standards`. ✅ Bereits erledigt.", - "x": 690, - "y": 80, - "width": 460, - "height": 360, - "color": "4" - }, - { - "id": "b3cad562971d30a5", - "type": "text", - "text": "## App-Gerüst (Sidebar, Topbar & Design)\n**Ticket:** `D-D0a` · **Status:** ✅ gebaut (David, in Subframe)\n**Wo:** überall in der App\n\n**Was drin ist:** Sidebar (Module ein-/ausblendbar je Abo, Handy-Variante 📱), Topbar (Workspace-Wechsler, Suche, Glocke, Profil-Menü), Breadcrumb, Warn-Banner (z. B. »Zahlung offen«), Erfolgs-/Fehlermeldungen\n\n**Stand:** Bereits gebaut und validiert. Der Rahmen, in dem jedes Feature steckt — inkl. Farben, Schriften, Hell/Dunkel.", - "x": -100, - "y": 80, - "width": 460, - "height": 360, - "color": "4" - }, - { - "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": "03e8e03ef11606a0", - "type": "text", - "text": "## HR-Bereich 📱\n**Ticket:** `D-HR` · **Status:** ⬜ offen\n**Wo:** `/hr` + HR-Admin\n\n**Was drin ist:** Startseite (Ankündigungen, offene Anträge, wer ist heute da), Urlaub & Krankmeldung (mit Genehmigung), Lohnabrechnungen, Anträge (Spesen, Hardware …), Passwort-Safe, Umfragen, Mitarbeiter-Verzeichnis, Standorte, eigene Dokumente\n\n**So funktioniert's:** Mitarbeiter-Sicht und HR-Verwaltung sind strikt getrennt; sensible Daten verschlüsselt, jedes Aufdecken protokolliert. Urlaub/krank fließt direkt in die Plantafel-Konflikte.", - "x": 8017, - "y": 3100, - "width": 460, - "height": 360, - "color": "5" - }, - { - "id": "d5d3db1765287eef", - "type": "text", - "text": "# 🗺 HiveGrid Feature Map (v1)\nJede Karte = **ein Feature**. Das Ticket steht nur als Referenz dran. Übergreifende Sachen (App-Gerüst, UI-Baukasten, Feinschliff) liegen unter **Basis**.\n\n**Farben:**\n🟢 fertig/validiert · 🔴 Sonder-UI, wird von Hand designt (Tage) · 🔵 wird aus dem UI-Baukasten zusammengesteckt (Stunden) · 🟠 Mischung aus beidem · 🟣 Basis · 🟡 Feinschliff\n\n**Marker:** 🌐 öffentlich sichtbar (höchster Anspruch) · 📱 Monteur-Handy, teils offline\n\n**Unter jeder Karte:** Slot für die verknüpften Paket-Canvases (Detail-Flows aus `02 Wireframes`) — Karte anklicken öffnet den Flow.\n\n**Pfeile:** orange = Hauptkette (Anfrage → Auftrag → Geld) · grau = klare Querverbindung. Gilt etwas für **alle** Features (Automationen, Aufgaben/Dateien, Benachrichtigungen, Verbindungs-Gerüst), steht es als Text auf der Karte statt als Pfeil.\n\nAbhaklisten & Details: [[HiveGrid Map]]", - "x": -163, - "y": -600, - "width": 1140, - "height": 380 - }, - { - "id": "a4f86f7bfc24194b", - "type": "text", - "styleAttributes": { - "border": "dashed" - }, - "text": "# 📏 Canvas-Regelwerk\n**Karten:** 1 Karte = 1 Feature · Farbe = Aufwand/Status (siehe Legende links) · unter der Karte hängen die Paket-Canvases (Detail-Flows).\n\n**Verbindungen:**\n- 🟠 **durchgezogen** — Hauptkette: so fließt ein Auftrag durchs System\n- 🔵 **durchgezogen** — erzeugt Anfrage/Termin (Wege in den Lead-Eingang)\n- **grau, lang gestrichelt** — speist/beeinflusst (Daten fließen rüber)\n- **grau, kurz gestrichelt** — Werkzeug-Paar (gehört fachlich zusammen)\n- 🟣 **gepunktet** — Basis/Einstieg (Design-Grundlage, nach dem Login)\n- **kein Pfeil** — gilt für ALLE Features (steht als Text auf der Karte)\n\n**Pfadführung:** nur gerade (direkt) oder Standard-Kurve — keine verwinkelten Wege. Wenn ein ganzer Bereich zu einem anderen gehört, wird Gruppe↔Gruppe (oder Gruppe↔Karte) verbunden statt vieler Einzel-Pfeile.\n\n**Label-Regel:** Zwischen verbundenen Karten bleibt mindestens Label-Breite Platz (≈ 8 px pro Zeichen + Rand), sonst wird der Text abgeschnitten.", - "x": 1187, - "y": -640, - "width": 820, - "height": 420 - }, - { - "id": "md-hivegrid-map", - "type": "file", - "file": "05 HiveGrid Map/HiveGrid Map.md", - "x": -683, - "y": -600, - "width": 460, - "height": 300 - }, - { - "id": "a-kontakte-pkg", - "type": "file", - "file": "02 Wireframes/P6 Kontakte/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.canvas", - "x": 3077, - "y": 1440, - "width": 460, - "height": 220 - }, - { - "id": "a-leads-pkg", - "type": "file", - "file": "02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas", - "x": 2007, - "y": 1440, - "width": 460, - "height": 220 - } - ], - "edges": [ - { - "id": "4ab78034e8253353", - "styleAttributes": { - "path": "dotted", - "pathfindingMethod": "direct" - }, - "fromNode": "b3cad562971d30a5", - "fromSide": "right", - "toNode": "d53e7ea48a9b1e6c", - "toSide": "left", - "color": "6", - "label": "Design-Grundlage" - }, - { - "id": "493a2823934c45bb", - "styleAttributes": { - "path": "dotted", - "pathfindingMethod": "direct" - }, - "fromNode": "3e27875daca5713d", - "fromSide": "right", - "toNode": "89c0813f7e139a88", - "toSide": "left", - "color": "6", - "label": "nach dem Login" - }, - { - "id": "ec751d558a1aef74", - "styleAttributes": { - "pathfindingMethod": "direct" - }, - "fromNode": "8272764aa65537b0", - "fromSide": "right", - "toNode": "d9868dadb782f253", - "toSide": "left", - "color": "2", - "label": "Kontakt anlegen/verknüpfen" - }, - { - "id": "154e632b2e5a645b", - "styleAttributes": { - "pathfindingMethod": "direct" - }, - "fromNode": "d9868dadb782f253", - "fromSide": "right", - "toNode": "e10a35560a461111", - "toSide": "left", - "color": "2", - "label": "Kontakt hängt am Projekt" - }, - { - "id": "0c0d0ba4b21da4ee", - "styleAttributes": { - "pathfindingMethod": "direct" - }, - "fromNode": "e10a35560a461111", - "fromSide": "right", - "toNode": "4bb807ef5e3c8dee", - "toSide": "left", - "color": "2", - "label": "gewonnen → Auftrags-Board" - }, - { - "id": "b43edef178d41dd6", - "styleAttributes": { - "pathfindingMethod": "direct" - }, - "fromNode": "4bb807ef5e3c8dee", - "fromSide": "right", - "toNode": "3f83fa1a16ae69df", - "toSide": "left", - "color": "2", - "label": "Termine einplanen" - }, - { - "id": "c45adb9c0c551e38", - "styleAttributes": { - "pathfindingMethod": "direct" - }, - "fromNode": "3f83fa1a16ae69df", - "fromSide": "right", - "toNode": "d9ad572ae83b4d0a", - "toSide": "left", - "color": "2", - "label": "Ausführung → Abnahme" - }, - { - "id": "47be96e20dcfa86a", - "styleAttributes": { - "pathfindingMethod": null - }, - "fromFloating": false, - "fromNode": "d9ad572ae83b4d0a", - "fromSide": "bottom", - "toNode": "4bb807ef5e3c8dee", - "toSide": "bottom", - "color": "2", - "label": "Mängel → Aufgaben · dann Rechnung" - }, - { - "id": "2ec97abebcf1dcce", - "styleAttributes": { - "pathfindingMethod": "direct" - }, - "fromNode": "ce5632682989a6ca", - "fromSide": "bottom", - "toNode": "8272764aa65537b0", - "toSide": "top", - "color": "5", - "label": "Demo-Anfrage" - }, - { - "id": "4b89b1105393e48f", - "styleAttributes": { - "pathfindingMethod": "direct" - }, - "toFloating": false, - "fromNode": "6b8c7d3bc3ee7449", - "fromSide": "top", - "toNode": "8272764aa65537b0", - "toSide": "bottom", - "color": "5", - "label": "Formular → Anfrage" - }, - { - "id": "bc139947ce483198", - "styleAttributes": { - "pathfindingMethod": "direct" - }, - "fromNode": "77ebfde5a3a05b8a", - "fromSide": "top", - "toNode": "8272764aa65537b0", - "toSide": "bottom", - "color": "5", - "label": "Buchung → Anfrage/Termin" - }, - { - "id": "57a256b64d1a2d76", - "styleAttributes": { - "pathfindingMethod": "direct" - }, - "fromFloating": false, - "fromNode": "29ca06733a9b243b", - "fromSide": "top", - "toNode": "8272764aa65537b0", - "toSide": "bottom", - "color": "5", - "label": "Anruf von unbekannt → Anfrage" - }, - { - "id": "78fca84da3e723b6", - "styleAttributes": { - "path": "long-dashed", - "pathfindingMethod": "direct" - }, - "fromNode": "00d6b92d3845c185", - "fromSide": "top", - "toNode": "d9868dadb782f253", - "toSide": "bottom", - "label": "E-Mails am Kontakt sichtbar (ganzer Bereich)" - }, - { - "id": "8792d0c809babff2", - "styleAttributes": { - "path": "long-dashed", - "pathfindingMethod": null - }, - "fromFloating": false, - "toFloating": false, - "fromNode": "03e8e03ef11606a0", - "fromSide": "top", - "toNode": "3f83fa1a16ae69df", - "toSide": "bottom", - "label": "Urlaub/krank → Konflikt-Warnung" - }, - { - "id": "ce4441bfdc6a11cc", - "styleAttributes": { - "path": "long-dashed", - "pathfindingMethod": "direct" - }, - "fromNode": "28bd46ecb4eaa069", - "fromSide": "top", - "toNode": "3f83fa1a16ae69df", - "toSide": "bottom", - "label": "Kalender-Abgleich" - }, - { - "id": "77081523e546eebe", - "styleAttributes": { - "path": "long-dashed", - "pathfindingMethod": "direct" - }, - "fromFloating": false, - "fromNode": "b789fc765f833f45", - "fromSide": "top", - "toNode": "4bb807ef5e3c8dee", - "toSide": "bottom", - "label": "hängt an der Projekt-Akte" - }, - { - "id": "e6c0f9dda77f8d85", - "styleAttributes": { - "path": "long-dashed", - "pathfindingMethod": "direct" - }, - "fromNode": "401d8270854bebac", - "fromSide": "top", - "toNode": "4bb807ef5e3c8dee", - "toSide": "bottom", - "label": "Projekt-Channel im Projekt" - }, - { - "id": "65bd180bf263096e", - "styleAttributes": { - "path": "long-dashed", - "pathfindingMethod": "direct" - }, - "fromNode": "e10a35560a461111", - "fromSide": "top", - "toNode": "89c0813f7e139a88", - "toSide": "bottom", - "label": "Zahlen fürs Dashboard" - }, - { - "id": "dc15b80a5a4410c9", - "styleAttributes": { - "path": "long-dashed", - "pathfindingMethod": "direct" - }, - "fromNode": "db76161d24fb0c1d", - "fromSide": "right", - "toNode": "c8d8914e45e1497e", - "toSide": "left", - "label": "Feedback → Support-Inbox" - }, - { - "id": "0bb07aa23fe6a9f2", - "styleAttributes": { - "path": "short-dashed", - "pathfindingMethod": "direct" - }, - "fromNode": "28bd46ecb4eaa069", - "fromSide": "left", - "toNode": "77ebfde5a3a05b8a", - "toSide": "right", - "label": "freie Zeiten" - }, - { - "id": "cc8ccd69ae4f9435", - "styleAttributes": { - "path": "short-dashed", - "pathfindingMethod": "direct" - }, - "fromNode": "8f3127f03a5bab96", - "fromSide": "right", - "toNode": "e6d8c36a0f89d954", - "toSide": "left", - "label": "Baukasten ↔ Übersicht" - } - ], - "metadata": { - "version": "1.0-1.0", - "frontmatter": {} - } + "nodes":[ + {"id":"904c5ece127e2e4c","type":"group","x":5497,"y":3020,"width":1540,"height":1400,"label":"VERWALTUNG (WORKSPACE-EINSTELLUNGEN)"}, + {"id":"88792c50986c93db","type":"group","x":1950,"y":960,"width":2587,"height":740,"color":"2","label":"VERTRIEB — vom Anruf zum Auftrag"}, + {"id":"77c19412215a977c","type":"group","x":5037,"y":960,"width":2260,"height":740,"color":"2","label":"AUFTRAG & BAUSTELLE"}, + {"id":"41b8d85d3bb8d47d","type":"group","x":-160,"y":0,"width":1850,"height":740,"color":"6","label":"BASIS — gilt für alle Features"}, + {"id":"ca7223940f6e1d29","type":"group","x":2520,"y":2080,"width":2317,"height":520,"label":"TERMINE & FORMULARE"}, + {"id":"e97e13901e405fcd","type":"group","x":5037,"y":2080,"width":1540,"height":740,"label":"KOMMUNIKATION"}, + {"id":"8acc5d7d61317076","type":"group","x":2110,"y":3020,"width":1450,"height":740,"label":"AUTOMATIONEN"}, + {"id":"070f258760fab4e9","type":"group","x":760,"y":3020,"width":1190,"height":740,"label":"AUFGABEN & DATEIEN — stecken in jedem Feature"}, + {"id":"db7d9db3cd7939b0","type":"group","x":3997,"y":0,"width":1040,"height":740,"label":"SUCHE & DASHBOARD"}, + {"id":"c3172228336521df","type":"group","x":7197,"y":3020,"width":540,"height":1400,"label":"PLATTFORM-ADMIN — unsere interne Verwaltung"}, + {"id":"00d6b92d3845c185","type":"group","x":1160,"y":2080,"width":1190,"height":520,"label":"E-MAIL-MARKETING"}, + {"id":"7a26f88c260892eb","type":"group","x":1950,"y":0,"width":557,"height":740,"color":"3","label":"WEBSITE 🌐"}, + {"id":"2025c7621bb63c98","type":"group","x":2737,"y":0,"width":540,"height":740,"color":"4","label":"LOGIN & ZUGÄNGE"}, + {"id":"3c6e5b1ea4a27913","type":"group","x":7977,"y":3020,"width":540,"height":740,"label":"HR (MITARBEITER)"}, + {"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":"a-kontakte-pkg","type":"file","file":"02 Wireframes/P6 Kontakte/WF-P6 Kontakte und Organisationen/WF-P6 Kontakte und Organisationen.canvas","x":3077,"y":1440,"width":460,"height":220}, + {"id":"e10a35560a461111","type":"text","text":"## Kanban-Board & Pipelines (Projekte)\n**Ticket:** `D-P8` + `D-KANBAN` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/projects` + Admin\n\n**Was drin ist:** Kanban-Board mit Spalten je Status (Karten ziehen = Status wechseln), Projekt-Liste, Projekt-Detailseite, Pipeline-Einstellungen (Spalten, Rechte, Pflichtfelder), Verlust-Gründe\n\n**So funktioniert's:** Ein Projekt wandert durch Boards — »Vertrieb« und »Auftrag« sind nur zwei Boards für denselben Datensatz. Gewonnen = wechselt aufs Auftrags-Board. Wer welche Felder sieht (z. B. Umsatz), ist einstellbar.","x":4037,"y":1040,"width":460,"height":360,"color":"2"}, + {"id":"a-pipelines-pkg","type":"file","file":"02 Wireframes/P8 Pipelines/WF-P8 Pipelines/WF-P8 Pipelines.canvas","x":4037,"y":1440,"width":460,"height":220}, + {"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":"a-leads-pkg","type":"file","file":"02 Wireframes/P7 Leads/WF-P7 Leads/WF-P7 Leads.canvas","x":2007,"y":1440,"width":460,"height":220}, + {"id":"77ebfde5a3a05b8a","type":"text","text":"## Online-Terminbuchung 🌐\n**Ticket:** `D-BOOK` + `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** 🌐 Buchungslink + `/bookings`\n\n**Was drin ist:** 🌐 Buchungs-Seite für Kunden (freien Termin wählen → Formular → Bestätigung mit Kalender-Datei), intern: Buchungs-Liste (verschieben, stornieren, No-Show), Buchungsseiten-Editor, Verfügbarkeits-Zeiten\n\n**So funktioniert's:** Kunde bucht selbst, der erste freie Mitarbeiter bekommt den Termin, die Anfrage landet im Lead-Eingang. Muss am schönsten aussehen — ist öffentlich.","x":3067,"y":2160,"width":460,"height":360,"color":"2"}, + {"id":"28bd46ecb4eaa069","type":"text","text":"## Kalender\n**Ticket:** `D-BOOK` + `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** `/calendar` + Einstellungen\n\n**Was drin ist:** Monats-/Wochen-Ansicht mit allen Terminen (Google-Kalender + Buchungen + Plantafel, je mit Herkunfts-Marker), Google-Kalender verbinden, Konflikt-Übersicht\n\n**So funktioniert's:** Läuft in beide Richtungen mit Google (Outlook kommt in v2). Fremde private Termine erscheinen nur als »belegt«.","x":3837,"y":2160,"width":460,"height":360,"color":"2"}, + {"id":"6b8c7d3bc3ee7449","type":"text","text":"## Formulare (Baukasten) 🌐\n**Ticket:** `D-FORM` + `D-P16` (Teil) · **Status:** ⬜ zurückgestellt (Davids Mitarbeiter:in arbeitet daran, Infos folgen)\n**Wo:** `/forms` + öffentlicher Link\n\n**Was drin ist:** Formular-Baukasten (Felder per Ziehen anordnen, Wenn-Dann-Logik »zeige Feld X wenn …«, Live-Vorschau), 🌐 öffentliches Formular zum Teilen (Link, QR-Code, Einbetten), Antworten-Übersicht\n\n**So funktioniert's:** Was nach dem Absenden passiert, ist einstellbar: Anfrage/Aufgabe anlegen, Mail senden, Automation starten. Dieselben Formulare stecken auch in HR-Anträgen und der Terminbuchung.","x":2560,"y":2160,"width":460,"height":360,"color":"1"}, + {"id":"4cce52e2e3bd8823","type":"text","text":"## Versand-Technik & Statistiken 🌐\n**Ticket:** `D-P14` · **Status:** ⬜ offen\n**Wo:** `/email-marketing` + Einstellungen\n\n**Was drin ist:** Eigene Absender-Domain einrichten (mit Copy-Paste-Anleitung), Kampagnen-Übersicht + Statistiken (zugestellt/geöffnet/geklickt), gesperrte Empfänger, Vorlagen, 🌐 Abmelde-Seite\n\n**So funktioniert's:** Mails an Kunden tauchen automatisch am Kontakt auf (BCC-Trick, kein Postfach-Anschluss nötig — der kommt in v2).","x":1850,"y":2160,"width":460,"height":360,"color":"2"}, + {"id":"b789fc765f833f45","type":"text","text":"## Digital unterschreiben (E-Signatur)\n**Ticket:** `D-P16` (Teil) · **Status:** ⬜ offen\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Angebot als PDF hochladen → Unterzeichner festlegen → Kunde unterschreibt per Link (mit SMS/Mail-Code) oder direkt auf dem Gerät → Status je Unterzeichner, Erinnerung, Widerruf\n\n**So funktioniert's:** Hängt direkt am Projekt (»Angebot zur Signatur senden«). Eigene Lösung, kein Pflicht-Drittanbieter.","x":4337,"y":2160,"width":460,"height":360,"color":"5"}, + {"id":"903e3384b0a5e623","type":"text","text":"**Detail-Flows:** 9 Wireframe-Pakete mit eigenen Canvases in `02 Wireframes/P2 Auth/` (Login, Signup, Reset, Set Password, 2FA, RBAC …) — siehe Tracker","x":2777,"y":480,"width":460,"height":220}, + {"id":"ab16fe58ff28c0ac","type":"text","text":"## Kampagnen & Empfängerlisten\n**Ticket:** `D-KAMP` · **Status:** ⬜ offen\n**Wo:** `/email-marketing`\n\n**Was drin ist:** Kampagne erstellen in 6 Schritten (Absender → Inhalt → Empfänger → Test-Mail → Zeitpunkt → Check) · Empfängerlisten (Segmente) mit Filtern bauen\n\n**So funktioniert's:** Vor dem Versand prüft eine Checkliste alles Rechtliche (Domain bestätigt? Abmelde-Link? Impressum?) — bei Rot wird nicht gesendet.","x":1200,"y":2160,"width":460,"height":360,"color":"2"}, + {"id":"401d8270854bebac","type":"text","text":"## Team-Chat 📱\n**Ticket:** `D-CHAT` · **Status:** ⬜ offen\n**Wo:** `/chat`\n\n**Was drin ist:** Channel-Liste, Chat-Verlauf (Antwort-Threads, Emoji-Reaktionen, gelesen-von, Anhänge), Erwähnungen mit @, angepinnte Nachrichten, Suche, Direktnachrichten\n\n**So funktioniert's:** Jedes Projekt kann seinen eigenen Channel haben (Team wird automatisch synchron gehalten). Monteure: vereinfachte Handy-Ansicht mit Foto-Direktupload. Admin kann DMs nur mit Begründung einsehen.","x":5077,"y":2160,"width":460,"height":360,"color":"2"}, + {"id":"4bb807ef5e3c8dee","type":"text","text":"## Projekt-Akte (Auftrag) 📱\n**Ticket:** `D-P9` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Reiter am Projekt: Team-Mitglieder, Termine, **Rechnungen (neu in v1)**, Checklisten & Mängel, Aufgaben, Dateien, Abnahmen · dazu Projekt-Vorlagen und Abnahme-Formular-Vorlagen\n\n**So funktioniert's:** Alles zum Auftrag an einem Ort. Am Handy reduziert: Stammdaten, heutige Aufgaben, Abnahme-Knopf, Foto direkt hochladen.","x":5077,"y":1040,"width":460,"height":360,"color":"2"}, + {"id":"3e27875daca5713d","type":"text","text":"## Login, Registrierung & Workspace\n**Ticket:** `D-P2` · **Status:** ✅ validiert / in Subframe\n**Wo:** Login-Seiten + Einstellungen\n\n**Was drin ist:** Registrierung, Login + 2FA, Passwort vergessen/ändern, Workspace-Auswahl + neuer Workspace, Profil & Sicherheit, Mitarbeiter & Rollen (Admin)\n\n**Stand:** 9 Wireframe-Pakete fertig gebaut. Konto/Workspace löschen bewusst geparkt. → `02 Wireframes/P2 Auth/`","x":2777,"y":80,"width":460,"height":360,"color":"4"}, + {"id":"89c0813f7e139a88","type":"text","text":"## Dashboard (Startseite)\n**Ticket:** `D-DASH` (Teil) · **Status:** ⬜ offen\n**Wo:** `/dashboard`\n\n**Was drin ist:** 3 feste Ansichten je Rolle: Chef (Umsatz, Projekte, Auslastung) · Büro (Projekte, Aufgaben, Anrufe) · Monteur 📱 (meine Termine, Projekte, Aufgaben)\n\n**So funktioniert's:** Kacheln mit Zahlen, Listen und Trend-Charts, live aktualisiert. Kein freies Umbauen in v1 — nur Filter/Zeitraum einstellbar.","x":4037,"y":80,"width":460,"height":360,"color":"2"}, + {"id":"4a4e5be847a54e5f","type":"text","text":"## Suche (Cmd+K)\n**Ticket:** `D-DASH` (Teil) · **Status:** ⬜ offen\n**Wo:** überall + `/search`\n\n**Was drin ist:** Such-Fenster per Tastenkürzel: tippen, Treffer nach Typ gruppiert, mit Pfeiltasten navigieren · dazu große Such-Seite mit Filtern\n\n**So funktioniert's:** Findet Kontakte, Projekte, Dateien usw. — zeigt nur, was man sehen darf.","x":4537,"y":80,"width":460,"height":360,"color":"1"}, + {"id":"ce5632682989a6ca","type":"text","text":"## Website (Landing & Demo-Anfrage)\n**Ticket:** `D-WEB` · **Status:** ⬜ offen\n**Wo:** 🌐 hivegrid.de\n\n**Was drin ist:** Startseite, Features-Seite, Preise-Teaser, Demo-Anfrage-Formular\n\n**Warum wichtig:** Der erste Eindruck nach außen. Farben/Schriften sind dieselben wie in der App. Demo-Anfragen landen im Lead-Eingang.","x":2007,"y":80,"width":460,"height":360,"color":"2"}, + {"id":"c02969250252a3ab","type":"text","text":"## Feinschliff vor Launch\n**Ticket:** `D-POLISH` · **Status:** ⬜ offen\n**Wo:** 🌐 alles öffentlich Sichtbare\n\n**Was drin ist:** Letzter Polier-Durchgang: Terminbuchungs-Seite, öffentliche Formulare, Marketing-Mails · danach Screenshots als »So muss es aussehen«-Referenz einfrieren\n\n**Warum wichtig:** Kommt ganz am Ende, direkt vor dem Launch. Braucht Terminbuchung + Dashboard fertig.","x":1190,"y":80,"width":460,"height":360,"color":"3"}, + {"id":"d48196ed3e229be5","type":"text","text":"**Standards:** `04 Standards/Subframe UI Standards/` — validierte Layout-Regeln","x":690,"y":480,"width":460,"height":220}, + {"id":"d53e7ea48a9b1e6c","type":"text","text":"## UI-Baukasten (Listen, Formulare, Modals …)\n**Ticket:** `D-D0b` · **Status:** ✅ validiert\n**Wo:** überall in der App\n\n**Was drin ist:** Fertige Bausteine: Listen mit Filter, Detail-Seiten, Formular-Felder (12 Typen), Dialoge/Wizards, Settings-Seiten, Leer-/Lade-/Fehler-Zustände + Kleinteile (Buttons, Tags, Charts, Unterschriften-Feld …)\n\n**Warum wichtig:** Einmal designen, überall wiederverwenden. Layout-Standards liegen in `04 Standards`. ✅ Bereits erledigt.","x":690,"y":80,"width":460,"height":360,"color":"4"}, + {"id":"e21930b7073823f8","type":"text","text":"## Aufgaben\n**Ticket:** `D-P4` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/tasks` + überall als Reiter\n\n**Was drin ist:** Aufgaben-Liste (Meine / von mir erstellt / Alle), Aufgabe mit Frist, Priorität, Zuständigem (Person oder Gruppe), Beobachtern und Verknüpfung (Kontakt/Projekt/…)\n\n**So funktioniert's:** Einmal gebaut, überall eingebettet — jede Detailseite hat einen Aufgaben-Reiter. Aufgaben können auch aus Chat, Formularen oder Automationen entstehen (Herkunft sichtbar). Erinnerung vor/nach Frist.","x":800,"y":3100,"width":460,"height":360,"color":"5"}, + {"id":"036e2a807223753d","type":"text","text":"## Dateien\n**Ticket:** `D-P4` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/files` + überall als Reiter\n\n**Was drin ist:** Datei-Übersicht (Tabelle oder Kacheln, Filter, Mehrfach-Aktionen inkl. ZIP), Upload per Drag&Drop (mehrere gleichzeitig, mit Fortschritt), Datei-Detail mit Vorschau\n\n**So funktioniert's:** Dateien hängen an Kontakten/Projekten/… mit Rolle (z. B. »Angebot«). iPhone-Fotos (HEIC) werden automatisch zu JPG. Versionen kommen in v2.","x":1450,"y":3100,"width":460,"height":360,"color":"5"}, + {"id":"8f3127f03a5bab96","type":"text","text":"## Automations-Baukasten (Flow-Editor)\n**Ticket:** `D-FLOW` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/automations/:id/edit`\n\n**Was drin ist:** Zeichenfläche mit Bausteinen: Auslöser (neue Anfrage, Formular abgeschickt, Zeitplan …) und Aktionen (Aufgabe anlegen, Mail senden, Wenn-Dann, Warten …) per Ziehen verbinden\n\n**So funktioniert's:** Alles in verständlichem Deutsch beschriftet. Vor dem Aktivieren zeigt eine Probe-Vorschau »trifft X Datensätze« — erst bestätigen, dann läuft's. Warnt vor Endlos-Schleifen. **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:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/automations`\n\n**Was drin ist:** Liste aller Automationen (aktiv/pausiert/Entwurf), Lauf-Protokolle Schritt für Schritt in Klartext, Vorlagen-Katalog (SHK-Vorlagen + eigene)\n\n**So funktioniert's:** Jeder Lauf ist nachvollziehbar; 24 h lang rückgängig machbar (Countdown-Knopf), fehlgeschlagene Schritte neu anstoßen.","x":3067,"y":3100,"width":460,"height":360,"color":"2"}, + {"id":"5c72e7b04059503a","type":"text","text":"## Integrationen (Apps verbinden)\n**Ticket:** `D-P5` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/admin/integrations`\n\n**Was drin ist:** App-Katalog (nach Kategorie, mit Status-Ampel), Verbindung einrichten per Schritt-für-Schritt-Assistent, Verbindungs-Zustand + Sync-Verlauf in Klartext\n\n**So funktioniert's:** Das gemeinsame Gerüst für alle Anbindungen — E-Mail, Telefonie, Kalender, Signatur nutzen alle dieselben Verbindungs-Karten.","x":5537,"y":3100,"width":460,"height":360,"color":"5"}, + {"id":"29ca06733a9b243b","type":"text","text":"## Telefonie (Anrufe)\n**Ticket:** `D-P15` · **Status:** ⬜ offen\n**Wo:** `/calls` + Einstellungen\n\n**Was drin ist:** AirCall verbinden (Telefon-Nutzer zuordnen), Anruf-Liste + Detail (Notiz, Aufnahme), Anruf-Knopf direkt an Kontakt/Anfrage/Projekt\n\n**So funktioniert's:** Anrufe werden automatisch dem richtigen Kontakt zugeordnet. Unbekannte Nummer ruft an → wird automatisch eine Anfrage im Lead-Eingang.","x":5577,"y":2160,"width":460,"height":360,"color":"5"}, + {"id":"3f83fa1a16ae69df","type":"text","text":"## Plantafel (Einsatzplanung) 📱\n**Ticket:** `D-PLAN` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/projects/plantafel`\n\n**Was drin ist:** Planungs-Raster: Zeilen = Mitarbeiter, Spalten = Zeit. Einsätze per Ziehen verschieben/verlängern, Klick auf freien Slot = neuer Einsatz\n\n**So funktioniert's:** Warnt bei Konflikten (doppelt verplant, Urlaub/krank, außerhalb Arbeitszeit) — zuweisen geht trotzdem. Monteure sehen am Handy »Meine Termine heute« mit Adresse + Navi, auch offline.","x":5897,"y":1040,"width":460,"height":360,"color":"1"}, + {"id":"0f6acf7087283c0c","type":"text","text":"## Aktivitäts-Protokoll (Audit-Log)\n**Ticket:** `D-P3` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** `/admin/audit`\n\n**Was drin ist:** Wer hat wann was geändert — als deutscher Klartext-Satz, mit Filter und Vorher/Nachher-Vergleich, Export mit Zweck-Angabe\n\n**So funktioniert's:** Der gleiche Verlauf ist auch an jedem Datensatz einblendbar (»Verlauf dieses Objekts«). Unterscheidet Mensch / Automation / Agent / Admin.","x":6037,"y":3100,"width":460,"height":360,"color":"5"}, + {"id":"50945ed6e43505ce","type":"text","text":"## Benachrichtigungen\n**Ticket:** `D-P3` (Teil) · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** Glocke oben + Einstellungen\n\n**Was drin ist:** Glocke mit Ungelesen-Zähler + aufklappbare Liste (Klick springt zur Sache), eigene Seite mit allen Meldungen, Einstellungen: pro Ereignis-Typ wählen ob In-App und/oder E-Mail\n\n**So funktioniert's:** Wird von allen Features gespeist (neue Anfrage, Aufgabe fällig, Antrag genehmigt …). Master-Schalter »alle E-Mails aus«.","x":6077,"y":2160,"width":460,"height":360,"color":"5"}, + {"id":"43a26561f03f72da","type":"file","file":"02 Wireframes/P3 Querschnitt/WF-P3 Benachrichtigungen/WF-P3 Benachrichtigungen.canvas","x":6077,"y":2560,"width":460,"height":220}, + {"id":"a1328943a7cef3b2","type":"file","file":"02 Wireframes/P4 Aufgaben und Dateien/WF-P4 Dateien/WF-P4 Dateien.canvas","x":1450,"y":3500,"width":460,"height":220}, + {"id":"98798c9044c1d4bc","type":"file","file":"02 Wireframes/P4 Aufgaben und Dateien/WF-P4 Aufgaben/WF-P4 Aufgaben.canvas","x":800,"y":3500,"width":460,"height":220}, + {"id":"a-integrationen-pkg","type":"file","file":"02 Wireframes/P5 Integrationen/WF-P5 Integrationen/WF-P5 Integrationen.canvas","x":5537,"y":3500,"width":460,"height":220}, + {"id":"3864f1b74d665e1a","type":"file","file":"02 Wireframes/P3 Querschnitt/WF-P3 Audit Log/WF-P3 Audit Log.canvas","x":6037,"y":3500,"width":460,"height":220}, + {"id":"6b3c0929759a607b","type":"text","text":"## Abo & Rechnungen (für HiveGrid)\n**Ticket:** `D-P20` (Teil) · **Status:** ⚠️ Ticket braucht Recut\n**Wo:** `/admin/subscription`\n\n**Was drin ist:** Abo-Übersicht (Plan, Plätze, gebuchte Module, Test-Countdown), Verbrauchs-Balken (Automations-Läufe, Speicher), Rechnungen + Zahlungsstatus\n\n**Achtung:** Das Ticket wird gerade umgeschnitten (neuer Abrechnungs-Unterbau) — erst planen, wenn der Brief neu steht. Kein Selbst-Upgrade in v1.","x":6537,"y":3100,"width":460,"height":360,"color":"5"}, + {"id":"b3cad562971d30a5","type":"text","text":"## App-Gerüst (Sidebar, Topbar & Design)\n**Ticket:** `D-D0a` · **Status:** ✅ gebaut (David, in Subframe)\n**Wo:** überall in der App\n\n**Was drin ist:** Sidebar (Module ein-/ausblendbar je Abo, Handy-Variante 📱), Topbar (Workspace-Wechsler, Suche, Glocke, Profil-Menü), Breadcrumb, Warn-Banner (z. B. »Zahlung offen«), Erfolgs-/Fehlermeldungen\n\n**Stand:** Bereits gebaut und validiert. Der Rahmen, in dem jedes Feature steckt — inkl. Farben, Schriften, Hell/Dunkel.","x":-100,"y":80,"width":460,"height":360,"color":"4"}, + {"id":"d5d3db1765287eef","type":"text","text":"# 🗺 HiveGrid Feature Map (v1)\nJede Karte = **ein Feature**. Das Ticket steht nur als Referenz dran. Übergreifende Sachen (App-Gerüst, UI-Baukasten, Feinschliff) liegen unter **Basis**.\n\n**Farben:**\n🟢 fertig/validiert · 🔴 Sonder-UI, wird von Hand designt (Tage) · 🔵 wird aus dem UI-Baukasten zusammengesteckt (Stunden) · 🟠 Mischung aus beidem · 🟣 Basis · 🟡 Feinschliff\n\n**Marker:** 🌐 öffentlich sichtbar (höchster Anspruch) · 📱 Monteur-Handy, teils offline\n\n**Unter jeder Karte:** Slot für die verknüpften Paket-Canvases (Detail-Flows aus `02 Wireframes`) — Karte anklicken öffnet den Flow.\n\n**Pfeile:** orange = Hauptkette (Anfrage → Auftrag → Geld) · grau = klare Querverbindung. Gilt etwas für **alle** Features (Automationen, Aufgaben/Dateien, Benachrichtigungen, Verbindungs-Gerüst), steht es als Text auf der Karte statt als Pfeil.\n\nAbhaklisten & Details: [[HiveGrid Map]]","x":-163,"y":-600,"width":1140,"height":380}, + { + "id":"a4f86f7bfc24194b", + "type":"text", + "styleAttributes":{"border":"dashed"}, + "text":"# 📏 Canvas-Regelwerk\n**Karten:** 1 Karte = 1 Feature · Farbe = Aufwand/Status (siehe Legende links) · unter der Karte hängen die Paket-Canvases (Detail-Flows).\n\n**Verbindungen:**\n- 🟠 **durchgezogen** — Hauptkette: so fließt ein Auftrag durchs System\n- 🔵 **durchgezogen** — erzeugt Anfrage/Termin (Wege in den Lead-Eingang)\n- **grau, lang gestrichelt** — speist/beeinflusst (Daten fließen rüber)\n- **grau, kurz gestrichelt** — Werkzeug-Paar (gehört fachlich zusammen)\n- 🟣 **gepunktet** — Basis/Einstieg (Design-Grundlage, nach dem Login)\n- **kein Pfeil** — gilt für ALLE Features (steht als Text auf der Karte)\n\n**Pfadführung:** nur gerade (direkt) oder Standard-Kurve — keine verwinkelten Wege. Wenn ein ganzer Bereich zu einem anderen gehört, wird Gruppe↔Gruppe (oder Gruppe↔Karte) verbunden statt vieler Einzel-Pfeile.\n\n**Label-Regel:** Zwischen verbundenen Karten bleibt mindestens Label-Breite Platz (≈ 8 px pro Zeichen + Rand), sonst wird der Text abgeschnitten.", + "x":1187, + "y":-640, + "width":820, + "height":420 + }, + {"id":"b334f15bdd19d9ad","type":"text","text":"## Erste Schritte & Demo-Daten\n**Ticket:** `D-P20` (Teil) · **Status:** ⬜ offen\n**Wo:** `/onboarding` + Admin\n\n**Was drin ist:** Erste-Schritte-Checkliste (mit Direkt-Links, abhakbar, ausblendbar), Beispieldaten-Knopf (anlegen, zählen, wieder löschen, »Demo ausblenden«-Filter), Hell/Dunkel-Umschalter\n\n**So funktioniert's:** Kein Einrichtungs-Assistent — beim Registrieren wird alles SHK-typisch vorbefüllt, die Checkliste führt danach durch.","x":5537,"y":3760,"width":460,"height":360,"color":"5"}, + {"id":"6533d410b309a48f","type":"text","text":"## Datenschutz (Export & Löschung)\n**Ticket:** `D-P21` (Teil) · **Status:** ⬜ offen\n**Wo:** `/admin/privacy` + Einstellungen\n\n**Was drin ist:** Daten-Export als ZIP (für einen Nutzer oder den ganzen Workspace), Workspace-Löschung (mehrstufig, 30 Tage Schonfrist, Passwort + 2FA), Konto-Löschung, Liste der Unterauftragsverarbeiter, AVV-Vertrag\n\n**So funktioniert's:** Letzter Baustein vor dem Launch. DSGVO-Auskunftsanfragen laufen in v1 als manuelle Anleitung, ohne eigenen Assistenten.","x":6037,"y":3760,"width":460,"height":360,"color":"5"}, + {"id":"db76161d24fb0c1d","type":"text","text":"## Feedback & Hilfe\n**Ticket:** `D-P21` (Teil) · **Status:** ⬜ offen\n**Wo:** überall + `/help`\n\n**Was drin ist:** Schwebender Feedback-Knopf (Fehler melden / Idee / Frage, optional mit Screenshot), kleine FAQ-Seite\n\n**So funktioniert's:** Meldungen landen direkt in unserer Support-Inbox im Plattform-Admin.","x":6537,"y":3760,"width":460,"height":360,"color":"5"}, + {"id":"d9ad572ae83b4d0a","type":"text","text":"## Abnahme (Baustellen-Protokoll) 📱\n**Ticket:** `D-ABN` · **Status:** 🟡 vorgeplant (Screens validiert, Subframe offen)\n**Wo:** im Projekt-Detail\n\n**Was drin ist:** Abnahme-Formular (Druckprobe, Funktionsprüfung, Zählerstände, übergebene Dokumente), Mängel mit Foto festhalten, Unterschrift Kunde + Monteur direkt am Handy, Liste aller Abnahmen je Projekt\n\n**So funktioniert's:** Nach dem Speichern unveränderbar (6 Jahre Aufbewahrung), PDF geht automatisch per Mail an den Kunden. Funktioniert offline, lädt später hoch. Mängel werden automatisch Aufgaben.","x":6767,"y":1040,"width":460,"height":360,"color":"1"}, + {"id":"md-hivegrid-map","type":"file","file":"05 HiveGrid Map/HiveGrid Map.md","x":-683,"y":-600,"width":460,"height":300}, + {"id":"c8d8914e45e1497e","type":"text","text":"## Plattform-Admin\n**Ticket:** `D-ADMIN` · **Status:** ⬜ offen\n**Wo:** admin.hivegrid.de\n\n**Was drin ist:** Eigener Login (2FA Pflicht), Übersichts-Dashboard (Kunden, Nutzer, Umsatz, System-Zustand), Kunden-Verwaltung (Module freischalten = Abo-Baukasten, Test verlängern, »als Kunde einloggen« mit Begründung), Nutzer-Hilfen (2FA-Reset), Feature-Schalter, Warteschlangen-Monitor, Support-Inbox, Protokoll\n\n**So funktioniert's:** Komplett eigene Welt für uns als Betreiber — Kunden sehen davon nichts. Muss funktionieren, nicht hübsch sein.","x":7237,"y":3100,"width":460,"height":360,"color":"5"}, + {"id":"abf5f779c1463715","type":"text","text":"## Hinweis\nDieses eine Ticket enthält viele kleine Features (Kunden, Schalter, Support …).\n\nBeim atomaren Durchgehen behandeln wir es als eigenen Bereich und teilen es bei Bedarf in Unter-Pakete auf. Priorität liegt aber hinter der Vertriebs-/Auftrags-Kette.","x":7237,"y":3760,"width":460,"height":360,"color":"5"}, + {"id":"03e8e03ef11606a0","type":"text","text":"## HR-Bereich 📱\n**Ticket:** `D-HR` · **Status:** ⬜ offen\n**Wo:** `/hr` + HR-Admin\n\n**Was drin ist:** Startseite (Ankündigungen, offene Anträge, wer ist heute da), Urlaub & Krankmeldung (mit Genehmigung), Lohnabrechnungen, Anträge (Spesen, Hardware …), Passwort-Safe, Umfragen, Mitarbeiter-Verzeichnis, Standorte, eigene Dokumente\n\n**So funktioniert's:** Mitarbeiter-Sicht und HR-Verwaltung sind strikt getrennt; sensible Daten verschlüsselt, jedes Aufdecken protokolliert. Urlaub/krank fließt direkt in die Plantafel-Konflikte.","x":8017,"y":3100,"width":460,"height":360,"color":"5"}, + {"id":"a-akte-pkg","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/WF-P9 Projekt-Akte.canvas","x":5077,"y":1440,"width":460,"height":220}, + {"id":"a-plantafel-pkg","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Plantafel/WF-P9 Plantafel.canvas","x":5897,"y":1440,"width":460,"height":220}, + {"id":"a-abnahme-pkg","type":"file","file":"02 Wireframes/P9 Auftrag/WF-P9 Abnahme/WF-P9 Abnahme.canvas","x":6767,"y":1440,"width":460,"height":220}, + {"id":"a-flow-pkg","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/WF-P12 Flow-Editor.canvas","x":2150,"y":3500,"width":460,"height":220}, + {"id":"a-autoverw-pkg","type":"file","file":"02 Wireframes/P12 Automationen/WF-P12 Verwaltung/WF-P12 Verwaltung.canvas","x":3067,"y":3500,"width":460,"height":220} + ], + "edges":[ + { + "id":"4ab78034e8253353", + "styleAttributes":{"path":"dotted","pathfindingMethod":"direct"}, + "fromNode":"b3cad562971d30a5", + "fromSide":"right", + "toNode":"d53e7ea48a9b1e6c", + "toSide":"left", + "color":"6", + "label":"Design-Grundlage" + }, + { + "id":"493a2823934c45bb", + "styleAttributes":{"path":"dotted","pathfindingMethod":"direct"}, + "fromNode":"3e27875daca5713d", + "fromSide":"right", + "toNode":"89c0813f7e139a88", + "toSide":"left", + "color":"6", + "label":"nach dem Login" + }, + { + "id":"ec751d558a1aef74", + "styleAttributes":{"pathfindingMethod":"direct"}, + "fromNode":"8272764aa65537b0", + "fromSide":"right", + "toNode":"d9868dadb782f253", + "toSide":"left", + "color":"2", + "label":"Kontakt anlegen/verknüpfen" + }, + { + "id":"154e632b2e5a645b", + "styleAttributes":{"pathfindingMethod":"direct"}, + "fromNode":"d9868dadb782f253", + "fromSide":"right", + "toNode":"e10a35560a461111", + "toSide":"left", + "color":"2", + "label":"Kontakt hängt am Projekt" + }, + { + "id":"0c0d0ba4b21da4ee", + "styleAttributes":{"pathfindingMethod":"direct"}, + "fromNode":"e10a35560a461111", + "fromSide":"right", + "toNode":"4bb807ef5e3c8dee", + "toSide":"left", + "color":"2", + "label":"gewonnen → Auftrags-Board" + }, + { + "id":"b43edef178d41dd6", + "styleAttributes":{"pathfindingMethod":"direct"}, + "fromNode":"4bb807ef5e3c8dee", + "fromSide":"right", + "toNode":"3f83fa1a16ae69df", + "toSide":"left", + "color":"2", + "label":"Termine einplanen" + }, + { + "id":"c45adb9c0c551e38", + "styleAttributes":{"pathfindingMethod":"direct"}, + "fromNode":"3f83fa1a16ae69df", + "fromSide":"right", + "toNode":"d9ad572ae83b4d0a", + "toSide":"left", + "color":"2", + "label":"Ausführung → Abnahme" + }, + { + "id":"47be96e20dcfa86a", + "styleAttributes":{ + "pathfindingMethod":null + }, + "fromFloating":false, + "fromNode":"d9ad572ae83b4d0a", + "fromSide":"bottom", + "toNode":"4bb807ef5e3c8dee", + "toSide":"bottom", + "color":"2", + "label":"Mängel → Aufgaben · dann Rechnung" + }, + { + "id":"2ec97abebcf1dcce", + "styleAttributes":{"pathfindingMethod":"direct"}, + "fromNode":"ce5632682989a6ca", + "fromSide":"bottom", + "toNode":"8272764aa65537b0", + "toSide":"top", + "color":"5", + "label":"Demo-Anfrage" + }, + { + "id":"4b89b1105393e48f", + "styleAttributes":{ + "pathfindingMethod":null + }, + "toFloating":false, + "fromFloating":false, + "fromNode":"6b8c7d3bc3ee7449", + "fromSide":"top", + "toNode":"8272764aa65537b0", + "toSide":"bottom", + "color":"5", + "label":"Formular → Anfrage" + }, + { + "id":"57a256b64d1a2d76", + "styleAttributes":{ + "pathfindingMethod":null + }, + "fromFloating":false, + "toFloating":false, + "fromNode":"29ca06733a9b243b", + "fromSide":"top", + "toNode":"8272764aa65537b0", + "toSide":"bottom", + "color":"5", + "label":"Anruf von unbekannt → Anfrage" + }, + { + "id":"78fca84da3e723b6", + "styleAttributes":{"path":"long-dashed","pathfindingMethod":"direct"}, + "fromNode":"00d6b92d3845c185", + "fromSide":"top", + "toNode":"d9868dadb782f253", + "toSide":"bottom", + "label":"E-Mails am Kontakt sichtbar (ganzer Bereich)" + }, + { + "id":"8792d0c809babff2", + "styleAttributes":{ + "path":"long-dashed", + "pathfindingMethod":null + }, + "fromFloating":false, + "toFloating":false, + "fromNode":"03e8e03ef11606a0", + "fromSide":"top", + "toNode":"3f83fa1a16ae69df", + "toSide":"bottom", + "label":"Urlaub/krank → Konflikt-Warnung" + }, + { + "id":"ce4441bfdc6a11cc", + "styleAttributes":{"path":"long-dashed","pathfindingMethod":"direct"}, + "fromNode":"28bd46ecb4eaa069", + "fromSide":"top", + "toNode":"3f83fa1a16ae69df", + "toSide":"bottom", + "label":"Kalender-Abgleich" + }, + { + "id":"77081523e546eebe", + "styleAttributes":{"path":"long-dashed","pathfindingMethod":"direct"}, + "fromFloating":false, + "fromNode":"b789fc765f833f45", + "fromSide":"top", + "toNode":"4bb807ef5e3c8dee", + "toSide":"bottom", + "label":"hängt an der Projekt-Akte" + }, + { + "id":"e6c0f9dda77f8d85", + "styleAttributes":{"path":"long-dashed","pathfindingMethod":"direct"}, + "fromNode":"401d8270854bebac", + "fromSide":"top", + "toNode":"4bb807ef5e3c8dee", + "toSide":"bottom", + "label":"Projekt-Channel im Projekt" + }, + { + "id":"65bd180bf263096e", + "styleAttributes":{"path":"long-dashed","pathfindingMethod":"direct"}, + "fromNode":"e10a35560a461111", + "fromSide":"top", + "toNode":"89c0813f7e139a88", + "toSide":"bottom", + "label":"Zahlen fürs Dashboard" + }, + { + "id":"dc15b80a5a4410c9", + "styleAttributes":{"path":"long-dashed","pathfindingMethod":"direct"}, + "fromNode":"db76161d24fb0c1d", + "fromSide":"right", + "toNode":"c8d8914e45e1497e", + "toSide":"left", + "label":"Feedback → Support-Inbox" + }, + { + "id":"0bb07aa23fe6a9f2", + "styleAttributes":{"path":"short-dashed","pathfindingMethod":"direct"}, + "fromNode":"28bd46ecb4eaa069", + "fromSide":"left", + "toNode":"77ebfde5a3a05b8a", + "toSide":"right", + "label":"freie Zeiten" + }, + { + "id":"cc8ccd69ae4f9435", + "styleAttributes":{"path":"short-dashed","pathfindingMethod":"direct"}, + "fromNode":"8f3127f03a5bab96", + "fromSide":"right", + "toNode":"e6d8c36a0f89d954", + "toSide":"left", + "label":"Baukasten ↔ Übersicht" + }, + { + "id":"bc139947ce483198", + "styleAttributes":{ + "pathfindingMethod":null + }, + "fromFloating":false, + "fromNode":"77ebfde5a3a05b8a", + "fromSide":"top", + "toNode":"8272764aa65537b0", + "toSide":"bottom", + "color":"5", + "label":"Buchung → Anfrage/Termin" + } + ], + "metadata":{ + "version":"1.0-1.0", + "frontmatter":{} + } } \ No newline at end of file diff --git a/05 HiveGrid Map/HiveGrid Map.md b/05 HiveGrid Map/HiveGrid Map.md index 4454c7a0..960291fc 100644 --- a/05 HiveGrid Map/HiveGrid Map.md +++ b/05 HiveGrid Map/HiveGrid Map.md @@ -45,13 +45,13 @@ Gesamtkarte aller HiveGrid-v1-Features. Eine Karte = **ein Feature** (so benannt | Suche (Cmd+K) | Suche & Dashboard | D-DASH (Teil) | 🔴 klein | ⬜ offen | | Lead-Eingang (Anfragen) | Vertrieb | D-P7 | 🔵 | 🟡 vorgeplant | | Kontakte & Organisationen | Vertrieb | D-CRM | 🔵 | 🟡 vorgeplant | -| Kanban-Board & Pipelines (Projekte) | Vertrieb | D-P8 + D-KANBAN | 🟠 | ⬜ offen | -| Projekt-Akte (Auftrag) 📱 | Auftrag & Baustelle | D-P9 | 🟠 | ⬜ offen | -| Plantafel (Einsatzplanung) 📱 | Auftrag & Baustelle | D-PLAN | 🔴 | ⬜ offen | -| Abnahme (Baustellen-Protokoll) 📱 | Auftrag & Baustelle | D-ABN | 🔴 | ⬜ offen | +| Kanban-Board & Pipelines (Projekte) | Vertrieb | D-P8 + D-KANBAN | 🟠 | 🟡 vorgeplant | +| Projekt-Akte (Auftrag) 📱 | Auftrag & Baustelle | D-P9 | 🟠 | 🟡 vorgeplant | +| Plantafel (Einsatzplanung) 📱 | Auftrag & Baustelle | D-PLAN | 🔴 | 🟡 vorgeplant | +| Abnahme (Baustellen-Protokoll) 📱 | Auftrag & Baustelle | D-ABN | 🔴 | 🟡 vorgeplant | | Kampagnen & Empfängerlisten | E-Mail-Marketing | D-KAMP | 🟠 | ⬜ offen | | Versand-Technik & Statistiken 🌐 | E-Mail-Marketing | D-P14 | 🟠 | ⬜ offen | -| Formulare (Baukasten) 🌐 | Termine & Formulare | D-FORM + D-P16 (Teil) | 🔴 | ⬜ offen | +| Formulare (Baukasten) 🌐 | Termine & Formulare | D-FORM + D-P16 (Teil) | 🔴 | ⬜ zurückgestellt | | Online-Terminbuchung 🌐 | Termine & Formulare | D-BOOK + D-P16 (Teil) | 🟠 | ⬜ offen | | Kalender | Termine & Formulare | D-BOOK + D-P16 (Teil) | 🔴 mittel | ⬜ offen | | Digital unterschreiben (E-Signatur) | Termine & Formulare | D-P16 (Teil) | 🔵 | ⬜ offen | @@ -60,8 +60,8 @@ Gesamtkarte aller HiveGrid-v1-Features. Eine Karte = **ein Feature** (so benannt | Benachrichtigungen | Kommunikation | D-P3 (Teil) | 🔵 | 🟡 vorgeplant | | Aufgaben | Aufgaben & Dateien | D-P4 (Teil) | 🔵 | 🟡 vorgeplant | | Dateien | Aufgaben & Dateien | D-P4 (Teil) | 🔵 | 🟡 vorgeplant | -| Automations-Baukasten (Flow-Editor) | Automationen | D-FLOW | 🔴 schwerste UI | ⬜ offen | -| Automationen: Übersicht & Verläufe | Automationen | D-P12 | 🟠 | ⬜ offen | +| Automations-Baukasten (Flow-Editor) | Automationen | D-FLOW | 🔴 schwerste UI | 🟡 vorgeplant | +| Automationen: Übersicht & Verläufe | Automationen | D-P12 | 🟠 | 🟡 vorgeplant | | HR-Bereich 📱 | HR | D-HR | 🔵 breit | ⬜ offen | | Integrationen (Apps verbinden) | Verwaltung | D-P5 | 🔵 | 🟡 vorgeplant | | Aktivitäts-Protokoll (Audit-Log) | Verwaltung | D-P3 (Teil) | 🔵 | 🟡 vorgeplant | @@ -217,46 +217,56 @@ Abhaken = in der groben Planung berücksichtigt (Screens/Flow verortet). Quelle: - Davids Idee dokumentiert (Später): Inline-Anlegen in der Liste (Notion-Stil) - Paket: `02 Wireframes/P6 Kontakte/WF-P6 Kontakte und Organisationen/` (Screens validiert; Subframe steht aus) -#### Kanban-Board & Pipelines (Projekte) — `D-P8` + `D-KANBAN` — ⬜ offen -- [ ] Kanban-Board: Spalten = Status, Karten ziehen = Status wechseln; Spaltenkopf mit Anzahl + Summe -- [ ] Karten: Titel, Summe (nur für Berechtigte), Avatar, Termin, max. 3 Tags, »hängt fest«-Marker -- [ ] Gewonnen = kurze Bestätigung · Verloren = Grund ist Pflicht -- [ ] Board-Wechsler (Vertrieb / Auftrag / eigene), Filter + »nur meine«, live -- [ ] Projekt-Liste über alle Boards (Filter, CSV) -- [ ] Projekt-Detailseite (klickbare Status-Leiste, Status-Verlauf, Herkunft »kam aus Anfrage X«, Gewonnen/Verloren-Banner mit 24-h-Rückgängig) -- [ ] Board-Einstellungen (Spalten anlegen/sortieren/färben, Zugriff je Rolle, Pflichtfelder + Sichtbarkeit je Feld) -- [ ] Verlust-Gründe verwalten (SHK-Vorlagen vorbefüllt) -- [ ] Zahlen-Grundlage fürs Dashboard (Prognose, Abschlussquoten) — kein eigener Screen +#### Kanban-Board & Pipelines (Projekte) — `D-P8` + `D-KANBAN` — 🟡 vorgeplant (2026-07-08) +- [x] Kanban-Board: Spalten = Status, Karten ziehen = Status wechseln; Spaltenkopf mit Anzahl + Summe + Win-% +- [x] Karten: Titel, Summe (nur für Berechtigte, sonst »—«), Avatar, Termin, max. 3 Tags, »hängt fest«-Marker — Karten-Layout bewusst NICHT editierbar (v1) +- [x] Gewonnen **regel-basiert** (Davids Delta): Spalten-Regel »Auto-Verschieben nach Board X« → kein Dialog; ohne Regel → Auswahl-Dialog · Verloren = Grund ist Pflicht +- [x] Board-Wechsler (Vertrieb / Auftrag / eigene, rechte-gefiltert), Filter + »nur meine«, live +- [x] Projekt-Liste über alle Boards (Filter, CSV) +- [x] Projekt-Detailseite nach P6-Karteikarten-Muster (klickbare Status-Leiste, Verlauf mit Verweildauer, Herkunft, 24-h-Rückgängig, Kontakt-Rollen Auftraggeber/Bauherr/Rechnungsempfänger/Ansprechpartner) +- [x] Board-Einstellungen mit **zwei Einstiegen** (im Board + Einstellungen → Arbeitsweise → Boards): Spalten, Rollen-Zugriff, Spalten-Regeln +- [x] **Edit-Mode (Davids Konzept):** Detailansicht als WYSIWYG-Schablone — Felder verschieben/hinzufügen, sichtbar/Pflicht, Berechtigung je Feld (nur Detailansicht, nicht die Karte) +- [x] Verlust-Gründe verwalten (SHK-Vorlagen vorbefüllt) +- [x] Zahlen-Grundlage fürs Dashboard (Prognose, Abschlussquoten) — kein eigener Screen - Merken: Ein Projekt-Datensatz, Boards sind nur Sichten (AD-20). +- Paket: `02 Wireframes/P8 Pipelines/WF-P8 Pipelines/` (Screens validiert; Subframe steht aus) ### Auftrag & Baustelle -#### Projekt-Akte (Auftrag) 📱 — `D-P9` — ⬜ offen -- [ ] Reiter am Projekt: Team-Mitglieder / Termine / **Rechnungen (neu)** / Checklisten inkl. Mängel / Aufgaben / Dateien / Abnahmen -- [ ] Rechnung am Projekt (Nummer, Betrag, Status: Entwurf → gestellt → bezahlt/storniert, PDF) -- [ ] Board-Einstellung »Abnahme Pflicht vor Status X« + Auto-Archiv nach N Tagen -- [ ] Abnahme-Formular-Vorlagen (aus dem Formular-Baukasten, SHK-Vorlage vorbefüllt) -- [ ] Projekt-Vorlagen (Standard-Board, Team, Aufgaben, Termine vorbefüllt) -- [ ] Banner »offene Mängel«; Handy-Ansicht (Stammdaten, heutige Aufgaben, Abnahme-Knopf, Foto-Upload) +#### Projekt-Akte (Auftrag) 📱 — `D-P9` — 🟡 vorgeplant (2026-07-09) +- [x] Reiter am Projekt: Team-Mitglieder / Termine / **Rechnungen (neu)** / Checklisten inkl. Mängel / Aufgaben / Dateien / Abnahmen +- [x] Rechnung am Projekt (Nummer, Betrag, Status: Entwurf → gestellt → bezahlt/storniert, PDF) +- [x] Board-Einstellung »Abnahme Pflicht vor Status X« + Auto-Archiv nach N Tagen +- [x] Abnahme-Formular-Vorlagen (aus dem Formular-Baukasten, SHK-Vorlage vorbefüllt) +- [x] Projekt-Vorlagen (Standard-Board, Team, Aufgaben, Termine vorbefüllt) +- [x] Banner »offene Mängel«; Handy-Ansicht (Stammdaten, heutige Aufgaben, Abnahme-Knopf, Foto-Upload) - v2: Material, Zeiterfassung, Leistungspositionen, KWP. -#### Plantafel (Einsatzplanung) 📱 — `D-PLAN` — ⬜ offen -- [ ] Planungs-Raster: Zeilen = Mitarbeiter, Spalten = Zeit (Tag/Woche/Monat), Einsätze ziehen/verlängern -- [ ] Klick auf freien Slot = neuer Einsatz; Status-Kette geplant → bestätigt → unterwegs → fertig; mehrere auf einmal umplanen -- [ ] Konflikt-Warnung (doppelt verplant, Urlaub/krank, außerhalb Arbeitszeit) mit »Trotzdem zuweisen?« -- [ ] Kalender-Abgleich-Anzeige je Einsatz -- [ ] Monteur-Handy-Modus »Meine Termine heute« / »Meine Woche« (Adresse + Navi-Link, Status per Tipp, offline) +- Paket: `02 Wireframes/P9 Auftrag/WF-P9 Projekt-Akte/` (Screens validiert; Subframe steht aus) -#### Abnahme (Baustellen-Protokoll) 📱 — `D-ABN` — ⬜ offen -- [ ] Abnahme-Formular (Datum, Anwesende, Druckprobe, Funktionsprüfung, Zählerstände, übergebene Dokumente, Bemerkungen) -- [ ] Mängel einzeln erfassen, je mit Foto + Einstufung (kritisch/klein/kosmetisch) -- [ ] Mit Mängeln abgenommen → Mängel werden Aufgaben · Abgelehnt → zurück in Ausführung + Meldung an Projektleiter -- [ ] Unterschrift Kunde + Monteur direkt auf dem Gerät -- [ ] PDF + automatische Mail an den Kunden; danach unveränderbar (6 Jahre) -- [ ] Offline ausfüllbar, lädt später hoch; mehrere (Teil-)Abnahmen je Projekt + Übersichts-Liste +#### Plantafel (Einsatzplanung) 📱 — `D-PLAN` — 🟡 vorgeplant (2026-07-09) +- [x] Planungs-Raster: Zeilen = Mitarbeiter, Spalten = Zeit (Tag/Woche/Monat), Einsätze ziehen/verlängern +- [x] Klick auf freien Slot = neuer Einsatz; Status-Kette geplant → bestätigt → unterwegs → fertig; mehrere auf einmal umplanen +- [x] Konflikt-Warnung (doppelt verplant, Urlaub/krank, außerhalb Arbeitszeit) mit »Trotzdem zuweisen?« +- [x] Kalender-Abgleich-Anzeige je Einsatz +- [x] Monteur-Handy-Modus »Meine Termine heute« / »Meine Woche« (Adresse + Navi-Link, Status per Tipp, offline) + +- Validiert: Monteur-Modus = EIN Frame (Heute ↔ Woche); Konflikt-Dialog wird gebaut +- Paket: `02 Wireframes/P9 Auftrag/WF-P9 Plantafel/` (Screens validiert; Subframe steht aus) + +#### Abnahme (Baustellen-Protokoll) 📱 — `D-ABN` — 🟡 vorgeplant (2026-07-09) +- [x] Abnahme-Formular (Datum, Anwesende, Druckprobe, Funktionsprüfung, Zählerstände, übergebene Dokumente, Bemerkungen) +- [x] Mängel einzeln erfassen, je mit Foto + Einstufung (kritisch/klein/kosmetisch) +- [x] Mit Mängeln abgenommen → Mängel werden Aufgaben · Abgelehnt → zurück in Ausführung + Meldung an Projektleiter +- [x] Unterschrift Kunde + Monteur direkt auf dem Gerät +- [x] PDF + automatische Mail an den Kunden; danach unveränderbar (6 Jahre) +- [x] Offline ausfüllbar, lädt später hoch; mehrere (Teil-)Abnahmen je Projekt + Übersichts-Liste ### E-Mail-Marketing +- Validiert: mehrstufiger Ablauf (Prüfungen → Mängel → Unterschriften) +- Paket: `02 Wireframes/P9 Auftrag/WF-P9 Abnahme/` (Screens validiert; Subframe steht aus) + #### Kampagnen & Empfängerlisten — `D-KAMP` — ⬜ offen - [ ] Kampagne in 6 Schritten: Absender → Inhalt (Editor, Platzhalter wie {Vorname}, Pflicht-Fußzeile, Desktop-/Handy-Vorschau) → Empfänger → Test-Mail (max. 5) → Zeitpunkt → letzter Check - [ ] Letzter Check blockiert Versand bei Rot (Domain bestätigt? Abmelde-Link? Impressum? Tageslimit?) @@ -274,7 +284,7 @@ Abhaken = in der groben Planung berücksichtigt (Screens/Flow verortet). Quelle: ### Termine & Formulare -#### Formulare (Baukasten) 🌐 — `D-FORM` + `D-P16` (Teil) — ⬜ offen +#### Formulare (Baukasten) 🌐 — `D-FORM` + `D-P16` (Teil) — ⬜ zurückgestellt (2026-07-09: Davids Mitarbeiter:in arbeitet daran; Infos folgen von David) - [ ] Formular-Baukasten: Felder per Ziehen anordnen (12 Feld-Typen), Feld-Einstellungen, Live-Vorschau - [ ] Wenn-Dann-Logik (»zeige Feld X, wenn Y = Z«) - [ ] Veröffentlichen + Teilen: Link, QR-Code, Website-Einbettung @@ -357,23 +367,28 @@ Abhaken = in der groben Planung berücksichtigt (Screens/Flow verortet). Quelle: ### Automationen -#### Automations-Baukasten (Flow-Editor) — `D-FLOW` — ⬜ offen -- [ ] Zeichenfläche: Bausteine setzen, verbinden, verschieben, duplizieren; rückgängig/wiederholen; Mini-Übersichtskarte; automatisch anordnen -- [ ] Baustein-Katalog nach Modul: Auslöser (neue Anfrage, Status-Wechsel, Formular, Buchung, Zeitplan, Webhook …) + Aktionen (Aufgabe, Mail, Benachrichtigung, Wenn-Dann, Warten, Schleife, HTTP) -- [ ] Einstellungs-Panel je Baustein, alles in verständlichem Deutsch, mit Fehler-Hinweisen (nicht verbunden, unvollständig) -- [ ] Probelauf-Vorschau: »trifft X Datensätze« + Beispiele — ab Schwelle Pflicht-Bestätigung vor dem Aktivieren -- [ ] Schleifen-Warnung mit Abhängigkeits-Bild + »Beheben«-Knopf; Auto-Pause bei Anomalien +#### Automations-Baukasten (Flow-Editor) — `D-FLOW` — 🟡 vorgeplant (2026-07-09) +- [x] Zeichenfläche: Bausteine setzen, verbinden, verschieben, duplizieren; rückgängig/wiederholen; Mini-Übersichtskarte; automatisch anordnen +- [x] Baustein-Katalog nach Modul: Auslöser (neue Anfrage, Status-Wechsel, Formular, Buchung, Zeitplan, Webhook …) + Aktionen (Aufgabe, Mail, Benachrichtigung, Wenn-Dann, Warten, Schleife, HTTP) +- [x] Einstellungs-Panel je Baustein, alles in verständlichem Deutsch, mit Fehler-Hinweisen (nicht verbunden, unvollständig) +- [x] Probelauf-Vorschau: »trifft X Datensätze« + Beispiele — ab Schwelle Pflicht-Bestätigung vor dem Aktivieren +- [x] Schleifen-Warnung mit Abhängigkeits-Bild + »Beheben«-Knopf; Auto-Pause bei Anomalien - Sprach-Eingabe → gestrichen (keine KI in v1). **Aufwendigste UI der App, früh anfangen.** -#### Automationen: Übersicht & Verläufe — `D-P12` — ⬜ offen -- [ ] Liste aller Automationen (aktiv/pausiert/Entwurf, Läufe der letzten 30 Tage, »nur meine«) -- [ ] Lauf-Liste + Lauf-Detail: Schritt für Schritt in Klartext (was, womit, wie lange, Ergebnis) -- [ ] 24 h rückgängig (Countdown-Knopf), fehlgeschlagenen Schritt neu anstoßen, ab Schritt X fortsetzen -- [ ] Vorlagen-Katalog (SHK-Vorlagen + eigene aus bestehender Automation erstellen) -- [ ] Baustein-Einstellungs-Inhalte (werden im Flow-Editor eingeblendet) +- Validiert: Katalog links · Canvas Mitte · Konfig rechts; Start-Auswahl mit Vorlagen; Probelauf + Schleifen-Warnung als Modals +- Paket: `02 Wireframes/P12 Automationen/WF-P12 Flow-Editor/` (Screens validiert; Subframe = Langläufer) + +#### Automationen: Übersicht & Verläufe — `D-P12` — 🟡 vorgeplant (2026-07-09) +- [x] Liste aller Automationen (aktiv/pausiert/Entwurf, Läufe der letzten 30 Tage, »nur meine«) +- [x] Lauf-Liste + Lauf-Detail: Schritt für Schritt in Klartext (was, womit, wie lange, Ergebnis) +- [x] 24 h rückgängig (Countdown-Knopf), fehlgeschlagenen Schritt neu anstoßen, ab Schritt X fortsetzen +- [x] Vorlagen-Katalog (SHK-Vorlagen + eigene aus bestehender Automation erstellen) +- [x] Baustein-Einstellungs-Inhalte (werden im Flow-Editor eingeblendet) ### HR +- Paket: `02 Wireframes/P12 Automationen/WF-P12 Verwaltung/` (Screens validiert; Subframe steht aus) + #### HR-Bereich 📱 — `D-HR` — ⬜ offen - [ ] HR-Startseite (angepinnte Ankündigungen, offene Pflichten, meine Anträge, wer ist heute da, Geburtstage, Schnell-Knöpfe »krank melden / Urlaub beantragen«) - [ ] Ankündigungen (Bestätigungs-Knopf + Lese-Nachweis, Reaktionen, Kommentare) + Verwaltung