Aptli

Zuweisungen

Zuweisungen weisen Arbeit Benutzern zu, definieren Ressourcenziele und verwalten Inventurberechtigung durch QR-Abholcodes. Zuweisungen arbeiten in Echtzeit (nicht versioniert) für sofortige Arbeiterbestätigung.

Zuweisungsstruktur

Zuweisungsseite zeigt aktive Arbeitszuweisungen mit Status und QR-Codes

Kernfelder:**

  • Name - Beschreibender Zuweisungsname
  • Beschreibung - Arbeitsanweisungen oder Kontext
  • Zugewiesen an - Array von Benutzern (unterstützt Teamzuweisungen)
  • Status - pending, in-progress, completed, cancelled
  • Erstellt von - Benutzer der Zuweisung erstellt hat
  • Zeitlinie - Startdatum, Fälligkeitsdatum, geschätzte Stunden

Arbeitsdefinition:

  • Verfügbare Aufgaben - Array von Aufgaben-IDs die Arbeiter wählen können (10x Überzuweisung üblich)
  • Ressourcenziele - Ziele zu erreichen (keine harten Reservierungen)

Inventurverwaltung:

  • Geplante Bestände - Erwartete Inventurnachfrage (weiche Planung, keine Sperren)
  • Abholcode - JWT für autorisierte Inventurtransferierung
  • Abholcode läuft ab - Wann Berechtigung abläuft
  • Abholung verbleibend - Was noch abzuholen ist (nach teilweisen Abholungen)

Echtzeitbetrieb

Zuweisungen umgehen Versions-/Commit-Workflow:

Warum Echtzeit:

  • Arbeiter brauchen sofortige Antwort: "Habe ich diese Arbeit?"
  • Zahlungsberechnung erfordert committed Zuweisungsdaten
  • Kein Wert in Offline-Entwürfen (Zuweisungen sind Ausführung, nicht Planung)
  • Bestandssichtbarkeit muss aktuell sein für QR-Abholvalidierung

Direkte API:

  • Erstellen/aktualisieren via /api/workorders/upsert Endpunkt
  • Änderungen sofort sichtbar für zugewiesene Arbeiter
  • Kein Warten auf Admin-Versionscommits
  • Ermöglicht dynamische Arbeitsneuverteilung

Ressourcenziele (Keine Reservierungen)

resourceTargets Array definiert Arbeitsziele, NICHT Inventursperren:

Beispiel:

Zuweisung an John:
  Ressourcenziele: [
    { resource: "Cat6-Kabel", volume: 50, uom: "meters" },
    { resource: "Verbindungsdosen", volume: 10, uom: "units" }
  ]

Wichtige Punkte:

  • Sperrt NICHT 50m Kabel aus Inventur
  • Andere Arbeiter können noch dieselben Materialien abholen
  • Inventur zugewiesen bei QR-Scan-Zeitpunkt (first-come, first-served)
  • Ermöglicht Flexibilität wenn Prioritäten mittags ändern

Warum keine harten Reservierungen:

  • Prioritäten verschieben sich schnell in Feldoperationen
  • Arbeiter könnte krank anrufen (reservierter Bestand wird nicht verfügbar)
  • Mehrere Arbeiter könnten gleichen Inventurpool teilen
  • Lagerhaus kann genaue Abholzeit nicht vorhersagen

Geplante Bestände (Optional): Nachfrage prognostizieren ohne Sperren:

Geplante Bestände: [
  { stockItemId: warehouse_cable_id, resource: "Cat6-Kabel", volume: 50, uom: "meters" }
]

Hilft Lagerhauspersonal:

  • Gesamte erwartete Nachfrage über Zuweisungen sehen
  • Materialien für Abholung vorbereiten (beiseite legen ohne Sperren)
  • Wenn Bestand unzureichend, warnt bevor Arbeiter ankommt

Verfügbare Aufgaben (10x Flexibilität)

availableTasks Array bietet Arbeiterwahl:

Beispiel:

Zuweisung:
  Ressourcenziele: 50m Kabel
  Verfügbare Aufgaben: [Aufgabe1, Aufgabe2, Aufgabe3, ... Aufgabe30]
  
Jede Aufgabe erfordert 2-10m Kabel
Arbeiter wählt welche Aufgaben zu erledigen um 50m Ziel zu erreichen

Vorteile der Überzuweisung:

  • Arbeiter wählt optimale Route (nächste Aufgaben zuerst)
  • Um Hindernisse herum arbeiten (verschlossenes Gebäude, Wetterverzögerung)
  • An Inventurverfügbarkeit anpassen (einige Aufgaben brauchen Materialien nicht auf Lager)
  • Erhöhte Autonomie (Arbeiterurteil wertgeschätzt)

Typisches Verhältnis:

  • 10x Überzuweisung üblich (10 Einheiten Arbeit, 100 Einheiten Optionen)
  • Stellt sicher dass Arbeiter niemals aus Aufgaben herausläuft
  • Unvollständige Aufgaben rollen zur nächsten Zuweisung

