Zum Inhalt springen
SuperScheduler

Außendienst

Techniker im Außendienst von einer gemeinsamen Tafel aus disponieren

Die Disposition verteilt Aufträge an Menschen, die schon unterwegs sind – mit zugesagten Ankunftsfenstern, nötigen Qualifikationen und einem Tag, der selten nach Plan läuft. Die Tafel muss das Zuweisen schnell und das Umverteilen sicher machen und Routen und Fahrzeiten den Systemen überlassen, die sich mit Geografie auskennen.

Auf der einen Seite eine Warteschlange, auf der anderen ein Tag in Bewegung

Arbeit kommt laufend herein: eine Heizungsreparatur, gestern gebucht, ein Garantieeinsatz, ein Notruf um 10:40. Jeder Auftrag hat einen Kunden, eine Adresse, ein dem Kunden zugesagtes Ankunftsfenster und eine Reihe von Qualifikationen oder Zertifizierungen, die er erfordert. Bis er zugewiesen ist, wartet er in einer Warteschlange, die die Disposition abarbeitet.

Techniker sind nicht austauschbar. Einer ist für Gas zertifiziert, ein anderer hat die Ersatzteile für ein bestimmtes Modell dabei, eine schwere Installation braucht ein Zweierteam, und jeder hat ein Stammgebiet. Gleichzeitig dauern Einsätze länger, Transporter fallen aus und Leute melden sich krank – der Nachmittag wird also mehrmals am Tag neu aufgebaut.

Eine Zeitleiste ist das richtige Werkzeug für „wer macht was und wann“. Für „welche Besuchsreihenfolge spart die meisten Fahrten“ ist sie das falsche, und eine Dispositionstafel sollte diesen Unterschied offen benennen.

Was die Disposition entscheidet

  1. 01

    Wer den Auftrag übernimmt

    Qualifikationen, Zertifizierungen, Gebiet und Teile im Fahrzeug grenzen die Liste ein. Unter den übrigen Technikern wählt die Disposition nach Auslastung und danach, wo sie zu dem Zeitpunkt sein werden.

  2. 02

    Ob das zugesagte Fenster noch hält

    Ein Ankunftsfenster von 08:00 bis 12:00 ist eine Zusage. Ein Auftrag um 11:30 nach einer langen Installation kann auf dem Bildschirm frei und in der Praxis verspätet sein.

  3. 03

    Wie viel Fahrzeit eingeplant wird

    Zwei Aufträge an entgegengesetzten Enden einer Stadt liegen in Wirklichkeit nicht direkt hintereinander. Disponenten lassen Lücken oder fügen Fahrtblöcke ein, je nachdem, was sie über die Strecke wissen.

  4. 04

    Was passiert, wenn ein Einsatz länger dauert

    Braucht eine Installation zwei Stunden länger, muss der restliche Tag dieses Technikers verschoben, an jemand anderen übergeben oder mit dem Kunden neu vereinbart werden.

Die Dispositionstafel abbilden

Halten Sie nicht zugewiesene Arbeit außerhalb des Rasters und zugewiesene darin, und machen Sie das Ablegen zwischen beiden zu dem Moment, in dem Ihr Backend eine Zuweisung speichert.

Ressourcen
Zeilen sind Techniker, optional nach Team oder Region in einem Ressourcenbaum gruppiert, mit Spalten für Gebiet, Qualifikationen oder Fahrzeug. Die Anwendung grenzt die Zeilen mit rows.filter und onRowFilter auf geeignete Kandidaten ein.
Ereignisse
Ein zugewiesener Auftrag ist ein Ereignis in der Zeile eines Technikers, mit Kundenreferenz, Ankunftsfenster und Status als eigenen Feldern. Fahrzeit kann als separates, fixiertes Ereignis mit moveDisabled und resizeDisabled erscheinen, das Ihr Code anlegt und pflegt.
Zeitskala
Nutzen Sie Stundenzellen für die heutige Disposition und Tageszellen für die kommende Woche, als zwei Zoomstufen. Deaktivieren Sie die Zellen außerhalb der Schicht jedes Technikers, damit sich keine Aufträge in seine freie Zeit ablegen lassen.
Regeln
Die Liste nicht zugewiesener Aufträge nutzt makeDraggable: Wird ein Eintrag auf einem Techniker abgelegt, entsteht ein Ereignis, und onEventMoved wird mit gesetztem args.external ausgelöst. Lehnen Sie in onEventMoving das Ablegen bei einem Techniker ohne die nötige Qualifikation oder außerhalb des Ankunftsfensters ab, mit einer Meldung, die den Grund nennt. Aktivieren Sie die Ereignisauswahl und allowMultiMove, damit sich mehrere Aufträge gemeinsam verschieben lassen.

