DX STF Client API

<back to all web services

GetReceivingAdviceById

Receiving Advice Requests

Receiving Advice

Requires Authentication
The following routes are available for this service:
GET/api/receivingAdvice/{Id}Get specific ReceivingAdvice by ReceivingAdvice Id
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;

public class dtos
{

    /**
    * Receiving Advice
    */
    @Api(Description="Receiving Advice")
    @ApiResponse(Description="ReceivingAdvice data", IsDefaultResponse=true, StatusCode=200)
    // @ApiResponse(Description="No Content", ResponseType=IReturnVoid.class, StatusCode=204)
    // @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType=ArgumentOutOfRangeException.class, StatusCode=400)
    public static class GetReceivingAdviceById implements IGetDocumentById
    {
        /**
        * ReceivingAdvice ID or Token
        */
        @ApiMember(Description="ReceivingAdvice ID or Token", ExcludeInSchema=true, ParameterType="path")
        public UUID id = null;
        
        public UUID getId() { return id; }
        public GetReceivingAdviceById setId(UUID value) { this.id = value; return this; }
    }

    public static class ReceivingAdviceMessage
    {
        public Header header = null;
        public ReceivingAdvice receivingAdvice = null;
        
        public Header getHeader() { return header; }
        public ReceivingAdviceMessage setHeader(Header value) { this.header = value; return this; }
        public ReceivingAdvice getReceivingAdvice() { return receivingAdvice; }
        public ReceivingAdviceMessage setReceivingAdvice(ReceivingAdvice value) { this.receivingAdvice = value; return this; }
    }

    @DataContract
    public static class Header
    {
        @DataMember(Name="documentIdentification")
        @SerializedName("documentIdentification")
        public DocumentIdentification documentIdentification = null;

        @DataMember(Name="sender")
        @SerializedName("sender")
        public Partner sender = null;

        @DataMember(Name="receiver")
        @SerializedName("receiver")
        public Partner receiver = null;
        
        public DocumentIdentification getDocumentIdentification() { return documentIdentification; }
        public Header setDocumentIdentification(DocumentIdentification value) { this.documentIdentification = value; return this; }
        public Partner getSender() { return sender; }
        public Header setSender(Partner value) { this.sender = value; return this; }
        public Partner getReceiver() { return receiver; }
        public Header setReceiver(Partner value) { this.receiver = value; return this; }
    }

    @DataContract
    public static class DocumentIdentification
    {
        @DataMember(Name="identifier")
        @SerializedName("identifier")
        public String identifier = null;

        @DataMember(Name="type")
        @SerializedName("type")
        public String type = null;

        @DataMember(Name="creationDateAndTime")
        @SerializedName("creationDateAndTime")
        public Date creationDateAndTime = null;
        
        public String getIdentifier() { return identifier; }
        public DocumentIdentification setIdentifier(String value) { this.identifier = value; return this; }
        public String getType() { return type; }
        public DocumentIdentification setType(String value) { this.type = value; return this; }
        public Date getCreationDateAndTime() { return creationDateAndTime; }
        public DocumentIdentification setCreationDateAndTime(Date value) { this.creationDateAndTime = value; return this; }
    }

    @DataContract
    public static class Partner
    {
        @DataMember(Name="identifier")
        @SerializedName("identifier")
        public Identifier identifier = null;

        @DataMember(Name="contactInformation")
        @SerializedName("contactInformation")
        public ArrayList<ContactInformation> contactInformation = new ArrayList<ContactInformation>();
        
        public Identifier getIdentifier() { return identifier; }
        public Partner setIdentifier(Identifier value) { this.identifier = value; return this; }
        public ArrayList<ContactInformation> getContactInformation() { return contactInformation; }
        public Partner setContactInformation(ArrayList<ContactInformation> value) { this.contactInformation = value; return this; }
    }

    @DataContract
    public static class Identifier
    {
        @DataMember(Name="authority")
        @SerializedName("authority")
        public String authority = null;

        @DataMember(Name="text")
        @SerializedName("text")
        public String text = null;
        
        public String getAuthority() { return authority; }
        public Identifier setAuthority(String value) { this.authority = value; return this; }
        public String getText() { return text; }
        public Identifier setText(String value) { this.text = value; return this; }
    }

    @DataContract
    public static class ContactInformation
    {
        
    }

    public static class ReceivingAdvice extends BaseDocument
    {
        public Date despatchAdviceDeliveryDateTime = null;
        public String note = null;
        public Date paymentDateTime = null;
        public Date receivingDateTime = null;
        public String reportingCode = null;
        public BigDecimal totalDepositAmount = null;
        public ReceivingAdviceTransportInformation receivingAdviceTransportInformation = null;
        public DocumentReference billOfLadingNumber = null;
        public TransactionalParty buyer = null;
        public TransactionalParty carrier = null;
        public ConsignmentIdentification consignmentIdentification = null;
        public DocumentReference deliveryNote = null;
        public String despatchAdvice = null;
        public TransactionalParty inventoryLocation = null;
        public DocumentReference purchaseOrder = null;
        public TransactionalParty receiver = null;
        public String receivingAdviceIdentification = null;
        public TransactionalParty seller = null;
        public TransactionalParty shipFrom = null;
        public ConsignmentIdentification shipmentIdentification = null;
        public TransactionalParty shipper = null;
        public TransactionalParty shipTo = null;
        public ArrayList<ReceivingAdviceLogisticUnit> receivingAdviceLogisticUnit = new ArrayList<ReceivingAdviceLogisticUnit>();
        
        public Date getDespatchAdviceDeliveryDateTime() { return despatchAdviceDeliveryDateTime; }
        public ReceivingAdvice setDespatchAdviceDeliveryDateTime(Date value) { this.despatchAdviceDeliveryDateTime = value; return this; }
        public String getNote() { return note; }
        public ReceivingAdvice setNote(String value) { this.note = value; return this; }
        public Date getPaymentDateTime() { return paymentDateTime; }
        public ReceivingAdvice setPaymentDateTime(Date value) { this.paymentDateTime = value; return this; }
        public Date getReceivingDateTime() { return receivingDateTime; }
        public ReceivingAdvice setReceivingDateTime(Date value) { this.receivingDateTime = value; return this; }
        public String getReportingCode() { return reportingCode; }
        public ReceivingAdvice setReportingCode(String value) { this.reportingCode = value; return this; }
        public BigDecimal getTotalDepositAmount() { return totalDepositAmount; }
        public ReceivingAdvice setTotalDepositAmount(BigDecimal value) { this.totalDepositAmount = value; return this; }
        public ReceivingAdviceTransportInformation getReceivingAdviceTransportInformation() { return receivingAdviceTransportInformation; }
        public ReceivingAdvice setReceivingAdviceTransportInformation(ReceivingAdviceTransportInformation value) { this.receivingAdviceTransportInformation = value; return this; }
        public DocumentReference getBillOfLadingNumber() { return billOfLadingNumber; }
        public ReceivingAdvice setBillOfLadingNumber(DocumentReference value) { this.billOfLadingNumber = value; return this; }
        public TransactionalParty getBuyer() { return buyer; }
        public ReceivingAdvice setBuyer(TransactionalParty value) { this.buyer = value; return this; }
        public TransactionalParty getCarrier() { return carrier; }
        public ReceivingAdvice setCarrier(TransactionalParty value) { this.carrier = value; return this; }
        public ConsignmentIdentification getConsignmentIdentification() { return consignmentIdentification; }
        public ReceivingAdvice setConsignmentIdentification(ConsignmentIdentification value) { this.consignmentIdentification = value; return this; }
        public DocumentReference getDeliveryNote() { return deliveryNote; }
        public ReceivingAdvice setDeliveryNote(DocumentReference value) { this.deliveryNote = value; return this; }
        public String getDespatchAdvice() { return despatchAdvice; }
        public ReceivingAdvice setDespatchAdvice(String value) { this.despatchAdvice = value; return this; }
        public TransactionalParty getInventoryLocation() { return inventoryLocation; }
        public ReceivingAdvice setInventoryLocation(TransactionalParty value) { this.inventoryLocation = value; return this; }
        public DocumentReference getPurchaseOrder() { return purchaseOrder; }
        public ReceivingAdvice setPurchaseOrder(DocumentReference value) { this.purchaseOrder = value; return this; }
        public TransactionalParty getReceiver() { return receiver; }
        public ReceivingAdvice setReceiver(TransactionalParty value) { this.receiver = value; return this; }
        public String getReceivingAdviceIdentification() { return receivingAdviceIdentification; }
        public ReceivingAdvice setReceivingAdviceIdentification(String value) { this.receivingAdviceIdentification = value; return this; }
        public TransactionalParty getSeller() { return seller; }
        public ReceivingAdvice setSeller(TransactionalParty value) { this.seller = value; return this; }
        public TransactionalParty getShipFrom() { return shipFrom; }
        public ReceivingAdvice setShipFrom(TransactionalParty value) { this.shipFrom = value; return this; }
        public ConsignmentIdentification getShipmentIdentification() { return shipmentIdentification; }
        public ReceivingAdvice setShipmentIdentification(ConsignmentIdentification value) { this.shipmentIdentification = value; return this; }
        public TransactionalParty getShipper() { return shipper; }
        public ReceivingAdvice setShipper(TransactionalParty value) { this.shipper = value; return this; }
        public TransactionalParty getShipTo() { return shipTo; }
        public ReceivingAdvice setShipTo(TransactionalParty value) { this.shipTo = value; return this; }
        public ArrayList<ReceivingAdviceLogisticUnit> getReceivingAdviceLogisticUnit() { return receivingAdviceLogisticUnit; }
        public ReceivingAdvice setReceivingAdviceLogisticUnit(ArrayList<ReceivingAdviceLogisticUnit> value) { this.receivingAdviceLogisticUnit = value; return this; }
    }

