// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "handlingunitInput.proto" (package "api", syntax proto3)
// tslint:disable
import { ServiceType } from "@protobuf-ts/runtime-rpc";
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import { WireType } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { reflectionMergePartial } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { ClaimSummary } from "./shared";
import { AttachmentSummary } from "./shared";
import { QuantifiedDatedGoodsByExeflow } from "./warehousingShared";
import { ETA } from "./tradeShared";
import { DateTime } from "./shared";
import { TrackingSummary } from "./transportShared";
import { ResponseHeader } from "./shared";
import { RequestProjectHeader } from "./shared";
import { EntityID } from "./shared";
import { EventHeader } from "./shared";
import { MetadataElement } from "./shared";
import { QuantifiedGoodsByExeflow } from "./warehousingShared";
import { HandlingunitInformation } from "./warehousingShared";
// 
// The first goal of this message is to provide the content of the Handlingunit in terms of Goods.
// 
// The second goal is to give the general information about the logisticUnit.
// 
// Comments updated 2021/02/17

/**
 * @generated from protobuf message api.HandlingunitGoodsPreparedPayload
 */
export interface HandlingunitGoodsPreparedPayload {
    /**
     * @generated from protobuf field: api.HandlingunitInformation Information = 1 [json_name = "Information"];
     */
    information?: HandlingunitInformation;
    /**
     * @generated from protobuf field: repeated api.QuantifiedGoodsByExeflow PreparedContents = 2 [json_name = "PreparedContents"];
     */
    preparedContents: QuantifiedGoodsByExeflow[];
    /**
     * Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)
     *
     * @generated from protobuf field: repeated api.MetadataElement MetaData = 3 [json_name = "MetaData"];
     */
    metaData: MetadataElement[];
}
/**
 * @generated from protobuf message api.HandlingunitGoodsPreparedEvent
 */
export interface HandlingunitGoodsPreparedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitGoodsPreparedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitGoodsPreparedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitGoodsPreparedRequest
 */
export interface HandlingunitGoodsPreparedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitGoodsPreparedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitGoodsPreparedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitGoodsPreparedResponse
 */
export interface HandlingunitGoodsPreparedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// Comments updated 2021/02/17

/**
 *
 * The first goal of this message is to give the content in terms of other Handlingunit placed into it.
 * For example you provide the Handlingunit ID of boxes placed on the current Pallet.
 *
 * The second goal is to provide the general information about the logisticUnit.
 *
 * @generated from protobuf message api.HandlingunitHUsAddedPayload
 */
export interface HandlingunitHUsAddedPayload {
    /**
     * @generated from protobuf field: api.HandlingunitInformation Information = 1 [json_name = "Information"];
     */
    information?: HandlingunitInformation;
    // bool ContainsHUs = 2 
    //    [
    //         (validate.rules).bool.const = true 
    //    ];

    /**
     * @generated from protobuf field: repeated string IncludedHandlingunitIDs = 3 [json_name = "IncludedHandlingunitIDs"];
     */
    includedHandlingunitIDs: string[];
    /**
     * Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)
     *
     * @generated from protobuf field: repeated api.MetadataElement MetaData = 4 [json_name = "MetaData"];
     */
    metaData: MetadataElement[];
}
/**
 * @generated from protobuf message api.HandlingunitHUsAddedEvent
 */
export interface HandlingunitHUsAddedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitHUsAddedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitHUsAddedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitHUsAddedRequest
 */
export interface HandlingunitHUsAddedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitHUsAddedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitHUsAddedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitHUsAddedResponse
 */
export interface HandlingunitHUsAddedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// This TrackingUpdated message provides the tracking summary coming from the transport entity.
// 
// 
// Comments updated 2021/02/16

/**
 * @generated from protobuf message api.HandlingunitTrackingUpdatedPayload
 */
export interface HandlingunitTrackingUpdatedPayload {
    /**
     * @generated from protobuf field: api.TrackingSummary CurrentTrackingSummary = 1 [json_name = "CurrentTrackingSummary"];
     */
    currentTrackingSummary?: TrackingSummary;
    /**
     * @generated from protobuf field: repeated string TrackingIDs = 2 [json_name = "TrackingIDs"];
     */
    trackingIDs: string[];
    /**
     * @generated from protobuf field: api.DateTime DispatchedDateTime = 10 [json_name = "DispatchedDateTime"];
     */
    dispatchedDateTime?: DateTime;
}
/**
 * @generated from protobuf message api.HandlingunitTrackingUpdatedEvent
 */
export interface HandlingunitTrackingUpdatedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitTrackingUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitTrackingUpdatedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitTrackingUpdatedRequest
 */
export interface HandlingunitTrackingUpdatedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitTrackingUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitTrackingUpdatedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitTrackingUpdatedResponse
 */
export interface HandlingunitTrackingUpdatedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// This ETAUpdated message provides the ETA updated
// 
// Comments updated 2024/01/09

/**
 * @generated from protobuf message api.HandlingunitETAUpdatedPayload
 */
export interface HandlingunitETAUpdatedPayload {
    /**
     * @generated from protobuf field: api.ETA HandlingunitETA = 1 [json_name = "HandlingunitETA"];
     */
    handlingunitETA?: ETA;
}
/**
 * @generated from protobuf message api.HandlingunitETAUpdatedEvent
 */
export interface HandlingunitETAUpdatedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitETAUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitETAUpdatedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitETAUpdatedRequest
 */
export interface HandlingunitETAUpdatedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitETAUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitETAUpdatedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitETAUpdatedResponse
 */
export interface HandlingunitETAUpdatedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// This TrackingETAUpdated message provides the ETA updated from the transport entity.
// 
// Comments updated 2024/01/09

/**
 * @generated from protobuf message api.HandlingunitTrackingETAUpdatedPayload
 */
export interface HandlingunitTrackingETAUpdatedPayload {
    /**
     * @generated from protobuf field: api.ETA TrackingETA = 1 [json_name = "TrackingETA"];
     */
    trackingETA?: ETA;
}
/**
 * @generated from protobuf message api.HandlingunitTrackingETAUpdatedEvent
 */
export interface HandlingunitTrackingETAUpdatedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitTrackingETAUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitTrackingETAUpdatedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitTrackingETAUpdatedRequest
 */
export interface HandlingunitTrackingETAUpdatedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitTrackingETAUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitTrackingETAUpdatedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitTrackingETAUpdatedResponse
 */
export interface HandlingunitTrackingETAUpdatedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// This message provides the DispatchedDateTime for the HU ; this date will be used for the generated stock move
// 
// Comments updated 2023/05/22

/**
 * @generated from protobuf message api.HandlingunitDispatchedPayload
 */
export interface HandlingunitDispatchedPayload {
}
/**
 * @generated from protobuf message api.HandlingunitDispatchedEvent
 */
export interface HandlingunitDispatchedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitDispatchedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitDispatchedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitDispatchedRequest
 */
export interface HandlingunitDispatchedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitDispatchedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitDispatchedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitDispatchedResponse
 */
export interface HandlingunitDispatchedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// GoodsReceived : this message tells that the handlingUnit is opened and goods are received
// goods are written as received in the Handlingunit in the context of a specified executionflow

/**
 * @generated from protobuf message api.HandlingunitGoodsReceivedPayload
 */
export interface HandlingunitGoodsReceivedPayload {
    /**
     * @generated from protobuf field: repeated api.QuantifiedDatedGoodsByExeflow ReceivedContents = 1 [json_name = "ReceivedContents"];
     */
    receivedContents: QuantifiedDatedGoodsByExeflow[];
}
/**
 * @generated from protobuf message api.HandlingunitGoodsReceivedEvent
 */
export interface HandlingunitGoodsReceivedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitGoodsReceivedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitGoodsReceivedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitGoodsReceivedRequest
 */
export interface HandlingunitGoodsReceivedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitGoodsReceivedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitGoodsReceivedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitGoodsReceivedResponse
 */
export interface HandlingunitGoodsReceivedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// AttachmentAdded : this message tells that an attachment is added for the handlingUnit

