# Shift Management (Schichtverwaltung) (/user/features/shift-management)



# Shift Management (Schichtverwaltung) [#shift-management-schichtverwaltung]

## Übersicht [#übersicht]

Schichten (Shifts) sind die zuweisbaren Arbeitseinheiten in Shifty. Jede Schicht gehört zu einem Event, definiert eine bestimmte Position und Zeitspanne, und gibt an, wie viele Mitarbeiter benötigt werden.

**Wichtig**: Schichten werden **innerhalb von Events** erstellt und verwaltet, nicht als eigenständiger Bereich.

**Wer hat Zugriff?**

* **Disponenten** (Expediter+): Schichten erstellen, bearbeiten, Mitarbeiter zuweisen
* **Administratoren**: Vollzugriff
* **Supervisoren**: Nur Lesezugriff auf zugewiesene Events
* **Mitarbeiter**: Sehen nur ihre zugewiesenen Schichten

## Schichten erstellen [#schichten-erstellen]

### Weg 1: Im Event-Formular [#weg-1-im-event-formular]

1. Öffnen Sie ein Event (neu oder bestehend) → siehe [Event Management](event-management.md)
2. Scrollen Sie zum Bereich &#x2A;*"Schichten"**
3. Klicken Sie &#x2A;*"+ Element hinzufügen"**
4. Schicht-Formular erscheint inline

### Weg 2: Im Admin-Kalender (Drag & Drop) [#weg-2-im-admin-kalender-drag--drop]

1. Öffnen Sie Admin-Kalender
2. Wählen Sie Event aus
3. Ziehen Sie mit der Maus eine Zeitspanne im gewünschten Zeitslot
4. Schicht-Dialog öffnet sich

## Schicht-Felder [#schicht-felder]

| Feld                          | Beschreibung                                                                  | Pflicht    |
| ----------------------------- | ----------------------------------------------------------------------------- | ---------- |
| **Position**                  | Dropdown - Welche Position wird benötigt? (z.B. "Service", "Bar", "Security") | ✓          |
| **Startzeit**                 | Wann beginnt die Schicht?                                                     | ✓          |
| **Endzeit**                   | Wann endet die Schicht?                                                       | ✓          |
| **Anzahl**                    | Wie viele Mitarbeiter werden benötigt?                                        | ✓ (Min: 1) |
| **Offenes Ende**              | Checkbox - Schicht hat keine feste Endzeit                                    | ✗          |
| **Beschreibung**              | Freitext - Zusätzliche Infos zur Schicht                                      | ✗          |
| **Kleiderordnung**            | Dropdown - Dresscode-Standard des Kunden                                      | ✗          |
| **Benutzerdefinierte Felder** | Team-spezifische Zusatzfelder                                                 | ✗          |

### Zeitvalidierung [#zeitvalidierung]

* **Endzeit muss nach Startzeit liegen**
* **Schicht muss innerhalb des Event-Zeitraums liegen**
  * Schicht-Start ≥ Event-Start
  * Schicht-Ende ≤ Event-Ende
* Bei Verstoss: Fehlermeldung "Schicht ausserhalb des Event-Zeitraums"

### Automatische Zeitübernahme [#automatische-zeitübernahme]

Beim Hinzufügen neuer Schichten:

* Startzeit = Event-Startzeit (oder bisher letzte Schicht-Endzeit)
* Endzeit = Event-Endzeit
* Kann manuell angepasst werden

## Positionswahl & Kompatibilität [#positionswahl--kompatibilität]

**Positions-Dropdown** zeigt:

* Alle im Team verfügbaren Positionen
* Sortiert nach Name

**Positionskompatibilität**:

* Mitarbeiter können nur Schichten mit kompatiblen Positionen zugewiesen werden
* Position des Mitarbeiters muss mit Schicht-Position übereinstimmen ODER
* Position des Mitarbeiters muss als "kompatibel" mit Schicht-Position konfiguriert sein

**Beispiel**:

```
Schicht benötigt: "Service"
Mitarbeiter hat Position: "Service-Leitung"
→ Zuteilung möglich, wenn "Service-Leitung" als kompatibel zu "Service" konfiguriert
```