    public static class BaseDocument
    {
        public String currencyCode = null;
        public Date creationDateTime = null;
        public DocumentAction documentActionCode = null;
        public DocumentStatus documentStatusCode = null;
        public String documentStructureVersion = null;
        public Date lastUpdateDateTime = null;
        public Long revisionNumber = null;
        public ArrayList<AvpList> avpList = new ArrayList<AvpList>();
        
        public String getCurrencyCode() { return currencyCode; }
        public BaseDocument setCurrencyCode(String value) { this.currencyCode = value; return this; }
        public Date getCreationDateTime() { return creationDateTime; }
        public BaseDocument setCreationDateTime(Date value) { this.creationDateTime = value; return this; }
        public DocumentAction getDocumentActionCode() { return documentActionCode; }
        public BaseDocument setDocumentActionCode(DocumentAction value) { this.documentActionCode = value; return this; }
        public DocumentStatus getDocumentStatusCode() { return documentStatusCode; }
        public BaseDocument setDocumentStatusCode(DocumentStatus value) { this.documentStatusCode = value; return this; }
        public String getDocumentStructureVersion() { return documentStructureVersion; }
        public BaseDocument setDocumentStructureVersion(String value) { this.documentStructureVersion = value; return this; }
        public Date getLastUpdateDateTime() { return lastUpdateDateTime; }
        public BaseDocument setLastUpdateDateTime(Date value) { this.lastUpdateDateTime = value; return this; }
        public Long getRevisionNumber() { return revisionNumber; }
        public BaseDocument setRevisionNumber(Long value) { this.revisionNumber = value; return this; }
        public ArrayList<AvpList> getAvpList() { return avpList; }
        public BaseDocument setAvpList(ArrayList<AvpList> value) { this.avpList = value; return this; }
    }

    public static enum DocumentAction
    {
        Add,
        ChangeByRefresh,
        Delete,
        Rejected;
    }

    public static enum DocumentStatus
    {
        AdditionalTransmission,
        Copy,
        Original;
    }

    public static class AvpList
    {
        public String code = null;
        public String value = null;
        
        public String getCode() { return code; }
        public AvpList setCode(String value) { this.code = value; return this; }
        public String getValue() { return value; }
        public AvpList setValue(String value) { this.value = value; return this; }
    }

    public static class ReceivingAdviceTransportInformation
    {
        public Identifier routeID = null;
        public Identifier transportMeansID = null;
        public String transportMeansName = null;
        public Contact driver = null;
        public Person driverID = null;
        public Contact receiver = null;
        public Person receiverID = null;
        
        public Identifier getRouteID() { return routeID; }
        public ReceivingAdviceTransportInformation setRouteID(Identifier value) { this.routeID = value; return this; }
        public Identifier getTransportMeansID() { return transportMeansID; }
        public ReceivingAdviceTransportInformation setTransportMeansID(Identifier value) { this.transportMeansID = value; return this; }
        public String getTransportMeansName() { return transportMeansName; }
        public ReceivingAdviceTransportInformation setTransportMeansName(String value) { this.transportMeansName = value; return this; }
        public Contact getDriver() { return driver; }
        public ReceivingAdviceTransportInformation setDriver(Contact value) { this.driver = value; return this; }
        public Person getDriverID() { return driverID; }
        public ReceivingAdviceTransportInformation setDriverID(Person value) { this.driverID = value; return this; }
        public Contact getReceiver() { return receiver; }
        public ReceivingAdviceTransportInformation setReceiver(Contact value) { this.receiver = value; return this; }
        public Person getReceiverID() { return receiverID; }
        public ReceivingAdviceTransportInformation setReceiverID(Person value) { this.receiverID = value; return this; }
    }

    public static class Contact
    {
        public String contactTypeCode = null;
        public String personName = null;
        public String departmentName = null;
        public String jobTitle = null;
        public String responsibility = null;
        public ArrayList<CommunicationChannel> communicationChannel = new ArrayList<CommunicationChannel>();
        
        public String getContactTypeCode() { return contactTypeCode; }
        public Contact setContactTypeCode(String value) { this.contactTypeCode = value; return this; }
        public String getPersonName() { return personName; }
        public Contact setPersonName(String value) { this.personName = value; return this; }
        public String getDepartmentName() { return departmentName; }
        public Contact setDepartmentName(String value) { this.departmentName = value; return this; }
        public String getJobTitle() { return jobTitle; }
        public Contact setJobTitle(String value) { this.jobTitle = value; return this; }
        public String getResponsibility() { return responsibility; }
        public Contact setResponsibility(String value) { this.responsibility = value; return this; }
        public ArrayList<CommunicationChannel> getCommunicationChannel() { return communicationChannel; }
        public Contact setCommunicationChannel(ArrayList<CommunicationChannel> value) { this.communicationChannel = value; return this; }
    }

    public static class CommunicationChannel
    {
        public String communicationChannelCode = null;
        public String communicationChannelName = null;
        public String communicationValue = null;
        
        public String getCommunicationChannelCode() { return communicationChannelCode; }
        public CommunicationChannel setCommunicationChannelCode(String value) { this.communicationChannelCode = value; return this; }
        public String getCommunicationChannelName() { return communicationChannelName; }
        public CommunicationChannel setCommunicationChannelName(String value) { this.communicationChannelName = value; return this; }
        public String getCommunicationValue() { return communicationValue; }
        public CommunicationChannel setCommunicationValue(String value) { this.communicationValue = value; return this; }
    }

    public static class Person
    {
        public Date dateOfBirth = null;
        public String gender = null;
        public String nationality = null;
        public String personName = null;
        public ArrayList<IdentityDocument> identityDocument = new ArrayList<IdentityDocument>();
        
        public Date getDateOfBirth() { return dateOfBirth; }
        public Person setDateOfBirth(Date value) { this.dateOfBirth = value; return this; }
        public String getGender() { return gender; }
        public Person setGender(String value) { this.gender = value; return this; }
        public String getNationality() { return nationality; }
        public Person setNationality(String value) { this.nationality = value; return this; }
        public String getPersonName() { return personName; }
        public Person setPersonName(String value) { this.personName = value; return this; }
        public ArrayList<IdentityDocument> getIdentityDocument() { return identityDocument; }
        public Person setIdentityDocument(ArrayList<IdentityDocument> value) { this.identityDocument = value; return this; }
    }

    public static class IdentityDocument
    {
        public String identityDocumentIssuer = null;
        public String identityDocumentNumber = null;
        public String identityDocumentType = null;
        
        public String getIdentityDocumentIssuer() { return identityDocumentIssuer; }
        public IdentityDocument setIdentityDocumentIssuer(String value) { this.identityDocumentIssuer = value; return this; }
        public String getIdentityDocumentNumber() { return identityDocumentNumber; }
        public IdentityDocument setIdentityDocumentNumber(String value) { this.identityDocumentNumber = value; return this; }
        public String getIdentityDocumentType() { return identityDocumentType; }
        public IdentityDocument setIdentityDocumentType(String value) { this.identityDocumentType = value; return this; }
    }

    public static class DocumentReference
    {
        public Date creationDateTime = null;
        public Long revisionNumber = null;
        public Long lineItemNumber = null;
        public String entityIdentification = null;
        
        public Date getCreationDateTime() { return creationDateTime; }
        public DocumentReference setCreationDateTime(Date value) { this.creationDateTime = value; return this; }
        public Long getRevisionNumber() { return revisionNumber; }
        public DocumentReference setRevisionNumber(Long value) { this.revisionNumber = value; return this; }
        public Long getLineItemNumber() { return lineItemNumber; }
        public DocumentReference setLineItemNumber(Long value) { this.lineItemNumber = value; return this; }
        public String getEntityIdentification() { return entityIdentification; }
        public DocumentReference setEntityIdentification(String value) { this.entityIdentification = value; return this; }
    }

