KFZ-Bozo Handbuch

Taktplan

ZeitNameAuslöserBenachrichtigtVault-FilterStatus
alle 3 Minuten, docs/hetzner-migration-runbook.md:463 belegtScan-Postfach-Poller (Cron)cron (externer Zeitplan, kein Webhook)Büro — eine Sammelmeldung pro Lauf für neue Scan-Eingänge, plus Warnung bei Mails ohne verwertbaren Anhangnein — legt neue Belege an, hat keinen Job-BezugLive
alle 30 Sekunden (docs/DEPLOYMENT.md:112-120: ein minütlicher Cron ruft ihn zweimal mit 30s Pause dazwischen auf)Mail-Outbox-Worker (Cron)fällige Warteschlangen-Einträge (max. 10 je Lauf); zusätzlich ein Reaper, der seit über 5 Minuten hängende Einträge zurücksetztniemanden direkt — bei endgültigem Fehlschlag (8 Versuche) wird der zugehörige Vorgang (z.B. ein Dokument) als fehlgeschlagen markiert und im Aktivitätsprotokoll festgehaltenn/a — die Warteschlange hat keinen Auftragsbezug, der gefiltert werden müssteLive
alle 5 Minuten, bestätigt durch die Server-CrontabÜberzogen-Erkennung (Cron)Aufträge im Status "gebucht" oder "in Bearbeitung", deren geplantes Ende mehr als 5 Minuten in der Vergangenheit liegt; importierte COMPOS-Altaufträge/-Termine sind ausgenommenniemanden direkt — der Statuswechsel selbst macht den Auftrag in den Listen als überzogen sichtbarnein — kein Treffer auf "vaulted"; betrifft in der Praxis aber nur laufende, nicht archivierte AufträgeLive
empfohlen 1×/Tag (Kopfkommentar), tatsächliche Crontab-Zeile nicht gefundenVault-Sweep — Archivierung alter Aufträge (Cron)cron (externer Zeitplan; Probelauf per einfachem Aufruf, Echtlauf nur mit eigenem Zusatzparameter)niemandenist die Vaultung selbst — setzt vaulted_at; ein separater Sicherheitsparameter verhindert versehentliches scharfes AusführenLive
empfohlen alle 15 Minuten (Kopfkommentar), damit das 60-Minuten-Zeitfenster lückenlos abgedeckt wirdWhatsApp-Termin-Erinnerung (Cron)cron (prüft je Lauf ein Zeitfenster rund um „Termin in einer Stunde")Kunde — per WhatsApp-Link, tatsächlich aktuell ausschließlich per E-Mailnein — kein Treffer im CodeTeilweise
externer OS-Cron, konkrete Crontab-Zeile nicht gefundenZulassungsschein-Aufräumung (Cron)cron (externer Zeitplan)niemandennein — löscht unabhängig vom Vault-StatusLive
geplant 1×/Tag früh (docs/plan/hetzner-deploy-prompt-20260614.md:73), tatsächliche Crontab-Zeile nicht verifiziert; zusätzlich montags der Wochen- und am 1. des Monats der MonatscheckUmsatzziel-Erinnerung (Cron)cron (externer Zeitplan)Büro — In-App-Meldung ohne Zielrolle, sichtbar für alle Büro-Rollen; die zugehörigen Zahlen liegen erst hinter der Statistik-Ansichtnein — wertet Kassenbuch-Summen aus, kein Bezug zu einzelnen AufträgenLive
geplant täglich um 3:45 Uhr (Bearer-Auth), laut Audit vom 2026-08-24 aber nicht zuverlässig aktiv — nur von Hand über die Oberfläche ausgelöstKonsistenz-Prüfung (Cron)zehn feste Prüfregeln gegen die Datenbank, z.B. Auftrag ohne Kunde, doppelte Bühnenbelegung, abgerechnet ohne Freigabe, Lücke in der Belegnummernketteniemanden per Mail — Befunde landen in der Störungsliste, ein nicht gespeicherter Befund meldet sich als eigener Fehlernicht geprüft — die Prüfregeln laufen über eigene SQL-Abfragen, nicht über den üblichen DatenzugriffTeilweise
geplant täglich um 7:00 Uhr (laut Deploy-Plan), laut Audit vom 2026-08-24 aber nicht zuverlässig aktiv; Parameter ?leadDays= steuert den Vorlauf (Standard 7 Tage)Erinnerungs-Dispatch (Cron)rund elf unabhängige Quellen: Service fällig, Reifen abholen/abrechnen, eigene Aufgaben, Geburtstag, Feiertage, Pickerl/§57a, Fahrzeugverträge, Saison-Reifenwechsel, Mahnwesen, Akonto-RestbetragBüro immer In-App, zusätzlich E-Mail/Push je nach Quelle konfiguriert; Kunden teils per WhatsApp-Link statt direktem Versandteilweise — nur die Akonto-Erinnerung filtert erkennbar auf "vaulted"; bei den übrigen Quellen kein Treffer im gelesenen CodeTeilweise
kein Cron — wirkt sofort bei jedem versuchten Statuswechsel, ausgeloest von Buero, Kunde, Werkstatt oder anderen AutomatisierungenAuftragsstatus (Ablauf eines Auftrags)Buero/Chef im Admin (Kalender-Statusmenue, Auftragsdetail, Kontroll-Gate), Kunde per Freigabe-Link im Kundenportal (Kundenfreigabe), die Fertigmeldung am Mechaniker-Tablet, Rechnungslegung sowie automatische Erkennungen wie die Ueberzogen-Erkennungniemanden direkt per Mail oder Push — jeder tatsaechliche Wechsel landet im Aktivitaets-Verlauf des Auftragsunklar — die gelesene Uebergangsfunktion selbst prueft nicht auf vaulted, das koennte ausschliesslich Sache der Leselisten seinLive
laufend/ereignisgesteuert, kein Cron-TaktBenachrichtigungen: Push, Aktivitäts-Log & Live-Ansichtsystem (ein Ereignis wie eine Statusänderung löst die Glocke aus), user action (Wiedervorlage anlegen/erledigen)Büro und Werkstatt über die In-App-Glocke (rollengefiltert), zusätzlich Push falls eingerichtetunklar — für die Wiedervorlagen/Aktivitäten selbst hier nicht geprüftTeilweise
täglich um 00:05 Wien-Zeit (Kopfkommentar) — bewusst 5 Minuten nach Mitternacht, damit die Zeitumstellung im Frühjahr/Herbst den Lauf nicht verpasstTageswechsel (Cron)cron (externer Zeitplan)niemandennein — betrifft nur aktive, noch nicht abgerechnete AufträgeLive
Täglich um 3:15 Uhr, externer OS-Cron auf dem ServerDSGVO-Aufbewahrungsfristen (Cron)Kunden-/Fahrzeugdatensätze, deren jüngster steuerlicher Beleg die 7-Jahres-Frist überschreitet, sowie abgelaufene Einwilligungen, alte Zulassungsschein-Scans und liegen gebliebene KI-Uploadsniemanden per Mail — liefert nur einen Bericht in der Antwort des Aufrufsnein — im gelesenen Code kein Treffer auf "vaulted"; die Sperre läuft stattdessen über die fiskalische Spur (abgerechnete Aufträge/Rechnungsempfänger werden übersprungen)Teilweise
unklar — Code-Kommentar nennt nur 'z.B. nächtlich via externen Scheduler', kein fester Zeitpunkt im Repo hinterlegtKI-Gedächtnis-Verdichtung (Cron)cron (externer Scheduler ruft die Route auf, kein Klick im Büro)niemand direkt — die neuen Karten liegen als Entwurf zur späteren Durchsicht bereit, es geht keine eigene Meldung rausteilweise — nur die Auftragsmuster-Karten filtern im Code sichtbar auf nicht-archivierte Aufträge, bei den anderen beiden Verdichtungen ist das nicht zu erkennenLive
unklar — Kopfkommentar empfiehlt 1–2 Minuten, tatsächliche Crontab-Zeile nicht gefundenRepDoc-Abgleich (Cron)cron (externer Zeitplan ruft die Route auf, kein Webhook)niemanden — keine Benachrichtigung im Code gefundennein — kein Treffer im Code, Abgleich prüft nur Zahlungsstatus des AngebotsTeilweise
unklar — Route läuft per Cron-Aufruf (Bearer/CRON_SECRET) oder Admin-Cookie, kein fester Zeitpunkt im gelesenen CodeMorgen-Briefing (Cron)cron (externer Aufruf mit Geheimwort oder mit einer Büro-Sitzung, die das Recht ''Berichte einsehen'' hat)Büro und Chef mit dem Recht 'Berichte einsehen' — als In-App-Meldung mit Sprung zum Assistentenja (indirekt) — nutzt dieselben Lese-Werkzeuge wie der reguläre Bot-Meister-Chat, für die Hausregel 2 gilt; hier nicht einzeln nachgeprüftLive
Werktags (Mo-Fr) um 10:00 Uhr, externer OS-Cron auf dem ServerNachbestell-Erinnerung (Cron)mindestens ein Artikel im Teile-Katalog liegt unter seinem hinterlegten Mindestbestandeine einzige In-App-Sammel-Benachrichtigung fürs Büro (höchstens einmal pro Tag, solange die letzte noch ungelesen ist), kein Mailversandn/a — der Teile-Katalog hat kein Archiv-FeldLive
Werktags (Mo-Fr) um 10:15 Uhr, externer OS-Cron auf dem ServerLieferschein-Erinnerung (Cron)Lieferscheine, die seit 5 Tagen erfasst, aber noch nicht als erledigt markiert sindIn-App-Benachrichtigung im Büro-Panel je betroffenem Lieferschein, kein Mailversandn/a — Lieferscheine haben kein eigenes Archiv-Feld, der Zugriff auf die ganze Funktion ist bereits über den Vault gesperrtLive
Werktags (Mo-Fr) um 18:00 Uhr, externer OS-Cron auf dem ServerTagesabschluss-Erinnerung (Cron)Heutige Aufträge, deren Status noch nicht "abgerechnet" ist (importierte COMPOS-Alttermine ausgenommen); zusätzlich zwei unabhängige Herzschlag-PrüfungenBüro-Postfach per Sammelmail; zusätzlich zwei separate In-App-Warnungen an den Inhaber, falls das Scan-Postfach über 6 Stunden oder die Mail-Warteschlange über 2 Stunden nicht bearbeitet wurdenein — im gelesenen Code kein Treffer auf "vaulted"Live
Werktags (Mo-Fr) um 9:00 Uhr, externer OS-Cron auf dem Server (crontab "0 9 * * 1-5")Rechnungs-Erinnerung (Cron)Aufträge mit Status "fertig", deren Fertigstellung länger als 24 Stunden zurückliegtBüro-Postfach per Sammelmail (eine Mail mit allen betroffenen Aufträgen), kein Kundenkontaktnein — im gelesenen Code kein Treffer auf "vaulted"Live
Werktags (Mo-Fr) um 9:30 Uhr, externer OS-Cron auf dem ServerMahnvorschläge (Cron)Rechnungen, deren aktuelle Mahnstufe fällig für die nächste Stufe istIn-App-Benachrichtigung im Büro-Panel mit Link zur Rechnungsliste, kein Mailversandja — j.vaulted_at IS NULL in lib/db/dunning.tsLive