QR-Abholcodes

Zuweisungsdetail zeigt Ressourcenzuweisung, QR-Code und Echtzeitverfolgung

Zuweisungen können JWT-basierte QR-Codes für Inventurberechtigung generieren:

Generierung:

  1. Zuweisung mit Ressourcenziele erstellen
  2. System generiert pickupCode (JWT) enthaltend:
    • Autoriserte Benutzer-IDs (aus assignedTo Array)
    • Ressourcenziele (was abzuholen ist)
    • Ablaufzeitstempel
    • Quell-Bestandsartikel-IDs (optional - spezifischer Bestand)

QR-Anzeige:

  • Nur autorisierten Empfängern angezeigt (assignedTo Benutzer)
  • Backend erzwingt: nicht-autorisierte Benutzer sehen pickupCode: null
  • 200×200px QR-Bild in Zuweisungsdetailansicht
  • Zeigt Ablaufdatum wenn pickupCodeExpires gesetzt

Scan-Workflow:

QR-Abholfluss:

Zuweisung Erstellt → QR Generiert (JWT) → Arbeiter Scannt → Validierung → Transfertransaktion
       ↓                    ↓                   ↓              ↓              ↓
  Ressourcenziele    Abholcode        Kamera/Scanner   Auth Check   Bestand Aktualisiert
                      Ablauf                         Verfügbarkeit  GPS Aufgezeichnet
                                                        Signatur
  1. Arbeiter öffnet Scanner (mobile App oder Kamera)
  2. Scannt Zuweisungs-QR-Code
  3. System validiert:
    • JWT-Signatur und Ablauf
    • Scanner ist autorisierter Empfänger ODER hat canFacilitatePickups Berechtigung
    • Bestandsverfügbarkeit am Quellstandort
  4. Erstellt Transfertransaktion automatisch
  5. Arbeiters persönlicher Standort erhält Inventur

Teilweise Abholungen:

Zuweisung anfordert: 100 Einheiten
Nur 60 verfügbar → Arbeiter nimmt 60
pickupRemaining aktualisiert: 40 Einheiten
Gleicher QR wiederverwendbar wenn nachgefüllt (JWT noch gültig)

Personalunterstützte Abholungen: Lagerhauspersonal mit canFacilitatePickups Berechtigung:

  • Kann QR im Namen autorisierten Arbeiters scannen
  • Transaktion zeichnet auf: scanMethod = "staff", scannerUserId = staff_id
  • Ermöglicht unbeaufsichtigtes Lagerhausmodell (Arbeiter kommt an, Personal erleichtert Transfer)

Zuweisungsstatus

Zuweisungslebenszyklus:

pending → in-progress → completed
   ↓           ↓            ↓
Erstellt    Erster Bericht   Alle Ziele Erreicht
   ↓        Eingereicht     oder Manuelles Update
   └──────→ cancelled (Arbeit umgeleitet/verschoben)

pending - Erstellt, nicht gestartet

  • Initialer Status für neue Zuweisungen
  • Arbeiter hat Arbeit noch nicht begonnen

in-progress - Arbeit im Gange

  • Mindestens ein Bericht eingereicht
  • Oder Arbeiter hat Status manuell aktualisiert

completed - Alle Arbeit fertig

  • Alle Ressourcenziele erreicht (oder überschritten)
  • Arbeiter als fertig markiert

cancelled - Zuweisung nicht mehr benötigt

  • Arbeit an jemand anderen umgeleitet
  • Zeitlinie geändert, Arbeit verschoben
  • Noch sichtbar in Historie (Soft-Delete-Option)

Fortschrittsberechnung

Zuweisungsfortschritt basiert auf Ressourcenziele, nicht verfügbare Aufgaben:

Formel:

Für jedes Ressourcenziel:
  Summe aller abgeschlossenen Arbeit aus Berichten
  Teile durch Zielvolumen
  Decke bei 100% pro Ressource ab
  
Gesamt = Durchschnitt über alle Ressourcenziele

Beispiel:

Ressourcenziele:
  - 50m Kabel
  - 10 Verbindungsdosen

Eingereichte Berichte:
  - Bericht A: 30m Kabel, 6 Verbindungsdosen
  - Bericht B: 25m Kabel, 5 Verbindungsdosen

Fortschritt:
  Kabel: (30 + 25) / 50 = 110% → bei 100% gedeckelt
  Dosen: (6 + 5) / 10 = 110% → bei 100% gedeckelt
  Gesamt: (100% + 100%) / 2 = 100%

Visuelle Indikatoren:

  • Fortschrittsbalken: Grün ≥100%, Gelb ≥50%, Rot <50%
  • Verwendet in: Berichten und Validierungen die diese Zuweisung referenzieren

Zuweisungen erstellen

Erforderlicher Zugriff: assignmentsCreate Admin-Recht