Tafel und Backoffice

  • Aufträge aus einer externen Liste auf einen Techniker und eine Uhrzeit ziehen
  • Zeilen nach Qualifikation, Region oder Team filtern
  • Mehrfachauswahl und gemeinsames Verschieben mehrerer Aufträge
  • Ablehnung mit Meldung, wenn ein Ablegen gegen Ihre Regel verstößt
  • Auftragskarten und Detailpanels als React-Komponenten
  • Routenoptimierung, Fahrzeitschätzungen und Karten: Die Bibliothek plant keine Routen
  • Auftragsannahme, Kundenkommunikation und die Ankunftsfenster, die Sie zusagen
  • Die mobile App der Techniker und Statusmeldungen aus dem Einsatz
  • Qualifikationen, Zertifizierungen und Gebiete als Daten, samt den Zuordnungsregeln
  • Abgleich zwischen Disponenten und Konfliktlösung auf dem Server
  • Zeitzonenumrechnung für Teams in mehreren Regionen

Funktionierende Beispiele

Fehler, die Dispositionstafeln immer wieder machen

Die Zeitleiste als Landkarte lesen

Zwei benachbarte Balken sagen nichts über die Entfernung. Ohne Fahrtblöcke oder eine Prüfung durch Ihren Routing-Dienst kann ein Tag auf dem Bildschirm frei und auf der Straße unmöglich sein.

Den Auftrag zu früh aus der Warteschlange nehmen

Nehmen Sie den Eintrag erst aus der Liste nicht zugewiesener Aufträge, wenn das Backend die Zuweisung bestätigt hat. Ein zweites Ablegen mit einer bereits geladenen ID wird mit einer Konsolenwarnung übersprungen, was ein echtes Duplikatproblem verdecken kann.

Zeitzonen auf einer Tafel mischen

Zeiten sind Kalenderzeiten ohne Zeitzone. Ein Team über mehrere Zeitzonen braucht eine Anzeigezone, die die Anwendung festlegt, und die Umrechnung erfolgt, bevor die Daten die Zeitleiste erreichen.

Nur auf der Tafel validieren

Zwei Disponenten können demselben Techniker im selben Moment denselben Slot geben. Der Server entscheidet, und die Tafel lädt das Ergebnis neu.

Fragen

Optimiert SuperScheduler die Routen der Techniker?

Nein. SuperScheduler hat keine Routing-, Geocoding- oder Fahrzeit-Engine. Er zeigt den Plan und lässt die Disposition ihn ändern; Ihre Anwendung oder ein Routing-Dienst schlägt Besuchsreihenfolge und Fahrzeiten vor, die Sie als Ereignisse zeichnen können.

Wie ziehe ich nicht zugewiesene Aufträge aus einer Liste in den Plan?

Rufen Sie SuperScheduler.Scheduler.makeDraggable für jedes Listenelement mit einer ID, einem Text und einer Dauer auf. Wird es auf einer Zeile abgelegt, entsteht ein Ereignis, und onEventMoved wird mit args.external auf true ausgelöst – dort senden Sie die Zuweisung an Ihr Backend.

Kann ich nur die Techniker mit einer bestimmten Qualifikation anzeigen?

Ja. Speichern Sie die Qualifikationen an jeder Ressource, rufen Sie rows.filter mit der gewählten Qualifikation auf und entscheiden Sie in onRowFilter über die Sichtbarkeit. Das Filtern ändert, welche Zeilen angezeigt werden, nicht, wer zugewiesen werden darf; prüfen Sie Zuweisungen daher auch auf dem Server.

Kann die Disposition mehrere Aufträge auf einmal verschieben?

Ja. Mit aktivierter Ereignisauswahl und allowMultiMove bewegen sich ausgewählte Aufträge gemeinsam, wenn einer davon gezogen wird, und die Änderung kommt über die üblichen Handler an, damit Ihr Backend sie annimmt oder ablehnt.

Die Fieldwork-Demo ausprobieren

Fieldwork, ein fiktiver Servicebetrieb, weist einen offenen Auftrag aus einer Liste einem Team zu und prüft die Verfügbarkeit auf der Tafel. Die Demo gibt nicht vor, Routen zu optimieren.

Funktionierende Beispiele