-
Notifications
You must be signed in to change notification settings - Fork 0
Home
OpenSchichtplaner5 v1.2.0 ist ein moderner, webbasierter Open-Source-Ersatz für das Windows-Programm Schichtplaner5 der Firma RPS Planungssysteme GmbH. Die Anwendung ermöglicht die vollständige Dienstplan- und Personalverwaltung direkt im Browser — ohne Installation auf jedem Arbeitsplatz.
💡 Kompatibel mit bestehenden SP5-Daten: OpenSchichtplaner5 liest und schreibt die originalen DBF-Datenbankdateien des klassischen Schichtplaner5 — kein Datenverlust, kein Migrationsaufwand.
Das Projekt besteht aus drei Repositories mit jeweils eigenem Wiki:
| Repository | Inhalt | Doku |
|---|---|---|
| openschichtplaner5 (dieses Wiki) | Web-Anwendung (SPA + Betrieb) | hier |
| libopenschichtplaner5 v1.7.0 | Datenbank-Library (DBF/SQLite/PostgreSQL) + CLI | Library-Wiki |
| openschichtplaner5-api v1.2.0 | REST-API (FastAPI, /api/v1/) |
API-Wiki |

Dashboard mit Live-Charts, Widgets, Performance-Metriken & Onboarding-Checkliste
Großes Update rund um die Original-SP5-Planungsansichten, feingranulare Rechte und den Betrieb.
| Feature | Beschreibung | Wiki-Seite |
|---|---|---|
| 🧩 Mehrfacheinträge & Konfliktdialog | Dienst + Abwesenheit je Zelle; Dialog „Zusätzlich/Ersetzen/Abbrechen" mit merkbarer Strategie | Dienstplan |
| 🚦 Besetzungsampel | Bedarfsbasierte Tages-Ampel im Dienstplan (unter-/über-/normalbesetzt) | Personalbedarf |
| 🕗 Teiltags-Abwesenheiten | Abwesenheiten ganztägig, vormittags, nachmittags oder stundenweise | Urlaubsverwaltung |
| 📆 Jahresübersicht als Tagesraster | 12 × 31-Raster je Mitarbeiter mit Dienstplan-Farben | Jahresuebersicht |
| 📋 Personaltabelle | Frei wählbarer Auswertungszeitraum, dynamische Spalten, Urlaubs-Doppelwert | Personaltabelle |
| 🗓️ Halbe Feiertage & Folgejahre | Halbtags-Feiertage; Feiertag automatisch für die folgenden 9 Jahre anlegen | Feiertage |
| ❌ Resturlaub-Verfall (Stichtag) | Admin-Funktion mit Dry-Run-Vorschau, z. B. Verfall zum 31. März | Jahresabschluss |
| 🔬 Granulare Benutzerrechte | Feingranulare Schreibrechte je Benutzer (Dienste, Abwesenheiten, Vergangenheit …) | Benutzerverwaltung |
| 🪞 ORM-Spiegel | Schreibgeschützter ORM-Spiegel aller 19 DBF-Tabellen mit Admin-UI | ORM-Spiegel |
| 🧱 Gesamt-Stack-Compose | Betrieb mit getrennten SPA-/API-Containern + optionalem PostgreSQL | Installation |
Frühere Releases
v1.1.0 (28. März 2026): PostgreSQL-Support, API-Versionierung (/api/v1/), Auto-Migration, Rate-Limit-Dashboard, Scheduled Reports, Foto-Upload, Dark-Mode-System-Preference, Keyboard-Navigation, Drag & Drop.
- 📋 Dienstplan — Monatsansicht mit Mitarbeiter × Tage Matrix; Mehrfacheinträge pro Zelle mit Konfliktdialog; Besetzungsampel; Suche (Ctrl+F) + Sortierung
- 🔁 Recurring Shifts — Wiederkehrende Schichtmuster (wöchentlich/zweiwöchentlich) automatisch generieren
- 📝 Schichtplan-Kommentare — Tagesnotizen mit 📝-Indikator und Popover-Editor
- 🗓️ Einsatzplan — Tagesansicht: Wer arbeitet wann und wo?
- 📆 Jahresübersicht — Jahres-Tagesraster (12 × 31) und Zusammenfassung pro Mitarbeiter
- 📋 Personaltabelle — Kennzahlen-Auswertung über frei wählbare Zeiträume
- 🗓️ Kalender-Ansicht — Monatskalender mit farbigen Schicht-Chips
- 📋 Dienstplan-Vorlagen — Wochen als Templates speichern & anwenden
- ↩️ Undo/Redo — Ctrl+Z/Y im Dienstplan (30 Schritte)
- 📅 Verfügbarkeit — Wochentage + Zeitfenster pro Mitarbeiter
- 🔄 Tauschbörse — Schichttausch mit Benachrichtigungen und Auto-Ablauf
- 🏖️ Urlaubsverwaltung — Ansprüche, Genehmigungen, Urlaubssperren, Teiltags-Abwesenheiten
- ⏱️ Zeitkonto — Saldo-Tracking mit Ist/Soll-Vergleich
- ⬆️ Überstunden — Dashboard mit Farbkodierung, Per-Mitarbeiter-Tracking
- 📒 Kontobuchungen — Manuelle Zeitkonto-Buchungen
- 🔄 Schichtmodelle — Zyklische Schichtfolgen definieren und zuweisen
- 📌 Personalbedarf — Min/Max-Besetzung pro Schicht, wöchentlich oder datumsspezifisch, mit Feiertagsspalte
- ⚖️ Arbeitszeit-Regelwerk — Max. Stunden/Tag, Mindestruhezeit, max. aufeinanderfolgende Tage
- 🎯 Jahresabschluss — Urlaubs-Überträge zum Jahreswechsel + Resturlaub-Verfall zum Stichtag
- 📝 Notizen — Freie Notizen pro Mitarbeiter und Datum
- 📈 Live-Charts — Soll/Ist-Balken, Abwesenheits-Kreisdiagramm
- 🏢 Firmenkontext — Aktive Firma im Dashboard-Header
- ⚡ Performance-Widget — API-Antwortzeit, DB-Status, RAM, Disk
- 🎂 Geburtstage-Widget — Geburtstage im Monat
- 📅 Feiertage-Widget — Nächste Feiertage
- 🏥 Abwesenheiten-Widget — Heute abwesend
- 👷 Heute im Dienst — Aktuelle Schichten
- 🔥 Burnout-Radar — Überlastungsrisiken erkennen
- ✅ Onboarding-Checkliste — Setup-Fortschritt für neue Admins
- 📄 Berichte — 20+ druckfertige Berichte
⚠️ Konflikt-Report — Überlappungen, Unterbesetzung, Regelverletzungen- 📊 Abwesenheits-Statistiken — Multi-Tab mit Charts
- 📅 Mitarbeiter-Timeline — Horizontale Zeitachse
- ⚖️ Mitarbeiter-Vergleich — Side-by-side Vergleich
- 📐 Fairness-Score — Gerechtigkeitsanalyse
- 📤 Export — CSV + XLSX für alle Daten-Endpunkte
- 📄 PDF-Export — Druckoptimierter Schedule-Export
- 📅 Export-Scheduler — Automatischer Berichtsversand per E-Mail
- 📥 Import — CSV-Import (8 Typen) + Bulk-Import mit Drag-and-Drop
- 📅 iCal-Export — .ics Download + webcal:// Feed
- 👤 Mitarbeiter — Personalverwaltung mit Soft-Delete (Aktiv/Inaktiv)
- 🏢 Gruppen — Hierarchische Gruppenstruktur
- 🕐 Schichtarten — Schichten mit wochentags-spezifischen Zeiten
- 🚫 Abwesenheitsarten — Urlaub, Krank, Sonder-UZ etc.
- 🎉 Feiertage — Österreich-Import mit einem Klick, halbe Feiertage, Folgejahre-Anlage
- 🏭 Arbeitsplätze — Arbeitsplatz-Zuweisung im Dienstplan
- 💰 Zeitzuschläge — Nacht-, Wochenend- und Feiertagszuschläge
- 📊 Qualifikations-Matrix — Skills und Zertifizierungen pro Mitarbeiter
- 🔗 Webhook-System — Events an externe Systeme senden
- 📡 Echtzeit-Updates (SSE) — Live-Aktualisierungen
- 📧 E-Mail-Benachrichtigungen — SMTP mit konfigurierbaren Templates
- 🔔 Notification-Settings — Per-User Event-Einstellungen
- 🏢 Multi-Tenant — Mandantenfähige Firmen-Verwaltung
- Drucken-Button auf allen Seiten
- Sauberes Print-CSS: Sidebar und UI-Elemente ausgeblendet
- Optimiert für A4-Querformat mit Seitenumbruch-Kontrolle
- Hamburger-Menü für Smartphone & Tablet
- Responsive Tables — Horizontales Scrollen auf Mobilgeräten
- Touch-optimierte Schaltflächen (min. 44×44px)
- Code-Splitting — Lazy Loading aller Seiten
- PWA — Installierbar als Progressive Web App
- 👨💼 Benutzerverwaltung — Rollen (Admin/Planer/Leser) + granulare Schreibrechte je Benutzer
- 🔐 2FA — TOTP Zwei-Faktor-Authentifizierung
- 💾 Backup — Datensicherung und Wiederherstellung
- ⚙️ Einstellungen — Globale Programmkonfiguration
- 📋 Audit-Log — Aktivitätsprotokoll mit Diff-Anzeige
- 🪞 ORM-Spiegel — schreibgeschützter ORM-Spiegel der DBF-Daten mit Sync-Status
- 🛡️ Security — CSP, CORS, Rate Limiting, bcrypt
- 🏥 Health Check — Strukturierte Systemmetriken
- 🔍 Globale Suche — Ctrl+K Schnellsuche
- ⌨️ Keyboard Shortcuts — Globale Tastaturkürzel
![]() Dienstplan — Monatsansicht |
![]() Jahresübersicht |
![]() Mitarbeiterverwaltung |
![]() Statistiken |
![]() Überstunden-Dashboard |
![]() Konflikt-Report |
![]() Qualifikations-Matrix |
![]() Health Check |
![]() Export & Import |
![]() Dark Mode |
| Komponente | Technologie |
|---|---|
| Backend | Python 3.12 · FastAPI · Uvicorn — als Paket openschichtplaner5-api
|
| Datenbank | DBF/FoxPro (direkt) + SQLite oder PostgreSQL — via libopenschichtplaner5
|
| Frontend | React 19 · TypeScript · Tailwind CSS · Vite |
| Charts | Recharts |
| API | REST (/api/v1/) · OpenAPI/Swagger unter /api/v1/docs
|
| Deployment | Docker (Multi-Arch: amd64 + arm64) · Nginx Reverse Proxy · Gesamt-Stack-Compose |
| CI/CD | GitHub Actions · Playwright E2E · vitest · ruff · ESLint (Backend-pytest im API-Repo) |
| Seite | Beschreibung |
|---|---|
| Installation | Installation, Docker, Setup |
| Erste-Schritte | Quick Start — in 5 Minuten zum ersten Dienstplan |
| Onboarding-Checkliste | ✅ Setup-Fortschritt für neue Admins |
| Dashboard | Dashboard mit Charts, Widgets & Performance |
| Dienstplan | Dienstplan-Verwaltung & Monatsansicht |
| Kalender-Ansicht | 🗓️ Monatskalender mit Schicht-Chips |
| Recurring-Shifts | 🔁 Wiederkehrende Schichtmuster |
| Schichtplan-Kommentare | 📝 Tagesnotizen im Dienstplan |
| Dienstplan-Vorlagen | 📋 Templates speichern & anwenden |
| Undo-Redo | ↩️ Rückgängig/Wiederherstellen |
| Jahresuebersicht | Jahresübersicht (Tagesraster 12 × 31 + Zusammenfassung) |
| Personaltabelle | 📋 Kennzahlen-Auswertung mit freiem Zeitraum |
| Tauschboerse | 🔄 Schicht-Tauschbörse |
| Urlaubsverwaltung | Urlaub, Zeitkonto, Teiltags-Abwesenheiten |
| Jahresabschluss | 🎯 Jahresabschluss & Resturlaub-Verfall |
| Ueberstunden | Überstunden-Dashboard & Tracking |
| Arbeitszeit-Regelwerk | ⚖️ Arbeitszeitregeln & Verletzungserkennung |
| Mitarbeiter | Mitarbeiterverwaltung (mit Soft-Delete) |
| Mitarbeiter-Vergleich | ⚖️ Side-by-side Vergleich |
| Mitarbeiter-Timeline | 📅 Horizontale Zeitachse |
| Stammdaten | Schichtarten, Abwesenheiten, Feiertage |
| Feiertage | 🎉 Feiertage inkl. halber Feiertage & Österreich-Import |
| Personalbedarf | 📌 Min/Max-Besetzung & Besetzungsampel |
| Kompetenz-Matrix | 📊 Qualifikations-/Skills-Matrix |
| Konflikt-Report | |
| Abwesenheits-Statistiken | 📊 Abwesenheitsauswertung |
| Berichte | Alle Berichte (20+) |
| Fairness-Score | 📐 Fairness-Score |
| Import-Export | CSV/XLSX Import & Export |
| Bulk-Import | 📦 Drag-and-Drop Massenimport |
| Export-Scheduler | 📅 Automatischer Berichtsversand |
| iCal-Export | 📅 iCal & Kalender-Abo |
| Drucken & PDF-Export | |
| Webhook-System | 🔗 Webhooks für externe Systeme |
| Multi-Tenant | 🏢 Mandantenfähige Firmenverwaltung |
| Notification-Settings | 🔔 E-Mail-Benachrichtigungseinstellungen |
| Benutzerverwaltung | Benutzer & Rechte |
| Zwei-Faktor-Authentifizierung | 🔐 2FA (TOTP) |
| Administration | Backup & Wartung |
| Health-Check | 🏥 Systemmetriken & Monitoring |
| Security | 🔒 Sicherheitsmodell, CSP, CORS |
| Konfiguration | ⚙️ ENV-Variablen & Einstellungen |
| Keyboard-Shortcuts | ⌨️ Tastaturkürzel |
| Command-Palette | 🔍 Schnellsuche (Ctrl+K) |
| Echtzeit-Updates | 📡 SSE Live-Updates |
| PWA | 📲 Progressive Web App |
| In-App-Changelog | 🔔 Changelog in der App |
| PostgreSQL-Support | 🐘 PostgreSQL als alternative Datenbank |
| API-Versionierung | 🔀 Versionierte API-Routes |
| Auto-Migration | 🔄 Automatische Schema-Migration |
| Rate-Limit-Dashboard | 🚦 API Rate-Limit Monitoring |
| Scheduled-Reports | 📤 Automatische Berichtsgenerierung |
| Foto-Upload | 📸 Mitarbeiter-Profilfotos |
| Dark-Mode | 🌙 Dark Mode mit System-Preference |
| Keyboard-Navigation | ⌨️ Vollständige Tastatur-Bedienbarkeit |
| Drag-and-Drop | 🖱️ Drag & Drop im Kalender |
| Datenbankformat | Technisches: DBF & SQLite & PostgreSQL |
| ORM-Spiegel | 🪞 ORM-Spiegel der DBF-Daten (Admin) |
| Error-Monitoring | 🔍 Logging & Error Monitoring |
📖 Verwandte Wikis: libopenschichtplaner5 (Datenbankformat, CLI) · openschichtplaner5-api (REST-Referenz, Authentifizierung)
OpenSchichtplaner5 ist ein Open-Source-Projekt und steht unter der MIT-Lizenz. GitHub: mschabhuettl/openschichtplaner5
⚠️ Kein offizielles Produkt der RPS Planungssysteme GmbH. OpenSchichtplaner5 ist ein unabhängiges Open-Source-Projekt zur Kompatibilität mit dem Dateiformat des originalen Schichtplaner5.
Home — Startseite
- Installation — Installation & Setup
- Erste-Schritte — Quick Start Guide
- Onboarding-Wizard — 🧭 Ersteinrichtung
- Onboarding-Checkliste — ✅ Setup-Fortschritt
- Dashboard — Charts, Widgets & Performance
- Dienstplan — Dienstplan, Einsatzplan
- Kalender-Ansicht — 🗓️ Monatskalender
- Drag-and-Drop — 🖱️ Drag & Drop im Kalender
- Recurring-Shifts — 🔁 Wiederkehrende Schichten
- Schichtplan-Kommentare — 📝 Tagesnotizen
- Dienstplan-Vorlagen — 📋 Templates
- Undo-Redo — ↩️ Rückgängig/Wiederherstellen
- Jahresuebersicht — Jahresübersicht (Tagesraster)
- Personaltabelle — 📋 Kennzahlen-Auswertung
- Personalbedarf — 📌 Min/Max & Besetzungsampel
- Schichtwunsch-Kalender — 💬 Persönlicher Schichtkalender
- Schichtwuensche — Schichtwünsche & Sperrtage
- Verfuegbarkeit — 📅 Mitarbeiter-Verfügbarkeit
- Tauschboerse — 🔄 Schicht-Tauschbörse
- Urlaubsverwaltung — Urlaub & Abwesenheiten
- Jahresabschluss — 🎯 Überträge & Resturlaub-Verfall
- Ueberstunden — Überstunden-Dashboard & Tracking
- Arbeitszeit-Regelwerk — ⚖️ Arbeitszeitregeln
- Team-Kalender — 🗓️ Team-Kalender
- Team-Uebersicht — 👥 Team-Übersicht
- Berichte — Alle Berichte (20+)
- Scheduled-Reports — 📤 Automatische Berichte
-
Konflikt-Report —
⚠️ Konflikterkennung - Abwesenheits-Statistiken — 📊 Abwesenheitsauswertung
- Mitarbeiter-Timeline — 📅 Zeitachse
- Fairness-Score — 📐 Fairness-Score
- Mitarbeiter-Vergleich — ⚖️ Mitarbeiter-Vergleich
- Analytics-Charts — 📈 Analytics & Charts
- Jahresrueckblick — 🗓️ Jahresrückblick
- Import-Export — CSV/XLSX Import & Export
- Bulk-Import — 📦 Massenimport (Drag&Drop)
- Export-Scheduler — 📅 Automatischer Berichtsversand
- iCal-Export — 📅 iCal & Kalender-Abo
- Drucken — Drucken & PDF-Export
- Druckvorschau — Interaktive Print-Vorschau
- Mitarbeiter — Personal & Gruppen
- Foto-Upload — 📸 Mitarbeiter-Profilfotos
- Stammdaten — Schichten, Modelle, Zuschläge
- Feiertage — 🎉 Feiertage & Österreich-Import
- Kompetenz-Matrix — 📊 Qualifikations-Matrix
- API-Versionierung — 🔀 Versionierte API-Routes
- Webhook-System — 🔗 Webhooks
- Echtzeit-Updates — 📡 SSE Live-Updates
- Notification-Settings — 🔔 E-Mail-Einstellungen
- Multi-Tenant — 🏢 Mandantenverwaltung
- Benutzerverwaltung — Benutzer & Rechte
- Zwei-Faktor-Authentifizierung — 🔐 2FA (TOTP)
- Administration — Backup & Wartung
- Datenbank-Backup — 💾 Backup & Restore
- Rate-Limit-Dashboard — 🚦 Rate-Limit Monitoring
- Protokoll — Aktivitätsprotokoll
- Keyboard-Shortcuts — ⌨️ Tastaturkürzel
- Keyboard-Navigation — ⌨️ Vollständige Tastatur-Bedienbarkeit
- Security — 🔒 Sicherheit, CSP, CORS
- Health-Check — 🏥 Systemmetriken
- Konfiguration — ⚙️ ENV-Variablen
- PostgreSQL-Support — 🐘 PostgreSQL-Datenbank
- Auto-Migration — 🔄 Auto-Schema-Migration
- Datenbankformat — Technisches: DBF & SQLite
- ORM-Spiegel — 🪞 ORM-Spiegel (Admin)
- Error-Monitoring — 🔍 Logging & Monitoring
- Self-Service-Portal — 👤 Mitarbeiter Self-Service
- Dark-Mode — 🌙 Dark Mode (System-Preference)
- Command-Palette — 🔍 Schnellsuche (Ctrl+K)
- In-App-Changelog — 🔔 Changelog
- PWA — 📲 Progressive Web App
- Sprachumschalter — 🌍 DE/EN i18n
- Library (lib) — Datenbankformat & CLI
- REST-API — Endpunkt-Referenz









