DX STF Client API

<back to all web services

GetItemDataNotificationByGtin

Item Data Notification Requests

Item Data Notification

Requires Authentication
The following routes are available for this service:
GET/api/itemDataNotification/gtin/{Gtin}Get specific ItemDataNotification by Gtin
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="ItemDataNotification 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 GetItemDataNotificationByGtin
    {
        /**
        * Global Trade Item Number (GTIN)
        */
        @ApiMember(Description="Global Trade Item Number (GTIN)", ExcludeInSchema=true, ParameterType="path")
        public String gtin = null;
        
        public String getGtin() { return gtin; }
        public GetItemDataNotificationByGtin setGtin(String value) { this.gtin = 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; }
    }

}

Java GetItemDataNotificationByGtin DTOs

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

HTTP + XML

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

GET /api/itemDataNotification/gtin/{Gtin} HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ItemDataNotificationMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
  <AvpList>
    <AvpList>
      <Code>String</Code>
      <Value>String</Value>
    </AvpList>
  </AvpList>
  <CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
  <CurrencyCode>String</CurrencyCode>
  <DocumentActionCode>ADD</DocumentActionCode>
  <DocumentStatusCode>ADDITIONAL_TRANSMISSION</DocumentStatusCode>
  <DocumentStructureVersion>String</DocumentStructureVersion>
  <LastUpdateDateTime>0001-01-01T00:00:00</LastUpdateDateTime>
  <RevisionNumber>0</RevisionNumber>
  <DataRecipient>
    <AdditionalPartyIdentification>
      <AvpList>
        <Code>String</Code>
        <Value>String</Value>
      </AvpList>
    </AdditionalPartyIdentification>
    <Gln>String</Gln>
    <Name>String</Name>
    <Address>
      <City>String</City>
      <CountryCode>String</CountryCode>
      <PostalCode>String</PostalCode>
      <ProvinceCode>String</ProvinceCode>
      <StreetAddressOne>String</StreetAddressOne>
      <StreetAddressThree>String</StreetAddressThree>
      <StreetAddressTwo>String</StreetAddressTwo>
    </Address>
    <CommunicationChannel>
      <AvpList>
        <Code>String</Code>
        <Value>String</Value>
      </AvpList>
    </CommunicationChannel>
    <Contact>
      <Contact>
        <CommunicationChannel>
          <CommunicationChannel>
            <CommunicationChannelCode>String</CommunicationChannelCode>
            <CommunicationChannelName>String</CommunicationChannelName>
            <CommunicationValue>String</CommunicationValue>
          </CommunicationChannel>
        </CommunicationChannel>
        <ContactTypeCode>String</ContactTypeCode>
        <DepartmentName>String</DepartmentName>
        <JobTitle>String</JobTitle>
        <PersonName>String</PersonName>
        <Responsibility>String</Responsibility>
      </Contact>
    </Contact>
    <DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
    <EntityIdentification>String</EntityIdentification>
    <FinancialInstitutionInformation>
      <ExportersCode>String</ExportersCode>
      <FinancialAccount>
        <Name>String</Name>
        <Number>String</Number>
        <NumberTypeCode>String</NumberTypeCode>
      </FinancialAccount>
      <FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
      <FinancialInstitutionName>String</FinancialInstitutionName>
      <FinancialRoutingNumber>
        <Number>String</Number>
        <NumberTypeCode>String</NumberTypeCode>
      </FinancialRoutingNumber>
      <SwiftCode>String</SwiftCode>
    </FinancialInstitutionInformation>
  </DataRecipient>
  <DataSource>
    <AdditionalPartyIdentification>
      <AvpList>
        <Code>String</Code>
        <Value>String</Value>
      </AvpList>
    </AdditionalPartyIdentification>
    <Gln>String</Gln>
    <Name>String</Name>
    <Address>
      <City>String</City>
      <CountryCode>String</CountryCode>
      <PostalCode>String</PostalCode>
      <ProvinceCode>String</ProvinceCode>
      <StreetAddressOne>String</StreetAddressOne>
      <StreetAddressThree>String</StreetAddressThree>
      <StreetAddressTwo>String</StreetAddressTwo>
    </Address>
    <CommunicationChannel>
      <AvpList>
        <Code>String</Code>
        <Value>String</Value>
      </AvpList>
    </CommunicationChannel>
    <Contact>
      <Contact>
        <CommunicationChannel>
          <CommunicationChannel>
            <CommunicationChannelCode>String</CommunicationChannelCode>
            <CommunicationChannelName>String</CommunicationChannelName>
            <CommunicationValue>String</CommunicationValue>
          </CommunicationChannel>
        </CommunicationChannel>
        <ContactTypeCode>String</ContactTypeCode>
        <DepartmentName>String</DepartmentName>
        <JobTitle>String</JobTitle>
        <PersonName>String</PersonName>
        <Responsibility>String</Responsibility>
      </Contact>
    </Contact>
    <DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
    <EntityIdentification>String</EntityIdentification>
    <FinancialInstitutionInformation>
      <ExportersCode>String</ExportersCode>
      <FinancialAccount>
        <Name>String</Name>
        <Number>String</Number>
        <NumberTypeCode>String</NumberTypeCode>
      </FinancialAccount>
      <FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
      <FinancialInstitutionName>String</FinancialInstitutionName>
      <FinancialRoutingNumber>
        <Number>String</Number>
        <NumberTypeCode>String</NumberTypeCode>
      </FinancialRoutingNumber>
      <SwiftCode>String</SwiftCode>
    </FinancialInstitutionInformation>
  </DataSource>
  <ItemDataNotificationIdentification>String</ItemDataNotificationIdentification>
  <ItemDataNotificationLineItem>
    <ItemDataNotificationLineItem>
      <AdditionalTradeItemIdentification>
        <AdditionalTradeItemIdentification>
          <Code>String</Code>
          <Value>String</Value>
        </AdditionalTradeItemIdentification>
      </AdditionalTradeItemIdentification>
      <Gtin>String</Gtin>
      <AvpList>
        <AvpList>
          <Code>String</Code>
          <Value>String</Value>
        </AvpList>
      </AvpList>
      <BrandName>String</BrandName>
      <GpcCategoryCode>String</GpcCategoryCode>
      <IsTheProductVariantPreferred>false</IsTheProductVariantPreferred>
      <ItemDataTradingPartnerDependent>
        <ItemDataTradingPartnerDependent>
          <AdministrativeUnitOfReceiver>
            <AdministrativeUnit>
              <Gln>String</Gln>
              <InternalIdentification>String</InternalIdentification>
              <TypeCode>String</TypeCode>
            </AdministrativeUnit>
          </AdministrativeUnitOfReceiver>
          <AvpList>
            <Code>String</Code>
            <Value>String</Value>
          </AvpList>
          <CountryOfOrigin>String</CountryOfOrigin>
          <ItemDataLogisticUnitInformation>
            <ItemDataLogisticUnitInformation>
              <AvpList>
                <Code>String</Code>
                <Value>String</Value>
              </AvpList>
              <MaximumStackingFactor>0</MaximumStackingFactor>
              <NetWeight>
                <CodeListVersion>String</CodeListVersion>
                <MeasurementUnitCode>String</MeasurementUnitCode>
                <Value>0</Value>
              </NetWeight>
              <NumberOfLayers>0</NumberOfLayers>
              <PackageLevelCode>String</PackageLevelCode>
              <PackageTypeCode>String</PackageTypeCode>
              <TradeItemQuantity>
                <CodeListVersion>String</CodeListVersion>
                <MeasurementUnitCode>String</MeasurementUnitCode>
                <Value>0</Value>
              </TradeItemQuantity>
              <TradeItemQuantityPerLayer>
                <CodeListVersion>String</CodeListVersion>
                <MeasurementUnitCode>String</MeasurementUnitCode>
                <Value>0</Value>
              </TradeItemQuantityPerLayer>
              <dimensionsOfLogisticUnit>
                <Dimension>
                  <Depth>
                    <CodeListVersion>String</CodeListVersion>
                    <MeasurementUnitCode>String</MeasurementUnitCode>
                    <Value>0</Value>
                  </Depth>
                  <Height>
                    <CodeListVersion>String</CodeListVersion>
                    <MeasurementUnitCode>String</MeasurementUnitCode>
                    <Value>0</Value>
                  </Height>
                  <Width>
                    <CodeListVersion>String</CodeListVersion>
                    <MeasurementUnitCode>String</MeasurementUnitCode>
                    <Value>0</Value>
                  </Width>
                </Dimension>
              </dimensionsOfLogisticUnit>
              <grossWeight>
                <CodeListVersion>String</CodeListVersion>
                <MeasurementUnitCode>String</MeasurementUnitCode>
                <Value>0</Value>
              </grossWeight>
            </ItemDataLogisticUnitInformation>
          </ItemDataLogisticUnitInformation>
          <ItemDataStockRequirements>
            <ItemDataStockRequirements>
              <StockRequirementTypeCode>String</StockRequirementTypeCode>
              <requiredStockLevel>
                <CodeListVersion>String</CodeListVersion>
                <MeasurementUnitCode>String</MeasurementUnitCode>
                <Value>0</Value>
              </requiredStockLevel>
              <requiredStockLevelValidityDateTime>0001-01-01T00:00:00</requiredStockLevelValidityDateTime>
            </ItemDataStockRequirements>
          </ItemDataStockRequirements>
          <MinimumRemainingShelfLifeInbound>
            <TimeMeasurementUnitCode>String</TimeMeasurementUnitCode>
            <Value>0</Value>
          </MinimumRemainingShelfLifeInbound>
          <MinimumRemainingShelfLifeOutbound>
            <TimeMeasurementUnitCode>String</TimeMeasurementUnitCode>
            <Value>0</Value>
          </MinimumRemainingShelfLifeOutbound>
          <OrderQuantityMaximum>
            <CodeListVersion>String</CodeListVersion>
            <MeasurementUnitCode>String</MeasurementUnitCode>
            <Value>0</Value>
          </OrderQuantityMaximum>
          <OrderQuantityMinimum>
            <CodeListVersion>String</CodeListVersion>
            <MeasurementUnitCode>String</MeasurementUnitCode>
            <Value>0</Value>
          </OrderQuantityMinimum>
          <OrderQuantityMultiple>
            <CodeListVersion>String</CodeListVersion>
            <MeasurementUnitCode>String</MeasurementUnitCode>
            <Value>0</Value>
          </OrderQuantityMultiple>
          <QualityControlCode>String</QualityControlCode>
          <QuarantinePeriod>
            <TimeMeasurementUnitCode>String</TimeMeasurementUnitCode>
            <Value>0</Value>
          </QuarantinePeriod>
          <Receiver>
            <AdditionalPartyIdentification>
              <AvpList>
                <Code>String</Code>
                <Value>String</Value>
              </AvpList>
            </AdditionalPartyIdentification>
            <Gln>String</Gln>
            <Name>String</Name>
            <Address>
              <City>String</City>
              <CountryCode>String</CountryCode>
              <PostalCode>String</PostalCode>
              <ProvinceCode>String</ProvinceCode>
              <StreetAddressOne>String</StreetAddressOne>
              <StreetAddressThree>String</StreetAddressThree>
              <StreetAddressTwo>String</StreetAddressTwo>
            </Address>
            <CommunicationChannel>
              <AvpList>
                <Code>String</Code>
                <Value>String</Value>
              </AvpList>
            </CommunicationChannel>
            <Contact>
              <Contact>
                <CommunicationChannel>
                  <CommunicationChannel>
                    <CommunicationChannelCode>String</CommunicationChannelCode>
                    <CommunicationChannelName>String</CommunicationChannelName>
                    <CommunicationValue>String</CommunicationValue>
                  </CommunicationChannel>
                </CommunicationChannel>
                <ContactTypeCode>String</ContactTypeCode>
                <DepartmentName>String</DepartmentName>
                <JobTitle>String</JobTitle>
                <PersonName>String</PersonName>
                <Responsibility>String</Responsibility>
              </Contact>
            </Contact>
            <DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
            <EntityIdentification>String</EntityIdentification>
            <FinancialInstitutionInformation>
              <ExportersCode>String</ExportersCode>
              <FinancialAccount>
                <Name>String</Name>
                <Number>String</Number>
                <NumberTypeCode>String</NumberTypeCode>
              </FinancialAccount>
              <FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
              <FinancialInstitutionName>String</FinancialInstitutionName>
              <FinancialRoutingNumber>
                <Number>String</Number>
                <NumberTypeCode>String</NumberTypeCode>
              </FinancialRoutingNumber>
              <SwiftCode>String</SwiftCode>
            </FinancialInstitutionInformation>
          </Receiver>
          <Shipper>
            <AdditionalPartyIdentification>
              <AvpList>
                <Code>String</Code>
                <Value>String</Value>
              </AvpList>
            </AdditionalPartyIdentification>
            <Gln>String</Gln>
            <Name>String</Name>
            <Address>
              <City>String</City>
              <CountryCode>String</CountryCode>
              <PostalCode>String</PostalCode>
              <ProvinceCode>String</ProvinceCode>
              <StreetAddressOne>String</StreetAddressOne>
              <StreetAddressThree>String</StreetAddressThree>
              <StreetAddressTwo>String</StreetAddressTwo>
            </Address>
            <CommunicationChannel>
              <AvpList>
                <Code>String</Code>
                <Value>String</Value>
              </AvpList>
            </CommunicationChannel>
            <Contact>
              <Contact>
                <CommunicationChannel>
                  <CommunicationChannel>
                    <CommunicationChannelCode>String</CommunicationChannelCode>
                    <CommunicationChannelName>String</CommunicationChannelName>
                    <CommunicationValue>String</CommunicationValue>
                  </CommunicationChannel>
                </CommunicationChannel>
                <ContactTypeCode>String</ContactTypeCode>
                <DepartmentName>String</DepartmentName>
                <JobTitle>String</JobTitle>
                <PersonName>String</PersonName>
                <Responsibility>String</Responsibility>
              </Contact>
            </Contact>
            <DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
            <EntityIdentification>String</EntityIdentification>
            <FinancialInstitutionInformation>
              <ExportersCode>String</ExportersCode>
              <FinancialAccount>
                <Name>String</Name>
                <Number>String</Number>
                <NumberTypeCode>String</NumberTypeCode>
              </FinancialAccount>
              <FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
              <FinancialInstitutionName>String</FinancialInstitutionName>
              <FinancialRoutingNumber>
                <Number>String</Number>
                <NumberTypeCode>String</NumberTypeCode>
              </FinancialRoutingNumber>
              <SwiftCode>String</SwiftCode>
            </FinancialInstitutionInformation>
          </Shipper>
          <SubstituteItem>
            <AdditionalTradeItemIdentification>
              <AdditionalTradeItemIdentification>
                <Code>String</Code>
                <Value>String</Value>
              </AdditionalTradeItemIdentification>
            </AdditionalTradeItemIdentification>
            <Gtin>String</Gtin>
          </SubstituteItem>
          <TradeItemProductionLeadTime>
            <TimeMeasurementUnitCode>String</TimeMeasurementUnitCode>
            <Value>0</Value>
          </TradeItemProductionLeadTime>
          <TradeItemShipmentLeadTime>
            <TimeMeasurementUnitCode>String</TimeMeasurementUnitCode>
            <Value>0</Value>
          </TradeItemShipmentLeadTime>
          <TradeItemSpecificUnitOfMeasure>String</TradeItemSpecificUnitOfMeasure>
          <TradeItemSubstitutionDateTime>0001-01-01T00:00:00</TradeItemSubstitutionDateTime>
          <originatingParty>
            <TransactionalPartyInRole>
              <PartyRoleCode>String</PartyRoleCode>
              <TransactionalParty>
                <AdditionalPartyIdentification>
                  <AvpList>
                    <Code>String</Code>
                    <Value>String</Value>
                  </AvpList>
                </AdditionalPartyIdentification>
                <Gln>String</Gln>
                <Name>String</Name>
                <Address>
                  <City>String</City>
                  <CountryCode>String</CountryCode>
                  <PostalCode>String</PostalCode>
                  <ProvinceCode>String</ProvinceCode>
                  <StreetAddressOne>String</StreetAddressOne>
                  <StreetAddressThree>String</StreetAddressThree>
                  <StreetAddressTwo>String</StreetAddressTwo>
                </Address>
                <CommunicationChannel>
                  <AvpList>
                    <Code>String</Code>
                    <Value>String</Value>
                  </AvpList>
                </CommunicationChannel>
                <Contact>
                  <Contact>
                    <CommunicationChannel>
                      <CommunicationChannel>
                        <CommunicationChannelCode>String</CommunicationChannelCode>
                        <CommunicationChannelName>String</CommunicationChannelName>
                        <CommunicationValue>String</CommunicationValue>
                      </CommunicationChannel>
                    </CommunicationChannel>
                    <ContactTypeCode>String</ContactTypeCode>
                    <DepartmentName>String</DepartmentName>
                    <JobTitle>String</JobTitle>
                    <PersonName>String</PersonName>
                    <Responsibility>String</Responsibility>
                  </Contact>
                </Contact>
                <DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
                <EntityIdentification>String</EntityIdentification>
                <FinancialInstitutionInformation>
                  <ExportersCode>String</ExportersCode>
                  <FinancialAccount>
                    <Name>String</Name>
                    <Number>String</Number>
                    <NumberTypeCode>String</NumberTypeCode>
                  </FinancialAccount>
                  <FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
                  <FinancialInstitutionName>String</FinancialInstitutionName>
                  <FinancialRoutingNumber>
                    <Number>String</Number>
                    <NumberTypeCode>String</NumberTypeCode>
                  </FinancialRoutingNumber>
                  <SwiftCode>String</SwiftCode>
                </FinancialInstitutionInformation>
              </TransactionalParty>
            </TransactionalPartyInRole>
          </originatingParty>
        </ItemDataTradingPartnerDependent>
      </ItemDataTradingPartnerDependent>
      <ItemDataTradingPartnerNeutral>
        <AdministrativeUnitOfLogisticServiceBuyer>
          <Gln>String</Gln>
          <InternalIdentification>String</InternalIdentification>
          <TypeCode>String</TypeCode>
        </AdministrativeUnitOfLogisticServiceBuyer>
        <AvpList>
          <AvpList>
            <Code>String</Code>
            <Value>String</Value>
          </AvpList>
        </AvpList>
        <CancelledDateTime>0001-01-01T00:00:00</CancelledDateTime>
        <DangerousGoodsInformation>
          <DangerousGoodsInformation>
            <Contact>
              <Contact>
                <CommunicationChannel>
                  <CommunicationChannel>
                    <CommunicationChannelCode>String</CommunicationChannelCode>
                    <CommunicationChannelName>String</CommunicationChannelName>
                    <CommunicationValue>String</CommunicationValue>
                  </CommunicationChannel>
                </CommunicationChannel>
                <ContactTypeCode>String</ContactTypeCode>
                <DepartmentName>String</DepartmentName>
                <JobTitle>String</JobTitle>
                <PersonName>String</PersonName>
                <Responsibility>String</Responsibility>
              </Contact>
            </Contact>
            <DangerousGoodsDescription>String</DangerousGoodsDescription>
            <DangerousGoodsShippingName>String</DangerousGoodsShippingName>
            <DangerousGoodsTechnicalName>String</DangerousGoodsTechnicalName>
            <dangerousGoodsUNIdentifier>
              <authority>String</authority>
              <text>String</text>
            </dangerousGoodsUNIdentifier>
          </DangerousGoodsInformation>
        </DangerousGoodsInformation>
        <DiscontinuedDateTime>0001-01-01T00:00:00</DiscontinuedDateTime>
        <EffectiveDateTime>0001-01-01T00:00:00</EffectiveDateTime>
        <EndAvailabilityDateTime>0001-01-01T00:00:00</EndAvailabilityDateTime>
        <HandlingInstruction>
          <HandlingInstruction>
            <HandlingInstructionCode>String</HandlingInstructionCode>
            <HandlingInstructionText>String</HandlingInstructionText>
            <PrintingInstructionCode xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1:string>
            </PrintingInstructionCode>
            <TransportTemperature>
              <MaximumTemperature>
                <TemperatureMeasurementUnitCode>String</TemperatureMeasurementUnitCode>
                <Value>0</Value>
              </MaximumTemperature>
              <MinimumTemperature>
                <TemperatureMeasurementUnitCode>String</TemperatureMeasurementUnitCode>
                <Value>0</Value>
              </MinimumTemperature>
            </TransportTemperature>
            <storageTemperature>
              <MaximumTemperature>
                <TemperatureMeasurementUnitCode>String</TemperatureMeasurementUnitCode>
                <Value>0</Value>
              </MaximumTemperature>
              <MinimumTemperature>
                <TemperatureMeasurementUnitCode>String</TemperatureMeasurementUnitCode>
                <Value>0</Value>
              </MinimumTemperature>
            </storageTemperature>
          </HandlingInstruction>
        </HandlingInstruction>
        <ItemDataWeightAndDimension>
          <Depth>
            <CodeListVersion>String</CodeListVersion>
            <MeasurementUnitCode>String</MeasurementUnitCode>
            <Value>0</Value>
          </Depth>
          <Diameter>
            <CodeListVersion>String</CodeListVersion>
            <MeasurementUnitCode>String</MeasurementUnitCode>
            <Value>0</Value>
          </Diameter>
          <GrossWeight>
            <CodeListVersion>String</CodeListVersion>
            <MeasurementUnitCode>String</MeasurementUnitCode>
            <Value>0</Value>
          </GrossWeight>
          <NetWeight>
            <CodeListVersion>String</CodeListVersion>
            <MeasurementUnitCode>String</MeasurementUnitCode>
            <Value>0</Value>
          </NetWeight>
          <Width>
            <CodeListVersion>String</CodeListVersion>
            <MeasurementUnitCode>String</MeasurementUnitCode>
            <Value>0</Value>
          </Width>
          <height>
            <CodeListVersion>String</CodeListVersion>
            <MeasurementUnitCode>String</MeasurementUnitCode>
            <Value>0</Value>
          </height>
        </ItemDataWeightAndDimension>
        <MaximumStackingFactor>0</MaximumStackingFactor>
        <StartAvailabilityDateTime>0001-01-01T00:00:00</StartAvailabilityDateTime>
        <TradeItemBaseUnitOfMeasure>String</TradeItemBaseUnitOfMeasure>
        <TradeItemClassificationCode>
          <AdditionalTradeItemClassificationCode>
            <AdditionalTradeItemClassificationCodeListCode>String</AdditionalTradeItemClassificationCodeListCode>
            <AdditionalTradeItemClassificationCodeListVersion>String</AdditionalTradeItemClassificationCodeListVersion>
            <CodeDescription>String</CodeDescription>
            <Value>String</Value>
          </AdditionalTradeItemClassificationCode>
        </TradeItemClassificationCode>
        <WarehouseABCClassificationCode>String</WarehouseABCClassificationCode>
      </ItemDataTradingPartnerNeutral>
      <LineItemNumber>0</LineItemNumber>
      <LowerLevelTradeItem>
        <LowerLevelTradeItem>
          <AdditionalTradeItemIdentification>
            <AdditionalTradeItemIdentification>
              <Code>String</Code>
              <Value>String</Value>
            </AdditionalTradeItemIdentification>
          </AdditionalTradeItemIdentification>
          <Gtin>String</Gtin>
          <QuantityOfLowerLevelTradeItem>0</QuantityOfLowerLevelTradeItem>
        </LowerLevelTradeItem>
      </LowerLevelTradeItem>
      <ParentLineItemNumber>0</ParentLineItemNumber>
      <ProductVariantIdentifier>
        <IdentificationSchemeAgencyCodeCodeListVersion>String</IdentificationSchemeAgencyCodeCodeListVersion>
        <IdentificationSchemeAgencyName>String</IdentificationSchemeAgencyName>
        <IdentificationSchemeName>String</IdentificationSchemeName>
        <Value>String</Value>
      </ProductVariantIdentifier>
      <QuantityOfItemTypes>0</QuantityOfItemTypes>
      <QuantityOfItemUnits>0</QuantityOfItemUnits>
      <TradeItemDescription xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </TradeItemDescription>
      <TradeItemUnitDescriptorCode>String</TradeItemUnitDescriptorCode>
    </ItemDataNotificationLineItem>
  </ItemDataNotificationLineItem>
</ItemDataNotificationMessage>