L13 Planung: Plantafel-, Einplan-, Empfehlungs-, Live- und Verzugsdienste mit API und Meldungen
Services board/schedule (L2 assign+update in inTransaction, Versionskonflikt, Audit), recommend (Luftlinie + freie Kolonnenzeit), live (Kolonnen, ohne Geräte-Koordinaten), watch (Verzug ab 80 %, Überschreitung, gefährdete Folgeaufträge, früher fertig mit Vorschlägen), Kolonnenkapazität. Job planning-watch alle 5 min, Events planning.capacity_freed/overrun/followup_at_risk (In-App an Backoffice + Teamleiter, Dedupe im Audit-Log), L12-Adapter für source/approvalStatus/manual. API /api/v1/planning/{board,schedule,recommendations,live} + OpenAPI. Tests core, recommend, live, watch.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -45,7 +45,10 @@
|
||||
"emergency_completed": "Notdiensteinsatz abgeschlossen",
|
||||
"import_ready_for_review": "Import zur Prüfung",
|
||||
"import_failed": "Fehler bei Dokumentverarbeitung",
|
||||
"sync_failed": "Synchronisationsfehler"
|
||||
"sync_failed": "Synchronisationsfehler",
|
||||
"planning_capacity_freed": "Früher fertig",
|
||||
"planning_overrun": "Geplante Dauer überschritten",
|
||||
"planning_followup_at_risk": "Folgeauftrag gefährdet"
|
||||
},
|
||||
"events": {
|
||||
"work_order_assigned": { "title": "Neuer Auftrag {number}", "message": "{title} – {customer} wurde Ihrem Team zugewiesen." },
|
||||
@@ -64,7 +67,10 @@
|
||||
"emergency_completed": { "title": "Notdiensteinsatz {number} abgeschlossen", "message": "{customer}: zur Prüfung und Abrechnung." },
|
||||
"import_ready_for_review": { "title": "Import zur Prüfung bereit", "message": "Die Daten aus {fileName} liegen zur Prüfung vor." },
|
||||
"import_failed": { "title": "Fehler bei Dokumentverarbeitung", "message": "{fileName} konnte nicht verarbeitet werden." },
|
||||
"sync_failed": { "title": "Synchronisation fehlgeschlagen", "message": "Eine Änderung konnte nicht übernommen werden ({reason})." }
|
||||
"sync_failed": { "title": "Synchronisation fehlgeschlagen", "message": "Eine Änderung konnte nicht übernommen werden ({reason})." },
|
||||
"planning_capacity_freed": { "title": "{team} früher fertig: {number}", "message": "{title} – {customer}: {minutes} min vor dem geplanten Ende abgeschlossen. Freie Zeit auf der Plantafel nutzen." },
|
||||
"planning_overrun": { "title": "Geplante Dauer überschritten: {number}", "message": "{team} bei {customer}: {percent} % der geplanten Dauer erfasst." },
|
||||
"planning_followup_at_risk": { "title": "Folgeauftrag gefährdet: {number}", "message": "{title} – {customer} ({team}) ist gefährdet durch Verzug {blocker}." }
|
||||
},
|
||||
"fallback": {
|
||||
"unknown": "unbekannt",
|
||||
@@ -178,7 +184,8 @@
|
||||
"voice_note": "Sprachnotiz",
|
||||
"notification": "Benachrichtigung",
|
||||
"notification_settings": "Benachrichtigungseinstellungen",
|
||||
"sync_operation": "Synchronisation"
|
||||
"sync_operation": "Synchronisation",
|
||||
"planning_alert": "Planungshinweis"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user