    public static class TransactionalParty extends Ecom_PartyIdentificationType
    {
        public ArrayList<Contact> contact = new ArrayList<Contact>();
        public Address address = null;
        public ArrayList<AvpList> communicationChannel = new ArrayList<AvpList>();
        public FinancialInstitutionInformation financialInstitutionInformation = null;
        public String dutyFeeTaxRegistration = null;
        public String entityIdentification = null;
        
        public ArrayList<Contact> getContact() { return contact; }
        public TransactionalParty setContact(ArrayList<Contact> value) { this.contact = value; return this; }
        public Address getAddress() { return address; }
        public TransactionalParty setAddress(Address value) { this.address = value; return this; }
        public ArrayList<AvpList> getCommunicationChannel() { return communicationChannel; }
        public TransactionalParty setCommunicationChannel(ArrayList<AvpList> value) { this.communicationChannel = value; return this; }
        public FinancialInstitutionInformation getFinancialInstitutionInformation() { return financialInstitutionInformation; }
        public TransactionalParty setFinancialInstitutionInformation(FinancialInstitutionInformation value) { this.financialInstitutionInformation = value; return this; }
        public String getDutyFeeTaxRegistration() { return dutyFeeTaxRegistration; }
        public TransactionalParty setDutyFeeTaxRegistration(String value) { this.dutyFeeTaxRegistration = value; return this; }
        public String getEntityIdentification() { return entityIdentification; }
        public TransactionalParty setEntityIdentification(String value) { this.entityIdentification = value; return this; }
    }

    public static class Ecom_PartyIdentificationType
    {
        public String gln = null;
        public String name = null;
        public ArrayList<AvpList> additionalPartyIdentification = new ArrayList<AvpList>();
        
        public String getGln() { return gln; }
        public Ecom_PartyIdentificationType setGln(String value) { this.gln = value; return this; }
        public String getName() { return name; }
        public Ecom_PartyIdentificationType setName(String value) { this.name = value; return this; }
        public ArrayList<AvpList> getAdditionalPartyIdentification() { return additionalPartyIdentification; }
        public Ecom_PartyIdentificationType setAdditionalPartyIdentification(ArrayList<AvpList> value) { this.additionalPartyIdentification = value; return this; }
    }

    public static class Address
    {
        public String streetAddressOne = null;
        public String streetAddressTwo = null;
        public String streetAddressThree = null;
        public String city = null;
        public String postalCode = null;
        public String provinceCode = null;
        public String countryCode = null;
        
        public String getStreetAddressOne() { return streetAddressOne; }
        public Address setStreetAddressOne(String value) { this.streetAddressOne = value; return this; }
        public String getStreetAddressTwo() { return streetAddressTwo; }
        public Address setStreetAddressTwo(String value) { this.streetAddressTwo = value; return this; }
        public String getStreetAddressThree() { return streetAddressThree; }
        public Address setStreetAddressThree(String value) { this.streetAddressThree = value; return this; }
        public String getCity() { return city; }
        public Address setCity(String value) { this.city = value; return this; }
        public String getPostalCode() { return postalCode; }
        public Address setPostalCode(String value) { this.postalCode = value; return this; }
        public String getProvinceCode() { return provinceCode; }
        public Address setProvinceCode(String value) { this.provinceCode = value; return this; }
        public String getCountryCode() { return countryCode; }
        public Address setCountryCode(String value) { this.countryCode = value; return this; }
    }

    public static class FinancialInstitutionInformation
    {
        public String financialInstitutionBranchName = null;
        public String financialInstitutionName = null;
        public FinancialRoutingNumber financialRoutingNumber = null;
        public FinancialAccount financialAccount = null;
        public String swiftCode = null;
        public String exportersCode = null;
        
        public String getFinancialInstitutionBranchName() { return financialInstitutionBranchName; }
        public FinancialInstitutionInformation setFinancialInstitutionBranchName(String value) { this.financialInstitutionBranchName = value; return this; }
        public String getFinancialInstitutionName() { return financialInstitutionName; }
        public FinancialInstitutionInformation setFinancialInstitutionName(String value) { this.financialInstitutionName = value; return this; }
        public FinancialRoutingNumber getFinancialRoutingNumber() { return financialRoutingNumber; }
        public FinancialInstitutionInformation setFinancialRoutingNumber(FinancialRoutingNumber value) { this.financialRoutingNumber = value; return this; }
        public FinancialAccount getFinancialAccount() { return financialAccount; }
        public FinancialInstitutionInformation setFinancialAccount(FinancialAccount value) { this.financialAccount = value; return this; }
        public String getSwiftCode() { return swiftCode; }
        public FinancialInstitutionInformation setSwiftCode(String value) { this.swiftCode = value; return this; }
        public String getExportersCode() { return exportersCode; }
        public FinancialInstitutionInformation setExportersCode(String value) { this.exportersCode = value; return this; }
    }

    public static class FinancialRoutingNumber
    {
        public String number = null;
        public String numberTypeCode = null;
        
        public String getNumber() { return number; }
        public FinancialRoutingNumber setNumber(String value) { this.number = value; return this; }
        public String getNumberTypeCode() { return numberTypeCode; }
        public FinancialRoutingNumber setNumberTypeCode(String value) { this.numberTypeCode = value; return this; }
    }

    public static class FinancialAccount
    {
        public String number = null;
        public String numberTypeCode = null;
        public String name = null;
        
        public String getNumber() { return number; }
        public FinancialAccount setNumber(String value) { this.number = value; return this; }
        public String getNumberTypeCode() { return numberTypeCode; }
        public FinancialAccount setNumberTypeCode(String value) { this.numberTypeCode = value; return this; }
        public String getName() { return name; }
        public FinancialAccount setName(String value) { this.name = value; return this; }
    }

    public static class ConsignmentIdentification
    {
        public String ginc = null;
        public AdditionalConsignmentIdentification additionalConsignmentIdentification = null;
        
        public String getGinc() { return ginc; }
        public ConsignmentIdentification setGinc(String value) { this.ginc = value; return this; }
        public AdditionalConsignmentIdentification getAdditionalConsignmentIdentification() { return additionalConsignmentIdentification; }
        public ConsignmentIdentification setAdditionalConsignmentIdentification(AdditionalConsignmentIdentification value) { this.additionalConsignmentIdentification = value; return this; }
    }

    public static class AdditionalConsignmentIdentification
    {
        public String text = null;
        public String additionalConsignmentIdentificationTypeCode = null;
        
        public String getText() { return text; }
        public AdditionalConsignmentIdentification setText(String value) { this.text = value; return this; }
        public String getAdditionalConsignmentIdentificationTypeCode() { return additionalConsignmentIdentificationTypeCode; }
        public AdditionalConsignmentIdentification setAdditionalConsignmentIdentificationTypeCode(String value) { this.additionalConsignmentIdentificationTypeCode = value; return this; }
    }

    public static class ReceivingAdviceLogisticUnit extends LogisticUnits
    {
        public ArrayList<ReceivingAdviceLineItem> receivingAdviceLineItem = new ArrayList<ReceivingAdviceLineItem>();
        
        public ArrayList<ReceivingAdviceLineItem> getReceivingAdviceLineItem() { return receivingAdviceLineItem; }
        public ReceivingAdviceLogisticUnit setReceivingAdviceLineItem(ArrayList<ReceivingAdviceLineItem> value) { this.receivingAdviceLineItem = value; return this; }
    }

    public static class LogisticUnits
    {
        public String childPackageTypeCode = null;
        public Long levelIdentification = null;
        public String packageTypeCode = null;
        public Long parentLevelIdentification = null;
        public Long quantityOfChildren = null;
        public Long quantityOfLogisticUnits = null;
        public LogisticUnitMeasurement logisticUnitMeasurement = null;
        public ArrayList<ReturnablePackaging> returnablePackaging = new ArrayList<ReturnablePackaging>();
        public CarrierTrackAndTraceInformation carrierTrackAndTraceInformation = null;
        public AvpList avpList = null;
        public ArrayList<Ecom_IndividualAssetIdentification> individualAssetIdentification = new ArrayList<Ecom_IndividualAssetIdentification>();
        public Ecom_LogisticUnitIdentification logisticUnitIdentification = null;
        
