{ "nodes": [ { "id": "d5d3db1765287eef", "type": "text", "x": 0, "y": -460, "width": 1140, "height": 380, "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**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]]" }, { "id": "41b8d85d3bb8d47d", "type": "group", "x": 0, "y": 0, "width": 1540, "height": 480, "label": "BASIS — gilt für alle Features", "color": "6" }, { "id": "b3cad562971d30a5", "type": "text", "x": 40, "y": 80, "width": 460, "height": 360, "text": "## App-Gerüst (Sidebar, Topbar & Design)\n**Ticket:** `D-D0a` · **Status:** ⬜ offen\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**Warum wichtig:** Der Rahmen, in dem jedes Feature steckt — inkl. Farben, Schriften, Hell/Dunkel. **Ohne das geht fast nichts anderes.**", "color": "6" }, { "id": "d53e7ea48a9b1e6c", "type": "text", "x": 540, "y": 80, "width": 460, "height": 360, "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.", "color": "4" }, { "id": "c02969250252a3ab", "type": "text", "x": 1040, "y": 80, "width": 460, "height": 360, "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.", "color": "3" }, { "id": "7a26f88c260892eb", "type": "group", "x": 1700, "y": 0, "width": 540, "height": 480, "label": "WEBSITE 🌐", "color": "3" }, { "id": "ce5632682989a6ca", "type": "text", "x": 1740, "y": 80, "width": 460, "height": 360, "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.", "color": "2" }, { "id": "2025c7621bb63c98", "type": "group", "x": 2400, "y": 0, "width": 540, "height": 480, "label": "LOGIN & ZUGÄNGE", "color": "4" }, { "id": "3e27875daca5713d", "type": "text", "x": 2440, "y": 80, "width": 460, "height": 360, "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/`", "color": "4" }, { "id": "db7d9db3cd7939b0", "type": "group", "x": 3100, "y": 0, "width": 1040, "height": 480, "label": "SUCHE & DASHBOARD" }, { "id": "89c0813f7e139a88", "type": "text", "x": 3140, "y": 80, "width": 460, "height": 360, "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.", "color": "2" }, { "id": "4a4e5be847a54e5f", "type": "text", "x": 3640, "y": 80, "width": 460, "height": 360, "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.", "color": "1" }, { "id": "88792c50986c93db", "type": "group", "x": 1700, "y": 680, "width": 1540, "height": 480, "label": "VERTRIEB — vom Anruf zum Auftrag", "color": "2" }, { "id": "8272764aa65537b0", "type": "text", "x": 1740, "y": 760, "width": 460, "height": 360, "text": "## Lead-Eingang (Anfragen)\n**Ticket:** `D-P7` · **Status:** ⬜ 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.", "color": "5" }, { "id": "d9868dadb782f253", "type": "text", "x": 2240, "y": 760, "width": 460, "height": 360, "text": "## Kontakte & Organisationen\n**Ticket:** `D-CRM` · **Status:** ⬜ 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.", "color": "5" }, { "id": "e10a35560a461111", "type": "text", "x": 2740, "y": 760, "width": 460, "height": 360, "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.", "color": "2" }, { "id": "77c19412215a977c", "type": "group", "x": 3500, "y": 680, "width": 1540, "height": 480, "label": "AUFTRAG & BAUSTELLE", "color": "2" }, { "id": "4bb807ef5e3c8dee", "type": "text", "x": 3540, "y": 760, "width": 460, "height": 360, "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.", "color": "2" }, { "id": "3f83fa1a16ae69df", "type": "text", "x": 4040, "y": 760, "width": 460, "height": 360, "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.", "color": "1" }, { "id": "d9ad572ae83b4d0a", "type": "text", "x": 4540, "y": 760, "width": 460, "height": 360, "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.", "color": "1" }, { "id": "00d6b92d3845c185", "type": "group", "x": 0, "y": 1400, "width": 1040, "height": 480, "label": "E-MAIL-MARKETING" }, { "id": "ab16fe58ff28c0ac", "type": "text", "x": 40, "y": 1480, "width": 460, "height": 360, "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.", "color": "2" }, { "id": "4cce52e2e3bd8823", "type": "text", "x": 540, "y": 1480, "width": 460, "height": 360, "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).", "color": "2" }, { "id": "ca7223940f6e1d29", "type": "group", "x": 1700, "y": 1400, "width": 2040, "height": 480, "label": "TERMINE & FORMULARE" }, { "id": "6b8c7d3bc3ee7449", "type": "text", "x": 1740, "y": 1480, "width": 460, "height": 360, "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.", "color": "1" }, { "id": "77ebfde5a3a05b8a", "type": "text", "x": 2240, "y": 1480, "width": 460, "height": 360, "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.", "color": "2" }, { "id": "28bd46ecb4eaa069", "type": "text", "x": 2740, "y": 1480, "width": 460, "height": 360, "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«.", "color": "2" }, { "id": "b789fc765f833f45", "type": "text", "x": 3240, "y": 1480, "width": 460, "height": 360, "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.", "color": "5" }, { "id": "e97e13901e405fcd", "type": "group", "x": 4200, "y": 1400, "width": 1540, "height": 480, "label": "KOMMUNIKATION" }, { "id": "401d8270854bebac", "type": "text", "x": 4240, "y": 1480, "width": 460, "height": 360, "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.", "color": "2" }, { "id": "29ca06733a9b243b", "type": "text", "x": 4740, "y": 1480, "width": 460, "height": 360, "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.", "color": "5" }, { "id": "50945ed6e43505ce", "type": "text", "x": 5240, "y": 1480, "width": 460, "height": 360, "text": "## Benachrichtigungen\n**Ticket:** `D-P3` (Teil) · **Status:** ⬜ 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«.", "color": "5" }, { "id": "070f258760fab4e9", "type": "group", "x": 0, "y": 2120, "width": 1040, "height": 480, "label": "AUFGABEN & DATEIEN — stecken in jedem Feature" }, { "id": "e21930b7073823f8", "type": "text", "x": 40, "y": 2200, "width": 460, "height": 360, "text": "## Aufgaben\n**Ticket:** `D-P4` (Teil) · **Status:** ⬜ 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.", "color": "5" }, { "id": "036e2a807223753d", "type": "text", "x": 540, "y": 2200, "width": 460, "height": 360, "text": "## Dateien\n**Ticket:** `D-P4` (Teil) · **Status:** ⬜ 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.", "color": "5" }, { "id": "8acc5d7d61317076", "type": "group", "x": 1200, "y": 2120, "width": 1040, "height": 480, "label": "AUTOMATIONEN" }, { "id": "8f3127f03a5bab96", "type": "text", "x": 1240, "y": 2200, "width": 460, "height": 360, "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.**", "color": "1" }, { "id": "e6d8c36a0f89d954", "type": "text", "x": 1740, "y": 2200, "width": 460, "height": 360, "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.", "color": "2" }, { "id": "3c6e5b1ea4a27913", "type": "group", "x": 3700, "y": 2120, "width": 540, "height": 480, "label": "HR (MITARBEITER)" }, { "id": "03e8e03ef11606a0", "type": "text", "x": 3740, "y": 2200, "width": 460, "height": 360, "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.", "color": "5" }, { "id": "904c5ece127e2e4c", "type": "group", "x": 4400, "y": 2120, "width": 1540, "height": 880, "label": "VERWALTUNG (WORKSPACE-EINSTELLUNGEN)" }, { "id": "5c72e7b04059503a", "type": "text", "x": 4440, "y": 2200, "width": 460, "height": 360, "text": "## Integrationen (Apps verbinden)\n**Ticket:** `D-P5` · **Status:** ⬜ 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.", "color": "5" }, { "id": "0f6acf7087283c0c", "type": "text", "x": 4940, "y": 2200, "width": 460, "height": 360, "text": "## Aktivitäts-Protokoll (Audit-Log)\n**Ticket:** `D-P3` (Teil) · **Status:** ⬜ 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.", "color": "5" }, { "id": "6b3c0929759a607b", "type": "text", "x": 5440, "y": 2200, "width": 460, "height": 360, "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.", "color": "5" }, { "id": "b334f15bdd19d9ad", "type": "text", "x": 4440, "y": 2600, "width": 460, "height": 360, "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.", "color": "5" }, { "id": "6533d410b309a48f", "type": "text", "x": 4940, "y": 2600, "width": 460, "height": 360, "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.", "color": "5" }, { "id": "db76161d24fb0c1d", "type": "text", "x": 5440, "y": 2600, "width": 460, "height": 360, "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.", "color": "5" }, { "id": "c3172228336521df", "type": "group", "x": 6100, "y": 2120, "width": 540, "height": 880, "label": "PLATTFORM-ADMIN — unsere interne Verwaltung" }, { "id": "c8d8914e45e1497e", "type": "text", "x": 6140, "y": 2200, "width": 460, "height": 360, "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.", "color": "5" }, { "id": "abf5f779c1463715", "type": "text", "x": 6140, "y": 2600, "width": 460, "height": 360, "color": "5", "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." } ], "edges": [ { "id": "4ab78034e8253353", "fromNode": "b3cad562971d30a5", "fromSide": "right", "toNode": "d53e7ea48a9b1e6c", "toSide": "left", "toEnd": "arrow", "label": "Design-Grundlage" }, { "id": "493a2823934c45bb", "fromNode": "3e27875daca5713d", "fromSide": "right", "toNode": "89c0813f7e139a88", "toSide": "left", "toEnd": "arrow", "label": "nach dem Login" }, { "id": "ec751d558a1aef74", "fromNode": "8272764aa65537b0", "fromSide": "right", "toNode": "d9868dadb782f253", "toSide": "left", "toEnd": "arrow", "label": "Kontakt anlegen/verknüpfen", "color": "2" }, { "id": "154e632b2e5a645b", "fromNode": "d9868dadb782f253", "fromSide": "right", "toNode": "e10a35560a461111", "toSide": "left", "toEnd": "arrow", "label": "Kontakt hängt am Projekt", "color": "2" }, { "id": "0c0d0ba4b21da4ee", "fromNode": "e10a35560a461111", "fromSide": "right", "toNode": "4bb807ef5e3c8dee", "toSide": "left", "toEnd": "arrow", "label": "gewonnen → Auftrags-Board", "color": "2" }, { "id": "b43edef178d41dd6", "fromNode": "4bb807ef5e3c8dee", "fromSide": "right", "toNode": "3f83fa1a16ae69df", "toSide": "left", "toEnd": "arrow", "label": "Termine einplanen", "color": "2" }, { "id": "c45adb9c0c551e38", "fromNode": "3f83fa1a16ae69df", "fromSide": "right", "toNode": "d9ad572ae83b4d0a", "toSide": "left", "toEnd": "arrow", "label": "Ausführung → Abnahme", "color": "2" }, { "id": "47be96e20dcfa86a", "fromNode": "d9ad572ae83b4d0a", "fromSide": "bottom", "toNode": "4bb807ef5e3c8dee", "toSide": "bottom", "toEnd": "arrow", "label": "Mängel → Aufgaben · dann Rechnung", "color": "2" }, { "id": "2ec97abebcf1dcce", "fromNode": "ce5632682989a6ca", "fromSide": "bottom", "toNode": "8272764aa65537b0", "toSide": "top", "toEnd": "arrow", "label": "Demo-Anfrage" }, { "id": "4b89b1105393e48f", "fromNode": "6b8c7d3bc3ee7449", "fromSide": "top", "toNode": "8272764aa65537b0", "toSide": "bottom", "toEnd": "arrow", "label": "Formular → Anfrage" }, { "id": "bc139947ce483198", "fromNode": "77ebfde5a3a05b8a", "fromSide": "top", "toNode": "8272764aa65537b0", "toSide": "bottom", "toEnd": "arrow", "label": "Buchung → Anfrage/Termin" }, { "id": "57a256b64d1a2d76", "fromNode": "29ca06733a9b243b", "fromSide": "top", "toNode": "8272764aa65537b0", "toSide": "bottom", "toEnd": "arrow", "label": "Anruf von unbekannt → Anfrage" }, { "id": "78fca84da3e723b6", "fromNode": "ab16fe58ff28c0ac", "fromSide": "top", "toNode": "d9868dadb782f253", "toSide": "bottom", "toEnd": "arrow", "label": "Mails am Kontakt sichtbar" }, { "id": "8792d0c809babff2", "fromNode": "03e8e03ef11606a0", "fromSide": "top", "toNode": "3f83fa1a16ae69df", "toSide": "bottom", "toEnd": "arrow", "label": "Urlaub/krank → Konflikt-Warnung" }, { "id": "ce4441bfdc6a11cc", "fromNode": "28bd46ecb4eaa069", "fromSide": "top", "toNode": "3f83fa1a16ae69df", "toSide": "bottom", "toEnd": "arrow", "label": "Kalender-Abgleich" }, { "id": "77081523e546eebe", "fromNode": "b789fc765f833f45", "fromSide": "top", "toNode": "4bb807ef5e3c8dee", "toSide": "bottom", "toEnd": "arrow", "label": "hängt an der Projekt-Akte" }, { "id": "e6c0f9dda77f8d85", "fromNode": "401d8270854bebac", "fromSide": "top", "toNode": "4bb807ef5e3c8dee", "toSide": "bottom", "toEnd": "arrow", "label": "Projekt-Channel im Projekt" }, { "id": "65bd180bf263096e", "fromNode": "e10a35560a461111", "fromSide": "top", "toNode": "89c0813f7e139a88", "toSide": "bottom", "toEnd": "arrow", "label": "Zahlen fürs Dashboard" }, { "id": "0bb07aa23fe6a9f2", "fromNode": "28bd46ecb4eaa069", "fromSide": "left", "toNode": "77ebfde5a3a05b8a", "toSide": "right", "toEnd": "arrow", "label": "freie Zeiten" }, { "id": "cc8ccd69ae4f9435", "fromNode": "8f3127f03a5bab96", "fromSide": "right", "toNode": "e6d8c36a0f89d954", "toSide": "left", "toEnd": "arrow", "label": "Baukasten ↔ Übersicht" }, { "id": "dc15b80a5a4410c9", "fromNode": "db76161d24fb0c1d", "fromSide": "right", "toNode": "c8d8914e45e1497e", "toSide": "left", "toEnd": "arrow", "label": "Feedback → Support-Inbox" } ] }