Siehe \[Positions-Verwaltung] für Kompatibilitäts-Konfiguration.

## Kleiderordnung (Dresscode) [#kleiderordnung-dresscode]

**Für Service-Events**:

* Dropdown zeigt Dresscode-Standards des ausgewählten Kunden
* Standards werden vom Kunden-Profil geladen
* Beispiele: "Schwarz-Weiß", "Business Casual", "Uniform"

**Kleiderordnung im Detail anzeigen**:

* Kleiderordnungs-Feld zeigt: Label + Details (z.B. "Schwarz-Weiß: Schwarzes Hemd, schwarze Hose")
* Mitarbeiter sehen Dresscode in ihrer Schicht-Ansicht

**Neuen Standard erstellen**:

1. Klicken Sie auf "+ Neuer Standard" im Dropdown
2. Dialog öffnet sich:
   * **Label**: Name des Standards (z.B. "Event-Uniform")
   * **Kategorie**: Kategorie zur Organisation
   * **Kleidung**: Detaillierte Beschreibung
   * **Kunden**: Welchen Kunden zuweisen?
3. Standard wird gespeichert und ist sofort verfügbar

## Mitarbeiter-Zuweisung [#mitarbeiter-zuweisung]

### Kapazitäts-Tracking [#kapazitäts-tracking]

Jede Schicht zeigt:

```
3 / 5 Mitarbeiter zugewiesen
```

* **3** = Bereits zugewiesene Mitarbeiter
* **5** = Benötigte Anzahl (aus "Anzahl"-Feld)
* **Status-Anzeige**:
  * Grün: Vollständig besetzt (3/3)
  * Gelb: Teilweise besetzt (2/5)
  * Grau: Leer (0/5)
  * Rot: Überbesetzt (6/5) - sollte vermieden werden

### Zuweisung über Admin-Kalender [#zuweisung-über-admin-kalender]

1. **Mitarbeiter suchen**: Linke Sidebar zeigt verfügbare Mitarbeiter
2. **Drag & Drop**: Mitarbeiter auf Schicht ziehen
3. **Validierung läuft automatisch**:
   * Position kompatibel? ✓
   * Keine Zeitkonflikte? ✓
   * Kapazität verfügbar? ✓
4. **Bei Erfolg**: Mitarbeiter erscheint in Schicht
5. **Bei Fehler**: Fehlermeldung mit Grund

### Zuteilungs-Validierung [#zuteilungs-validierung]

**System prüft automatisch**:

1. **Positionskompatibilität**: Mitarbeiter hat kompatible Position?
2. **Zeitkonflikte**: Mitarbeiter hat keine überlappende Zuteilung?
3. **Kapazität**: Schicht noch nicht voll besetzt?
4. **Verfügbarkeit** (optional): Mitarbeiter hat Verfügbarkeit angegeben?

**Warnungen**:

* **Gelb**: Mitarbeiter verfügbar, aber minor issues (z.B. nah an Höchstarbeitszeit)
* **Rot**: Blockiert - Mitarbeiter kann NICHT zugewiesen werden

### Manuelle Überbuchung [#manuelle-überbuchung]

**Szenario**: Mehr Mitarbeiter zuweisen als "Anzahl" erlaubt

* System warnt: "Schicht überbesetzt (6/5)"
* Admin kann trotzdem zuweisen (falls Notfall)
* Zuteilung markiert als "Überbesetzt"

**Best Practice**: Vermeiden - erhöhen Sie stattdessen "Anzahl"-Feld in Schicht

## Schicht bearbeiten [#schicht-bearbeiten]

**Im Event-Formular**:

1. Event öffnen (Bearbeiten-Modus)
2. Schicht in Liste finden
3. Feldinhalte direkt ändern
4. Event speichern

**Einschränkungen bei bestehenden Zuordnungen**:

* **Zeit ändern**: Mitarbeiter werden benachrichtigt
* **Position ändern**: NICHT möglich wenn Zuordnungen existieren (erst entfernen)
* **Anzahl reduzieren**: Warnung wenn mehr Zuordnungen als neue Anzahl
* **Anzahl erhöhen**: Immer erlaubt

