identpro Logo
← Übersicht
Interface-Beschreibung

Fahrauftrag
quittieren

WES → LVS: TOCO · SUMO
AufnahmequittierungAbsetzquittierung
WMS REST Interface

1. Überblick

Nach der Anlage eines Fahrauftrags begleitet identpro WES den Fahrer durch die Ausführung. Dabei meldet WES Statusänderungen der Ladung und des Auftrags an das LVS. Es gibt zwei Zeitpunkte, zu denen WES das LVS benachrichtigt:

Richtung der Kommunikation:
Anders als bei TORD (WMS → WES) ruft identpro WES bei der Quittierung aktiv Endpunkte auf der LVS-Seite auf. Das LVS muss diese Endpunkte implementieren und antwortet mit einem Statuscode, der das Verhalten von WES steuert.

2. Managed vs. Unmanaged Quittierung

Für jeden Quittierungszeitpunkt gibt es zwei Varianten, die projektspezifisch in identpro WES konfiguriert werden:

▶ Managed Quittierung (TOCO)

WES sendet eine strukturierte Quittierungsnachricht (TOCO) an das LVS. Das LVS validiert die Quittierung (z. B. Ladungs-ID, Material, Lokator) und antwortet mit einem Statuscode. Bei Fehler (stCode=1) wird die Fehlermeldung an den Fahrer weitergeleitet.

▶ Unmanaged Quittierung (SUMO)

WES sendet eine einfache Statusmeldung (SUMO) an das LVS. Das LVS erhält nur den neuen Ladungsstatus (in_transfer oder stocked), ohne auftragsspezifische Validierung durch das LVS. SUMO wird auch gesendet, wenn die aufgenommene Ladung nicht zum Auftrag passt.

3. Endpunkte (LVS-seitig)

NachrichtMethodePfad (LVS)Zeitpunkt
TOCOPUT /wms/idptoco Managed Aufnahme- oder Absetzquittierung
SUMOPUT /wms/idpsumo Unmanaged Quittierung oder Ladung passt nicht zum Auftrag
Konfigurationsabhängigkeit:
Welche Quittierungsart (Managed/Unmanaged) und zu welchem Zeitpunkt (Aufnahme / Absetzen / beides) verwendet wird, ist projektspezifisch in identpro WES konfiguriert. Die nachfolgende Prozessbeschreibung zeigt den vollständigen Ablauf mit allen möglichen Pfaden.

4. Prozessablauf

Phase 1 – Aufnahme der Ladung
1Fahrauftrag wurde angelegt und einem Stapler zugewiesen. Fahrer wird in identpro WES zur Ladung navigiert.
2Fahrer nimmt Ladung auf. WES erkennt die Aufnahme und prüft, ob die Ladung zum Auftrag passt (Ladungs-ID, Material, Aufnahmeort).
Ladung passt zum Auftrag → WES sendet TOCO (conlev: "1") an das LVS.
Konfiguration: Versand von TOCO kann deaktiviert werden – dann keine Meldung an LVS.
• stCode=0: Auftrag geht in Fortschritt "Beladen". ✓
• stCode=1: Fehlermeldung wird dem Fahrer angezeigt.
• stCode=2: Fehler wird still verarbeitet, Fahrer sieht nichts.
• stCode=3: WES zeigt dem Stapler eine konfigurierbare Meldung (sftxt) an, ohne den Auftrag abzubrechen.
Ladung passt nicht zum Auftrag → WES sendet SUMO (lestatus: "IN_TRANSFER") an das LVS. Dem Fahrer wird "Falsche Ladung" angezeigt.
Konfiguration: Versand von SUMO kann deaktiviert werden – dann keine Meldung an LVS.
Phase 2 – Absetzen am Zielort
3Fahrer wird zum Zielort navigiert und setzt die Ladung ab. WES prüft, ob der Absetzort dem Zielort (topla) im Auftrag entspricht.
Absetzort entspricht dem Zielort im Auftrag → WES sendet TOCO (conlev: "2") an das LVS.
Konfiguration: Versand von TOCO kann deaktiviert werden – dann keine Meldung an LVS.
• stCode=0: Auftrag → "COMPLETED", Ladung → "Eingelagert". ✓
• stCode=1: Fehlermeldung wird dem Fahrer angezeigt.
• stCode=2: Fehler wird still verarbeitet.
• stCode=3: WES zeigt dem Stapler eine konfigurierbare Meldung (sftxt) an, ohne den Auftrag abzubrechen.
Absetzort weicht vom Zielort ab → WES sendet SUMO (lestatus: "STOCKED") an das LVS. Das LVS wird über den tatsächlichen Ablageort informiert.
Konfiguration: Versand von SUMO kann deaktiviert werden – dann keine Meldung an LVS.
Sonderfall – nur Absetzquittierung (kein TOCO conlev=1 konfiguriert):
Ist der Versand von TOCO bei Aufnahme deaktiviert, sendet WES beim Absetzen TOCO mit conlev: "X" (einfache Freigabebestätigung statt conlev: "2").

