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 <noreply@anthropic.com>
This commit is contained in:
davidandClaude Fable 5 committed 2026-07-09 15:38:27 +02:00
1 parent ca078436df
commit 2de481bf25
46 files changed
+2578 -910

No files matched your search

@@ -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)
@@ -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)
@@ -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)
@@ -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)
@@ -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"}
]
}
@@ -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](<WF-P9 Abnahme.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)*
@@ -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)
@@ -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)
@@ -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)
@@ -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)
@@ -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"}}
]
}
@@ -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](<WF-P9 Plantafel.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)*
@@ -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)
@@ -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)
@@ -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)
@@ -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)
@@ -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)
@@ -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"}}
]
}
@@ -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](<WF-P9 Projekt-Akte.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)*