        public String getChildPackageTypeCode() { return childPackageTypeCode; }
        public LogisticUnits setChildPackageTypeCode(String value) { this.childPackageTypeCode = value; return this; }
        public Long getLevelIdentification() { return levelIdentification; }
        public LogisticUnits setLevelIdentification(Long value) { this.levelIdentification = value; return this; }
        public String getPackageTypeCode() { return packageTypeCode; }
        public LogisticUnits setPackageTypeCode(String value) { this.packageTypeCode = value; return this; }
        public Long getParentLevelIdentification() { return parentLevelIdentification; }
        public LogisticUnits setParentLevelIdentification(Long value) { this.parentLevelIdentification = value; return this; }
        public Long getQuantityOfChildren() { return quantityOfChildren; }
        public LogisticUnits setQuantityOfChildren(Long value) { this.quantityOfChildren = value; return this; }
        public Long getQuantityOfLogisticUnits() { return quantityOfLogisticUnits; }
        public LogisticUnits setQuantityOfLogisticUnits(Long value) { this.quantityOfLogisticUnits = value; return this; }
        public LogisticUnitMeasurement getLogisticUnitMeasurement() { return logisticUnitMeasurement; }
        public LogisticUnits setLogisticUnitMeasurement(LogisticUnitMeasurement value) { this.logisticUnitMeasurement = value; return this; }
        public ArrayList<ReturnablePackaging> getReturnablePackaging() { return returnablePackaging; }
        public LogisticUnits setReturnablePackaging(ArrayList<ReturnablePackaging> value) { this.returnablePackaging = value; return this; }
        public CarrierTrackAndTraceInformation getCarrierTrackAndTraceInformation() { return carrierTrackAndTraceInformation; }
        public LogisticUnits setCarrierTrackAndTraceInformation(CarrierTrackAndTraceInformation value) { this.carrierTrackAndTraceInformation = value; return this; }
        public AvpList getAvpList() { return avpList; }
        public LogisticUnits setAvpList(AvpList value) { this.avpList = value; return this; }
        public ArrayList<Ecom_IndividualAssetIdentification> getIndividualAssetIdentification() { return individualAssetIdentification; }
        public LogisticUnits setIndividualAssetIdentification(ArrayList<Ecom_IndividualAssetIdentification> value) { this.individualAssetIdentification = value; return this; }
        public Ecom_LogisticUnitIdentification getLogisticUnitIdentification() { return logisticUnitIdentification; }
        public LogisticUnits setLogisticUnitIdentification(Ecom_LogisticUnitIdentification value) { this.logisticUnitIdentification = value; return this; }
    }

    public static class LogisticUnitMeasurement
    {
        public Dimension dimension = null;
        public UnitMeasurement unitMeasurement = null;
        
        public Dimension getDimension() { return dimension; }
        public LogisticUnitMeasurement setDimension(Dimension value) { this.dimension = value; return this; }
        public UnitMeasurement getUnitMeasurement() { return unitMeasurement; }
        public LogisticUnitMeasurement setUnitMeasurement(UnitMeasurement value) { this.unitMeasurement = value; return this; }
    }

    public static class Dimension
    {
        public Measurement depth = null;
        public Measurement height = null;
        public Measurement width = null;
        
        public Measurement getDepth() { return depth; }
        public Dimension setDepth(Measurement value) { this.depth = value; return this; }
        public Measurement getHeight() { return height; }
        public Dimension setHeight(Measurement value) { this.height = value; return this; }
        public Measurement getWidth() { return width; }
        public Dimension setWidth(Measurement value) { this.width = value; return this; }
    }

    public static class Measurement
    {
        public BigDecimal value = null;
        public String codeListVersion = null;
        public String measurementUnitCode = null;
        
        public BigDecimal getValue() { return value; }
        public Measurement setValue(BigDecimal value) { this.value = value; return this; }
        public String getCodeListVersion() { return codeListVersion; }
        public Measurement setCodeListVersion(String value) { this.codeListVersion = value; return this; }
        public String getMeasurementUnitCode() { return measurementUnitCode; }
        public Measurement setMeasurementUnitCode(String value) { this.measurementUnitCode = value; return this; }
    }

    public static class UnitMeasurement
    {
        public String measurementType = null;
        public Measurement measurementValue = null;
        
        public String getMeasurementType() { return measurementType; }
        public UnitMeasurement setMeasurementType(String value) { this.measurementType = value; return this; }
        public Measurement getMeasurementValue() { return measurementValue; }
        public UnitMeasurement setMeasurementValue(Measurement value) { this.measurementValue = value; return this; }
    }

    public static class ReturnablePackaging
    {
        public Identifier currentHolderRegistration = null;
        public Identifier newHolderRegistration = null;
        public String packagingConditionCode = null;
        public Long packagingQuantity = null;
        public ArrayList<ReturnableAssetIdentification> individualReturnableAssetIdentification = new ArrayList<ReturnableAssetIdentification>();
        public ReturnableAssetIdentification returnableAssetIdentification = null;
        
        public Identifier getCurrentHolderRegistration() { return currentHolderRegistration; }
        public ReturnablePackaging setCurrentHolderRegistration(Identifier value) { this.currentHolderRegistration = value; return this; }
        public Identifier getNewHolderRegistration() { return newHolderRegistration; }
        public ReturnablePackaging setNewHolderRegistration(Identifier value) { this.newHolderRegistration = value; return this; }
        public String getPackagingConditionCode() { return packagingConditionCode; }
        public ReturnablePackaging setPackagingConditionCode(String value) { this.packagingConditionCode = value; return this; }
        public Long getPackagingQuantity() { return packagingQuantity; }
        public ReturnablePackaging setPackagingQuantity(Long value) { this.packagingQuantity = value; return this; }
        public ArrayList<ReturnableAssetIdentification> getIndividualReturnableAssetIdentification() { return individualReturnableAssetIdentification; }
        public ReturnablePackaging setIndividualReturnableAssetIdentification(ArrayList<ReturnableAssetIdentification> value) { this.individualReturnableAssetIdentification = value; return this; }
        public ReturnableAssetIdentification getReturnableAssetIdentification() { return returnableAssetIdentification; }
        public ReturnablePackaging setReturnableAssetIdentification(ReturnableAssetIdentification value) { this.returnableAssetIdentification = value; return this; }
    }

    public static class ReturnableAssetIdentification
    {
        public ArrayList<AdditionalReturnableAssetIdentification> additionalReturnableAssetIdentification = new ArrayList<AdditionalReturnableAssetIdentification>();
        public String grai = null;
        
        public ArrayList<AdditionalReturnableAssetIdentification> getAdditionalReturnableAssetIdentification() { return additionalReturnableAssetIdentification; }
        public ReturnableAssetIdentification setAdditionalReturnableAssetIdentification(ArrayList<AdditionalReturnableAssetIdentification> value) { this.additionalReturnableAssetIdentification = value; return this; }
        public String getGrai() { return grai; }
        public ReturnableAssetIdentification setGrai(String value) { this.grai = value; return this; }
    }

    public static class AdditionalReturnableAssetIdentification
    {
        public String value = null;
        public String additionalReturnableAssetIdentificationTypeCode = null;
        
        public String getValue() { return value; }
        public AdditionalReturnableAssetIdentification setValue(String value) { this.value = value; return this; }
        public String getAdditionalReturnableAssetIdentificationTypeCode() { return additionalReturnableAssetIdentificationTypeCode; }
        public AdditionalReturnableAssetIdentification setAdditionalReturnableAssetIdentificationTypeCode(String value) { this.additionalReturnableAssetIdentificationTypeCode = value; return this; }
    }

    public static class CarrierTrackAndTraceInformation
    {
        public String carrierTrackAndTraceURL = null;
        public String packageTrackingNumber = null;
        
        public String getCarrierTrackAndTraceURL() { return carrierTrackAndTraceURL; }
        public CarrierTrackAndTraceInformation setCarrierTrackAndTraceURL(String value) { this.carrierTrackAndTraceURL = value; return this; }
        public String getPackageTrackingNumber() { return packageTrackingNumber; }
        public CarrierTrackAndTraceInformation setPackageTrackingNumber(String value) { this.packageTrackingNumber = value; return this; }
    }

    public static class Ecom_IndividualAssetIdentification
    {
        public ArrayList<AdditionalIndividualAssetIdentification> additionalIndividualAssetIdentification = new ArrayList<AdditionalIndividualAssetIdentification>();
        public String giai = null;
        
        public ArrayList<AdditionalIndividualAssetIdentification> getAdditionalIndividualAssetIdentification() { return additionalIndividualAssetIdentification; }
        public Ecom_IndividualAssetIdentification setAdditionalIndividualAssetIdentification(ArrayList<AdditionalIndividualAssetIdentification> value) { this.additionalIndividualAssetIdentification = value; return this; }
        public String getGiai() { return giai; }
        public Ecom_IndividualAssetIdentification setGiai(String value) { this.giai = value; return this; }
    }

    public static class AdditionalIndividualAssetIdentification
    {
        public BigDecimal value = null;
        public String additionalIndividualAssetIdentificationTypeCode = null;
        
        public BigDecimal getValue() { return value; }
        public AdditionalIndividualAssetIdentification setValue(BigDecimal value) { this.value = value; return this; }
        public String getAdditionalIndividualAssetIdentificationTypeCode() { return additionalIndividualAssetIdentificationTypeCode; }
        public AdditionalIndividualAssetIdentification setAdditionalIndividualAssetIdentificationTypeCode(String value) { this.additionalIndividualAssetIdentificationTypeCode = value; return this; }
    }

