DX STF Client API

<back to all web services

AddItemDataNotification

Item Data Notification Requests

Item Data Notification

Requires Authentication
The following routes are available for this service:
POST/api/itemDataNotificationAdd new ItemDataNotification
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
{

    /**
    * Item Data Notification
    */
    @Api(Description="Item Data Notification")
    @ApiResponse(Description="Add ItemDataNotification request received", IsDefaultResponse=true, StatusCode=200)
    // @ApiResponse(Description="ItemDataNotification not accepted, Confirm Sender GLN", ResponseType=UnauthorizedAccessException.class, StatusCode=403)
    public static class AddItemDataNotification
    {
        /**
        * ItemDataNotification model containing all of the ItemDataNotification data
        */
        @ApiMember(Description="ItemDataNotification model containing all of the ItemDataNotification data", ParameterType="model")
        public ItemDataNotificationMessage itemDataNotification = null;
        
        public ItemDataNotificationMessage getItemDataNotification() { return itemDataNotification; }
        public AddItemDataNotification setItemDataNotification(ItemDataNotificationMessage value) { this.itemDataNotification = value; return this; }
    }

    public static class ItemDataNotificationMessage extends BaseDocument
    {
        public TransactionalParty dataRecipient = null;
        public TransactionalParty dataSource = null;
        public String itemDataNotificationIdentification = null;
        public ArrayList<ItemDataNotificationLineItem> itemDataNotificationLineItem = new ArrayList<ItemDataNotificationLineItem>();
        
        public TransactionalParty getDataRecipient() { return dataRecipient; }
        public ItemDataNotificationMessage setDataRecipient(TransactionalParty value) { this.dataRecipient = value; return this; }
        public TransactionalParty getDataSource() { return dataSource; }
        public ItemDataNotificationMessage setDataSource(TransactionalParty value) { this.dataSource = value; return this; }
        public String getItemDataNotificationIdentification() { return itemDataNotificationIdentification; }
        public ItemDataNotificationMessage setItemDataNotificationIdentification(String value) { this.itemDataNotificationIdentification = value; return this; }
        public ArrayList<ItemDataNotificationLineItem> getItemDataNotificationLineItem() { return itemDataNotificationLineItem; }
        public ItemDataNotificationMessage setItemDataNotificationLineItem(ArrayList<ItemDataNotificationLineItem> value) { this.itemDataNotificationLineItem = 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 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 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 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 ItemDataNotificationLineItem extends Ecom_TradeItemIdentification
    {
        public String brandName = null;
        public String gpcCategoryCode = null;
        public Boolean isTheProductVariantPreferred = null;
        public Long lineItemNumber = null;
        public Long parentLineItemNumber = null;
        public IdentifierType productVariantIdentifier = null;
        public BigDecimal quantityOfItemTypes = null;
        public BigDecimal quantityOfItemUnits = null;
        public ArrayList<String> tradeItemDescription = new ArrayList<String>();
        public String tradeItemUnitDescriptorCode = null;
        public ItemDataTradingPartnerNeutral itemDataTradingPartnerNeutral = null;
        public ArrayList<ItemDataTradingPartnerDependent> itemDataTradingPartnerDependent = new ArrayList<ItemDataTradingPartnerDependent>();
        public ArrayList<LowerLevelTradeItem> lowerLevelTradeItem = new ArrayList<LowerLevelTradeItem>();
        public ArrayList<AvpList> avpList = new ArrayList<AvpList>();
        
        public String getBrandName() { return brandName; }
        public ItemDataNotificationLineItem setBrandName(String value) { this.brandName = value; return this; }
        public String getGpcCategoryCode() { return gpcCategoryCode; }
        public ItemDataNotificationLineItem setGpcCategoryCode(String value) { this.gpcCategoryCode = value; return this; }
        public Boolean getIsTheProductVariantPreferred() { return isTheProductVariantPreferred; }
        public ItemDataNotificationLineItem setIsTheProductVariantPreferred(Boolean value) { this.isTheProductVariantPreferred = value; return this; }
        public Long getLineItemNumber() { return lineItemNumber; }
        public ItemDataNotificationLineItem setLineItemNumber(Long value) { this.lineItemNumber = value; return this; }
        public Long getParentLineItemNumber() { return parentLineItemNumber; }
        public ItemDataNotificationLineItem setParentLineItemNumber(Long value) { this.parentLineItemNumber = value; return this; }
        public IdentifierType getProductVariantIdentifier() { return productVariantIdentifier; }
        public ItemDataNotificationLineItem setProductVariantIdentifier(IdentifierType value) { this.productVariantIdentifier = value; return this; }
        public BigDecimal getQuantityOfItemTypes() { return quantityOfItemTypes; }
        public ItemDataNotificationLineItem setQuantityOfItemTypes(BigDecimal value) { this.quantityOfItemTypes = value; return this; }
        public BigDecimal getQuantityOfItemUnits() { return quantityOfItemUnits; }
        public ItemDataNotificationLineItem setQuantityOfItemUnits(BigDecimal value) { this.quantityOfItemUnits = value; return this; }
        public ArrayList<String> getTradeItemDescription() { return tradeItemDescription; }
        public ItemDataNotificationLineItem setTradeItemDescription(ArrayList<String> value) { this.tradeItemDescription = value; return this; }
        public String getTradeItemUnitDescriptorCode() { return tradeItemUnitDescriptorCode; }
        public ItemDataNotificationLineItem setTradeItemUnitDescriptorCode(String value) { this.tradeItemUnitDescriptorCode = value; return this; }
        public ItemDataTradingPartnerNeutral getItemDataTradingPartnerNeutral() { return itemDataTradingPartnerNeutral; }
        public ItemDataNotificationLineItem setItemDataTradingPartnerNeutral(ItemDataTradingPartnerNeutral value) { this.itemDataTradingPartnerNeutral = value; return this; }
        public ArrayList<ItemDataTradingPartnerDependent> getItemDataTradingPartnerDependent() { return itemDataTradingPartnerDependent; }
        public ItemDataNotificationLineItem setItemDataTradingPartnerDependent(ArrayList<ItemDataTradingPartnerDependent> value) { this.itemDataTradingPartnerDependent = value; return this; }
        public ArrayList<LowerLevelTradeItem> getLowerLevelTradeItem() { return lowerLevelTradeItem; }
        public ItemDataNotificationLineItem setLowerLevelTradeItem(ArrayList<LowerLevelTradeItem> value) { this.lowerLevelTradeItem = value; return this; }
        public ArrayList<AvpList> getAvpList() { return avpList; }
        public ItemDataNotificationLineItem setAvpList(ArrayList<AvpList> value) { this.avpList = value; return this; }
    }

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

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

    public static class IdentifierType
    {
        public String value = null;
        public String identificationSchemeAgencyCodeCodeListVersion = null;
        public String identificationSchemeAgencyName = null;
        public String identificationSchemeName = null;
        
        public String getValue() { return value; }
        public IdentifierType setValue(String value) { this.value = value; return this; }
        public String getIdentificationSchemeAgencyCodeCodeListVersion() { return identificationSchemeAgencyCodeCodeListVersion; }
        public IdentifierType setIdentificationSchemeAgencyCodeCodeListVersion(String value) { this.identificationSchemeAgencyCodeCodeListVersion = value; return this; }
        public String getIdentificationSchemeAgencyName() { return identificationSchemeAgencyName; }
        public IdentifierType setIdentificationSchemeAgencyName(String value) { this.identificationSchemeAgencyName = value; return this; }
        public String getIdentificationSchemeName() { return identificationSchemeName; }
        public IdentifierType setIdentificationSchemeName(String value) { this.identificationSchemeName = value; return this; }
    }

    public static class ItemDataTradingPartnerNeutral
    {
        public Date cancelledDateTime = null;
        public Date discontinuedDateTime = null;
        public Date effectiveDateTime = null;
        public Date endAvailabilityDateTime = null;
        public Integer maximumStackingFactor = null;
        public Date startAvailabilityDateTime = null;
        public String tradeItemBaseUnitOfMeasure = null;
        public ArrayList<AdditionalTradeItemClassificationCode> tradeItemClassificationCode = new ArrayList<AdditionalTradeItemClassificationCode>();
        public String warehouseABCClassificationCode = null;
        public ItemDataWeightAndDimension itemDataWeightAndDimension = null;
        public ArrayList<HandlingInstruction> handlingInstruction = new ArrayList<HandlingInstruction>();
        public ArrayList<DangerousGoodsInformation> dangerousGoodsInformation = new ArrayList<DangerousGoodsInformation>();
        public AdministrativeUnit administrativeUnitOfLogisticServiceBuyer = null;
        public ArrayList<AvpList> avpList = new ArrayList<AvpList>();
        
        public Date getCancelledDateTime() { return cancelledDateTime; }
        public ItemDataTradingPartnerNeutral setCancelledDateTime(Date value) { this.cancelledDateTime = value; return this; }
        public Date getDiscontinuedDateTime() { return discontinuedDateTime; }
        public ItemDataTradingPartnerNeutral setDiscontinuedDateTime(Date value) { this.discontinuedDateTime = value; return this; }
        public Date getEffectiveDateTime() { return effectiveDateTime; }
        public ItemDataTradingPartnerNeutral setEffectiveDateTime(Date value) { this.effectiveDateTime = value; return this; }
        public Date getEndAvailabilityDateTime() { return endAvailabilityDateTime; }
        public ItemDataTradingPartnerNeutral setEndAvailabilityDateTime(Date value) { this.endAvailabilityDateTime = value; return this; }
        public Integer getMaximumStackingFactor() { return maximumStackingFactor; }
        public ItemDataTradingPartnerNeutral setMaximumStackingFactor(Integer value) { this.maximumStackingFactor = value; return this; }
        public Date getStartAvailabilityDateTime() { return startAvailabilityDateTime; }
        public ItemDataTradingPartnerNeutral setStartAvailabilityDateTime(Date value) { this.startAvailabilityDateTime = value; return this; }
        public String getTradeItemBaseUnitOfMeasure() { return tradeItemBaseUnitOfMeasure; }
        public ItemDataTradingPartnerNeutral setTradeItemBaseUnitOfMeasure(String value) { this.tradeItemBaseUnitOfMeasure = value; return this; }
        public ArrayList<AdditionalTradeItemClassificationCode> getTradeItemClassificationCode() { return tradeItemClassificationCode; }
        public ItemDataTradingPartnerNeutral setTradeItemClassificationCode(ArrayList<AdditionalTradeItemClassificationCode> value) { this.tradeItemClassificationCode = value; return this; }
        public String getWarehouseABCClassificationCode() { return warehouseABCClassificationCode; }
        public ItemDataTradingPartnerNeutral setWarehouseABCClassificationCode(String value) { this.warehouseABCClassificationCode = value; return this; }
        public ItemDataWeightAndDimension getItemDataWeightAndDimension() { return itemDataWeightAndDimension; }
        public ItemDataTradingPartnerNeutral setItemDataWeightAndDimension(ItemDataWeightAndDimension value) { this.itemDataWeightAndDimension = value; return this; }
        public ArrayList<HandlingInstruction> getHandlingInstruction() { return handlingInstruction; }
        public ItemDataTradingPartnerNeutral setHandlingInstruction(ArrayList<HandlingInstruction> value) { this.handlingInstruction = value; return this; }
        public ArrayList<DangerousGoodsInformation> getDangerousGoodsInformation() { return dangerousGoodsInformation; }
        public ItemDataTradingPartnerNeutral setDangerousGoodsInformation(ArrayList<DangerousGoodsInformation> value) { this.dangerousGoodsInformation = value; return this; }
        public AdministrativeUnit getAdministrativeUnitOfLogisticServiceBuyer() { return administrativeUnitOfLogisticServiceBuyer; }
        public ItemDataTradingPartnerNeutral setAdministrativeUnitOfLogisticServiceBuyer(AdministrativeUnit value) { this.administrativeUnitOfLogisticServiceBuyer = value; return this; }
        public ArrayList<AvpList> getAvpList() { return avpList; }
        public ItemDataTradingPartnerNeutral setAvpList(ArrayList<AvpList> value) { this.avpList = value; return this; }
    }

    public static class AdditionalTradeItemClassificationCode
    {
        public String value = null;
        public String additionalTradeItemClassificationCodeListCode = null;
        public String additionalTradeItemClassificationCodeListVersion = null;
        public String codeDescription = null;
        
        public String getValue() { return value; }
        public AdditionalTradeItemClassificationCode setValue(String value) { this.value = value; return this; }
        public String getAdditionalTradeItemClassificationCodeListCode() { return additionalTradeItemClassificationCodeListCode; }
        public AdditionalTradeItemClassificationCode setAdditionalTradeItemClassificationCodeListCode(String value) { this.additionalTradeItemClassificationCodeListCode = value; return this; }
        public String getAdditionalTradeItemClassificationCodeListVersion() { return additionalTradeItemClassificationCodeListVersion; }
        public AdditionalTradeItemClassificationCode setAdditionalTradeItemClassificationCodeListVersion(String value) { this.additionalTradeItemClassificationCodeListVersion = value; return this; }
        public String getCodeDescription() { return codeDescription; }
        public AdditionalTradeItemClassificationCode setCodeDescription(String value) { this.codeDescription = value; return this; }
    }

    public static class ItemDataWeightAndDimension
    {
        public Measurement depth = null;
        public Measurement diameter = null;
        public Measurement grossWeight = null;
        public Measurement height = null;
        public Measurement netWeight = null;
        public Measurement width = null;
        
        public Measurement getDepth() { return depth; }
        public ItemDataWeightAndDimension setDepth(Measurement value) { this.depth = value; return this; }
        public Measurement getDiameter() { return diameter; }
        public ItemDataWeightAndDimension setDiameter(Measurement value) { this.diameter = value; return this; }
        public Measurement getGrossWeight() { return grossWeight; }
        public ItemDataWeightAndDimension setGrossWeight(Measurement value) { this.grossWeight = value; return this; }
        public Measurement getHeight() { return height; }
        public ItemDataWeightAndDimension setHeight(Measurement value) { this.height = value; return this; }
        public Measurement getNetWeight() { return netWeight; }
        public ItemDataWeightAndDimension setNetWeight(Measurement value) { this.netWeight = value; return this; }
        public Measurement getWidth() { return width; }
        public ItemDataWeightAndDimension 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 HandlingInstruction
    {
        public String handlingInstructionCode = null;
        public String handlingInstructionText = null;
        public ArrayList<String> printingInstructionCode = new ArrayList<String>();
        public TemperatureRange storageTemperature = null;
        public TemperatureRange transportTemperature = null;
        
        public String getHandlingInstructionCode() { return handlingInstructionCode; }
        public HandlingInstruction setHandlingInstructionCode(String value) { this.handlingInstructionCode = value; return this; }
        public String getHandlingInstructionText() { return handlingInstructionText; }
        public HandlingInstruction setHandlingInstructionText(String value) { this.handlingInstructionText = value; return this; }
        public ArrayList<String> getPrintingInstructionCode() { return printingInstructionCode; }
        public HandlingInstruction setPrintingInstructionCode(ArrayList<String> value) { this.printingInstructionCode = value; return this; }
        public TemperatureRange getStorageTemperature() { return storageTemperature; }
        public HandlingInstruction setStorageTemperature(TemperatureRange value) { this.storageTemperature = value; return this; }
        public TemperatureRange getTransportTemperature() { return transportTemperature; }
        public HandlingInstruction setTransportTemperature(TemperatureRange value) { this.transportTemperature = value; return this; }
    }

    public static class TemperatureRange
    {
        public TemperatureMeasurement maximumTemperature = null;
        public TemperatureMeasurement minimumTemperature = null;
        
        public TemperatureMeasurement getMaximumTemperature() { return maximumTemperature; }
        public TemperatureRange setMaximumTemperature(TemperatureMeasurement value) { this.maximumTemperature = value; return this; }
        public TemperatureMeasurement getMinimumTemperature() { return minimumTemperature; }
        public TemperatureRange setMinimumTemperature(TemperatureMeasurement value) { this.minimumTemperature = value; return this; }
    }

    public static class TemperatureMeasurement
    {
        public BigDecimal value = null;
        public String temperatureMeasurementUnitCode = null;
        
        public BigDecimal getValue() { return value; }
        public TemperatureMeasurement setValue(BigDecimal value) { this.value = value; return this; }
        public String getTemperatureMeasurementUnitCode() { return temperatureMeasurementUnitCode; }
        public TemperatureMeasurement setTemperatureMeasurementUnitCode(String value) { this.temperatureMeasurementUnitCode = value; return this; }
    }

    public static class DangerousGoodsInformation
    {
        public String dangerousGoodsDescription = null;
        public String dangerousGoodsShippingName = null;
        public String dangerousGoodsTechnicalName = null;
        public Identifier dangerousGoodsUNIdentifier = null;
        public ArrayList<Contact> contact = new ArrayList<Contact>();
        
        public String getDangerousGoodsDescription() { return dangerousGoodsDescription; }
        public DangerousGoodsInformation setDangerousGoodsDescription(String value) { this.dangerousGoodsDescription = value; return this; }
        public String getDangerousGoodsShippingName() { return dangerousGoodsShippingName; }
        public DangerousGoodsInformation setDangerousGoodsShippingName(String value) { this.dangerousGoodsShippingName = value; return this; }
        public String getDangerousGoodsTechnicalName() { return dangerousGoodsTechnicalName; }
        public DangerousGoodsInformation setDangerousGoodsTechnicalName(String value) { this.dangerousGoodsTechnicalName = value; return this; }
        public Identifier getDangerousGoodsUNIdentifier() { return dangerousGoodsUNIdentifier; }
        public DangerousGoodsInformation setDangerousGoodsUNIdentifier(Identifier value) { this.dangerousGoodsUNIdentifier = value; return this; }
        public ArrayList<Contact> getContact() { return contact; }
        public DangerousGoodsInformation setContact(ArrayList<Contact> value) { this.contact = 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; }
    }

    public static class AdministrativeUnit
    {
        public String typeCode = null;
        public String gln = null;
        public String internalIdentification = null;
        
        public String getTypeCode() { return typeCode; }
        public AdministrativeUnit setTypeCode(String value) { this.typeCode = value; return this; }
        public String getGln() { return gln; }
        public AdministrativeUnit setGln(String value) { this.gln = value; return this; }
        public String getInternalIdentification() { return internalIdentification; }
        public AdministrativeUnit setInternalIdentification(String value) { this.internalIdentification = value; return this; }
    }

    public static class ItemDataTradingPartnerDependent
    {
        public String countryOfOrigin = null;
        public TimeMeasurement minimumRemainingShelfLifeInbound = null;
        public TimeMeasurement minimumRemainingShelfLifeOutbound = null;
        public Quantity orderQuantityMaximum = null;
        public Quantity orderQuantityMinimum = null;
        public Quantity orderQuantityMultiple = null;
        public String qualityControlCode = null;
        public TimeMeasurement quarantinePeriod = null;
        public TimeMeasurement tradeItemProductionLeadTime = null;
        public TimeMeasurement tradeItemShipmentLeadTime = null;
        public String tradeItemSpecificUnitOfMeasure = null;
        public Date tradeItemSubstitutionDateTime = null;
        public ArrayList<ItemDataLogisticUnitInformation> itemDataLogisticUnitInformation = new ArrayList<ItemDataLogisticUnitInformation>();
        public ArrayList<ItemDataStockRequirements> itemDataStockRequirements = new ArrayList<ItemDataStockRequirements>();
        public ArrayList<AdministrativeUnit> administrativeUnitOfReceiver = new ArrayList<AdministrativeUnit>();
        public AvpList avpList = null;
        public ArrayList<TransactionalPartyInRole> originatingParty = new ArrayList<TransactionalPartyInRole>();
        public TransactionalParty receiver = null;
        public TransactionalParty shipper = null;
        public Ecom_TradeItemIdentification substituteItem = null;
        
        public String getCountryOfOrigin() { return countryOfOrigin; }
        public ItemDataTradingPartnerDependent setCountryOfOrigin(String value) { this.countryOfOrigin = value; return this; }
        public TimeMeasurement getMinimumRemainingShelfLifeInbound() { return minimumRemainingShelfLifeInbound; }
        public ItemDataTradingPartnerDependent setMinimumRemainingShelfLifeInbound(TimeMeasurement value) { this.minimumRemainingShelfLifeInbound = value; return this; }
        public TimeMeasurement getMinimumRemainingShelfLifeOutbound() { return minimumRemainingShelfLifeOutbound; }
        public ItemDataTradingPartnerDependent setMinimumRemainingShelfLifeOutbound(TimeMeasurement value) { this.minimumRemainingShelfLifeOutbound = value; return this; }
        public Quantity getOrderQuantityMaximum() { return orderQuantityMaximum; }
        public ItemDataTradingPartnerDependent setOrderQuantityMaximum(Quantity value) { this.orderQuantityMaximum = value; return this; }
        public Quantity getOrderQuantityMinimum() { return orderQuantityMinimum; }
        public ItemDataTradingPartnerDependent setOrderQuantityMinimum(Quantity value) { this.orderQuantityMinimum = value; return this; }
        public Quantity getOrderQuantityMultiple() { return orderQuantityMultiple; }
        public ItemDataTradingPartnerDependent setOrderQuantityMultiple(Quantity value) { this.orderQuantityMultiple = value; return this; }
        public String getQualityControlCode() { return qualityControlCode; }
        public ItemDataTradingPartnerDependent setQualityControlCode(String value) { this.qualityControlCode = value; return this; }
        public TimeMeasurement getQuarantinePeriod() { return quarantinePeriod; }
        public ItemDataTradingPartnerDependent setQuarantinePeriod(TimeMeasurement value) { this.quarantinePeriod = value; return this; }
        public TimeMeasurement getTradeItemProductionLeadTime() { return tradeItemProductionLeadTime; }
        public ItemDataTradingPartnerDependent setTradeItemProductionLeadTime(TimeMeasurement value) { this.tradeItemProductionLeadTime = value; return this; }
        public TimeMeasurement getTradeItemShipmentLeadTime() { return tradeItemShipmentLeadTime; }
        public ItemDataTradingPartnerDependent setTradeItemShipmentLeadTime(TimeMeasurement value) { this.tradeItemShipmentLeadTime = value; return this; }
        public String getTradeItemSpecificUnitOfMeasure() { return tradeItemSpecificUnitOfMeasure; }
        public ItemDataTradingPartnerDependent setTradeItemSpecificUnitOfMeasure(String value) { this.tradeItemSpecificUnitOfMeasure = value; return this; }
        public Date getTradeItemSubstitutionDateTime() { return tradeItemSubstitutionDateTime; }
        public ItemDataTradingPartnerDependent setTradeItemSubstitutionDateTime(Date value) { this.tradeItemSubstitutionDateTime = value; return this; }
        public ArrayList<ItemDataLogisticUnitInformation> getItemDataLogisticUnitInformation() { return itemDataLogisticUnitInformation; }
        public ItemDataTradingPartnerDependent setItemDataLogisticUnitInformation(ArrayList<ItemDataLogisticUnitInformation> value) { this.itemDataLogisticUnitInformation = value; return this; }
        public ArrayList<ItemDataStockRequirements> getItemDataStockRequirements() { return itemDataStockRequirements; }
        public ItemDataTradingPartnerDependent setItemDataStockRequirements(ArrayList<ItemDataStockRequirements> value) { this.itemDataStockRequirements = value; return this; }
        public ArrayList<AdministrativeUnit> getAdministrativeUnitOfReceiver() { return administrativeUnitOfReceiver; }
        public ItemDataTradingPartnerDependent setAdministrativeUnitOfReceiver(ArrayList<AdministrativeUnit> value) { this.administrativeUnitOfReceiver = value; return this; }
        public AvpList getAvpList() { return avpList; }
        public ItemDataTradingPartnerDependent setAvpList(AvpList value) { this.avpList = value; return this; }
        public ArrayList<TransactionalPartyInRole> getOriginatingParty() { return originatingParty; }
        public ItemDataTradingPartnerDependent setOriginatingParty(ArrayList<TransactionalPartyInRole> value) { this.originatingParty = value; return this; }
        public TransactionalParty getReceiver() { return receiver; }
        public ItemDataTradingPartnerDependent setReceiver(TransactionalParty value) { this.receiver = value; return this; }
        public TransactionalParty getShipper() { return shipper; }
        public ItemDataTradingPartnerDependent setShipper(TransactionalParty value) { this.shipper = value; return this; }
        public Ecom_TradeItemIdentification getSubstituteItem() { return substituteItem; }
        public ItemDataTradingPartnerDependent setSubstituteItem(Ecom_TradeItemIdentification value) { this.substituteItem = value; return this; }
    }

    public static class TimeMeasurement
    {
        public String timeMeasurementUnitCode = null;
        public BigDecimal value = null;
        
        public String getTimeMeasurementUnitCode() { return timeMeasurementUnitCode; }
        public TimeMeasurement setTimeMeasurementUnitCode(String value) { this.timeMeasurementUnitCode = value; return this; }
        public BigDecimal getValue() { return value; }
        public TimeMeasurement setValue(BigDecimal value) { this.value = 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 ItemDataLogisticUnitInformation
    {
        public Measurement grossWeight = null;
        public Long maximumStackingFactor = null;
        public Measurement netWeight = null;
        public Long numberOfLayers = null;
        public String packageLevelCode = null;
        public String packageTypeCode = null;
        public Quantity tradeItemQuantity = null;
        public Quantity tradeItemQuantityPerLayer = null;
        public AvpList avpList = null;
        public ArrayList<Dimension> dimensionsOfLogisticUnit = new ArrayList<Dimension>();
        
        public Measurement getGrossWeight() { return grossWeight; }
        public ItemDataLogisticUnitInformation setGrossWeight(Measurement value) { this.grossWeight = value; return this; }
        public Long getMaximumStackingFactor() { return maximumStackingFactor; }
        public ItemDataLogisticUnitInformation setMaximumStackingFactor(Long value) { this.maximumStackingFactor = value; return this; }
        public Measurement getNetWeight() { return netWeight; }
        public ItemDataLogisticUnitInformation setNetWeight(Measurement value) { this.netWeight = value; return this; }
        public Long getNumberOfLayers() { return numberOfLayers; }
        public ItemDataLogisticUnitInformation setNumberOfLayers(Long value) { this.numberOfLayers = value; return this; }
        public String getPackageLevelCode() { return packageLevelCode; }
        public ItemDataLogisticUnitInformation setPackageLevelCode(String value) { this.packageLevelCode = value; return this; }
        public String getPackageTypeCode() { return packageTypeCode; }
        public ItemDataLogisticUnitInformation setPackageTypeCode(String value) { this.packageTypeCode = value; return this; }
        public Quantity getTradeItemQuantity() { return tradeItemQuantity; }
        public ItemDataLogisticUnitInformation setTradeItemQuantity(Quantity value) { this.tradeItemQuantity = value; return this; }
        public Quantity getTradeItemQuantityPerLayer() { return tradeItemQuantityPerLayer; }
        public ItemDataLogisticUnitInformation setTradeItemQuantityPerLayer(Quantity value) { this.tradeItemQuantityPerLayer = value; return this; }
        public AvpList getAvpList() { return avpList; }
        public ItemDataLogisticUnitInformation setAvpList(AvpList value) { this.avpList = value; return this; }
        public ArrayList<Dimension> getDimensionsOfLogisticUnit() { return dimensionsOfLogisticUnit; }
        public ItemDataLogisticUnitInformation setDimensionsOfLogisticUnit(ArrayList<Dimension> value) { this.dimensionsOfLogisticUnit = 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 ItemDataStockRequirements
    {
        public Quantity requiredStockLevel = null;
        public Date requiredStockLevelValidityDateTime = null;
        public String stockRequirementTypeCode = null;
        
        public Quantity getRequiredStockLevel() { return requiredStockLevel; }
        public ItemDataStockRequirements setRequiredStockLevel(Quantity value) { this.requiredStockLevel = value; return this; }
        public Date getRequiredStockLevelValidityDateTime() { return requiredStockLevelValidityDateTime; }
        public ItemDataStockRequirements setRequiredStockLevelValidityDateTime(Date value) { this.requiredStockLevelValidityDateTime = value; return this; }
        public String getStockRequirementTypeCode() { return stockRequirementTypeCode; }
        public ItemDataStockRequirements setStockRequirementTypeCode(String value) { this.stockRequirementTypeCode = value; return this; }
    }

    public static class TransactionalPartyInRole
    {
        public String partyRoleCode = null;
        public TransactionalParty transactionalParty = null;
        
        public String getPartyRoleCode() { return partyRoleCode; }
        public TransactionalPartyInRole setPartyRoleCode(String value) { this.partyRoleCode = value; return this; }
        public TransactionalParty getTransactionalParty() { return transactionalParty; }
        public TransactionalPartyInRole setTransactionalParty(TransactionalParty value) { this.transactionalParty = value; return this; }
    }

    public static class LowerLevelTradeItem extends Ecom_TradeItemIdentification
    {
        public BigDecimal quantityOfLowerLevelTradeItem = null;
        
        public BigDecimal getQuantityOfLowerLevelTradeItem() { return quantityOfLowerLevelTradeItem; }
        public LowerLevelTradeItem setQuantityOfLowerLevelTradeItem(BigDecimal value) { this.quantityOfLowerLevelTradeItem = value; return this; }
    }

    public static class TokenDto implements ICommandResponse
    {
        public UUID token = null;
        
        public UUID getToken() { return token; }
        public TokenDto setToken(UUID value) { this.token = value; return this; }
    }

}

Java AddItemDataNotification 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.

POST /api/itemDataNotification HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	itemDataNotification: 
	{
		dataRecipient: 
		{
			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
				}
			]
		},
		dataSource: 
		{
			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
				}
			]
		},
		itemDataNotificationIdentification: String,
		itemDataNotificationLineItem: 
		[
			{
				brandName: String,
				gpcCategoryCode: String,
				isTheProductVariantPreferred: False,
				lineItemNumber: 0,
				parentLineItemNumber: 0,
				productVariantIdentifier: 
				{
					value: String,
					identificationSchemeAgencyCodeCodeListVersion: String,
					identificationSchemeAgencyName: String,
					identificationSchemeName: String
				},
				quantityOfItemTypes: 0,
				quantityOfItemUnits: 0,
				tradeItemDescription: 
				[
					String
				],
				tradeItemUnitDescriptorCode: String,
				itemDataTradingPartnerNeutral: 
				{
					cancelledDateTime: 0001-01-01,
					discontinuedDateTime: 0001-01-01,
					endAvailabilityDateTime: 0001-01-01,
					maximumStackingFactor: 0,
					tradeItemBaseUnitOfMeasure: String,
					tradeItemClassificationCode: 
					[
						{
							value: String,
							additionalTradeItemClassificationCodeListCode: String,
							additionalTradeItemClassificationCodeListVersion: String,
							codeDescription: String
						}
					],
					warehouseABCClassificationCode: String,
					itemDataWeightAndDimension: 
					{
						depth: 
						{
							value: 0,
							codeListVersion: String,
							measurementUnitCode: String
						},
						diameter: 
						{
							value: 0,
							codeListVersion: String,
							measurementUnitCode: String
						},
						grossWeight: 
						{
							value: 0,
							codeListVersion: String,
							measurementUnitCode: String
						},
						height: 
						{
							value: 0,
							codeListVersion: String,
							measurementUnitCode: String
						},
						netWeight: 
						{
							value: 0,
							codeListVersion: String,
							measurementUnitCode: String
						},
						width: 
						{
							value: 0,
							codeListVersion: String,
							measurementUnitCode: String
						}
					},
					handlingInstruction: 
					[
						{
							handlingInstructionCode: String,
							handlingInstructionText: String,
							printingInstructionCode: 
							[
								String
							],
							storageTemperature: 
							{
								maximumTemperature: 
								{
									value: 0,
									temperatureMeasurementUnitCode: String
								},
								minimumTemperature: 
								{
									value: 0,
									temperatureMeasurementUnitCode: String
								}
							},
							transportTemperature: 
							{
								maximumTemperature: 
								{
									value: 0,
									temperatureMeasurementUnitCode: String
								},
								minimumTemperature: 
								{
									value: 0,
									temperatureMeasurementUnitCode: String
								}
							}
						}
					],
					dangerousGoodsInformation: 
					[
						{
							dangerousGoodsDescription: String,
							dangerousGoodsShippingName: String,
							dangerousGoodsTechnicalName: String,
							dangerousGoodsUNIdentifier: 
							{
								authority: String,
								text: String
							},
							contact: 
							[
								{
									contactTypeCode: String,
									personName: String,
									departmentName: String,
									jobTitle: String,
									responsibility: String,
									communicationChannel: 
									[
										{
											communicationChannelCode: String,
											communicationChannelName: String,
											communicationValue: String
										}
									]
								}
							]
						}
					],
					administrativeUnitOfLogisticServiceBuyer: 
					{
						typeCode: String,
						gln: String,
						internalIdentification: String
					},
					avpList: 
					[
						{
							code: String,
							value: String
						}
					]
				},
				itemDataTradingPartnerDependent: 
				[
					{
						countryOfOrigin: String,
						minimumRemainingShelfLifeInbound: 
						{
							timeMeasurementUnitCode: String,
							value: 0
						},
						minimumRemainingShelfLifeOutbound: 
						{
							timeMeasurementUnitCode: String,
							value: 0
						},
						orderQuantityMaximum: 
						{
							value: 0,
							measurementUnitCode: String,
							codeListVersion: String
						},
						orderQuantityMinimum: 
						{
							value: 0,
							measurementUnitCode: String,
							codeListVersion: String
						},
						orderQuantityMultiple: 
						{
							value: 0,
							measurementUnitCode: String,
							codeListVersion: String
						},
						qualityControlCode: String,
						quarantinePeriod: 
						{
							timeMeasurementUnitCode: String,
							value: 0
						},
						tradeItemProductionLeadTime: 
						{
							timeMeasurementUnitCode: String,
							value: 0
						},
						tradeItemShipmentLeadTime: 
						{
							timeMeasurementUnitCode: String,
							value: 0
						},
						tradeItemSpecificUnitOfMeasure: String,
						tradeItemSubstitutionDateTime: 0001-01-01,
						itemDataLogisticUnitInformation: 
						[
							{
								grossWeight: 
								{
									value: 0,
									codeListVersion: String,
									measurementUnitCode: String
								},
								maximumStackingFactor: 0,
								netWeight: 
								{
									value: 0,
									codeListVersion: String,
									measurementUnitCode: String
								},
								numberOfLayers: 0,
								packageLevelCode: String,
								packageTypeCode: String,
								tradeItemQuantity: 
								{
									value: 0,
									measurementUnitCode: String,
									codeListVersion: String
								},
								tradeItemQuantityPerLayer: 
								{
									value: 0,
									measurementUnitCode: String,
									codeListVersion: String
								},
								avpList: 
								{
									code: String,
									value: String
								},
								dimensionsOfLogisticUnit: 
								[
									{
										depth: 
										{
											value: 0,
											codeListVersion: String,
											measurementUnitCode: String
										},
										height: 
										{
											value: 0,
											codeListVersion: String,
											measurementUnitCode: String
										},
										width: 
										{
											value: 0,
											codeListVersion: String,
											measurementUnitCode: String
										}
									}
								]
							}
						],
						itemDataStockRequirements: 
						[
							{
								requiredStockLevel: 
								{
									value: 0,
									measurementUnitCode: String,
									codeListVersion: String
								},
								requiredStockLevelValidityDateTime: 0001-01-01,
								stockRequirementTypeCode: String
							}
						],
						administrativeUnitOfReceiver: 
						[
							{
								typeCode: String,
								gln: String,
								internalIdentification: String
							}
						],
						avpList: 
						{
							code: String,
							value: String
						},
						originatingParty: 
						[
							{
								partyRoleCode: String,
								transactionalParty: 
								{
									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
										}
									]
								}
							}
						],
						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
								}
							]
						},
						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
								}
							]
						},
						substituteItem: 
						{
							additionalTradeItemIdentification: 
							[
								{
									value: String,
									code: String
								}
							],
							gtin: String
						}
					}
				],
				lowerLevelTradeItem: 
				[
					{
						quantityOfLowerLevelTradeItem: 0,
						additionalTradeItemIdentification: 
						[
							{
								value: String,
								code: String
							}
						],
						gtin: String
					}
				],
				avpList: 
				[
					{
						code: String,
						value: String
					}
				],
				additionalTradeItemIdentification: 
				[
					{
						value: String,
						code: String
					}
				],
				gtin: String
			}
		],
		currencyCode: String,
		documentActionCode: ADD,
		documentStatusCode: ADDITIONAL_TRANSMISSION,
		documentStructureVersion: String,
		lastUpdateDateTime: 0001-01-01,
		revisionNumber: 0,
		avpList: 
		[
			{
				code: String,
				value: String
			}
		]
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	
}