/**
 * @generated from protobuf message api.HandlingunitAttachmentAddedPayload
 */
export interface HandlingunitAttachmentAddedPayload {
    /**
     * @generated from protobuf field: repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"];
     */
    attachments: AttachmentSummary[];
}
/**
 * @generated from protobuf message api.HandlingunitAttachmentAddedEvent
 */
export interface HandlingunitAttachmentAddedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitAttachmentAddedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitAttachmentAddedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitAttachmentAddedRequest
 */
export interface HandlingunitAttachmentAddedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitAttachmentAddedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitAttachmentAddedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitAttachmentAddedResponse
 */
export interface HandlingunitAttachmentAddedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// AttachmentRemoved : this message tells that an attachment is removed for the handlingUnit

/**
 * @generated from protobuf message api.HandlingunitAttachmentRemovedPayload
 */
export interface HandlingunitAttachmentRemovedPayload {
    /**
     * @generated from protobuf field: repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"];
     */
    attachments: AttachmentSummary[];
}
/**
 * @generated from protobuf message api.HandlingunitAttachmentRemovedEvent
 */
export interface HandlingunitAttachmentRemovedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitAttachmentRemovedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitAttachmentRemovedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitAttachmentRemovedRequest
 */
export interface HandlingunitAttachmentRemovedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitAttachmentRemovedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitAttachmentRemovedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitAttachmentRemovedResponse
 */
export interface HandlingunitAttachmentRemovedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// MetadataUpdated : this message tells that a metadata is updated for the handlingUnit

/**
 * @generated from protobuf message api.HandlingunitMetaDataUpdatedPayload
 */
export interface HandlingunitMetaDataUpdatedPayload {
    /**
     * @generated from protobuf field: repeated api.MetadataElement MetaData = 6 [json_name = "MetaData"];
     */
    metaData: MetadataElement[];
}
/**
 * @generated from protobuf message api.HandlingunitMetaDataUpdatedEvent
 */
export interface HandlingunitMetaDataUpdatedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitMetaDataUpdatedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitMetaDataUpdatedRequest
 */
export interface HandlingunitMetaDataUpdatedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitMetaDataUpdatedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitMetaDataUpdatedResponse
 */
export interface HandlingunitMetaDataUpdatedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// ParentHUUpdated : this message tells that a metadata is updated for the handlingUnit

/**
 * @generated from protobuf message api.HandlingunitParentHUUpdatedPayload
 */
export interface HandlingunitParentHUUpdatedPayload {
    /**
     * @generated from protobuf field: string ParentHU = 1 [json_name = "ParentHU"];
     */
    parentHU: string;
}
/**
 * @generated from protobuf message api.HandlingunitParentHUUpdatedEvent
 */
export interface HandlingunitParentHUUpdatedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitParentHUUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitParentHUUpdatedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitParentHUUpdatedRequest
 */
export interface HandlingunitParentHUUpdatedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitParentHUUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitParentHUUpdatedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitParentHUUpdatedResponse
 */
export interface HandlingunitParentHUUpdatedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// ClaimAdded : this message tells that a claim is added for the Handlingunit

/**
 * @generated from protobuf message api.HandlingunitClaimAddedPayload
 */
export interface HandlingunitClaimAddedPayload {
    /**
     * @generated from protobuf field: repeated api.ClaimSummary Claims = 1 [json_name = "Claims"];
     */
    claims: ClaimSummary[];
}
/**
 * @generated from protobuf message api.HandlingunitClaimAddedEvent
 */
export interface HandlingunitClaimAddedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitClaimAddedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitClaimAddedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitClaimAddedRequest
 */
export interface HandlingunitClaimAddedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitClaimAddedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitClaimAddedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitClaimAddedResponse
 */
export interface HandlingunitClaimAddedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// ReadyToBeCollected : this message tells that the Handlingunit is ready to be collected (status change)

/**
 * @generated from protobuf message api.HandlingunitReadyToBeCollectedPayload
 */
export interface HandlingunitReadyToBeCollectedPayload {
}
/**
 * @generated from protobuf message api.HandlingunitReadyToBeCollectedEvent
 */
export interface HandlingunitReadyToBeCollectedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitReadyToBeCollectedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitReadyToBeCollectedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitReadyToBeCollectedRequest
 */
export interface HandlingunitReadyToBeCollectedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitReadyToBeCollectedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitReadyToBeCollectedPayload;
}
/**
 * @generated from protobuf message api.HandlingunitReadyToBeCollectedResponse
 */
export interface HandlingunitReadyToBeCollectedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
/**
 * Event Payload
 *
 * @generated from protobuf message api.HandlingunitDeletedPayload
 */
export interface HandlingunitDeletedPayload {
}
/**
 * Event message
 *
 * @generated from protobuf message api.HandlingunitDeletedEvent
 */
export interface HandlingunitDeletedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitDeletedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitDeletedPayload;
}
/**
 * API Request
 *
 * @generated from protobuf message api.HandlingunitDeletedRequest
 */
export interface HandlingunitDeletedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.HandlingunitDeletedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: HandlingunitDeletedPayload;
}
/**
 * API Response
 *
 * @generated from protobuf message api.HandlingunitDeletedResponse
 */