    public static class Ecom_LogisticUnitIdentification
    {
        public ArrayList<AdditionalLogisticUnitIdentification> additionalLogisiticUnitIdentification = new ArrayList<AdditionalLogisticUnitIdentification>();
        public String sscc = null;
        
        public ArrayList<AdditionalLogisticUnitIdentification> getAdditionalLogisiticUnitIdentification() { return additionalLogisiticUnitIdentification; }
        public Ecom_LogisticUnitIdentification setAdditionalLogisiticUnitIdentification(ArrayList<AdditionalLogisticUnitIdentification> value) { this.additionalLogisiticUnitIdentification = value; return this; }
        public String getSscc() { return sscc; }
        public Ecom_LogisticUnitIdentification setSscc(String value) { this.sscc = value; return this; }
    }

    public static class AdditionalLogisticUnitIdentification
    {
        public BigDecimal value = null;
        public String additionalLogisticUnitIdentificationTypeCode = null;
        
        public BigDecimal getValue() { return value; }
        public AdditionalLogisticUnitIdentification setValue(BigDecimal value) { this.value = value; return this; }
        public String getAdditionalLogisticUnitIdentificationTypeCode() { return additionalLogisticUnitIdentificationTypeCode; }
        public AdditionalLogisticUnitIdentification setAdditionalLogisticUnitIdentificationTypeCode(String value) { this.additionalLogisticUnitIdentificationTypeCode = value; return this; }
    }

    public static class ReceivingAdviceLineItem
    {
        public String extension = null;
        public Long lineItemNumber = null;
        public String note = null;
        public Long parentLineItemNumber = null;
        public Quantity quantityAccepted = null;
        public Quantity quantityDespatched = null;
        public Quantity quantityReceived = null;
        public ArrayList<ReceivingConditionInformation> receivingConditionInformation = new ArrayList<ReceivingConditionInformation>();
        public TransactionalTradeItem transactionalTradeItem = null;
        public ConsignmentIdentification consignmentIdentification = null;
        public AvpList avpList = null;
        public DocumentReference contract = null;
        public DocumentReference customerReference = null;
        public DocumentReference deliveryNote = null;
        public DocumentReference despatchAdvice = null;
        public DocumentReference productCertification = null;
        public DocumentReference promotionalDeal = null;
        public DocumentReference purchaseConditions = null;
        public DocumentReference purchaseOrder = null;
        public TradeItemIdentification requestedItemIdentification = null;
        public DocumentReference specification = null;
        
        public String getExtension() { return extension; }
        public ReceivingAdviceLineItem setExtension(String value) { this.extension = value; return this; }
        public Long getLineItemNumber() { return lineItemNumber; }
        public ReceivingAdviceLineItem setLineItemNumber(Long value) { this.lineItemNumber = value; return this; }
        public String getNote() { return note; }
        public ReceivingAdviceLineItem setNote(String value) { this.note = value; return this; }
        public Long getParentLineItemNumber() { return parentLineItemNumber; }
        public ReceivingAdviceLineItem setParentLineItemNumber(Long value) { this.parentLineItemNumber = value; return this; }
        public Quantity getQuantityAccepted() { return quantityAccepted; }
        public ReceivingAdviceLineItem setQuantityAccepted(Quantity value) { this.quantityAccepted = value; return this; }
        public Quantity getQuantityDespatched() { return quantityDespatched; }
        public ReceivingAdviceLineItem setQuantityDespatched(Quantity value) { this.quantityDespatched = value; return this; }
        public Quantity getQuantityReceived() { return quantityReceived; }
        public ReceivingAdviceLineItem setQuantityReceived(Quantity value) { this.quantityReceived = value; return this; }
        public ArrayList<ReceivingConditionInformation> getReceivingConditionInformation() { return receivingConditionInformation; }
        public ReceivingAdviceLineItem setReceivingConditionInformation(ArrayList<ReceivingConditionInformation> value) { this.receivingConditionInformation = value; return this; }
        public TransactionalTradeItem getTransactionalTradeItem() { return transactionalTradeItem; }
        public ReceivingAdviceLineItem setTransactionalTradeItem(TransactionalTradeItem value) { this.transactionalTradeItem = value; return this; }
        public ConsignmentIdentification getConsignmentIdentification() { return consignmentIdentification; }
        public ReceivingAdviceLineItem setConsignmentIdentification(ConsignmentIdentification value) { this.consignmentIdentification = value; return this; }
        public AvpList getAvpList() { return avpList; }
        public ReceivingAdviceLineItem setAvpList(AvpList value) { this.avpList = value; return this; }
        public DocumentReference getContract() { return contract; }
        public ReceivingAdviceLineItem setContract(DocumentReference value) { this.contract = value; return this; }
        public DocumentReference getCustomerReference() { return customerReference; }
        public ReceivingAdviceLineItem setCustomerReference(DocumentReference value) { this.customerReference = value; return this; }
        public DocumentReference getDeliveryNote() { return deliveryNote; }
        public ReceivingAdviceLineItem setDeliveryNote(DocumentReference value) { this.deliveryNote = value; return this; }
        public DocumentReference getDespatchAdvice() { return despatchAdvice; }
        public ReceivingAdviceLineItem setDespatchAdvice(DocumentReference value) { this.despatchAdvice = value; return this; }
        public DocumentReference getProductCertification() { return productCertification; }
        public ReceivingAdviceLineItem setProductCertification(DocumentReference value) { this.productCertification = value; return this; }
        public DocumentReference getPromotionalDeal() { return promotionalDeal; }
        public ReceivingAdviceLineItem setPromotionalDeal(DocumentReference value) { this.promotionalDeal = value; return this; }
        public DocumentReference getPurchaseConditions() { return purchaseConditions; }
        public ReceivingAdviceLineItem setPurchaseConditions(DocumentReference value) { this.purchaseConditions = value; return this; }
        public DocumentReference getPurchaseOrder() { return purchaseOrder; }
        public ReceivingAdviceLineItem setPurchaseOrder(DocumentReference value) { this.purchaseOrder = value; return this; }
        public TradeItemIdentification getRequestedItemIdentification() { return requestedItemIdentification; }
        public ReceivingAdviceLineItem setRequestedItemIdentification(TradeItemIdentification value) { this.requestedItemIdentification = value; return this; }
        public DocumentReference getSpecification() { return specification; }
        public ReceivingAdviceLineItem setSpecification(DocumentReference value) { this.specification = value; return this; }
    }

    public static class Quantity
    {
        public BigDecimal value = null;
        public String measurementUnitCode = null;
        public String codeListVersion = null;
        
        public BigDecimal getValue() { return value; }
        public Quantity setValue(BigDecimal value) { this.value = value; return this; }
        public String getMeasurementUnitCode() { return measurementUnitCode; }
        public Quantity setMeasurementUnitCode(String value) { this.measurementUnitCode = value; return this; }
        public String getCodeListVersion() { return codeListVersion; }
        public Quantity setCodeListVersion(String value) { this.codeListVersion = value; return this; }
    }

    public static class ReceivingConditionInformation
    {
        public String receivedGoodsDisposition = null;
        public String receivingConditionCode = null;
        public Quantity receivingConditionQuantity = null;
        
        public String getReceivedGoodsDisposition() { return receivedGoodsDisposition; }
        public ReceivingConditionInformation setReceivedGoodsDisposition(String value) { this.receivedGoodsDisposition = value; return this; }
        public String getReceivingConditionCode() { return receivingConditionCode; }
        public ReceivingConditionInformation setReceivingConditionCode(String value) { this.receivingConditionCode = value; return this; }
        public Quantity getReceivingConditionQuantity() { return receivingConditionQuantity; }
        public ReceivingConditionInformation setReceivingConditionQuantity(Quantity value) { this.receivingConditionQuantity = value; return this; }
    }

    public static class TransactionalTradeItem
    {
        public String gtin = null;
        public ArrayList<AvpList> additionalTradeItemIdentification = new ArrayList<AvpList>();
        public BigDecimal tradeItemQuantity = null;
        public String tradeItemDescription = null;
        public String productVariantIdentifier = null;
        public String itemTypeCode = null;
        public String tradeItemDataOwner = null;
        public String butterFatReference = null;
        public ArrayList<TransactionalItemData> transactionalItemData = new ArrayList<TransactionalItemData>();
        public ArrayList<Colour> colour = new ArrayList<Colour>();
        public Size size = null;
        public TradeItemClassification tradeItemClassification = null;
        public ArrayList<AvpList> avpList = new ArrayList<AvpList>();
        