**Mit Zeiterfassungen**:
Schichten mit abgeschlossenen Zeiterfassungen können NICHT bearbeitet werden.

## Schicht löschen [#schicht-löschen]

**Im Event-Formular**:

1. Event öffnen (Bearbeiten-Modus)
2. Bei Schicht: Klicken Sie auf **Löschen-Icon** (Mülleimer)
3. Bestätigung (falls Zuordnungen existieren)
4. Event speichern

**Einschränkungen**:

* Schichten MIT Zuordnungen: Warnung, aber Löschung erlaubt
* Schichten MIT Zeiterfassungen: Löschung BLOCKIERT
* Alternative: Anzahl auf 0 setzen statt löschen (behält Historie)

## Benutzerdefinierte Felder [#benutzerdefinierte-felder]

Manche Teams nutzen benutzerdefinierte Felder für Schichten (z.B. "Notizen", "Sonderwünsche").

**Falls konfiguriert**:

* Zusätzliche Felder erscheinen im Schicht-Formular
* Eingabe optional (außer als "Pflicht" markiert)
* Je nach Feld-Typ: Text, Zahl, Dropdown, Datum
* Werte werden mit Schicht gespeichert

**Konfiguration**: Über Team-Einstellungen (Admin-Zugriff erforderlich)

## Schichten duplizieren [#schichten-duplizieren]

**Beim Event-Duplizieren** werden Schichten mit kopiert:

* Alle Schicht-Eigenschaften (Position, Anzahl, Beschreibung)
* Zeitspanne wird relativ zum neuen Event-Datum angepasst
* **NICHT kopiert**: Zuordnungen (Assignments)