export interface HandlingunitDeletedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitGoodsPreparedPayload$Type extends MessageType<HandlingunitGoodsPreparedPayload> {
    constructor() {
        super("api.HandlingunitGoodsPreparedPayload", [
            { no: 1, name: "Information", kind: "message", jsonName: "Information", T: () => HandlingunitInformation },
            { no: 2, name: "PreparedContents", kind: "message", jsonName: "PreparedContents", repeat: 1 /*RepeatType.PACKED*/, T: () => QuantifiedGoodsByExeflow, options: { "validate.rules": { repeated: { minItems: "1" } } } },
            { no: 3, name: "MetaData", kind: "message", jsonName: "MetaData", repeat: 1 /*RepeatType.PACKED*/, T: () => MetadataElement, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)" }, "api.metadata": true, "api.aggKey": "Key" } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "GoodsPrepared" });
    }
    create(value?: PartialMessage<HandlingunitGoodsPreparedPayload>): HandlingunitGoodsPreparedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.preparedContents = [];
        message.metaData = [];
        if (value !== undefined)
            reflectionMergePartial<HandlingunitGoodsPreparedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitGoodsPreparedPayload): HandlingunitGoodsPreparedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.HandlingunitInformation Information = 1 [json_name = "Information"];*/ 1:
                    message.information = HandlingunitInformation.internalBinaryRead(reader, reader.uint32(), options, message.information);
                    break;
                case /* repeated api.QuantifiedGoodsByExeflow PreparedContents = 2 [json_name = "PreparedContents"];*/ 2:
                    message.preparedContents.push(QuantifiedGoodsByExeflow.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                case /* repeated api.MetadataElement MetaData = 3 [json_name = "MetaData"];*/ 3:
                    message.metaData.push(MetadataElement.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitGoodsPreparedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.HandlingunitInformation Information = 1 [json_name = "Information"]; */
        if (message.information)
            HandlingunitInformation.internalBinaryWrite(message.information, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* repeated api.QuantifiedGoodsByExeflow PreparedContents = 2 [json_name = "PreparedContents"]; */
        for (let i = 0; i < message.preparedContents.length; i++)
            QuantifiedGoodsByExeflow.internalBinaryWrite(message.preparedContents[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* repeated api.MetadataElement MetaData = 3 [json_name = "MetaData"]; */
        for (let i = 0; i < message.metaData.length; i++)
            MetadataElement.internalBinaryWrite(message.metaData[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitGoodsPreparedPayload
 */
export const HandlingunitGoodsPreparedPayload = new HandlingunitGoodsPreparedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitGoodsPreparedEvent$Type extends MessageType<HandlingunitGoodsPreparedEvent> {
    constructor() {
        super("api.HandlingunitGoodsPreparedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitGoodsPreparedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "GoodsPrepared", "api.postAggMethods": "setContainsGoodsFlag,computePreparedContents", "api.preAggMethods": "setStockMovementGeneratedFlags" });
    }
    create(value?: PartialMessage<HandlingunitGoodsPreparedEvent>): HandlingunitGoodsPreparedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitGoodsPreparedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitGoodsPreparedEvent): HandlingunitGoodsPreparedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitGoodsPreparedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitGoodsPreparedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitGoodsPreparedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitGoodsPreparedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitGoodsPreparedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitGoodsPreparedEvent
 */
export const HandlingunitGoodsPreparedEvent = new HandlingunitGoodsPreparedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitGoodsPreparedRequest$Type extends MessageType<HandlingunitGoodsPreparedRequest> {
    constructor() {
        super("api.HandlingunitGoodsPreparedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitGoodsPreparedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "GoodsPrepared" });
    }
    create(value?: PartialMessage<HandlingunitGoodsPreparedRequest>): HandlingunitGoodsPreparedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitGoodsPreparedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitGoodsPreparedRequest): HandlingunitGoodsPreparedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitGoodsPreparedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitGoodsPreparedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitGoodsPreparedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitGoodsPreparedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitGoodsPreparedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitGoodsPreparedRequest
 */
export const HandlingunitGoodsPreparedRequest = new HandlingunitGoodsPreparedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitGoodsPreparedResponse$Type extends MessageType<HandlingunitGoodsPreparedResponse> {
    constructor() {
        super("api.HandlingunitGoodsPreparedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "GoodsPrepared" });
    }
    create(value?: PartialMessage<HandlingunitGoodsPreparedResponse>): HandlingunitGoodsPreparedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitGoodsPreparedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitGoodsPreparedResponse): HandlingunitGoodsPreparedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitGoodsPreparedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitGoodsPreparedResponse
 */
export const HandlingunitGoodsPreparedResponse = new HandlingunitGoodsPreparedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitHUsAddedPayload$Type extends MessageType<HandlingunitHUsAddedPayload> {
    constructor() {
        super("api.HandlingunitHUsAddedPayload", [
            { no: 1, name: "Information", kind: "message", jsonName: "Information", T: () => HandlingunitInformation },
            { no: 3, name: "IncludedHandlingunitIDs", kind: "scalar", jsonName: "IncludedHandlingunitIDs", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { repeated: { minItems: "1" } } } },
            { no: 4, name: "MetaData", kind: "message", jsonName: "MetaData", repeat: 1 /*RepeatType.PACKED*/, T: () => MetadataElement, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)" }, "api.metadata": true, "api.aggKey": "Key" } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "HUsAdded" });
    }
    create(value?: PartialMessage<HandlingunitHUsAddedPayload>): HandlingunitHUsAddedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.includedHandlingunitIDs = [];
        message.metaData = [];
        if (value !== undefined)
            reflectionMergePartial<HandlingunitHUsAddedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitHUsAddedPayload): HandlingunitHUsAddedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.HandlingunitInformation Information = 1 [json_name = "Information"];*/ 1:
                    message.information = HandlingunitInformation.internalBinaryRead(reader, reader.uint32(), options, message.information);
                    break;
                case /* repeated string IncludedHandlingunitIDs = 3 [json_name = "IncludedHandlingunitIDs"];*/ 3:
                    message.includedHandlingunitIDs.push(reader.string());
                    break;
                case /* repeated api.MetadataElement MetaData = 4 [json_name = "MetaData"];*/ 4:
                    message.metaData.push(MetadataElement.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitHUsAddedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.HandlingunitInformation Information = 1 [json_name = "Information"]; */
        if (message.information)
            HandlingunitInformation.internalBinaryWrite(message.information, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* repeated string IncludedHandlingunitIDs = 3 [json_name = "IncludedHandlingunitIDs"]; */
        for (let i = 0; i < message.includedHandlingunitIDs.length; i++)
            writer.tag(3, WireType.LengthDelimited).string(message.includedHandlingunitIDs[i]);
        /* repeated api.MetadataElement MetaData = 4 [json_name = "MetaData"]; */
        for (let i = 0; i < message.metaData.length; i++)
            MetadataElement.internalBinaryWrite(message.metaData[i], writer.tag(4, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitHUsAddedPayload
 */
export const HandlingunitHUsAddedPayload = new HandlingunitHUsAddedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitHUsAddedEvent$Type extends MessageType<HandlingunitHUsAddedEvent> {
    constructor() {
        super("api.HandlingunitHUsAddedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitHUsAddedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "HUsAdded", "api.postAggMethods": "setContainsHUFlag" });
    }
    create(value?: PartialMessage<HandlingunitHUsAddedEvent>): HandlingunitHUsAddedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitHUsAddedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitHUsAddedEvent): HandlingunitHUsAddedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitHUsAddedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitHUsAddedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitHUsAddedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitHUsAddedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitHUsAddedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitHUsAddedEvent
 */
export const HandlingunitHUsAddedEvent = new HandlingunitHUsAddedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitHUsAddedRequest$Type extends MessageType<HandlingunitHUsAddedRequest> {
    constructor() {
        super("api.HandlingunitHUsAddedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitHUsAddedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "HUsAdded" });
    }
    create(value?: PartialMessage<HandlingunitHUsAddedRequest>): HandlingunitHUsAddedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitHUsAddedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitHUsAddedRequest): HandlingunitHUsAddedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitHUsAddedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitHUsAddedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitHUsAddedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitHUsAddedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitHUsAddedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitHUsAddedRequest
 */
export const HandlingunitHUsAddedRequest = new HandlingunitHUsAddedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitHUsAddedResponse$Type extends MessageType<HandlingunitHUsAddedResponse> {
    constructor() {
        super("api.HandlingunitHUsAddedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "HUsAdded" });
    }
    create(value?: PartialMessage<HandlingunitHUsAddedResponse>): HandlingunitHUsAddedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitHUsAddedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitHUsAddedResponse): HandlingunitHUsAddedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitHUsAddedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitHUsAddedResponse
 */
export const HandlingunitHUsAddedResponse = new HandlingunitHUsAddedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitTrackingUpdatedPayload$Type extends MessageType<HandlingunitTrackingUpdatedPayload> {
    constructor() {
        super("api.HandlingunitTrackingUpdatedPayload", [
            { no: 1, name: "CurrentTrackingSummary", kind: "message", jsonName: "CurrentTrackingSummary", T: () => TrackingSummary },
            { no: 2, name: "TrackingIDs", kind: "scalar", jsonName: "TrackingIDs", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
            { no: 10, name: "DispatchedDateTime", kind: "message", jsonName: "DispatchedDateTime", T: () => DateTime }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "TrackingUpdated" });
    }
    create(value?: PartialMessage<HandlingunitTrackingUpdatedPayload>): HandlingunitTrackingUpdatedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.trackingIDs = [];
        if (value !== undefined)
            reflectionMergePartial<HandlingunitTrackingUpdatedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitTrackingUpdatedPayload): HandlingunitTrackingUpdatedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.TrackingSummary CurrentTrackingSummary = 1 [json_name = "CurrentTrackingSummary"];*/ 1:
                    message.currentTrackingSummary = TrackingSummary.internalBinaryRead(reader, reader.uint32(), options, message.currentTrackingSummary);
                    break;
                case /* repeated string TrackingIDs = 2 [json_name = "TrackingIDs"];*/ 2:
                    message.trackingIDs.push(reader.string());
                    break;
                case /* api.DateTime DispatchedDateTime = 10 [json_name = "DispatchedDateTime"];*/ 10:
                    message.dispatchedDateTime = DateTime.internalBinaryRead(reader, reader.uint32(), options, message.dispatchedDateTime);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitTrackingUpdatedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.TrackingSummary CurrentTrackingSummary = 1 [json_name = "CurrentTrackingSummary"]; */
        if (message.currentTrackingSummary)
            TrackingSummary.internalBinaryWrite(message.currentTrackingSummary, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* repeated string TrackingIDs = 2 [json_name = "TrackingIDs"]; */
        for (let i = 0; i < message.trackingIDs.length; i++)
            writer.tag(2, WireType.LengthDelimited).string(message.trackingIDs[i]);
        /* api.DateTime DispatchedDateTime = 10 [json_name = "DispatchedDateTime"]; */
        if (message.dispatchedDateTime)
            DateTime.internalBinaryWrite(message.dispatchedDateTime, writer.tag(10, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitTrackingUpdatedPayload
 */
export const HandlingunitTrackingUpdatedPayload = new HandlingunitTrackingUpdatedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitTrackingUpdatedEvent$Type extends MessageType<HandlingunitTrackingUpdatedEvent> {
    constructor() {
        super("api.HandlingunitTrackingUpdatedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitTrackingUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "TrackingUpdated", "api.postAggMethods": "defineHUInformation,deduplicateTrackingIDs", "api.preAggMethods": "setStockMovementGeneratedFlags,aggTrackingSummaryUnderCondition" });
    }
    create(value?: PartialMessage<HandlingunitTrackingUpdatedEvent>): HandlingunitTrackingUpdatedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitTrackingUpdatedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitTrackingUpdatedEvent): HandlingunitTrackingUpdatedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitTrackingUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitTrackingUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitTrackingUpdatedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitTrackingUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitTrackingUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitTrackingUpdatedEvent
 */
export const HandlingunitTrackingUpdatedEvent = new HandlingunitTrackingUpdatedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitTrackingUpdatedRequest$Type extends MessageType<HandlingunitTrackingUpdatedRequest> {
    constructor() {
        super("api.HandlingunitTrackingUpdatedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitTrackingUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "TrackingUpdated" });
    }
    create(value?: PartialMessage<HandlingunitTrackingUpdatedRequest>): HandlingunitTrackingUpdatedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitTrackingUpdatedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitTrackingUpdatedRequest): HandlingunitTrackingUpdatedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitTrackingUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitTrackingUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitTrackingUpdatedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitTrackingUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitTrackingUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitTrackingUpdatedRequest
 */
export const HandlingunitTrackingUpdatedRequest = new HandlingunitTrackingUpdatedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitTrackingUpdatedResponse$Type extends MessageType<HandlingunitTrackingUpdatedResponse> {
    constructor() {
        super("api.HandlingunitTrackingUpdatedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "TrackingUpdated" });
    }
    create(value?: PartialMessage<HandlingunitTrackingUpdatedResponse>): HandlingunitTrackingUpdatedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitTrackingUpdatedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitTrackingUpdatedResponse): HandlingunitTrackingUpdatedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitTrackingUpdatedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitTrackingUpdatedResponse
 */
export const HandlingunitTrackingUpdatedResponse = new HandlingunitTrackingUpdatedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitETAUpdatedPayload$Type extends MessageType<HandlingunitETAUpdatedPayload> {
    constructor() {
        super("api.HandlingunitETAUpdatedPayload", [
            { no: 1, name: "HandlingunitETA", kind: "message", jsonName: "HandlingunitETA", T: () => ETA, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "ETAUpdated" });
    }
    create(value?: PartialMessage<HandlingunitETAUpdatedPayload>): HandlingunitETAUpdatedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitETAUpdatedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitETAUpdatedPayload): HandlingunitETAUpdatedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ETA HandlingunitETA = 1 [json_name = "HandlingunitETA"];*/ 1:
                    message.handlingunitETA = ETA.internalBinaryRead(reader, reader.uint32(), options, message.handlingunitETA);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitETAUpdatedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ETA HandlingunitETA = 1 [json_name = "HandlingunitETA"]; */
        if (message.handlingunitETA)
            ETA.internalBinaryWrite(message.handlingunitETA, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitETAUpdatedPayload
 */
export const HandlingunitETAUpdatedPayload = new HandlingunitETAUpdatedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitETAUpdatedEvent$Type extends MessageType<HandlingunitETAUpdatedEvent> {
    constructor() {
        super("api.HandlingunitETAUpdatedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitETAUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "ETAUpdated", "api.postAggMethods": "computeETAs", "api.preAggMethods": "setETAActualDate" });
    }
    create(value?: PartialMessage<HandlingunitETAUpdatedEvent>): HandlingunitETAUpdatedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitETAUpdatedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitETAUpdatedEvent): HandlingunitETAUpdatedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitETAUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitETAUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitETAUpdatedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitETAUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitETAUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitETAUpdatedEvent
 */
export const HandlingunitETAUpdatedEvent = new HandlingunitETAUpdatedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitETAUpdatedRequest$Type extends MessageType<HandlingunitETAUpdatedRequest> {
    constructor() {
        super("api.HandlingunitETAUpdatedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitETAUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "ETAUpdated" });
    }
    create(value?: PartialMessage<HandlingunitETAUpdatedRequest>): HandlingunitETAUpdatedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitETAUpdatedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitETAUpdatedRequest): HandlingunitETAUpdatedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitETAUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitETAUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitETAUpdatedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitETAUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitETAUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitETAUpdatedRequest
 */
export const HandlingunitETAUpdatedRequest = new HandlingunitETAUpdatedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitETAUpdatedResponse$Type extends MessageType<HandlingunitETAUpdatedResponse> {
    constructor() {
        super("api.HandlingunitETAUpdatedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "ETAUpdated" });
    }
    create(value?: PartialMessage<HandlingunitETAUpdatedResponse>): HandlingunitETAUpdatedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitETAUpdatedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitETAUpdatedResponse): HandlingunitETAUpdatedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitETAUpdatedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitETAUpdatedResponse
 */
export const HandlingunitETAUpdatedResponse = new HandlingunitETAUpdatedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitTrackingETAUpdatedPayload$Type extends MessageType<HandlingunitTrackingETAUpdatedPayload> {
    constructor() {
        super("api.HandlingunitTrackingETAUpdatedPayload", [
            { no: 1, name: "TrackingETA", kind: "message", jsonName: "TrackingETA", T: () => ETA }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "TrackingETAUpdated" });
    }
    create(value?: PartialMessage<HandlingunitTrackingETAUpdatedPayload>): HandlingunitTrackingETAUpdatedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitTrackingETAUpdatedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitTrackingETAUpdatedPayload): HandlingunitTrackingETAUpdatedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ETA TrackingETA = 1 [json_name = "TrackingETA"];*/ 1:
                    message.trackingETA = ETA.internalBinaryRead(reader, reader.uint32(), options, message.trackingETA);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitTrackingETAUpdatedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ETA TrackingETA = 1 [json_name = "TrackingETA"]; */
        if (message.trackingETA)
            ETA.internalBinaryWrite(message.trackingETA, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitTrackingETAUpdatedPayload
 */
export const HandlingunitTrackingETAUpdatedPayload = new HandlingunitTrackingETAUpdatedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitTrackingETAUpdatedEvent$Type extends MessageType<HandlingunitTrackingETAUpdatedEvent> {
    constructor() {
        super("api.HandlingunitTrackingETAUpdatedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitTrackingETAUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "TrackingETAUpdated", "api.postAggMethods": "computeETAs", "api.preAggMethods": "setTrackingETAActualDate" });
    }
    create(value?: PartialMessage<HandlingunitTrackingETAUpdatedEvent>): HandlingunitTrackingETAUpdatedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitTrackingETAUpdatedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitTrackingETAUpdatedEvent): HandlingunitTrackingETAUpdatedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitTrackingETAUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitTrackingETAUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitTrackingETAUpdatedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitTrackingETAUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitTrackingETAUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitTrackingETAUpdatedEvent
 */
export const HandlingunitTrackingETAUpdatedEvent = new HandlingunitTrackingETAUpdatedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitTrackingETAUpdatedRequest$Type extends MessageType<HandlingunitTrackingETAUpdatedRequest> {
    constructor() {
        super("api.HandlingunitTrackingETAUpdatedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitTrackingETAUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "TrackingETAUpdated" });
    }
    create(value?: PartialMessage<HandlingunitTrackingETAUpdatedRequest>): HandlingunitTrackingETAUpdatedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitTrackingETAUpdatedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitTrackingETAUpdatedRequest): HandlingunitTrackingETAUpdatedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitTrackingETAUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitTrackingETAUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitTrackingETAUpdatedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitTrackingETAUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitTrackingETAUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitTrackingETAUpdatedRequest
 */
export const HandlingunitTrackingETAUpdatedRequest = new HandlingunitTrackingETAUpdatedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitTrackingETAUpdatedResponse$Type extends MessageType<HandlingunitTrackingETAUpdatedResponse> {
    constructor() {
        super("api.HandlingunitTrackingETAUpdatedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "TrackingETAUpdated" });
    }
    create(value?: PartialMessage<HandlingunitTrackingETAUpdatedResponse>): HandlingunitTrackingETAUpdatedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitTrackingETAUpdatedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitTrackingETAUpdatedResponse): HandlingunitTrackingETAUpdatedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitTrackingETAUpdatedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitTrackingETAUpdatedResponse
 */
export const HandlingunitTrackingETAUpdatedResponse = new HandlingunitTrackingETAUpdatedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitDispatchedPayload$Type extends MessageType<HandlingunitDispatchedPayload> {
    constructor() {
        super("api.HandlingunitDispatchedPayload", [], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "Dispatched" });
    }
    create(value?: PartialMessage<HandlingunitDispatchedPayload>): HandlingunitDispatchedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitDispatchedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitDispatchedPayload): HandlingunitDispatchedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitDispatchedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitDispatchedPayload
 */
export const HandlingunitDispatchedPayload = new HandlingunitDispatchedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitDispatchedEvent$Type extends MessageType<HandlingunitDispatchedEvent> {
    constructor() {
        super("api.HandlingunitDispatchedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitDispatchedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "Dispatched", "api.postAggMethods": "deduplicateTrackingIDs,setDispatchedDateTime", "api.preAggMethods": "setStockMovementGeneratedFlags" });
    }
    create(value?: PartialMessage<HandlingunitDispatchedEvent>): HandlingunitDispatchedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitDispatchedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitDispatchedEvent): HandlingunitDispatchedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitDispatchedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitDispatchedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitDispatchedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitDispatchedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitDispatchedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitDispatchedEvent
 */
export const HandlingunitDispatchedEvent = new HandlingunitDispatchedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitDispatchedRequest$Type extends MessageType<HandlingunitDispatchedRequest> {
    constructor() {
        super("api.HandlingunitDispatchedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitDispatchedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "Dispatched" });
    }
    create(value?: PartialMessage<HandlingunitDispatchedRequest>): HandlingunitDispatchedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitDispatchedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitDispatchedRequest): HandlingunitDispatchedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitDispatchedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitDispatchedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitDispatchedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitDispatchedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitDispatchedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitDispatchedRequest
 */
export const HandlingunitDispatchedRequest = new HandlingunitDispatchedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitDispatchedResponse$Type extends MessageType<HandlingunitDispatchedResponse> {
    constructor() {
        super("api.HandlingunitDispatchedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "Dispatched" });
    }
    create(value?: PartialMessage<HandlingunitDispatchedResponse>): HandlingunitDispatchedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitDispatchedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitDispatchedResponse): HandlingunitDispatchedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitDispatchedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitDispatchedResponse
 */
export const HandlingunitDispatchedResponse = new HandlingunitDispatchedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitGoodsReceivedPayload$Type extends MessageType<HandlingunitGoodsReceivedPayload> {
    constructor() {
        super("api.HandlingunitGoodsReceivedPayload", [
            { no: 1, name: "ReceivedContents", kind: "message", jsonName: "ReceivedContents", repeat: 1 /*RepeatType.PACKED*/, T: () => QuantifiedDatedGoodsByExeflow, options: { "validate.rules": { repeated: { minItems: "1" } } } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "GoodsReceived" });
    }
    create(value?: PartialMessage<HandlingunitGoodsReceivedPayload>): HandlingunitGoodsReceivedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.receivedContents = [];
        if (value !== undefined)
            reflectionMergePartial<HandlingunitGoodsReceivedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitGoodsReceivedPayload): HandlingunitGoodsReceivedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.QuantifiedDatedGoodsByExeflow ReceivedContents = 1 [json_name = "ReceivedContents"];*/ 1:
                    message.receivedContents.push(QuantifiedDatedGoodsByExeflow.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitGoodsReceivedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.QuantifiedDatedGoodsByExeflow ReceivedContents = 1 [json_name = "ReceivedContents"]; */
        for (let i = 0; i < message.receivedContents.length; i++)
            QuantifiedDatedGoodsByExeflow.internalBinaryWrite(message.receivedContents[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitGoodsReceivedPayload
 */
export const HandlingunitGoodsReceivedPayload = new HandlingunitGoodsReceivedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitGoodsReceivedEvent$Type extends MessageType<HandlingunitGoodsReceivedEvent> {
    constructor() {
        super("api.HandlingunitGoodsReceivedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitGoodsReceivedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "GoodsReceived", "api.postAggMethods": "setContainsGoodsFlag,computeReceivedContents,defineHUInformation", "api.preAggMethods": "setStockMovementGeneratedFlags" });
    }
    create(value?: PartialMessage<HandlingunitGoodsReceivedEvent>): HandlingunitGoodsReceivedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitGoodsReceivedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitGoodsReceivedEvent): HandlingunitGoodsReceivedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitGoodsReceivedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitGoodsReceivedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitGoodsReceivedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitGoodsReceivedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitGoodsReceivedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitGoodsReceivedEvent
 */
export const HandlingunitGoodsReceivedEvent = new HandlingunitGoodsReceivedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitGoodsReceivedRequest$Type extends MessageType<HandlingunitGoodsReceivedRequest> {
    constructor() {
        super("api.HandlingunitGoodsReceivedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitGoodsReceivedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "GoodsReceived" });
    }
    create(value?: PartialMessage<HandlingunitGoodsReceivedRequest>): HandlingunitGoodsReceivedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitGoodsReceivedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitGoodsReceivedRequest): HandlingunitGoodsReceivedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitGoodsReceivedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitGoodsReceivedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitGoodsReceivedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitGoodsReceivedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitGoodsReceivedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitGoodsReceivedRequest
 */
export const HandlingunitGoodsReceivedRequest = new HandlingunitGoodsReceivedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitGoodsReceivedResponse$Type extends MessageType<HandlingunitGoodsReceivedResponse> {
    constructor() {
        super("api.HandlingunitGoodsReceivedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "GoodsReceived" });
    }
    create(value?: PartialMessage<HandlingunitGoodsReceivedResponse>): HandlingunitGoodsReceivedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitGoodsReceivedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitGoodsReceivedResponse): HandlingunitGoodsReceivedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitGoodsReceivedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitGoodsReceivedResponse
 */
export const HandlingunitGoodsReceivedResponse = new HandlingunitGoodsReceivedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitAttachmentAddedPayload$Type extends MessageType<HandlingunitAttachmentAddedPayload> {
    constructor() {
        super("api.HandlingunitAttachmentAddedPayload", [
            { no: 1, name: "Attachments", kind: "message", jsonName: "Attachments", repeat: 1 /*RepeatType.PACKED*/, T: () => AttachmentSummary, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Number of attachments added per type" } } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "AttachmentAdded" });
    }
    create(value?: PartialMessage<HandlingunitAttachmentAddedPayload>): HandlingunitAttachmentAddedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.attachments = [];
        if (value !== undefined)
            reflectionMergePartial<HandlingunitAttachmentAddedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitAttachmentAddedPayload): HandlingunitAttachmentAddedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"];*/ 1:
                    message.attachments.push(AttachmentSummary.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitAttachmentAddedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"]; */
        for (let i = 0; i < message.attachments.length; i++)
            AttachmentSummary.internalBinaryWrite(message.attachments[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitAttachmentAddedPayload
 */
export const HandlingunitAttachmentAddedPayload = new HandlingunitAttachmentAddedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitAttachmentAddedEvent$Type extends MessageType<HandlingunitAttachmentAddedEvent> {
    constructor() {
        super("api.HandlingunitAttachmentAddedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitAttachmentAddedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "AttachmentAdded", "api.preAggMethods": "addAttachment" });
    }
    create(value?: PartialMessage<HandlingunitAttachmentAddedEvent>): HandlingunitAttachmentAddedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitAttachmentAddedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitAttachmentAddedEvent): HandlingunitAttachmentAddedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitAttachmentAddedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitAttachmentAddedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitAttachmentAddedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitAttachmentAddedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitAttachmentAddedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitAttachmentAddedEvent
 */
export const HandlingunitAttachmentAddedEvent = new HandlingunitAttachmentAddedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitAttachmentAddedRequest$Type extends MessageType<HandlingunitAttachmentAddedRequest> {
    constructor() {
        super("api.HandlingunitAttachmentAddedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitAttachmentAddedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "AttachmentAdded" });
    }
    create(value?: PartialMessage<HandlingunitAttachmentAddedRequest>): HandlingunitAttachmentAddedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitAttachmentAddedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitAttachmentAddedRequest): HandlingunitAttachmentAddedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitAttachmentAddedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitAttachmentAddedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitAttachmentAddedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitAttachmentAddedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitAttachmentAddedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitAttachmentAddedRequest
 */
export const HandlingunitAttachmentAddedRequest = new HandlingunitAttachmentAddedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitAttachmentAddedResponse$Type extends MessageType<HandlingunitAttachmentAddedResponse> {
    constructor() {
        super("api.HandlingunitAttachmentAddedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "AttachmentAdded" });
    }
    create(value?: PartialMessage<HandlingunitAttachmentAddedResponse>): HandlingunitAttachmentAddedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitAttachmentAddedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitAttachmentAddedResponse): HandlingunitAttachmentAddedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitAttachmentAddedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitAttachmentAddedResponse
 */
export const HandlingunitAttachmentAddedResponse = new HandlingunitAttachmentAddedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitAttachmentRemovedPayload$Type extends MessageType<HandlingunitAttachmentRemovedPayload> {
    constructor() {
        super("api.HandlingunitAttachmentRemovedPayload", [
            { no: 1, name: "Attachments", kind: "message", jsonName: "Attachments", repeat: 1 /*RepeatType.PACKED*/, T: () => AttachmentSummary, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Number of attachments removed per type" } } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "AttachmentRemoved" });
    }
    create(value?: PartialMessage<HandlingunitAttachmentRemovedPayload>): HandlingunitAttachmentRemovedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.attachments = [];
        if (value !== undefined)
            reflectionMergePartial<HandlingunitAttachmentRemovedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitAttachmentRemovedPayload): HandlingunitAttachmentRemovedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"];*/ 1:
                    message.attachments.push(AttachmentSummary.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitAttachmentRemovedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"]; */
        for (let i = 0; i < message.attachments.length; i++)
            AttachmentSummary.internalBinaryWrite(message.attachments[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitAttachmentRemovedPayload
 */
export const HandlingunitAttachmentRemovedPayload = new HandlingunitAttachmentRemovedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitAttachmentRemovedEvent$Type extends MessageType<HandlingunitAttachmentRemovedEvent> {
    constructor() {
        super("api.HandlingunitAttachmentRemovedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitAttachmentRemovedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "AttachmentRemoved", "api.preAggMethods": "removeAttachment" });
    }
    create(value?: PartialMessage<HandlingunitAttachmentRemovedEvent>): HandlingunitAttachmentRemovedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitAttachmentRemovedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitAttachmentRemovedEvent): HandlingunitAttachmentRemovedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitAttachmentRemovedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitAttachmentRemovedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitAttachmentRemovedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitAttachmentRemovedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitAttachmentRemovedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitAttachmentRemovedEvent
 */
export const HandlingunitAttachmentRemovedEvent = new HandlingunitAttachmentRemovedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitAttachmentRemovedRequest$Type extends MessageType<HandlingunitAttachmentRemovedRequest> {
    constructor() {
        super("api.HandlingunitAttachmentRemovedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitAttachmentRemovedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "AttachmentRemoved" });
    }
    create(value?: PartialMessage<HandlingunitAttachmentRemovedRequest>): HandlingunitAttachmentRemovedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitAttachmentRemovedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitAttachmentRemovedRequest): HandlingunitAttachmentRemovedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitAttachmentRemovedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitAttachmentRemovedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitAttachmentRemovedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitAttachmentRemovedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitAttachmentRemovedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitAttachmentRemovedRequest
 */
export const HandlingunitAttachmentRemovedRequest = new HandlingunitAttachmentRemovedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitAttachmentRemovedResponse$Type extends MessageType<HandlingunitAttachmentRemovedResponse> {
    constructor() {
        super("api.HandlingunitAttachmentRemovedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "AttachmentRemoved" });
    }
    create(value?: PartialMessage<HandlingunitAttachmentRemovedResponse>): HandlingunitAttachmentRemovedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitAttachmentRemovedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitAttachmentRemovedResponse): HandlingunitAttachmentRemovedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitAttachmentRemovedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitAttachmentRemovedResponse
 */
export const HandlingunitAttachmentRemovedResponse = new HandlingunitAttachmentRemovedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitMetaDataUpdatedPayload$Type extends MessageType<HandlingunitMetaDataUpdatedPayload> {
    constructor() {
        super("api.HandlingunitMetaDataUpdatedPayload", [
            { no: 6, name: "MetaData", kind: "message", jsonName: "MetaData", repeat: 1 /*RepeatType.PACKED*/, T: () => MetadataElement, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)" }, "api.metadata": true, "api.aggKey": "Key" } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "MetaDataUpdated" });
    }
    create(value?: PartialMessage<HandlingunitMetaDataUpdatedPayload>): HandlingunitMetaDataUpdatedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.metaData = [];
        if (value !== undefined)
            reflectionMergePartial<HandlingunitMetaDataUpdatedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitMetaDataUpdatedPayload): HandlingunitMetaDataUpdatedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.MetadataElement MetaData = 6 [json_name = "MetaData"];*/ 6:
                    message.metaData.push(MetadataElement.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitMetaDataUpdatedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.MetadataElement MetaData = 6 [json_name = "MetaData"]; */
        for (let i = 0; i < message.metaData.length; i++)
            MetadataElement.internalBinaryWrite(message.metaData[i], writer.tag(6, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitMetaDataUpdatedPayload
 */
export const HandlingunitMetaDataUpdatedPayload = new HandlingunitMetaDataUpdatedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitMetaDataUpdatedEvent$Type extends MessageType<HandlingunitMetaDataUpdatedEvent> {
    constructor() {
        super("api.HandlingunitMetaDataUpdatedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitMetaDataUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "MetaDataUpdated" });
    }
    create(value?: PartialMessage<HandlingunitMetaDataUpdatedEvent>): HandlingunitMetaDataUpdatedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitMetaDataUpdatedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitMetaDataUpdatedEvent): HandlingunitMetaDataUpdatedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitMetaDataUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitMetaDataUpdatedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitMetaDataUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitMetaDataUpdatedEvent
 */
export const HandlingunitMetaDataUpdatedEvent = new HandlingunitMetaDataUpdatedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitMetaDataUpdatedRequest$Type extends MessageType<HandlingunitMetaDataUpdatedRequest> {
    constructor() {
        super("api.HandlingunitMetaDataUpdatedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitMetaDataUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "MetaDataUpdated" });
    }
    create(value?: PartialMessage<HandlingunitMetaDataUpdatedRequest>): HandlingunitMetaDataUpdatedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitMetaDataUpdatedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitMetaDataUpdatedRequest): HandlingunitMetaDataUpdatedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitMetaDataUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitMetaDataUpdatedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitMetaDataUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitMetaDataUpdatedRequest
 */
export const HandlingunitMetaDataUpdatedRequest = new HandlingunitMetaDataUpdatedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitMetaDataUpdatedResponse$Type extends MessageType<HandlingunitMetaDataUpdatedResponse> {
    constructor() {
        super("api.HandlingunitMetaDataUpdatedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "MetaDataUpdated" });
    }
    create(value?: PartialMessage<HandlingunitMetaDataUpdatedResponse>): HandlingunitMetaDataUpdatedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitMetaDataUpdatedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitMetaDataUpdatedResponse): HandlingunitMetaDataUpdatedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitMetaDataUpdatedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitMetaDataUpdatedResponse
 */
export const HandlingunitMetaDataUpdatedResponse = new HandlingunitMetaDataUpdatedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitParentHUUpdatedPayload$Type extends MessageType<HandlingunitParentHUUpdatedPayload> {
    constructor() {
        super("api.HandlingunitParentHUUpdatedPayload", [
            { no: 1, name: "ParentHU", kind: "scalar", jsonName: "ParentHU", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "HU parent for this HU" } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { description: "Update the list of Parents for this HU", required: ["ParentHUs"] } }, "api.messageType": "Event", "api.payload": true, "api.inputEvent": "ParentHUUpdated" });
    }
    create(value?: PartialMessage<HandlingunitParentHUUpdatedPayload>): HandlingunitParentHUUpdatedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.parentHU = "";
        if (value !== undefined)
            reflectionMergePartial<HandlingunitParentHUUpdatedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitParentHUUpdatedPayload): HandlingunitParentHUUpdatedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string ParentHU = 1 [json_name = "ParentHU"];*/ 1:
                    message.parentHU = reader.string();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitParentHUUpdatedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ParentHU = 1 [json_name = "ParentHU"]; */
        if (message.parentHU !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.parentHU);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitParentHUUpdatedPayload
 */
export const HandlingunitParentHUUpdatedPayload = new HandlingunitParentHUUpdatedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitParentHUUpdatedEvent$Type extends MessageType<HandlingunitParentHUUpdatedEvent> {
    constructor() {
        super("api.HandlingunitParentHUUpdatedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitParentHUUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "ParentHUUpdated" });
    }
    create(value?: PartialMessage<HandlingunitParentHUUpdatedEvent>): HandlingunitParentHUUpdatedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitParentHUUpdatedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitParentHUUpdatedEvent): HandlingunitParentHUUpdatedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitParentHUUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitParentHUUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitParentHUUpdatedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitParentHUUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitParentHUUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitParentHUUpdatedEvent
 */
export const HandlingunitParentHUUpdatedEvent = new HandlingunitParentHUUpdatedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitParentHUUpdatedRequest$Type extends MessageType<HandlingunitParentHUUpdatedRequest> {
    constructor() {
        super("api.HandlingunitParentHUUpdatedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitParentHUUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "ParentHUUpdated" });
    }
    create(value?: PartialMessage<HandlingunitParentHUUpdatedRequest>): HandlingunitParentHUUpdatedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitParentHUUpdatedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitParentHUUpdatedRequest): HandlingunitParentHUUpdatedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitParentHUUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitParentHUUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitParentHUUpdatedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitParentHUUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitParentHUUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitParentHUUpdatedRequest
 */
export const HandlingunitParentHUUpdatedRequest = new HandlingunitParentHUUpdatedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitParentHUUpdatedResponse$Type extends MessageType<HandlingunitParentHUUpdatedResponse> {
    constructor() {
        super("api.HandlingunitParentHUUpdatedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "ParentHUUpdated" });
    }
    create(value?: PartialMessage<HandlingunitParentHUUpdatedResponse>): HandlingunitParentHUUpdatedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitParentHUUpdatedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitParentHUUpdatedResponse): HandlingunitParentHUUpdatedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitParentHUUpdatedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitParentHUUpdatedResponse
 */
export const HandlingunitParentHUUpdatedResponse = new HandlingunitParentHUUpdatedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitClaimAddedPayload$Type extends MessageType<HandlingunitClaimAddedPayload> {
    constructor() {
        super("api.HandlingunitClaimAddedPayload", [
            { no: 1, name: "Claims", kind: "message", jsonName: "Claims", repeat: 1 /*RepeatType.PACKED*/, T: () => ClaimSummary, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Number of claims added per type" }, "api.aggKey": "ClaimTypeID" } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "ClaimAdded" });
    }
    create(value?: PartialMessage<HandlingunitClaimAddedPayload>): HandlingunitClaimAddedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.claims = [];
        if (value !== undefined)
            reflectionMergePartial<HandlingunitClaimAddedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitClaimAddedPayload): HandlingunitClaimAddedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.ClaimSummary Claims = 1 [json_name = "Claims"];*/ 1:
                    message.claims.push(ClaimSummary.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitClaimAddedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.ClaimSummary Claims = 1 [json_name = "Claims"]; */
        for (let i = 0; i < message.claims.length; i++)
            ClaimSummary.internalBinaryWrite(message.claims[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitClaimAddedPayload
 */
export const HandlingunitClaimAddedPayload = new HandlingunitClaimAddedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitClaimAddedEvent$Type extends MessageType<HandlingunitClaimAddedEvent> {
    constructor() {
        super("api.HandlingunitClaimAddedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitClaimAddedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "ClaimAdded", "api.preAggMethods": "addClaim" });
    }
    create(value?: PartialMessage<HandlingunitClaimAddedEvent>): HandlingunitClaimAddedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitClaimAddedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitClaimAddedEvent): HandlingunitClaimAddedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitClaimAddedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitClaimAddedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitClaimAddedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitClaimAddedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitClaimAddedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitClaimAddedEvent
 */
export const HandlingunitClaimAddedEvent = new HandlingunitClaimAddedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitClaimAddedRequest$Type extends MessageType<HandlingunitClaimAddedRequest> {
    constructor() {
        super("api.HandlingunitClaimAddedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitClaimAddedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "ClaimAdded" });
    }
    create(value?: PartialMessage<HandlingunitClaimAddedRequest>): HandlingunitClaimAddedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitClaimAddedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitClaimAddedRequest): HandlingunitClaimAddedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitClaimAddedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitClaimAddedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitClaimAddedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitClaimAddedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitClaimAddedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitClaimAddedRequest
 */
export const HandlingunitClaimAddedRequest = new HandlingunitClaimAddedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitClaimAddedResponse$Type extends MessageType<HandlingunitClaimAddedResponse> {
    constructor() {
        super("api.HandlingunitClaimAddedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "ClaimAdded" });
    }
    create(value?: PartialMessage<HandlingunitClaimAddedResponse>): HandlingunitClaimAddedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitClaimAddedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitClaimAddedResponse): HandlingunitClaimAddedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitClaimAddedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitClaimAddedResponse
 */
export const HandlingunitClaimAddedResponse = new HandlingunitClaimAddedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitReadyToBeCollectedPayload$Type extends MessageType<HandlingunitReadyToBeCollectedPayload> {
    constructor() {
        super("api.HandlingunitReadyToBeCollectedPayload", [], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "ReadyToBeCollected" });
    }
    create(value?: PartialMessage<HandlingunitReadyToBeCollectedPayload>): HandlingunitReadyToBeCollectedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitReadyToBeCollectedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitReadyToBeCollectedPayload): HandlingunitReadyToBeCollectedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitReadyToBeCollectedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitReadyToBeCollectedPayload
 */
export const HandlingunitReadyToBeCollectedPayload = new HandlingunitReadyToBeCollectedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitReadyToBeCollectedEvent$Type extends MessageType<HandlingunitReadyToBeCollectedEvent> {
    constructor() {
        super("api.HandlingunitReadyToBeCollectedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitReadyToBeCollectedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "ReadyToBeCollected" });
    }
    create(value?: PartialMessage<HandlingunitReadyToBeCollectedEvent>): HandlingunitReadyToBeCollectedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitReadyToBeCollectedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitReadyToBeCollectedEvent): HandlingunitReadyToBeCollectedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitReadyToBeCollectedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitReadyToBeCollectedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitReadyToBeCollectedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitReadyToBeCollectedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitReadyToBeCollectedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitReadyToBeCollectedEvent
 */
export const HandlingunitReadyToBeCollectedEvent = new HandlingunitReadyToBeCollectedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitReadyToBeCollectedRequest$Type extends MessageType<HandlingunitReadyToBeCollectedRequest> {
    constructor() {
        super("api.HandlingunitReadyToBeCollectedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitReadyToBeCollectedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "ReadyToBeCollected" });
    }
    create(value?: PartialMessage<HandlingunitReadyToBeCollectedRequest>): HandlingunitReadyToBeCollectedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitReadyToBeCollectedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitReadyToBeCollectedRequest): HandlingunitReadyToBeCollectedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitReadyToBeCollectedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitReadyToBeCollectedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitReadyToBeCollectedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitReadyToBeCollectedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitReadyToBeCollectedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitReadyToBeCollectedRequest
 */
export const HandlingunitReadyToBeCollectedRequest = new HandlingunitReadyToBeCollectedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitReadyToBeCollectedResponse$Type extends MessageType<HandlingunitReadyToBeCollectedResponse> {
    constructor() {
        super("api.HandlingunitReadyToBeCollectedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "ReadyToBeCollected" });
    }
    create(value?: PartialMessage<HandlingunitReadyToBeCollectedResponse>): HandlingunitReadyToBeCollectedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitReadyToBeCollectedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitReadyToBeCollectedResponse): HandlingunitReadyToBeCollectedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitReadyToBeCollectedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitReadyToBeCollectedResponse
 */
export const HandlingunitReadyToBeCollectedResponse = new HandlingunitReadyToBeCollectedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitDeletedPayload$Type extends MessageType<HandlingunitDeletedPayload> {
    constructor() {
        super("api.HandlingunitDeletedPayload", [], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { description: "Event Payload" } }, "api.messageType": "Event", "api.payload": true, "api.inputEvent": "Deleted" });
    }
    create(value?: PartialMessage<HandlingunitDeletedPayload>): HandlingunitDeletedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitDeletedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitDeletedPayload): HandlingunitDeletedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitDeletedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitDeletedPayload
 */
export const HandlingunitDeletedPayload = new HandlingunitDeletedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitDeletedEvent$Type extends MessageType<HandlingunitDeletedEvent> {
    constructor() {
        super("api.HandlingunitDeletedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitDeletedPayload }
        ], { "api.messageType": "Event", "api.inputEvent": "Deleted" });
    }
    create(value?: PartialMessage<HandlingunitDeletedEvent>): HandlingunitDeletedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitDeletedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitDeletedEvent): HandlingunitDeletedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitDeletedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitDeletedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitDeletedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitDeletedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitDeletedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitDeletedEvent
 */
export const HandlingunitDeletedEvent = new HandlingunitDeletedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitDeletedRequest$Type extends MessageType<HandlingunitDeletedRequest> {
    constructor() {
        super("api.HandlingunitDeletedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => HandlingunitDeletedPayload }
        ], { "api.messageType": "Request", "api.inputEvent": "Deleted" });
    }
    create(value?: PartialMessage<HandlingunitDeletedRequest>): HandlingunitDeletedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitDeletedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitDeletedRequest): HandlingunitDeletedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.HandlingunitDeletedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = HandlingunitDeletedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitDeletedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.HandlingunitDeletedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            HandlingunitDeletedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitDeletedRequest
 */
export const HandlingunitDeletedRequest = new HandlingunitDeletedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HandlingunitDeletedResponse$Type extends MessageType<HandlingunitDeletedResponse> {
    constructor() {
        super("api.HandlingunitDeletedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "Deleted" });
    }
    create(value?: PartialMessage<HandlingunitDeletedResponse>): HandlingunitDeletedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<HandlingunitDeletedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HandlingunitDeletedResponse): HandlingunitDeletedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: HandlingunitDeletedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.HandlingunitDeletedResponse
 */
export const HandlingunitDeletedResponse = new HandlingunitDeletedResponse$Type();
/**
 * @generated ServiceType for protobuf service api.HandlingunitInputAPI
 */
export const HandlingunitInputAPI = new ServiceType("api.HandlingunitInputAPI", [
    { name: "GoodsPrepared", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "Some goods are prepared in an Handling Unit. This is typically called from WMS to report a preparation." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: HandlingunitGoodsPreparedRequest, O: HandlingunitGoodsPreparedResponse },
    { name: "GoodsReceived", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "Some goods are received from an Handling Unit.  This is typically called from WMS to report reception." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: HandlingunitGoodsReceivedRequest, O: HandlingunitGoodsReceivedResponse },
    { name: "HUsAdded", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "Some handling units are added in an Handling Unit. This is typically called from WMS during preparation." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: HandlingunitHUsAddedRequest, O: HandlingunitHUsAddedResponse },
    { name: "TrackingUpdated", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "Some tracking events has been received in an Handling Unit. This is used internally." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "api.platformReserved": true, "google.api.method_visibility": { restriction: "INTERNAL" } }, I: HandlingunitTrackingUpdatedRequest, O: HandlingunitTrackingUpdatedResponse },
    { name: "TrackingETAUpdated", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "Some tracking events for ETA have been received in an HandlingUnit. This is used Internaly" }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "api.platformReserved": true, "google.api.method_visibility": { restriction: "INTERNAL" } }, I: HandlingunitTrackingETAUpdatedRequest, O: HandlingunitTrackingETAUpdatedResponse },
    { name: "ETAUpdated", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "An ETA has been received in an Handling Unit." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: HandlingunitETAUpdatedRequest, O: HandlingunitETAUpdatedResponse },
    { name: "Dispatched", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "Goods in the HU are removed from stock. This is typically called from WMS to report the dispatch of the HU." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: HandlingunitDispatchedRequest, O: HandlingunitDispatchedResponse },
    { name: "AttachmentAdded", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "An attachment is added for the Handling Unit." }, "api.rscType": "Project", "api.roles": "Platform.Project-Attachment", "api.platformReserved": true, "google.api.method_visibility": { restriction: "INTERNAL" } }, I: HandlingunitAttachmentAddedRequest, O: HandlingunitAttachmentAddedResponse },
    { name: "AttachmentRemoved", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "An attachment is removed for the Handling Unit." }, "api.rscType": "Project", "api.roles": "Platform.Project-Attachment", "api.platformReserved": true, "google.api.method_visibility": { restriction: "INTERNAL" } }, I: HandlingunitAttachmentRemovedRequest, O: HandlingunitAttachmentRemovedResponse },
    { name: "MetaDataUpdated", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "Some metadata are updated on an Handling Unit. This is typically called from WMS during preparation." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: HandlingunitMetaDataUpdatedRequest, O: HandlingunitMetaDataUpdatedResponse },
    { name: "ParentHUUpdated", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "Parent Hu us updated on an Handling Unit. This is called after HUAdded to propagate Parent HU." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: HandlingunitParentHUUpdatedRequest, O: HandlingunitParentHUUpdatedResponse },
    { name: "ClaimAdded", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "A claim is added for the Handlingunit." }, "api.rscType": "Project", "api.roles": "Platform.Project-Claim", "api.platformReserved": true, "google.api.method_visibility": { restriction: "INTERNAL" } }, I: HandlingunitClaimAddedRequest, O: HandlingunitClaimAddedResponse },
    { name: "ReadyToBeCollected", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "HandlingUnit is available on Dock, Ready to be collected." }, "api.rscType": "Project", "api.roles": "Platform.Project-Claim", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: HandlingunitReadyToBeCollectedRequest, O: HandlingunitReadyToBeCollectedResponse },
    { name: "Deleted", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["HandlingUnit Inputs"], description: "An Handlingunit has been deleted. This is called from Reflex Platform Admin service to share the Organisation Handlingunits." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: HandlingunitDeletedRequest, O: HandlingunitDeletedResponse }
], { "api.serviceType": "Api", "api.k8sService": "api-server" });