        public String getGtin() { return gtin; }
        public TransactionalTradeItem setGtin(String value) { this.gtin = value; return this; }
        public ArrayList<AvpList> getAdditionalTradeItemIdentification() { return additionalTradeItemIdentification; }
        public TransactionalTradeItem setAdditionalTradeItemIdentification(ArrayList<AvpList> value) { this.additionalTradeItemIdentification = value; return this; }
        public BigDecimal getTradeItemQuantity() { return tradeItemQuantity; }
        public TransactionalTradeItem setTradeItemQuantity(BigDecimal value) { this.tradeItemQuantity = value; return this; }
        public String getTradeItemDescription() { return tradeItemDescription; }
        public TransactionalTradeItem setTradeItemDescription(String value) { this.tradeItemDescription = value; return this; }
        public String getProductVariantIdentifier() { return productVariantIdentifier; }
        public TransactionalTradeItem setProductVariantIdentifier(String value) { this.productVariantIdentifier = value; return this; }
        public String getItemTypeCode() { return itemTypeCode; }
        public TransactionalTradeItem setItemTypeCode(String value) { this.itemTypeCode = value; return this; }
        public String getTradeItemDataOwner() { return tradeItemDataOwner; }
        public TransactionalTradeItem setTradeItemDataOwner(String value) { this.tradeItemDataOwner = value; return this; }
        public String getButterFatReference() { return butterFatReference; }
        public TransactionalTradeItem setButterFatReference(String value) { this.butterFatReference = value; return this; }
        public ArrayList<TransactionalItemData> getTransactionalItemData() { return transactionalItemData; }
        public TransactionalTradeItem setTransactionalItemData(ArrayList<TransactionalItemData> value) { this.transactionalItemData = value; return this; }
        public ArrayList<Colour> getColour() { return colour; }
        public TransactionalTradeItem setColour(ArrayList<Colour> value) { this.colour = value; return this; }
        public Size getSize() { return size; }
        public TransactionalTradeItem setSize(Size value) { this.size = value; return this; }
        public TradeItemClassification getTradeItemClassification() { return tradeItemClassification; }
        public TransactionalTradeItem setTradeItemClassification(TradeItemClassification value) { this.tradeItemClassification = value; return this; }
        public ArrayList<AvpList> getAvpList() { return avpList; }
        public TransactionalTradeItem setAvpList(ArrayList<AvpList> value) { this.avpList = value; return this; }
    }

    public static class TransactionalItemData
    {
        public Date availableForSaleDate = null;
        public String batchNumber = null;
        public Date bestBeforeDate = null;
        public String countryOfOrigin = null;
        public Date itemExpirationDate = null;
        public String lotNumber = null;
        public Date packagingDate = null;
        public Date productionDate = null;
        public String productQualityIndication = null;
        public Date sellByDate = null;
        public ArrayList<String> serialNumber = new ArrayList<String>();
        public String shelfLife = null;
        public Long tradeItemQuantity = null;
        public Boolean itemInContactWithFoodProduct = null;
        public ArrayList<TransactionalItem> transactionalItemWeight = new ArrayList<TransactionalItem>();
        public ArrayList<TransactionalItem> transactionalItemVolume = new ArrayList<TransactionalItem>();
        public ArrayList<SerialNumberRange> serialNumberRange = new ArrayList<SerialNumberRange>();
        public ArrayList<TransactionalItemDimension> transactionalItemDimensions = new ArrayList<TransactionalItemDimension>();
        public TransactionalItemLogisticUnitInformation transactionalItemLogisticUnitInformation = null;
        public TransactionalItemDataCarrierAndIdentification transactionalItemDataCarrierAndIdentification = null;
        public ArrayList<TradeItemWaste> tradeItemWaste = new ArrayList<TradeItemWaste>();
        public TransactionalItemOrganicInformation transactionalItemOrganicInformation = null;
        public ArrayList<AvpList> avpList = new ArrayList<AvpList>();
        
        public Date getAvailableForSaleDate() { return availableForSaleDate; }
        public TransactionalItemData setAvailableForSaleDate(Date value) { this.availableForSaleDate = value; return this; }
        public String getBatchNumber() { return batchNumber; }
        public TransactionalItemData setBatchNumber(String value) { this.batchNumber = value; return this; }
        public Date getBestBeforeDate() { return bestBeforeDate; }
        public TransactionalItemData setBestBeforeDate(Date value) { this.bestBeforeDate = value; return this; }
        public String getCountryOfOrigin() { return countryOfOrigin; }
        public TransactionalItemData setCountryOfOrigin(String value) { this.countryOfOrigin = value; return this; }
        public Date getItemExpirationDate() { return itemExpirationDate; }
        public TransactionalItemData setItemExpirationDate(Date value) { this.itemExpirationDate = value; return this; }
        public String getLotNumber() { return lotNumber; }
        public TransactionalItemData setLotNumber(String value) { this.lotNumber = value; return this; }
        public Date getPackagingDate() { return packagingDate; }
        public TransactionalItemData setPackagingDate(Date value) { this.packagingDate = value; return this; }
        public Date getProductionDate() { return productionDate; }
        public TransactionalItemData setProductionDate(Date value) { this.productionDate = value; return this; }
        public String getProductQualityIndication() { return productQualityIndication; }
        public TransactionalItemData setProductQualityIndication(String value) { this.productQualityIndication = value; return this; }
        public Date getSellByDate() { return sellByDate; }
        public TransactionalItemData setSellByDate(Date value) { this.sellByDate = value; return this; }
        public ArrayList<String> getSerialNumber() { return serialNumber; }
        public TransactionalItemData setSerialNumber(ArrayList<String> value) { this.serialNumber = value; return this; }
        public String getShelfLife() { return shelfLife; }
        public TransactionalItemData setShelfLife(String value) { this.shelfLife = value; return this; }
        public Long getTradeItemQuantity() { return tradeItemQuantity; }
        public TransactionalItemData setTradeItemQuantity(Long value) { this.tradeItemQuantity = value; return this; }
        public Boolean isItemInContactWithFoodProduct() { return itemInContactWithFoodProduct; }
        public TransactionalItemData setItemInContactWithFoodProduct(Boolean value) { this.itemInContactWithFoodProduct = value; return this; }
        public ArrayList<TransactionalItem> getTransactionalItemWeight() { return transactionalItemWeight; }
        public TransactionalItemData setTransactionalItemWeight(ArrayList<TransactionalItem> value) { this.transactionalItemWeight = value; return this; }
        public ArrayList<TransactionalItem> getTransactionalItemVolume() { return transactionalItemVolume; }
        public TransactionalItemData setTransactionalItemVolume(ArrayList<TransactionalItem> value) { this.transactionalItemVolume = value; return this; }
        public ArrayList<SerialNumberRange> getSerialNumberRange() { return serialNumberRange; }
        public TransactionalItemData setSerialNumberRange(ArrayList<SerialNumberRange> value) { this.serialNumberRange = value; return this; }
        public ArrayList<TransactionalItemDimension> getTransactionalItemDimensions() { return transactionalItemDimensions; }
        public TransactionalItemData setTransactionalItemDimensions(ArrayList<TransactionalItemDimension> value) { this.transactionalItemDimensions = value; return this; }
        public TransactionalItemLogisticUnitInformation getTransactionalItemLogisticUnitInformation() { return transactionalItemLogisticUnitInformation; }
        public TransactionalItemData setTransactionalItemLogisticUnitInformation(TransactionalItemLogisticUnitInformation value) { this.transactionalItemLogisticUnitInformation = value; return this; }
        public TransactionalItemDataCarrierAndIdentification getTransactionalItemDataCarrierAndIdentification() { return transactionalItemDataCarrierAndIdentification; }
        public TransactionalItemData setTransactionalItemDataCarrierAndIdentification(TransactionalItemDataCarrierAndIdentification value) { this.transactionalItemDataCarrierAndIdentification = value; return this; }
        public ArrayList<TradeItemWaste> getTradeItemWaste() { return tradeItemWaste; }
        public TransactionalItemData setTradeItemWaste(ArrayList<TradeItemWaste> value) { this.tradeItemWaste = value; return this; }
        public TransactionalItemOrganicInformation getTransactionalItemOrganicInformation() { return transactionalItemOrganicInformation; }
        public TransactionalItemData setTransactionalItemOrganicInformation(TransactionalItemOrganicInformation value) { this.transactionalItemOrganicInformation = value; return this; }
        public ArrayList<AvpList> getAvpList() { return avpList; }
        public TransactionalItemData setAvpList(ArrayList<AvpList> value) { this.avpList = value; return this; }
    }

    public static class TransactionalItem
    {
        public String measurementUnitCode = null;
        public String measurementType = null;
        public String measurementValue = null;
        
        public String getMeasurementUnitCode() { return measurementUnitCode; }
        public TransactionalItem setMeasurementUnitCode(String value) { this.measurementUnitCode = value; return this; }
        public String getMeasurementType() { return measurementType; }
        public TransactionalItem setMeasurementType(String value) { this.measurementType = value; return this; }
        public String getMeasurementValue() { return measurementValue; }
        public TransactionalItem setMeasurementValue(String value) { this.measurementValue = value; return this; }
    }

    public static class SerialNumberRange
    {
        public String maximumValue = null;
        public String minimumValue = null;
        