Workflow:

  1. Navigieren zu Fulfillment → Zuweisungen
  2. "Zuweisung hinzufügen" klicken
  3. Grundinfo ausfüllen (Name, Beschreibung)
  4. Benutzer in "Zugewiesen an"-Feld ziehen (unterstützt Drag-and-Drop)
  5. Zeitlinie setzen (Startdatum, Fälligkeitsdatum)
  6. Ressourcenziele hinzufügen (was Arbeiter erreichen sollte)
  7. Aufgaben in "Verfügbare Aufgaben"-Feld ziehen (von Aufgabenseite)
  8. Optional geplante Bestände setzen (Nachfrage prognostizieren)
  9. Abholcode generieren wenn geschützte Inventur benötigt
  10. Speichern (sofort sichtbar für zugewiesene Arbeiter)

Drag-and-Drop-Unterstützung:

  • Benutzer von Benutzerseite → "Zugewiesen an"-Feld ziehen
  • Aufgaben von Aufgabenseite → "Verfügbare Aufgaben"-Feld ziehen
  • Funktioniert über Browser-Tabs (Multi-Monitor-Setup)

Zuweisungen filtern

Vorgefertigte Filter:

  • Von mir erstellt - Zuweisungen die Sie erstellt haben
  • Mir zugewiesen - Ihre Arbeitszuweisungen

Benutzerdefinierte Filter:

  • Status (pending, in-progress, completed, cancelled)
  • Datumsbereich (Startdatum, Fälligkeitsdatum)
  • Spezifischem Benutzer zugewiesen
  • Enthält spezifische Aufgabe

Zuweisungsdetailansicht

Angezeigte Informationen:

  • Grunddetails (Name, Beschreibung, Status)
  • Zugewiesene Benutzer (ziehbare Objekte)
  • Ressourcenziele-Liste
  • Verfügbare Aufgaben-Liste
  • Fortschrittsbalken und Prozentsatz
  • QR-Code (wenn autorisiert und pickupCode existiert)
  • Abholung verbleibend (nach teilweisen Abholungen)
  • Für diese Zuweisung eingereichte Berichte
  • Transaktionshistorie (durchgeführte Abholungen)

Verfügbare Aktionen:

  • Status aktualisieren
  • Zeitlinie bearbeiten
  • Aufgaben hinzufügen/entfernen
  • Abholcode neu generieren (wenn abgelaufen)
  • Neuen Bericht erstellen (Schnellaktion von Zuweisung)

Berichte aus Zuweisungen erstellen

Schneller Workflow um Arbeit zu berichten:

  1. Zuweisungsdetailansicht öffnen
  2. "Bericht erstellen"-Schaltfläche klicken (in Aktionsslot)
  3. Vorab ausgefülltes Berichtsformular erscheint:
    • Zugewiesen an: Gleich wie Zuweisung
    • Verfügbare Aufgaben: Auto-befüllt aus Zuweisung
    • Vorgeschlagener Verbrauch: Basierend auf Ressourcenziele
  4. Arbeiter passt Actuals an (was wirklich passiert ist)
  5. Bericht einreichen
  6. Verbrauchstransaktionen automatisch erstellt
  7. Zuweisungsfortschritt aktualisiert

Benachrichtigungen

Stapelbenachrichtigungen verhindern Spam:

Intelligente Stapelung:

  • 10+ Zuweisungsänderungen in 1 Stunde → einzelne Zusammenfassungsbenachrichtigung
  • Individuelle Benachrichtigung für dringende/hoch-prioritäre Zuweisungen

Verdauungszeitplan:

  • Stündlicher Verdau (benutzerkonfigurierbar)
  • Tagesende-Zusammenfassung
  • Echtzeit In-App-Abzeichenanzahl

Benachrichtigungsinhalt:

  • Neue Zuweisungen für Sie erstellt
  • Statusänderungen an Ihren Zuweisungen
  • Annähernde Fälligkeitsdaten
  • Abholcodes laufen bald ab

Best Practices

Aufgaben überzuweisen:

  • 10x mehr Aufgaben als erforderlich bereitstellen um Ziele zu erreichen
  • Arbeiterautonomie verbessert Effizienz
  • Reduziert "aus Arbeit herausgelaufen" Ausfallzeiten

Realistische Zeitlinien setzen:

  • Reisezeit zwischen Aufgaben berücksichtigen
  • Materialabholverzögerungen berücksichtigen
  • Polster für Wetter, Verkehr, verschlossene Standorte

Abholcodes für geschützte Inventur verwenden:

  • Hochwertige Ausrüstung
  • Kontrollierte Materialien die Verantwortlichkeit erfordern
  • Artikel mit regulatorischen Verfolgungsanforderungen

Teilweise Abholungen überwachen:

  • pickupRemaining regelmäßig prüfen
  • Nachfüllen damit Arbeiter Abholungen abschließen können
  • Verzögerungen zugewiesenen Arbeitern kommunizieren

Abgeschlossene Zuweisungen überprüfen:

  • Ressourcenziele mit tatsächlichem Verbrauch vergleichen (aus Berichten)
  • Schätzfehler identifizieren (zu viel/wenig zugewiesen)
  • Zukünftige Zuweisungsplanung verbessern