5. TOCO – Transport Order Confirmation

► WES → LVS

Endpunkt (LVS-seitig)

MethodePUT
Pfad/wms/idptoco
Content-Typeapplication/json

Felder

FeldTypPflichtBeschreibung
tanumStringPflichtID des Transportauftrags
lenumStringPflichtID der tatsächlich transportierten Ladung
truckStringPflichtID des ausführenden Staplers
plaStringPflichtLocation der Aufnahme oder des Absetzens (je nach conlev)
conlevStringPflichtQuittierungsebene (s. u.)

Werte für conlev

WertBedeutung
"1"Aufnahmequittierung – Fahrer hat Ladung aufgenommen; pla = Aufnahmeort
"2"Absetzquittierung – Fahrer hat Ladung abgesetzt (wenn Aufnahmequittierung aktiv); pla = Absetzort
"X"Einfache Freigabebestätigung – nur Absetzquittierung ohne Aufnahmequittierung; pla = Absetzort

Beispiel – Aufnahmequittierung (conlev="1")

{
  "tanum": "TransportOrder 1234",
  "lenum": "LE-4711",
  "truck": "Truck 1",
  "pla":   "Bin 0815",
  "conlev":"1"
}

Beispiel – Absetzquittierung (conlev="2")

{
  "tanum": "TransportOrder 1234",
  "lenum": "LE-4711",
  "truck": "Truck 1",
  "pla":   "Bin 0816",
  "conlev":"2"
}

6. SUMO – Status Update Message

► WES → LVS

Endpunkt (LVS-seitig)

MethodePUT
Pfad/wms/idpsumo
Content-Typeapplication/json

Felder

FeldTypPflichtBeschreibung
lenumStringPflichtID der Ladung
truckStringPflichtID des ausführenden Staplers
lgplaStringPflichtLocation der Statusänderung (Aufnahme- oder Absetzort)
lestatusEnumPflichtNeuer Ladungsstatus (s. u.)
toplaStringOptional@Deprecated – Bitte stattdessen lgpla verwenden. Ursprünglich für den Zielort genutzt.

Werte für lestatus

WertBedeutung / Zeitpunkt
"IN_TRANSFER"Ladung wurde aufgenommen und befindet sich im Transport. Wird bei unmanaged Aufnahmequittierung oder bei falscher Ladung gesendet.
"STOCKED"Ladung wurde an einer Location abgesetzt und ist eingelagert. Wird bei unmanaged Absetzquittierung gesendet.
"STOCKING"Ladung befindet sich im Absetzvorgang (Zwischenstatus zwischen Aufnahme und Absetzen).
"REMOVED"Ladung wurde aus dem Lager entnommen / ausgelagert.
"CANCELED"Ladung wurde storniert.

Beispiel – Unmanaged Aufnahme / Falsche Ladung

{
  "lenum":    "LE-4711",
  "truck":    "Truck 1",
  "lgpla":    "Bin 0815",
  "lestatus": "IN_TRANSFER"
}

Beispiel – Unmanaged Absetzen

{
  "lenum":    "LE-4711",
  "truck":    "Truck 1",
  "lgpla":    "Bin 0816",
  "lestatus": "STOCKED"
}

7. Response – Antwort des LVS

Das LVS antwortet auf jeden TOCO- und SUMO-Request mit einer Response. Der stCode steuert das Verhalten von identpro WES und damit, was der Fahrer auf seinem Terminal sieht:

stCodeBedeutungVerhalten in identpro WES
0 Erfolg Quittierung wurde LVS-seitig erfolgreich verarbeitet. WES setzt den Prozess fort (nächster Schritt für den Fahrer).
1 Fehler – Fahrer informieren Quittierung konnte nicht verarbeitet werden. WES zeigt dem Fahrer den Inhalt von sftxt als Fehlermeldung auf dem Terminal an.
2 Fehler – still verarbeiten Quittierung konnte nicht verarbeitet werden. Der Fahrer wird nicht informiert. WES verarbeitet den Fehler intern ohne Fahrerinteraktion.

Beispiel – Erfolg (stCode=0)

✓ Response OK
{
  "status": "OK",
  "stCode": 0,
  "sftxt":  "OK"
}

Beispiel – Fehler mit Fahreranzeige (stCode=1)

✗ Response FAIL – Fahrer wird informiert
{
  "status": "FAIL",
  "stCode": 1,
  "sftxt":  "Falsche Ladung – bitte korrekte HU aufnehmen."
}

8. Hinweise

SUMO bei falscher Ladung:
Erkennt WES, dass die aufgenommene Ladung nicht zum Auftrag passt (falsche Ladungs-ID, falsches Material, falscher Aufnahmeort), sendet WES zunächst ein SUMO mit lestatus: "IN_TRANSFER" an das LVS, um den tatsächlichen Status der Ladung zu kommunizieren. Dem Fahrer wird anschließend eine Fehlermeldung angezeigt.
Inhalt von sftxt (stCode=1):
Bei stCode=1 wird der Text aus sftxt direkt auf dem Stapler-Terminal des Fahrers angezeigt. Das LVS sollte hier eine klare, fahrerverständliche Fehlerbeschreibung liefern (z. B. "Falsche Ladung", "Zielplatz gesperrt").
Listenendpunkte:
Neben den Einzelendpunkten stehen auch List-Varianten zur Verfügung: /wms/idptocos (mehrere TOCO-Objekte) und /wms/idpsumos (mehrere SUMO-Objekte) als JSON-Array.
Statusübergänge der Ladung:
EreignisNachrichtNeuer Ladungsstatus
Aufnahme (Managed)TOCO conlev="1", stCode=0In Transfer + Auftrag "In Bearbeitung"
Aufnahme (Unmanaged)SUMO lestatus=IN_TRANSFERIn Transfer
Falsche LadungSUMO lestatus=IN_TRANSFERIn Transfer (falsche HU)
Absetzen (Managed)TOCO conlev="2"/"X", stCode=0Eingelagert + Auftrag "COMPLETED"
Absetzen (Unmanaged)SUMO lestatus=STOCKEDEingelagert

Batch-Varianten

Für beide Interfaces stehen Batch-Endpoints bereit, die eine Liste von Objekten in einem einzigen Request verarbeiten:

idpTocos – mehrere TOCO in einem Request

WES → WMS   PUT /wms/idptocos

Sendet eine Liste von TOCO-Objekten. Das WMS muss den Endpoint PUT /wms/idptocos implementieren und ein TocoList-Objekt mit dem Feld tocos (Array of Toco) erwarten.

{
  "tocos": [
    { "lenum": "LE-001", "truck": "T-01", "conlev": "X", "tanum": "TA-001", "pla": "Loc-A" },
    { "lenum": "LE-002", "truck": "T-01", "conlev": "2", "tanum": "TA-002", "pla": "Loc-B" }
  ]
}

idpSumos – mehrere SUMO in einem Request

WES → WMS   PUT /wms/idpsumos

Sendet eine Liste von SUMO-Objekten. Das WMS muss den Endpoint PUT /wms/idpsumos implementieren und ein SumoList-Objekt mit dem Feld sumos (Array of Sumo) erwarten.

{
  "sumos": [
    { "lenum": "LE-001", "truck": "T-01", "lgpla": "Regal-A-01", "lestatus": "STOCKED" },
    { "lenum": "LE-002", "truck": "T-01", "lgpla": "Regal-B-07", "lestatus": "STOCKED" }
  ]
}