        public String getMaximumValue() { return maximumValue; }
        public SerialNumberRange setMaximumValue(String value) { this.maximumValue = value; return this; }
        public String getMinimumValue() { return minimumValue; }
        public SerialNumberRange setMinimumValue(String value) { this.minimumValue = value; return this; }
    }

    public static class TransactionalItemDimension
    {
        public String measurementUnitCode = null;
        public String depth = null;
        public String height = null;
        public String width = null;
        
        public String getMeasurementUnitCode() { return measurementUnitCode; }
        public TransactionalItemDimension setMeasurementUnitCode(String value) { this.measurementUnitCode = value; return this; }
        public String getDepth() { return depth; }
        public TransactionalItemDimension setDepth(String value) { this.depth = value; return this; }
        public String getHeight() { return height; }
        public TransactionalItemDimension setHeight(String value) { this.height = value; return this; }
        public String getWidth() { return width; }
        public TransactionalItemDimension setWidth(String value) { this.width = value; return this; }
    }

    public static class TransactionalItemLogisticUnitInformation
    {
        public Long numberOfLayers = null;
        public Long numberOfUnitsPerLayer = null;
        public Long numberOfUnitsPerPallet = null;
        public String packagingTerms = null;
        public String packageTypeCode = null;
        public Long maximumStackingFactor = null;
        public String returnablePackageTransportCostPayment = null;
        public ArrayList<TransactionalItemDimension> dimensionsOfLogisticUnit = new ArrayList<TransactionalItemDimension>();
        
        public Long getNumberOfLayers() { return numberOfLayers; }
        public TransactionalItemLogisticUnitInformation setNumberOfLayers(Long value) { this.numberOfLayers = value; return this; }
        public Long getNumberOfUnitsPerLayer() { return numberOfUnitsPerLayer; }
        public TransactionalItemLogisticUnitInformation setNumberOfUnitsPerLayer(Long value) { this.numberOfUnitsPerLayer = value; return this; }
        public Long getNumberOfUnitsPerPallet() { return numberOfUnitsPerPallet; }
        public TransactionalItemLogisticUnitInformation setNumberOfUnitsPerPallet(Long value) { this.numberOfUnitsPerPallet = value; return this; }
        public String getPackagingTerms() { return packagingTerms; }
        public TransactionalItemLogisticUnitInformation setPackagingTerms(String value) { this.packagingTerms = value; return this; }
        public String getPackageTypeCode() { return packageTypeCode; }
        public TransactionalItemLogisticUnitInformation setPackageTypeCode(String value) { this.packageTypeCode = value; return this; }
        public Long getMaximumStackingFactor() { return maximumStackingFactor; }
        public TransactionalItemLogisticUnitInformation setMaximumStackingFactor(Long value) { this.maximumStackingFactor = value; return this; }
        public String getReturnablePackageTransportCostPayment() { return returnablePackageTransportCostPayment; }
        public TransactionalItemLogisticUnitInformation setReturnablePackageTransportCostPayment(String value) { this.returnablePackageTransportCostPayment = value; return this; }
        public ArrayList<TransactionalItemDimension> getDimensionsOfLogisticUnit() { return dimensionsOfLogisticUnit; }
        public TransactionalItemLogisticUnitInformation setDimensionsOfLogisticUnit(ArrayList<TransactionalItemDimension> value) { this.dimensionsOfLogisticUnit = value; return this; }
    }

    public static class TransactionalItemDataCarrierAndIdentification
    {
        public String gs1TransactionalItemIdentificationKey = null;
        public String dataCarrier = null;
        
        public String getGs1TransactionalItemIdentificationKey() { return gs1TransactionalItemIdentificationKey; }
        public TransactionalItemDataCarrierAndIdentification setGs1TransactionalItemIdentificationKey(String value) { this.gs1TransactionalItemIdentificationKey = value; return this; }
        public String getDataCarrier() { return dataCarrier; }
        public TransactionalItemDataCarrierAndIdentification setDataCarrier(String value) { this.dataCarrier = value; return this; }
    }

    public static class TradeItemWaste
    {
        public String wasteIdentification = null;
        public ArrayList<AvpList> typeOfWaste = new ArrayList<AvpList>();
        
        public String getWasteIdentification() { return wasteIdentification; }
        public TradeItemWaste setWasteIdentification(String value) { this.wasteIdentification = value; return this; }
        public ArrayList<AvpList> getTypeOfWaste() { return typeOfWaste; }
        public TradeItemWaste setTypeOfWaste(ArrayList<AvpList> value) { this.typeOfWaste = value; return this; }
    }

    public static class TransactionalItemOrganicInformation
    {
        public Boolean isTradeItemOrganic = null;
        public String organicCertification = null;
        
        public Boolean getIsTradeItemOrganic() { return isTradeItemOrganic; }
        public TransactionalItemOrganicInformation setIsTradeItemOrganic(Boolean value) { this.isTradeItemOrganic = value; return this; }
        public String getOrganicCertification() { return organicCertification; }
        public TransactionalItemOrganicInformation setOrganicCertification(String value) { this.organicCertification = value; return this; }
    }

    public static class Colour
    {
        public String colourCode = null;
        public String colourDescription = null;
        
        public String getColourCode() { return colourCode; }
        public Colour setColourCode(String value) { this.colourCode = value; return this; }
        public String getColourDescription() { return colourDescription; }
        public Colour setColourDescription(String value) { this.colourDescription = value; return this; }
    }

    public static class Size
    {
        public String descriptiveSize = null;
        public String sizeCode = null;
        
        public String getDescriptiveSize() { return descriptiveSize; }
        public Size setDescriptiveSize(String value) { this.descriptiveSize = value; return this; }
        public String getSizeCode() { return sizeCode; }
        public Size setSizeCode(String value) { this.sizeCode = value; return this; }
    }

    public static class TradeItemClassification
    {
        public String gpcCategoryCode = null;
        public ArrayList<AvpList> additionalTradeItemClassificationCode = new ArrayList<AvpList>();
        public String gpcCategoryName = null;
        public ArrayList<AvpList> gpcAttribute = new ArrayList<AvpList>();
        
        public String getGpcCategoryCode() { return gpcCategoryCode; }
        public TradeItemClassification setGpcCategoryCode(String value) { this.gpcCategoryCode = value; return this; }
        public ArrayList<AvpList> getAdditionalTradeItemClassificationCode() { return additionalTradeItemClassificationCode; }
        public TradeItemClassification setAdditionalTradeItemClassificationCode(ArrayList<AvpList> value) { this.additionalTradeItemClassificationCode = value; return this; }
        public String getGpcCategoryName() { return gpcCategoryName; }
        public TradeItemClassification setGpcCategoryName(String value) { this.gpcCategoryName = value; return this; }
        public ArrayList<AvpList> getGpcAttribute() { return gpcAttribute; }
        public TradeItemClassification setGpcAttribute(ArrayList<AvpList> value) { this.gpcAttribute = value; return this; }
    }

    public static class TradeItemIdentification
    {
        public ArrayList<AvpList> additionalTradeItemIdentification = new ArrayList<AvpList>();
        public String gtin = null;
        
        public ArrayList<AvpList> getAdditionalTradeItemIdentification() { return additionalTradeItemIdentification; }
        public TradeItemIdentification setAdditionalTradeItemIdentification(ArrayList<AvpList> value) { this.additionalTradeItemIdentification = value; return this; }
        public String getGtin() { return gtin; }
        public TradeItemIdentification setGtin(String value) { this.gtin = value; return this; }
    }

}