Siehe [Event Management - Duplizieren](event-management.md#event-duplizieren)

## Bulk-Operationen [#bulk-operationen]

**Mehrere Schichten auf einmal bearbeiten**:

**Szenario 1: Gleiche Position, verschiedene Zeiten**

1. Erste Schicht erstellen mit Position "Service"
2. Weitere Schichten hinzufügen
3. Position wird nicht neu gesetzt (manuell ändern)

**Workaround**: Template-Schicht erstellen, duplizieren, dann Zeiten anpassen

**Szenario 2: Alle Schichten um 1 Stunde verschieben**

* Aktuell: Manuell jede Schicht bearbeiten
* Alternative: Event-Zeit verschieben → Schichten passen sich relativ an

*Bulk-Bearbeitung Schichten ist in Entwicklung*

## Ansichten & Filterung [#ansichten--filterung]

### Im Event-Formular (Listenmodus) [#im-event-formular-listenmodus]

**Schichten-Liste zeigt**:

* Position (Icon + Name)
* Zeitspanne (Start → Ende)
* Anzahl Mitarbeiter (zugewiesen / benötigt)
* Dresscode (falls gesetzt)
* Aktions-Buttons (Bearbeiten, Löschen)

**Sortierung**: Chronologisch nach Startzeit

### Im Admin-Kalender (Visuell) [#im-admin-kalender-visuell]

**Ressourcen-Zeitachse**:

* X-Achse: Zeit (Tag/Woche)
* Y-Achse: Positionen (gruppiert)
* Schichten als Balken dargestellt:
  * Länge = Dauer
  * Farbe = Position-Farbe
  * Label = Event-Name + Mitarbeiter-Icons

**Mitarbeiter in Schicht**:

* Avatar-Icons im Schicht-Balken
* Hover: Mitarbeiter-Name + Status
* Klick: Schicht-Details öffnen

## Praktische Workflows [#praktische-workflows]

### Workflow 1: Event mit mehreren Schichten planen [#workflow-1-event-mit-mehreren-schichten-planen]

1. Event erstellen (Name, Datum, Kunde)
2. Erste Schicht hinzufügen: "Aufbau" (10:00-14:00, Position "Technik", 2 Personen)
3. Zweite Schicht hinzufügen: "Event" (14:00-22:00, Position "Service", 8 Personen)
4. Dritte Schicht hinzufügen: "Abbau" (22:00-01:00, Position "Technik", 2 Personen)
5. Event speichern

### Workflow 2: Dresscode für Service-Event setzen [#workflow-2-dresscode-für-service-event-setzen]

1. Event erstellen, Typ: **Service**
2. Kunde auswählen (z.B. "Restaurant XY")
3. Schicht hinzufügen
4. Kleiderordnung-Dropdown: Zeigt Kunde's Standards (z.B. "Schwarz-Weiß")
5. Standard auswählen
6. Mitarbeiter sehen Dresscode bei Zuteilung

### Workflow 3: Schnelle Schicht-Erstellung im Kalender [#workflow-3-schnelle-schicht-erstellung-im-kalender]

1. Admin-Kalender öffnen
2. Event in Timeline finden
3. Mit Maus über freien Bereich ziehen (Drag)
4. Schicht-Dialog öffnet sich mit vorausgefüllten Zeiten
5. Position wählen, Anzahl eingeben
6. "Erstellen" → Schicht erscheint sofort im Kalender

## Tipps & Best Practices [#tipps--best-practices]

**Schicht-Planung**:

1. Erstellen Sie Schichten VOR der Mitarbeiter-Zuweisung
2. Verwenden Sie sprechende Position-Namen ("Einlass" statt "Helfer 1")
3. Setzen Sie realistische Puffer zwischen Schichten (Wechselzeit)
4. Nutzen Sie Dresscode-Standards für Konsistenz

**Zeit-Management**:

1. "Offenes Ende" nur für Schichten mit unklarer Dauer (z.B. "bis Event-Ende")
2. Planen Sie Pause/Essenspausen als separate Schicht ODER nutzen Sie "Break Minutes"
3. Overlapping Schichten: Erlaubt (z.B. Übergabe-Zeiten)

**Kapazitäts-Planung**:

1. Überschätzen Sie leicht ("5 Personen" statt "4") für Puffer
2. Monitor Zuweisungs-Status im Kalender (farbcodiert)
3. Nutzen Sie "Gesamtanzahl Mitarbeiter" im Event-Header zur Übersicht

**Dresscode**:

1. Erstellen Sie Standards auf Kunden-Ebene (nicht pro Event)
2. Nutzen Sie Kategorien für Organisation ("Formal", "Casual", "Spezial")
3. Details ausführlich beschreiben für Mitarbeiter

## Häufige Probleme [#häufige-probleme]

**"Position kann nicht geändert werden"**

* Schicht hat bereits Zuordnungen
* Lösung: Zuordnungen entfernen → Position ändern → Neu zuweisen

**"Schicht liegt außerhalb Event-Zeitraum"**

* Schicht-Start/Ende überschreitet Event-Grenzen
* Lösung: Event-Zeit erweitern ODER Schicht-Zeit anpassen

**"Mitarbeiter kann nicht zugewiesen werden - Position inkompatibel"**

* Mitarbeiter-Position nicht kompatibel mit Schicht-Position
* Lösung: Positions-Kompatibilität konfigurieren (Team-Einstellungen)

**"Schicht kann nicht gelöscht werden"**

* Schicht hat Zeiterfassungen
* Lösung: Löschung nicht erlaubt - setzen Sie "Anzahl" auf 0 zur Deaktivierung

**"Dresscode-Dropdown ist leer"**

* Kein Kunde ausgewählt ODER Kunde hat keine Dresscode-Standards
* Lösung: Standard im Kunden-Profil erstellen

## Verwandte Features [#verwandte-features]

* [Event Management](event-management.md) - Schichten werden in Events erstellt
* [Admin-Kalender](../../../old-knowledge-base/calendar/admin-calendar.md) - Visuelle Schicht-Planung
* \[Assignments (Zuweisungen)] - Mitarbeiter zu Schichten zuweisen
* \[Positions-Verwaltung] - Position-Kompatibilitäten konfigurieren

## Siehe auch [#siehe-auch]

* **Developer-Dokumentation:** [Shift Management - Technical](../../developer/features/shift-management.md)
* **Datenmodell:** [Shift Model](../../developer/detailed-data-model-documentation/shifts.md)
