Table of Contents

Class MovementDocumentHandler

Namespace
Zedal.Sdk.DocumentHandler
Assembly
Zedal.Sdk.dll

Stateful Handler für die Unternehmens-Seite eines einzelnen DIWASS-Bewegungsdokuments im Rahmen einer genehmigten Notifizierung (Art. 16 VO (EU) 2024/1157). Ein Handler entspricht genau einer physischen Transportbewegung.

Behördenaktionen auf Bewegungsebene (Rücknahme-Anordnung, Bewegungssignale) liegen in AuthorityMovementDocumentHandler.

public class MovementDocumentHandler : DiwassDocumentHandlerBase
Inheritance
MovementDocumentHandler
Inherited Members

Examples

Movement-Template auf einer konsentierten Notifizierung anlegen und an DIWASS übermitteln (Company-Rolle):

var handler = client.DocumentHandler.CreateMovementHandler();

await handler.CreateMovementTemplate(template);   // Template-Aufbau: siehe Developer-Guide
await handler.SaveToZedal();
await handler.SendToDiwass();

// Die DIWASS-MovementId (Format <NotificationId>.000001MOV) steht in handler.DiwassNotificationId.
// Die SequenceNumber fürs Template vorab mit handler.GetNextSequenceNumber(notificationId)
// ermitteln — es gibt keinen serverseitigen Reservierungsweg.

Constructors

MovementDocumentHandler(ICompanyDocumentApi, IAuthorityDocumentApi, ICoreApi)

Properties

Movement

Aktueller zewass-Movement-Stand (mit ZEDAL-Ergänzungen). Wird nach jedem Set/Create/Refresh aktualisiert.

Methods

CreateMovementTemplate(MovementTemplateType, ZedalCallContext)

Erstellt ein neues Bewegungsdokument-Template für eine einzelne Sendung (kein DocXml erforderlich).

LoadFromZedalByMovementId(string, ZedalCallContext)

Lädt das ZEDAL-Doc zu einer fachlichen DIWASS-MovementId (z.B. DE0126005197i.000001MOV). Im DocumentEntry-Index liegt die MovementId unter sequence_number. Pro MovementId existiert genau ein ZEDAL-Doc; sämtliche Phasen (Announcement, CarrierTransport, ConsigneeReception, FacilityReception, FacilityCompletion) leben als BxA-Blocks darin.

Refresh(ZedalCallContext)

Lädt den aktuellen Dokumentstatus neu von der BXA API, ohne das XML zu verändern. Subklassen rufen den passenden typisierten GetNotification/GetAnnex7/GetMovement-Endpoint auf, pflegen ihre typisierte Property und delegieren die Common-Felder an UpdateCommonState(DiwassOperationResult).

SetCarrierTransport(CarrierTransportDocumentType, ZedalCallContext)

Erfasst die Transportdaten des Trägers für diese Sendung (Abfahrtsdatum, Route, Fahrzeugdaten, Trägerangaben).

SetConsigneeReception(ConsigneeReceptionDocumentType, ZedalCallContext)

Reicht die Empfangsbestätigung des Empfängers ein (innerhalb von 3 Werktagen nach Eingang der Abfälle).

SetFacilityCompletion(FacilityCompletionDocumentType, ZedalCallContext)

Reicht die Abschluss-Bescheinigung der Anlage nach erfolgter Verwertung/Entsorgung ein (innerhalb von 30 Tagen nach Abschluss, spätestens ein Kalenderjahr nach Eingang).

SetFacilityReception(FacilityReceptionDocumentType, ZedalCallContext)

Reicht die Empfangsbestätigung der Anlage ein, wenn Empfänger und Anlage verschieden sind (innerhalb von 3 Werktagen nach Eingang der Abfälle).

SetMovementTakeBack(MovementTakeBackDocumentType, ZedalCallContext)

Notifier-seitige Take-Back-Anordnung auf dem Movement (Rücknahme, typischerweise nach Facility-Rejection). Permission-Matrix erlaubt die Aktion auch dem Notifizierer; die zugrundeliegende BxA-RPC liegt aktuell nur auf der IAuthorityDocumentApi — bis die Company-API ein eigenes Gegenstück bekommt (siehe Ticket zedal-grpc-apis), delegieren wir hier auf denselben Endpoint. Übergangslösung analog zu SubmitNotificationSignal(NotificationSignalDocumentType, ZedalCallContext).

SetMovementTemplate(MovementTemplateType, ZedalCallContext)

Aktualisiert ein bestehendes Bewegungsdokument-Template (z.B. Korrekturen vor Transportbeginn).

SubmitMovementSignal(MovementSignalDocumentType, ZedalCallContext)

Notifier-seitiges Movement-Signal — typischerweise MovementCancelled (Stornierung einer laufenden Bewegung durch den Notifizierer). Lifecycle- Signale auf Notifizierungsebene (ProperlyCarriedOut, ProperlyCompleted) gehören dagegen ans Notification-Doc, nicht hier. Übergangslösung: Der BxA-Endpoint SubmitMovementSignal existiert aktuell nur auf der IAuthorityDocumentApi. Bis die Company-API ein eigenes Gegenstück bekommt, delegieren wir hier auf denselben Endpoint — parallel zu SubmitNotificationSignal(NotificationSignalDocumentType, ZedalCallContext).