Java GetReceivingAdviceById DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /api/receivingAdvice/{Id} HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	header: 
	{
		documentIdentification: 
		{
			identifier: String,
			type: String
		},
		sender: 
		{
			identifier: 
			{
				authority: String,
				text: String
			},
			contactInformation: 
			[
				{
					
				}
			]
		},
		receiver: 
		{
			identifier: 
			{
				authority: String,
				text: String
			},
			contactInformation: 
			[
				{
					
				}
			]
		}
	},
	receivingAdvice: 
	{
		despatchAdviceDeliveryDateTime: 0001-01-01,
		note: String,
		paymentDateTime: 0001-01-01,
		receivingDateTime: 0001-01-01,
		reportingCode: String,
		totalDepositAmount: 0,
		receivingAdviceTransportInformation: 
		{
			routeID: 
			{
				authority: String,
				text: String
			},
			transportMeansID: 
			{
				authority: String,
				text: String
			},
			transportMeansName: String,
			driver: 
			{
				contactTypeCode: String,
				personName: String,
				departmentName: String,
				jobTitle: String,
				responsibility: String,
				communicationChannel: 
				[
					{
						communicationChannelCode: String,
						communicationChannelName: String,
						communicationValue: String
					}
				]
			},
			driverID: 
			{
				dateOfBirth: 0001-01-01,
				gender: String,
				nationality: String,
				personName: String,
				identityDocument: 
				[
					{
						identityDocumentIssuer: String,
						identityDocumentNumber: String,
						identityDocumentType: String
					}
				]
			},
			receiver: 
			{
				contactTypeCode: String,
				personName: String,
				departmentName: String,
				jobTitle: String,
				responsibility: String,
				communicationChannel: 
				[
					{
						communicationChannelCode: String,
						communicationChannelName: String,
						communicationValue: String
					}
				]
			},
			receiverID: 
			{
				dateOfBirth: 0001-01-01,
				gender: String,
				nationality: String,
				personName: String,
				identityDocument: 
				[
					{
						identityDocumentIssuer: String,
						identityDocumentNumber: String,
						identityDocumentType: String
					}
				]
			}
		},
		billOfLadingNumber: 
		{
			creationDateTime: 0001-01-01,
			revisionNumber: 0,
			lineItemNumber: 0,
			entityIdentification: String
		},
		buyer: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		carrier: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		consignmentIdentification: 
		{
			ginc: String,
			additionalConsignmentIdentification: 
			{
				text: String,
				additionalConsignmentIdentificationTypeCode: String
			}
		},
		deliveryNote: 
		{
			creationDateTime: 0001-01-01,
			revisionNumber: 0,
			lineItemNumber: 0,
			entityIdentification: String
		},
		despatchAdvice: String,
		inventoryLocation: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		purchaseOrder: 
		{
			creationDateTime: 0001-01-01,
			revisionNumber: 0,
			lineItemNumber: 0,
			entityIdentification: String
		},
		receiver: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		receivingAdviceIdentification: String,
		seller: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		shipFrom: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		shipmentIdentification: 
		{
			ginc: String,
			additionalConsignmentIdentification: 
			{
				text: String,
				additionalConsignmentIdentificationTypeCode: String
			}
		},
		shipper: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		shipTo: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		receivingAdviceLogisticUnit: 
		[
			{
				receivingAdviceLineItem: 
				[
					{
						extension: String,
						lineItemNumber: 0,
						note: String,
						parentLineItemNumber: 0,
						quantityAccepted: 
						{
							value: 0,
							measurementUnitCode: String,
							codeListVersion: String
						},
						quantityDespatched: 
						{
							value: 0,
							measurementUnitCode: String,
							codeListVersion: String
						},
						quantityReceived: 
						{
							value: 0,
							measurementUnitCode: String,
							codeListVersion: String
						},
						receivingConditionInformation: 
						[
							{
								receivedGoodsDisposition: String,
								receivingConditionCode: String,
								receivingConditionQuantity: 
								{
									value: 0,
									measurementUnitCode: String,
									codeListVersion: String
								}
							}
						],
						transactionalTradeItem: 
						{
							gtin: String,
							additionalTradeItemIdentification: 
							[
								{
									code: String,
									value: String
								}
							],
							tradeItemQuantity: 0,
							tradeItemDescription: String,
							productVariantIdentifier: String,
							itemTypeCode: String,
							tradeItemDataOwner: String,
							butterFatReference: String,
							transactionalItemData: 
							[
								{
									availableForSaleDate: 0001-01-01,
									batchNumber: String,
									bestBeforeDate: 0001-01-01,
									countryOfOrigin: String,
									itemExpirationDate: 0001-01-01,
									lotNumber: String,
									packagingDate: 0001-01-01,
									productionDate: 0001-01-01,
									productQualityIndication: String,
									sellByDate: 0001-01-01,
									serialNumber: 
									[
										String
									],
									shelfLife: String,
									tradeItemQuantity: 0,
									itemInContactWithFoodProduct: False,
									transactionalItemWeight: 
									[
										{
											measurementUnitCode: String,
											measurementType: String,
											measurementValue: String
										}
									],
									transactionalItemVolume: 
									[
										{
											measurementUnitCode: String,
											measurementType: String,
											measurementValue: String
										}
									],
									serialNumberRange: 
									[
										{
											maximumValue: String,
											minimumValue: String
										}
									],
									transactionalItemDimensions: 
									[
										{
											measurementUnitCode: String,
											depth: String,
											height: String,
											width: String
										}
									],
									transactionalItemLogisticUnitInformation: 
									{
										numberOfLayers: 0,
										numberOfUnitsPerLayer: 0,
										numberOfUnitsPerPallet: 0,
										packagingTerms: String,
										packageTypeCode: String,
										maximumStackingFactor: 0,
										returnablePackageTransportCostPayment: String,
										dimensionsOfLogisticUnit: 
										[
											{
												measurementUnitCode: String,
												depth: String,
												height: String,
												width: String
											}
										]
									},
									transactionalItemDataCarrierAndIdentification: 
									{
										gs1TransactionalItemIdentificationKey: String,
										dataCarrier: String
									},
									tradeItemWaste: 
									[
										{
											wasteIdentification: String,
											typeOfWaste: 
											[
												{
													code: String,
													value: String
												}
											]
										}
									],
									transactionalItemOrganicInformation: 
									{
										isTradeItemOrganic: False,
										organicCertification: String
									},
									avpList: 
									[
										{
											code: String,
											value: String
										}
									]
								}
							],
							colour: 
							[
								{
									colourCode: String,
									colourDescription: String
								}
							],
							size: 
							{
								descriptiveSize: String,
								sizeCode: String
							},
							tradeItemClassification: 
							{
								gpcCategoryCode: String,
								additionalTradeItemClassificationCode: 
								[
									{
										code: String,
										value: String
									}
								],
								gpcCategoryName: String,
								gpcAttribute: 
								[
									{
										code: String,
										value: String
									}
								]
							},
							avpList: 
							[
								{
									code: String,
									value: String
								}
							]
						},
						consignmentIdentification: 
						{
							ginc: String,
							additionalConsignmentIdentification: 
							{
								text: String,
								additionalConsignmentIdentificationTypeCode: String
							}
						},
						avpList: 
						{
							code: String,
							value: String
						},
						contract: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: String
						},
						customerReference: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: String
						},
						deliveryNote: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: String
						},
						despatchAdvice: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: String
						},
						productCertification: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: String
						},
						promotionalDeal: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: String
						},
						purchaseConditions: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: String
						},
						purchaseOrder: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: String
						},
						requestedItemIdentification: 
						{
							additionalTradeItemIdentification: 
							[
								{
									code: String,
									value: String
								}
							],
							gtin: String
						},
						specification: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: String
						}
					}
				],
				childPackageTypeCode: String,
				levelIdentification: 0,
				packageTypeCode: String,
				parentLevelIdentification: 0,
				quantityOfChildren: 0,
				quantityOfLogisticUnits: 0,
				logisticUnitMeasurement: 
				{
					dimension: 
					{
						depth: 
						{
							value: 0,
							codeListVersion: String,
							measurementUnitCode: String
						},
						height: 
						{
							value: 0,
							codeListVersion: String,
							measurementUnitCode: String
						},
						width: 
						{
							value: 0,
							codeListVersion: String,
							measurementUnitCode: String
						}
					},
					unitMeasurement: 
					{
						measurementType: String,
						measurementValue: 
						{
							value: 0,
							codeListVersion: String,
							measurementUnitCode: String
						}
					}
				},
				returnablePackaging: 
				[
					{
						currentHolderRegistration: 
						{
							authority: String,
							text: String
						},
						newHolderRegistration: 
						{
							authority: String,
							text: String
						},
						packagingConditionCode: String,
						packagingQuantity: 0,
						individualReturnableAssetIdentification: 
						[
							{
								additionalReturnableAssetIdentification: 
								[
									{
										value: String,
										additionalReturnableAssetIdentificationTypeCode: String
									}
								],
								grai: String
							}
						],
						returnableAssetIdentification: 
						{
							additionalReturnableAssetIdentification: 
							[
								{
									value: String,
									additionalReturnableAssetIdentificationTypeCode: String
								}
							],
							grai: String
						}
					}
				],
				carrierTrackAndTraceInformation: 
				{
					carrierTrackAndTraceURL: String,
					packageTrackingNumber: String
				},
				avpList: 
				{
					code: String,
					value: String
				},
				individualAssetIdentification: 
				[
					{
						additionalIndividualAssetIdentification: 
						[
							{
								value: 0,
								additionalIndividualAssetIdentificationTypeCode: String
							}
						],
						giai: String
					}
				],
				logisticUnitIdentification: 
				{
					additionalLogisiticUnitIdentification: 
					[
						{
							value: 0,
							additionalLogisticUnitIdentificationTypeCode: String
						}
					],
					sscc: String
				}
			}
		],
		currencyCode: String,
		documentActionCode: ADD,
		documentStatusCode: ADDITIONAL_TRANSMISSION,
		documentStructureVersion: String,
		lastUpdateDateTime: 0001-01-01,
		revisionNumber: 0,
		avpList: 
		[
			{
				code: String,
				value: String
			}
		]
	}
}