DX STF Client API

<back to all web services

GetItemDataNotificationByIdentifier

Item Data Notification Requests

Item Data Notification

Requires Authentication
The following routes are available for this service:
GET/api/itemDataNotification/{OwnerGln}/{ItemDataNotificationIdentification}Get specific ItemDataNotification by ItemDataNotificationIdentification
"use strict";
/** @typedef {'ADD'|'CHANGE_BY_REFRESH'|'DELETE'|'REJECTED'} */
export var DocumentAction;
(function (DocumentAction) {
    DocumentAction["ADD"] = "ADD"
    DocumentAction["CHANGE_BY_REFRESH"] = "CHANGE_BY_REFRESH"
    DocumentAction["DELETE"] = "DELETE"
    DocumentAction["REJECTED"] = "REJECTED"
})(DocumentAction || (DocumentAction = {}));
/** @typedef {'ADDITIONAL_TRANSMISSION'|'COPY'|'ORIGINAL'} */
export var DocumentStatus;
(function (DocumentStatus) {
    DocumentStatus["ADDITIONAL_TRANSMISSION"] = "ADDITIONAL_TRANSMISSION"
    DocumentStatus["COPY"] = "COPY"
    DocumentStatus["ORIGINAL"] = "ORIGINAL"
})(DocumentStatus || (DocumentStatus = {}));
export class AvpList {
    /** @param {{code?:string,value?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    code;
    /** @type {string} */
    value;
}
export class BaseDocument {
    /** @param {{currencyCode?:string,creationDateTime?:string,documentActionCode?:DocumentAction,documentStatusCode?:DocumentStatus,documentStructureVersion?:string,lastUpdateDateTime?:string,revisionNumber?:number,avpList?:AvpList[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    currencyCode;
    /** @type {string} */
    creationDateTime;
    /** @type {DocumentAction} */
    documentActionCode;
    /** @type {DocumentStatus} */
    documentStatusCode;
    /** @type {string} */
    documentStructureVersion;
    /** @type {?string} */
    lastUpdateDateTime;
    /** @type {?number} */
    revisionNumber;
    /** @type {AvpList[]} */
    avpList = [];
}
export class Ecom_PartyIdentificationType {
    /** @param {{gln?:string,name?:string,additionalPartyIdentification?:AvpList[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    gln;
    /** @type {string} */
    name;
    /** @type {AvpList[]} */
    additionalPartyIdentification = [];
}
export class CommunicationChannel {
    /** @param {{communicationChannelCode?:string,communicationChannelName?:string,communicationValue?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    communicationChannelCode;
    /** @type {string} */
    communicationChannelName;
    /** @type {string} */
    communicationValue;
}
export class Contact {
    /** @param {{contactTypeCode?:string,personName?:string,departmentName?:string,jobTitle?:string,responsibility?:string,communicationChannel?:CommunicationChannel[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    contactTypeCode;
    /** @type {string} */
    personName;
    /** @type {string} */
    departmentName;
    /** @type {string} */
    jobTitle;
    /** @type {string} */
    responsibility;
    /** @type {CommunicationChannel[]} */
    communicationChannel = [];
}
export class Address {
    /** @param {{streetAddressOne?:string,streetAddressTwo?:string,streetAddressThree?:string,city?:string,postalCode?:string,provinceCode?:string,countryCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    streetAddressOne;
    /** @type {string} */
    streetAddressTwo;
    /** @type {string} */
    streetAddressThree;
    /** @type {string} */
    city;
    /** @type {string} */
    postalCode;
    /** @type {string} */
    provinceCode;
    /** @type {string} */
    countryCode;
}
export class FinancialRoutingNumber {
    /** @param {{number?:string,numberTypeCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    number;
    /** @type {string} */
    numberTypeCode;
}
export class FinancialAccount {
    /** @param {{number?:string,numberTypeCode?:string,name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    number;
    /** @type {string} */
    numberTypeCode;
    /** @type {string} */
    name;
}
export class FinancialInstitutionInformation {
    /** @param {{financialInstitutionBranchName?:string,financialInstitutionName?:string,financialRoutingNumber?:FinancialRoutingNumber,financialAccount?:FinancialAccount,swiftCode?:string,exportersCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    financialInstitutionBranchName;
    /** @type {string} */
    financialInstitutionName;
    /** @type {FinancialRoutingNumber} */
    financialRoutingNumber;
    /** @type {FinancialAccount} */
    financialAccount;
    /** @type {string} */
    swiftCode;
    /** @type {string} */
    exportersCode;
}
export class TransactionalParty extends Ecom_PartyIdentificationType {
    /** @param {{contact?:Contact[],address?:Address,communicationChannel?:AvpList[],financialInstitutionInformation?:FinancialInstitutionInformation,dutyFeeTaxRegistration?:string,entityIdentification?:string,gln?:string,name?:string,additionalPartyIdentification?:AvpList[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {Contact[]} */
    contact = [];
    /** @type {Address} */
    address;
    /** @type {AvpList[]} */
    communicationChannel = [];
    /** @type {FinancialInstitutionInformation} */
    financialInstitutionInformation;
    /** @type {string} */
    dutyFeeTaxRegistration;
    /** @type {string} */
    entityIdentification;
}
export class AdditionalTradeItemIdentification {
    /** @param {{value?:string,code?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    value;
    /** @type {string} */
    code;
}
export class Ecom_TradeItemIdentification {
    /** @param {{additionalTradeItemIdentification?:AdditionalTradeItemIdentification[],gtin?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {AdditionalTradeItemIdentification[]} */
    additionalTradeItemIdentification = [];
    /** @type {string} */
    gtin;
}
export class IdentifierType {
    /** @param {{value?:string,identificationSchemeAgencyCodeCodeListVersion?:string,identificationSchemeAgencyName?:string,identificationSchemeName?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    value;
    /** @type {string} */
    identificationSchemeAgencyCodeCodeListVersion;
    /** @type {string} */
    identificationSchemeAgencyName;
    /** @type {string} */
    identificationSchemeName;
}
export class AdditionalTradeItemClassificationCode {
    /** @param {{value?:string,additionalTradeItemClassificationCodeListCode?:string,additionalTradeItemClassificationCodeListVersion?:string,codeDescription?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    value;
    /** @type {string} */
    additionalTradeItemClassificationCodeListCode;
    /** @type {string} */
    additionalTradeItemClassificationCodeListVersion;
    /** @type {string} */
    codeDescription;
}
export class Measurement {
    /** @param {{value?:number,codeListVersion?:string,measurementUnitCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    value;
    /** @type {string} */
    codeListVersion;
    /** @type {string} */
    measurementUnitCode;
}
export class ItemDataWeightAndDimension {
    /** @param {{depth?:Measurement,diameter?:Measurement,grossWeight?:Measurement,height?:Measurement,netWeight?:Measurement,width?:Measurement}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {Measurement} */
    depth;
    /** @type {Measurement} */
    diameter;
    /** @type {Measurement} */
    grossWeight;
    /** @type {Measurement} */
    height;
    /** @type {Measurement} */
    netWeight;
    /** @type {Measurement} */
    width;
}
export class TemperatureMeasurement {
    /** @param {{value?:number,temperatureMeasurementUnitCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    value;
    /** @type {string} */
    temperatureMeasurementUnitCode;
}
export class TemperatureRange {
    /** @param {{maximumTemperature?:TemperatureMeasurement,minimumTemperature?:TemperatureMeasurement}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {TemperatureMeasurement} */
    maximumTemperature;
    /** @type {TemperatureMeasurement} */
    minimumTemperature;
}
export class HandlingInstruction {
    /** @param {{handlingInstructionCode?:string,handlingInstructionText?:string,printingInstructionCode?:string[],storageTemperature?:TemperatureRange,transportTemperature?:TemperatureRange}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    handlingInstructionCode;
    /** @type {string} */
    handlingInstructionText;
    /** @type {string[]} */
    printingInstructionCode = [];
    /** @type {TemperatureRange} */
    storageTemperature;
    /** @type {TemperatureRange} */
    transportTemperature;
}
export class Identifier {
    /** @param {{authority?:string,text?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    authority;
    /** @type {string} */
    text;
}
export class DangerousGoodsInformation {
    /** @param {{dangerousGoodsDescription?:string,dangerousGoodsShippingName?:string,dangerousGoodsTechnicalName?:string,dangerousGoodsUNIdentifier?:Identifier,contact?:Contact[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    dangerousGoodsDescription;
    /** @type {string} */
    dangerousGoodsShippingName;
    /** @type {string} */
    dangerousGoodsTechnicalName;
    /** @type {Identifier} */
    dangerousGoodsUNIdentifier;
    /** @type {Contact[]} */
    contact = [];
}
export class AdministrativeUnit {
    /** @param {{typeCode?:string,gln?:string,internalIdentification?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    typeCode;
    /** @type {string} */
    gln;
    /** @type {string} */
    internalIdentification;
}
export class ItemDataTradingPartnerNeutral {
    /** @param {{cancelledDateTime?:string,discontinuedDateTime?:string,effectiveDateTime?:string,endAvailabilityDateTime?:string,maximumStackingFactor?:number,startAvailabilityDateTime?:string,tradeItemBaseUnitOfMeasure?:string,tradeItemClassificationCode?:AdditionalTradeItemClassificationCode[],warehouseABCClassificationCode?:string,itemDataWeightAndDimension?:ItemDataWeightAndDimension,handlingInstruction?:HandlingInstruction[],dangerousGoodsInformation?:DangerousGoodsInformation[],administrativeUnitOfLogisticServiceBuyer?:AdministrativeUnit,avpList?:AvpList[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    cancelledDateTime;
    /** @type {?string} */
    discontinuedDateTime;
    /** @type {string} */
    effectiveDateTime;
    /** @type {?string} */
    endAvailabilityDateTime;
    /** @type {?number} */
    maximumStackingFactor;
    /** @type {string} */
    startAvailabilityDateTime;
    /** @type {string} */
    tradeItemBaseUnitOfMeasure;
    /** @type {AdditionalTradeItemClassificationCode[]} */
    tradeItemClassificationCode = [];
    /** @type {string} */
    warehouseABCClassificationCode;
    /** @type {ItemDataWeightAndDimension} */
    itemDataWeightAndDimension;
    /** @type {HandlingInstruction[]} */
    handlingInstruction = [];
    /** @type {DangerousGoodsInformation[]} */
    dangerousGoodsInformation = [];
    /** @type {AdministrativeUnit} */
    administrativeUnitOfLogisticServiceBuyer;
    /** @type {AvpList[]} */
    avpList = [];
}
export class TimeMeasurement {
    /** @param {{timeMeasurementUnitCode?:string,value?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    timeMeasurementUnitCode;
    /** @type {?number} */
    value;
}
export class Quantity {
    /** @param {{value?:number,measurementUnitCode?:string,codeListVersion?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    value;
    /** @type {string} */
    measurementUnitCode;
    /** @type {string} */
    codeListVersion;
}
export class Dimension {
    /** @param {{depth?:Measurement,height?:Measurement,width?:Measurement}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {Measurement} */
    depth;
    /** @type {Measurement} */
    height;
    /** @type {Measurement} */
    width;
}
export class ItemDataLogisticUnitInformation {
    /** @param {{grossWeight?:Measurement,maximumStackingFactor?:number,netWeight?:Measurement,numberOfLayers?:number,packageLevelCode?:string,packageTypeCode?:string,tradeItemQuantity?:Quantity,tradeItemQuantityPerLayer?:Quantity,avpList?:AvpList,dimensionsOfLogisticUnit?:Dimension[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {Measurement} */
    grossWeight;
    /** @type {?number} */
    maximumStackingFactor;
    /** @type {Measurement} */
    netWeight;
    /** @type {?number} */
    numberOfLayers;
    /** @type {string} */
    packageLevelCode;
    /** @type {string} */
    packageTypeCode;
    /** @type {Quantity} */
    tradeItemQuantity;
    /** @type {Quantity} */
    tradeItemQuantityPerLayer;
    /** @type {AvpList} */
    avpList;
    /** @type {Dimension[]} */
    dimensionsOfLogisticUnit = [];
}
export class ItemDataStockRequirements {
    /** @param {{requiredStockLevel?:Quantity,requiredStockLevelValidityDateTime?:string,stockRequirementTypeCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {Quantity} */
    requiredStockLevel;
    /** @type {?string} */
    requiredStockLevelValidityDateTime;
    /** @type {string} */
    stockRequirementTypeCode;
}
export class TransactionalPartyInRole {
    /** @param {{partyRoleCode?:string,transactionalParty?:TransactionalParty}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    partyRoleCode;
    /** @type {TransactionalParty} */
    transactionalParty;
}
export class ItemDataTradingPartnerDependent {
    /** @param {{countryOfOrigin?:string,minimumRemainingShelfLifeInbound?:TimeMeasurement,minimumRemainingShelfLifeOutbound?:TimeMeasurement,orderQuantityMaximum?:Quantity,orderQuantityMinimum?:Quantity,orderQuantityMultiple?:Quantity,qualityControlCode?:string,quarantinePeriod?:TimeMeasurement,tradeItemProductionLeadTime?:TimeMeasurement,tradeItemShipmentLeadTime?:TimeMeasurement,tradeItemSpecificUnitOfMeasure?:string,tradeItemSubstitutionDateTime?:string,itemDataLogisticUnitInformation?:ItemDataLogisticUnitInformation[],itemDataStockRequirements?:ItemDataStockRequirements[],administrativeUnitOfReceiver?:AdministrativeUnit[],avpList?:AvpList,originatingParty?:TransactionalPartyInRole[],receiver?:TransactionalParty,shipper?:TransactionalParty,substituteItem?:Ecom_TradeItemIdentification}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    countryOfOrigin;
    /** @type {TimeMeasurement} */
    minimumRemainingShelfLifeInbound;
    /** @type {TimeMeasurement} */
    minimumRemainingShelfLifeOutbound;
    /** @type {Quantity} */
    orderQuantityMaximum;
    /** @type {Quantity} */
    orderQuantityMinimum;
    /** @type {Quantity} */
    orderQuantityMultiple;
    /** @type {string} */
    qualityControlCode;
    /** @type {TimeMeasurement} */
    quarantinePeriod;
    /** @type {TimeMeasurement} */
    tradeItemProductionLeadTime;
    /** @type {TimeMeasurement} */
    tradeItemShipmentLeadTime;
    /** @type {string} */
    tradeItemSpecificUnitOfMeasure;
    /** @type {?string} */
    tradeItemSubstitutionDateTime;
    /** @type {ItemDataLogisticUnitInformation[]} */
    itemDataLogisticUnitInformation = [];
    /** @type {ItemDataStockRequirements[]} */
    itemDataStockRequirements = [];
    /** @type {AdministrativeUnit[]} */
    administrativeUnitOfReceiver = [];
    /** @type {AvpList} */
    avpList;
    /** @type {TransactionalPartyInRole[]} */
    originatingParty = [];
    /** @type {TransactionalParty} */
    receiver;
    /** @type {TransactionalParty} */
    shipper;
    /** @type {Ecom_TradeItemIdentification} */
    substituteItem;
}
export class LowerLevelTradeItem extends Ecom_TradeItemIdentification {
    /** @param {{quantityOfLowerLevelTradeItem?:number,additionalTradeItemIdentification?:AdditionalTradeItemIdentification[],gtin?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {?number} */
    quantityOfLowerLevelTradeItem;
}
export class ItemDataNotificationLineItem extends Ecom_TradeItemIdentification {
    /** @param {{brandName?:string,gpcCategoryCode?:string,isTheProductVariantPreferred?:boolean,lineItemNumber?:number,parentLineItemNumber?:number,productVariantIdentifier?:IdentifierType,quantityOfItemTypes?:number,quantityOfItemUnits?:number,tradeItemDescription?:string[],tradeItemUnitDescriptorCode?:string,itemDataTradingPartnerNeutral?:ItemDataTradingPartnerNeutral,itemDataTradingPartnerDependent?:ItemDataTradingPartnerDependent[],lowerLevelTradeItem?:LowerLevelTradeItem[],avpList?:AvpList[],additionalTradeItemIdentification?:AdditionalTradeItemIdentification[],gtin?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {string} */
    brandName;
    /** @type {string} */
    gpcCategoryCode;
    /** @type {?boolean} */
    isTheProductVariantPreferred;
    /** @type {?number} */
    lineItemNumber;
    /** @type {?number} */
    parentLineItemNumber;
    /** @type {IdentifierType} */
    productVariantIdentifier;
    /** @type {?number} */
    quantityOfItemTypes;
    /** @type {?number} */
    quantityOfItemUnits;
    /** @type {string[]} */
    tradeItemDescription = [];
    /** @type {string} */
    tradeItemUnitDescriptorCode;
    /** @type {ItemDataTradingPartnerNeutral} */
    itemDataTradingPartnerNeutral;
    /** @type {ItemDataTradingPartnerDependent[]} */
    itemDataTradingPartnerDependent = [];
    /** @type {LowerLevelTradeItem[]} */
    lowerLevelTradeItem = [];
    /** @type {AvpList[]} */
    avpList = [];
}
export class ItemDataNotificationMessage extends BaseDocument {
    /** @param {{dataRecipient?:TransactionalParty,dataSource?:TransactionalParty,itemDataNotificationIdentification?:string,itemDataNotificationLineItem?:ItemDataNotificationLineItem[],currencyCode?:string,creationDateTime?:string,documentActionCode?:DocumentAction,documentStatusCode?:DocumentStatus,documentStructureVersion?:string,lastUpdateDateTime?:string,revisionNumber?:number,avpList?:AvpList[]}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /** @type {TransactionalParty} */
    dataRecipient;
    /** @type {TransactionalParty} */
    dataSource;
    /** @type {string} */
    itemDataNotificationIdentification;
    /** @type {ItemDataNotificationLineItem[]} */
    itemDataNotificationLineItem = [];
}
export class GetItemDataNotificationByIdentifier {
    /** @param {{ownerGln?:string,itemDataNotificationIdentification?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description Owner GLN */
    ownerGln;
    /**
     * @type {string}
     * @description ItemDataNotification ID or Token */
    itemDataNotificationIdentification;
}

JavaScript GetItemDataNotificationByIdentifier 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/{OwnerGln}/{ItemDataNotificationIdentification} 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>