DX STF Client API

<back to all web services

GetOrderResponseById

Order Response Requests

Order Response

Requires Authentication
The following routes are available for this service:
GET/api/orderResponse/{Id}Get specific OrderResponse by OrderResponse Id
"use strict";
export class DocumentIdentification {
    /** @param {{identifier?:string,type?:string,creationDateAndTime?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    identifier;
    /** @type {string} */
    type;
    /** @type {string} */
    creationDateAndTime;
}
export class Identifier {
    /** @param {{authority?:string,text?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    authority;
    /** @type {string} */
    text;
}
export class ContactInformation {
    constructor(init) { Object.assign(this, init) }
}
export class Partner {
    /** @param {{identifier?:Identifier,contactInformation?:ContactInformation[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {Identifier} */
    identifier;
    /** @type {ContactInformation[]} */
    contactInformation = [];
}
export class Header {
    /** @param {{documentIdentification?:DocumentIdentification,sender?:Partner,receiver?:Partner}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {DocumentIdentification} */
    documentIdentification;
    /** @type {Partner} */
    sender;
    /** @type {Partner} */
    receiver;
}
/** @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 AllowanceCharge {
    /** @param {{allowanceChargeAmount?:number,allowanceChargePercentage?:number,allowanceChargeType?:string,allowanceOrChargeType?:string,amountPerUnit?:number,baseAmount?:number,baseNumberOfUnits?:string,bracketIdentifier?:string,effectiveDateType?:string,sequenceNumber?:string,settlementType?:string,specialServiceType?:string,allowanceChargeDescription?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    allowanceChargeAmount;
    /** @type {?number} */
    allowanceChargePercentage;
    /** @type {string} */
    allowanceChargeType;
    /** @type {string} */
    allowanceOrChargeType;
    /** @type {?number} */
    amountPerUnit;
    /** @type {?number} */
    baseAmount;
    /** @type {string} */
    baseNumberOfUnits;
    /** @type {string} */
    bracketIdentifier;
    /** @type {?string} */
    effectiveDateType;
    /** @type {string} */
    sequenceNumber;
    /** @type {string} */
    settlementType;
    /** @type {string} */
    specialServiceType;
    /** @type {string} */
    allowanceChargeDescription;
}
export class DeliveryTermsLocation {
    /** @param {{unLocationCode?:string,gln?:string,additionalLocationIdentification?:AvpList[],sublocationIdentification?:string,locationName?:string,locationSpecificInstructions?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    unLocationCode;
    /** @type {string} */
    gln;
    /** @type {AvpList[]} */
    additionalLocationIdentification = [];
    /** @type {string} */
    sublocationIdentification;
    /** @type {string} */
    locationName;
    /** @type {string} */
    locationSpecificInstructions;
}
export class DeliveryTerms {
    /** @param {{incotermsCode?:string,alternateDeliveryTermsCode?:string,deliveryInstructions?:string,deliveryCostPayment?:string,isSignatureRequired?:string,deliveryTermsLocation?:DeliveryTermsLocation}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    incotermsCode;
    /** @type {string} */
    alternateDeliveryTermsCode;
    /** @type {string} */
    deliveryInstructions;
    /** @type {string} */
    deliveryCostPayment;
    /** @type {string} */
    isSignatureRequired;
    /** @type {DeliveryTermsLocation} */
    deliveryTermsLocation;
}
export class DateRange {
    /** @param {{beginDate?:string,beginTime?:string,endDate?:string,endTime?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    beginDate;
    /** @type {?string} */
    beginTime;
    /** @type {?string} */
    endDate;
    /** @type {?string} */
    endTime;
}
export class OrderLogisticalDateInformation {
    /** @param {{dateRangeDeliveryDateRange?:DateRange,dateRangeShipDateRange?:DateRange,dateRangeDeliveryDateRangeAtUltimateConsignee?:DateRange,requestedDeliveryDateTime?:string,requestedShipDateTime?:string,requestedPickUpDateTime?:string,requestedDeliveryDateTimeAtUltimateConsignee?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {DateRange} */
    dateRangeDeliveryDateRange;
    /** @type {DateRange} */
    dateRangeShipDateRange;
    /** @type {DateRange} */
    dateRangeDeliveryDateRangeAtUltimateConsignee;
    /** @type {?string} */
    requestedDeliveryDateTime;
    /** @type {string} */
    requestedShipDateTime;
    /** @type {?string} */
    requestedPickUpDateTime;
    /** @type {?string} */
    requestedDeliveryDateTimeAtUltimateConsignee;
}
export class DocumentReference {
    /** @param {{creationDateTime?:string,revisionNumber?:number,lineItemNumber?:number,entityIdentification?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    creationDateTime;
    /** @type {?number} */
    revisionNumber;
    /** @type {?number} */
    lineItemNumber;
    /** @type {string} */
    entityIdentification;
}
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 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 Code {
    /** @param {{value?:string,codeDescription?:string,codeListAgencyCodeListVersion?:string,codeListAgencyName?:string,codeListName?:string,codeListUri?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    value;
    /** @type {string} */
    codeDescription;
    /** @type {string} */
    codeListAgencyCodeListVersion;
    /** @type {string} */
    codeListAgencyName;
    /** @type {string} */
    codeListName;
    /** @type {string} */
    codeListUri;
}
export class ShipmentTransportationInformation {
    /** @param {{carrier?:TransactionalParty,freightForwarder?:TransactionalParty}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {TransactionalParty} */
    carrier;
    /** @type {TransactionalParty} */
    freightForwarder;
}
export class OrderLogisticalInformation {
    /** @param {{commodityTypeCode?:Code,orderLogisticalDateInformation?:OrderLogisticalDateInformation,inventoryLocation?:TransactionalParty,shipFrom?:TransactionalParty,shipTo?:TransactionalParty,ultimateConsignee?:TransactionalParty,shipmentTransportationInformation?:ShipmentTransportationInformation}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {Code} */
    commodityTypeCode;
    /** @type {OrderLogisticalDateInformation} */
    orderLogisticalDateInformation;
    /** @type {TransactionalParty} */
    inventoryLocation;
    /** @type {TransactionalParty} */
    shipFrom;
    /** @type {TransactionalParty} */
    shipTo;
    /** @type {TransactionalParty} */
    ultimateConsignee;
    /** @type {ShipmentTransportationInformation} */
    shipmentTransportationInformation;
}
export class OrderResponseLineItemDetail {
    /** @param {{confirmedQuantity?:Quantity,orderLogisticalInformation?:OrderLogisticalInformation,avpList?:AvpList,purchaseConditions?:DocumentReference}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {Quantity} */
    confirmedQuantity;
    /** @type {OrderLogisticalInformation} */
    orderLogisticalInformation;
    /** @type {AvpList} */
    avpList;
    /** @type {DocumentReference} */
    purchaseConditions;
}
export class TransactionalItem {
    /** @param {{measurementUnitCode?:string,measurementType?:string,measurementValue?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    measurementUnitCode;
    /** @type {string} */
    measurementType;
    /** @type {string} */
    measurementValue;
}
export class SerialNumberRange {
    /** @param {{maximumValue?:string,minimumValue?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    maximumValue;
    /** @type {string} */
    minimumValue;
}
export class TransactionalItemDimension {
    /** @param {{measurementUnitCode?:string,depth?:string,height?:string,width?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    measurementUnitCode;
    /** @type {string} */
    depth;
    /** @type {string} */
    height;
    /** @type {string} */
    width;
}
export class TransactionalItemLogisticUnitInformation {
    /** @param {{numberOfLayers?:number,numberOfUnitsPerLayer?:number,numberOfUnitsPerPallet?:number,packagingTerms?:string,packageTypeCode?:string,maximumStackingFactor?:number,returnablePackageTransportCostPayment?:string,dimensionsOfLogisticUnit?:TransactionalItemDimension[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    numberOfLayers;
    /** @type {?number} */
    numberOfUnitsPerLayer;
    /** @type {?number} */
    numberOfUnitsPerPallet;
    /** @type {string} */
    packagingTerms;
    /** @type {string} */
    packageTypeCode;
    /** @type {?number} */
    maximumStackingFactor;
    /** @type {string} */
    returnablePackageTransportCostPayment;
    /** @type {TransactionalItemDimension[]} */
    dimensionsOfLogisticUnit = [];
}
export class TransactionalItemDataCarrierAndIdentification {
    /** @param {{gs1TransactionalItemIdentificationKey?:string,dataCarrier?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    gs1TransactionalItemIdentificationKey;
    /** @type {string} */
    dataCarrier;
}
export class TradeItemWaste {
    /** @param {{wasteIdentification?:string,typeOfWaste?:AvpList[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    wasteIdentification;
    /** @type {AvpList[]} */
    typeOfWaste = [];
}
export class TransactionalItemOrganicInformation {
    /** @param {{isTradeItemOrganic?:boolean,organicCertification?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?boolean} */
    isTradeItemOrganic;
    /** @type {string} */
    organicCertification;
}
export class TransactionalItemData {
    /** @param {{availableForSaleDate?:string,batchNumber?:string,bestBeforeDate?:string,countryOfOrigin?:string,itemExpirationDate?:string,lotNumber?:string,packagingDate?:string,productionDate?:string,productQualityIndication?:string,sellByDate?:string,serialNumber?:string[],shelfLife?:string,tradeItemQuantity?:number,itemInContactWithFoodProduct?:boolean,transactionalItemWeight?:TransactionalItem[],transactionalItemVolume?:TransactionalItem[],serialNumberRange?:SerialNumberRange[],transactionalItemDimensions?:TransactionalItemDimension[],transactionalItemLogisticUnitInformation?:TransactionalItemLogisticUnitInformation,transactionalItemDataCarrierAndIdentification?:TransactionalItemDataCarrierAndIdentification,tradeItemWaste?:TradeItemWaste[],transactionalItemOrganicInformation?:TransactionalItemOrganicInformation,avpList?:AvpList[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?string} */
    availableForSaleDate;
    /** @type {string} */
    batchNumber;
    /** @type {?string} */
    bestBeforeDate;
    /** @type {string} */
    countryOfOrigin;
    /** @type {?string} */
    itemExpirationDate;
    /** @type {string} */
    lotNumber;
    /** @type {?string} */
    packagingDate;
    /** @type {?string} */
    productionDate;
    /** @type {string} */
    productQualityIndication;
    /** @type {?string} */
    sellByDate;
    /** @type {string[]} */
    serialNumber = [];
    /** @type {string} */
    shelfLife;
    /** @type {?number} */
    tradeItemQuantity;
    /** @type {?boolean} */
    itemInContactWithFoodProduct;
    /** @type {TransactionalItem[]} */
    transactionalItemWeight = [];
    /** @type {TransactionalItem[]} */
    transactionalItemVolume = [];
    /** @type {SerialNumberRange[]} */
    serialNumberRange = [];
    /** @type {TransactionalItemDimension[]} */
    transactionalItemDimensions = [];
    /** @type {TransactionalItemLogisticUnitInformation} */
    transactionalItemLogisticUnitInformation;
    /** @type {TransactionalItemDataCarrierAndIdentification} */
    transactionalItemDataCarrierAndIdentification;
    /** @type {TradeItemWaste[]} */
    tradeItemWaste = [];
    /** @type {TransactionalItemOrganicInformation} */
    transactionalItemOrganicInformation;
    /** @type {AvpList[]} */
    avpList = [];
}
export class Colour {
    /** @param {{colourCode?:string,colourDescription?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    colourCode;
    /** @type {string} */
    colourDescription;
}
export class Size {
    /** @param {{descriptiveSize?:string,sizeCode?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    descriptiveSize;
    /** @type {string} */
    sizeCode;
}
export class TradeItemClassification {
    /** @param {{gpcCategoryCode?:string,additionalTradeItemClassificationCode?:AvpList[],gpcCategoryName?:string,gpcAttribute?:AvpList[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    gpcCategoryCode;
    /** @type {AvpList[]} */
    additionalTradeItemClassificationCode = [];
    /** @type {string} */
    gpcCategoryName;
    /** @type {AvpList[]} */
    gpcAttribute = [];
}
export class TransactionalTradeItem {
    /** @param {{gtin?:string,additionalTradeItemIdentification?:AvpList[],tradeItemQuantity?:number,tradeItemDescription?:string,productVariantIdentifier?:string,itemTypeCode?:string,tradeItemDataOwner?:string,butterFatReference?:string,transactionalItemData?:TransactionalItemData[],colour?:Colour[],size?:Size,tradeItemClassification?:TradeItemClassification,avpList?:AvpList[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    gtin;
    /** @type {AvpList[]} */
    additionalTradeItemIdentification = [];
    /** @type {?number} */
    tradeItemQuantity;
    /** @type {string} */
    tradeItemDescription;
    /** @type {string} */
    productVariantIdentifier;
    /** @type {string} */
    itemTypeCode;
    /** @type {string} */
    tradeItemDataOwner;
    /** @type {string} */
    butterFatReference;
    /** @type {TransactionalItemData[]} */
    transactionalItemData = [];
    /** @type {Colour[]} */
    colour = [];
    /** @type {Size} */
    size;
    /** @type {TradeItemClassification} */
    tradeItemClassification;
    /** @type {AvpList[]} */
    avpList = [];
}
export class LeviedDutyFeeTax {
    /** @param {{dutyFeeTaxAmount?:number,dutyFeeTaxBasisAmount?:number,dutyFeeTaxDescription?:string,dutyFeeTaxPercentage?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {?number} */
    dutyFeeTaxAmount;
    /** @type {?number} */
    dutyFeeTaxBasisAmount;
    /** @type {string} */
    dutyFeeTaxDescription;
    /** @type {?number} */
    dutyFeeTaxPercentage;
}
export class OrderResponseLineItem {
    /** @param {{additionalOrderLineInstruction?:string[],confirmedQuantity?:Quantity,deliveryDateTime?:string,lineItemActionCode?:string,lineItemChangeIndicator?:string,lineItemNumber?:number,monetaryAmountExcludingTaxes?:number,monetaryAmountIncludingTaxes?:number,netAmount?:number,netPrice?:number,note?:string,orderResponseReasonCode?:string,responseStatusCode?:string,originalOrderLineItemNumber?:number,parentLineItemNumber?:number,orderResponseLineItemDetail?:OrderResponseLineItemDetail[],allowanceCharge?:AllowanceCharge[],transactionalTradeItem?:TransactionalTradeItem,leviedDutyFeeTax?:LeviedDutyFeeTax,avpList?:AvpList[],backOrderInformation?:OrderResponseLineItemDetail,substituteItemInformation?:TransactionalTradeItem,shipmentTransportationInformation?:ShipmentTransportationInformation}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string[]} */
    additionalOrderLineInstruction = [];
    /** @type {Quantity} */
    confirmedQuantity;
    /** @type {?string} */
    deliveryDateTime;
    /** @type {string} */
    lineItemActionCode;
    /** @type {string} */
    lineItemChangeIndicator;
    /** @type {?number} */
    lineItemNumber;
    /** @type {?number} */
    monetaryAmountExcludingTaxes;
    /** @type {?number} */
    monetaryAmountIncludingTaxes;
    /** @type {?number} */
    netAmount;
    /** @type {?number} */
    netPrice;
    /** @type {string} */
    note;
    /** @type {string} */
    orderResponseReasonCode;
    /** @type {string} */
    responseStatusCode;
    /** @type {?number} */
    originalOrderLineItemNumber;
    /** @type {?number} */
    parentLineItemNumber;
    /** @type {OrderResponseLineItemDetail[]} */
    orderResponseLineItemDetail = [];
    /** @type {AllowanceCharge[]} */
    allowanceCharge = [];
    /** @type {TransactionalTradeItem} */
    transactionalTradeItem;
    /** @type {LeviedDutyFeeTax} */
    leviedDutyFeeTax;
    /** @type {AvpList[]} */
    avpList = [];
    /** @type {OrderResponseLineItemDetail} */
    backOrderInformation;
    /** @type {TransactionalTradeItem} */
    substituteItemInformation;
    /** @type {ShipmentTransportationInformation} */
    shipmentTransportationInformation;
}
export class OrderResponse extends BaseDocument {
    /** @param {{note?:string,orderResponseReasonCode?:string[],responseStatusCode?:string,totalMonetaryAmountExcludingTaxes?:number,totalMonetaryAmountIncludingTaxes?:number,totalTaxAmount?:number,allowanceCharge?:AllowanceCharge[],deliveryTerms?:DeliveryTerms,amendedDateTimeValue?:OrderLogisticalDateInformation,orderResponseIdentification?:string,originalOrder?:DocumentReference,salesOrder?:DocumentReference,billTo?:TransactionalParty,buyer?:TransactionalParty,seller?:TransactionalParty,shipTo?:TransactionalParty,orderResponseLineItem?:OrderResponseLineItem[],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 {string} */
    note;
    /** @type {string[]} */
    orderResponseReasonCode = [];
    /** @type {string} */
    responseStatusCode;
    /** @type {?number} */
    totalMonetaryAmountExcludingTaxes;
    /** @type {?number} */
    totalMonetaryAmountIncludingTaxes;
    /** @type {?number} */
    totalTaxAmount;
    /** @type {AllowanceCharge[]} */
    allowanceCharge = [];
    /** @type {DeliveryTerms} */
    deliveryTerms;
    /** @type {OrderLogisticalDateInformation} */
    amendedDateTimeValue;
    /** @type {string} */
    orderResponseIdentification;
    /** @type {DocumentReference} */
    originalOrder;
    /** @type {DocumentReference} */
    salesOrder;
    /** @type {TransactionalParty} */
    billTo;
    /** @type {TransactionalParty} */
    buyer;
    /** @type {TransactionalParty} */
    seller;
    /** @type {TransactionalParty} */
    shipTo;
    /** @type {OrderResponseLineItem[]} */
    orderResponseLineItem = [];
}
export class OrderResponseMessage {
    /** @param {{header?:Header,orderResponse?:OrderResponse}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {Header} */
    header;
    /** @type {OrderResponse} */
    orderResponse;
}
export class GetOrderResponseById {
    /** @param {{id?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description OrderResponse ID or Token */
    id;
}

JavaScript GetOrderResponseById DTOs

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

HTTP + JSV

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

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

{
	header: 
	{
		documentIdentification: 
		{
			identifier: String,
			type: String
		},
		sender: 
		{
			identifier: 
			{
				authority: String,
				text: String
			},
			contactInformation: 
			[
				{
					
				}
			]
		},
		receiver: 
		{
			identifier: 
			{
				authority: String,
				text: String
			},
			contactInformation: 
			[
				{
					
				}
			]
		}
	},
	orderResponse: 
	{
		note: String,
		orderResponseReasonCode: 
		[
			String
		],
		responseStatusCode: String,
		totalMonetaryAmountExcludingTaxes: 0,
		totalMonetaryAmountIncludingTaxes: 0,
		totalTaxAmount: 0,
		allowanceCharge: 
		[
			{
				allowanceChargeAmount: 0,
				allowanceChargePercentage: 0,
				allowanceChargeType: String,
				allowanceOrChargeType: String,
				amountPerUnit: 0,
				baseAmount: 0,
				baseNumberOfUnits: String,
				bracketIdentifier: String,
				effectiveDateType: 0001-01-01,
				sequenceNumber: String,
				settlementType: String,
				specialServiceType: String,
				allowanceChargeDescription: String
			}
		],
		deliveryTerms: 
		{
			incotermsCode: String,
			alternateDeliveryTermsCode: String,
			deliveryInstructions: String,
			deliveryCostPayment: String,
			isSignatureRequired: String,
			deliveryTermsLocation: 
			{
				unLocationCode: String,
				gln: String,
				additionalLocationIdentification: 
				[
					{
						code: String,
						value: String
					}
				],
				sublocationIdentification: String,
				locationName: String,
				locationSpecificInstructions: String
			}
		},
		amendedDateTimeValue: 
		{
			dateRangeDeliveryDateRange: 
			{
				beginDate: 0001-01-01,
				beginTime: 0001-01-01,
				endDate: 0001-01-01,
				endTime: 0001-01-01
			},
			dateRangeShipDateRange: 
			{
				beginDate: 0001-01-01,
				beginTime: 0001-01-01,
				endDate: 0001-01-01,
				endTime: 0001-01-01
			},
			dateRangeDeliveryDateRangeAtUltimateConsignee: 
			{
				beginDate: 0001-01-01,
				beginTime: 0001-01-01,
				endDate: 0001-01-01,
				endTime: 0001-01-01
			},
			requestedDeliveryDateTime: 0001-01-01,
			requestedShipDateTime: String,
			requestedPickUpDateTime: 0001-01-01,
			requestedDeliveryDateTimeAtUltimateConsignee: 0001-01-01
		},
		orderResponseIdentification: String,
		originalOrder: 
		{
			creationDateTime: 0001-01-01,
			revisionNumber: 0,
			lineItemNumber: 0,
			entityIdentification: String
		},
		salesOrder: 
		{
			creationDateTime: 0001-01-01,
			revisionNumber: 0,
			lineItemNumber: 0,
			entityIdentification: String
		},
		billTo: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		buyer: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		seller: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		shipTo: 
		{
			contact: 
			[
				{
					contactTypeCode: String,
					personName: String,
					departmentName: String,
					jobTitle: String,
					responsibility: String,
					communicationChannel: 
					[
						{
							communicationChannelCode: String,
							communicationChannelName: String,
							communicationValue: String
						}
					]
				}
			],
			address: 
			{
				streetAddressOne: String,
				streetAddressTwo: String,
				streetAddressThree: String,
				city: String,
				postalCode: String,
				provinceCode: String,
				countryCode: String
			},
			communicationChannel: 
			[
				{
					code: String,
					value: String
				}
			],
			financialInstitutionInformation: 
			{
				financialInstitutionBranchName: String,
				financialInstitutionName: String,
				financialRoutingNumber: 
				{
					number: String,
					numberTypeCode: String
				},
				financialAccount: 
				{
					number: String,
					numberTypeCode: String,
					name: String
				},
				swiftCode: String,
				exportersCode: String
			},
			dutyFeeTaxRegistration: String,
			entityIdentification: String,
			gln: String,
			name: String,
			additionalPartyIdentification: 
			[
				{
					code: String,
					value: String
				}
			]
		},
		orderResponseLineItem: 
		[
			{
				additionalOrderLineInstruction: 
				[
					String
				],
				confirmedQuantity: 
				{
					value: 0,
					measurementUnitCode: String,
					codeListVersion: String
				},
				deliveryDateTime: 0001-01-01,
				lineItemActionCode: String,
				lineItemChangeIndicator: String,
				lineItemNumber: 0,
				monetaryAmountExcludingTaxes: 0,
				monetaryAmountIncludingTaxes: 0,
				netAmount: 0,
				netPrice: 0,
				note: String,
				orderResponseReasonCode: String,
				responseStatusCode: String,
				originalOrderLineItemNumber: 0,
				parentLineItemNumber: 0,
				orderResponseLineItemDetail: 
				[
					{
						confirmedQuantity: 
						{
							value: 0,
							measurementUnitCode: String,
							codeListVersion: String
						},
						orderLogisticalInformation: 
						{
							commodityTypeCode: 
							{
								value: String,
								codeDescription: String,
								codeListAgencyCodeListVersion: String,
								codeListAgencyName: String,
								codeListName: String,
								codeListUri: String
							},
							orderLogisticalDateInformation: 
							{
								dateRangeDeliveryDateRange: 
								{
									beginDate: 0001-01-01,
									beginTime: 0001-01-01,
									endDate: 0001-01-01,
									endTime: 0001-01-01
								},
								dateRangeShipDateRange: 
								{
									beginDate: 0001-01-01,
									beginTime: 0001-01-01,
									endDate: 0001-01-01,
									endTime: 0001-01-01
								},
								dateRangeDeliveryDateRangeAtUltimateConsignee: 
								{
									beginDate: 0001-01-01,
									beginTime: 0001-01-01,
									endDate: 0001-01-01,
									endTime: 0001-01-01
								},
								requestedDeliveryDateTime: 0001-01-01,
								requestedShipDateTime: String,
								requestedPickUpDateTime: 0001-01-01,
								requestedDeliveryDateTimeAtUltimateConsignee: 0001-01-01
							},
							inventoryLocation: 
							{
								contact: 
								[
									{
										contactTypeCode: String,
										personName: String,
										departmentName: String,
										jobTitle: String,
										responsibility: String,
										communicationChannel: 
										[
											{
												communicationChannelCode: String,
												communicationChannelName: String,
												communicationValue: String
											}
										]
									}
								],
								address: 
								{
									streetAddressOne: String,
									streetAddressTwo: String,
									streetAddressThree: String,
									city: String,
									postalCode: String,
									provinceCode: String,
									countryCode: String
								},
								communicationChannel: 
								[
									{
										code: String,
										value: String
									}
								],
								financialInstitutionInformation: 
								{
									financialInstitutionBranchName: String,
									financialInstitutionName: String,
									financialRoutingNumber: 
									{
										number: String,
										numberTypeCode: String
									},
									financialAccount: 
									{
										number: String,
										numberTypeCode: String,
										name: String
									},
									swiftCode: String,
									exportersCode: String
								},
								dutyFeeTaxRegistration: String,
								entityIdentification: String,
								gln: String,
								name: String,
								additionalPartyIdentification: 
								[
									{
										code: String,
										value: String
									}
								]
							},
							shipFrom: 
							{
								contact: 
								[
									{
										contactTypeCode: String,
										personName: String,
										departmentName: String,
										jobTitle: String,
										responsibility: String,
										communicationChannel: 
										[
											{
												communicationChannelCode: String,
												communicationChannelName: String,
												communicationValue: String
											}
										]
									}
								],
								address: 
								{
									streetAddressOne: String,
									streetAddressTwo: String,
									streetAddressThree: String,
									city: String,
									postalCode: String,
									provinceCode: String,
									countryCode: String
								},
								communicationChannel: 
								[
									{
										code: String,
										value: String
									}
								],
								financialInstitutionInformation: 
								{
									financialInstitutionBranchName: String,
									financialInstitutionName: String,
									financialRoutingNumber: 
									{
										number: String,
										numberTypeCode: String
									},
									financialAccount: 
									{
										number: String,
										numberTypeCode: String,
										name: String
									},
									swiftCode: String,
									exportersCode: String
								},
								dutyFeeTaxRegistration: String,
								entityIdentification: String,
								gln: String,
								name: String,
								additionalPartyIdentification: 
								[
									{
										code: String,
										value: String
									}
								]
							},
							shipTo: 
							{
								contact: 
								[
									{
										contactTypeCode: String,
										personName: String,
										departmentName: String,
										jobTitle: String,
										responsibility: String,
										communicationChannel: 
										[
											{
												communicationChannelCode: String,
												communicationChannelName: String,
												communicationValue: String
											}
										]
									}
								],
								address: 
								{
									streetAddressOne: String,
									streetAddressTwo: String,
									streetAddressThree: String,
									city: String,
									postalCode: String,
									provinceCode: String,
									countryCode: String
								},
								communicationChannel: 
								[
									{
										code: String,
										value: String
									}
								],
								financialInstitutionInformation: 
								{
									financialInstitutionBranchName: String,
									financialInstitutionName: String,
									financialRoutingNumber: 
									{
										number: String,
										numberTypeCode: String
									},
									financialAccount: 
									{
										number: String,
										numberTypeCode: String,
										name: String
									},
									swiftCode: String,
									exportersCode: String
								},
								dutyFeeTaxRegistration: String,
								entityIdentification: String,
								gln: String,
								name: String,
								additionalPartyIdentification: 
								[
									{
										code: String,
										value: String
									}
								]
							},
							ultimateConsignee: 
							{
								contact: 
								[
									{
										contactTypeCode: String,
										personName: String,
										departmentName: String,
										jobTitle: String,
										responsibility: String,
										communicationChannel: 
										[
											{
												communicationChannelCode: String,
												communicationChannelName: String,
												communicationValue: String
											}
										]
									}
								],
								address: 
								{
									streetAddressOne: String,
									streetAddressTwo: String,
									streetAddressThree: String,
									city: String,
									postalCode: String,
									provinceCode: String,
									countryCode: String
								},
								communicationChannel: 
								[
									{
										code: String,
										value: String
									}
								],
								financialInstitutionInformation: 
								{
									financialInstitutionBranchName: String,
									financialInstitutionName: String,
									financialRoutingNumber: 
									{
										number: String,
										numberTypeCode: String
									},
									financialAccount: 
									{
										number: String,
										numberTypeCode: String,
										name: String
									},
									swiftCode: String,
									exportersCode: String
								},
								dutyFeeTaxRegistration: String,
								entityIdentification: String,
								gln: String,
								name: String,
								additionalPartyIdentification: 
								[
									{
										code: String,
										value: String
									}
								]
							},
							shipmentTransportationInformation: 
							{
								carrier: 
								{
									contact: 
									[
										{
											contactTypeCode: String,
											personName: String,
											departmentName: String,
											jobTitle: String,
											responsibility: String,
											communicationChannel: 
											[
												{
													communicationChannelCode: String,
													communicationChannelName: String,
													communicationValue: String
												}
											]
										}
									],
									address: 
									{
										streetAddressOne: String,
										streetAddressTwo: String,
										streetAddressThree: String,
										city: String,
										postalCode: String,
										provinceCode: String,
										countryCode: String
									},
									communicationChannel: 
									[
										{
											code: String,
											value: String
										}
									],
									financialInstitutionInformation: 
									{
										financialInstitutionBranchName: String,
										financialInstitutionName: String,
										financialRoutingNumber: 
										{
											number: String,
											numberTypeCode: String
										},
										financialAccount: 
										{
											number: String,
											numberTypeCode: String,
											name: String
										},
										swiftCode: String,
										exportersCode: String
									},
									dutyFeeTaxRegistration: String,
									entityIdentification: String,
									gln: String,
									name: String,
									additionalPartyIdentification: 
									[
										{
											code: String,
											value: String
										}
									]
								},
								freightForwarder: 
								{
									contact: 
									[
										{
											contactTypeCode: String,
											personName: String,
											departmentName: String,
											jobTitle: String,
											responsibility: String,
											communicationChannel: 
											[
												{
													communicationChannelCode: String,
													communicationChannelName: String,
													communicationValue: String
												}
											]
										}
									],
									address: 
									{
										streetAddressOne: String,
										streetAddressTwo: String,
										streetAddressThree: String,
										city: String,
										postalCode: String,
										provinceCode: String,
										countryCode: String
									},
									communicationChannel: 
									[
										{
											code: String,
											value: String
										}
									],
									financialInstitutionInformation: 
									{
										financialInstitutionBranchName: String,
										financialInstitutionName: String,
										financialRoutingNumber: 
										{
											number: String,
											numberTypeCode: String
										},
										financialAccount: 
										{
											number: String,
											numberTypeCode: String,
											name: String
										},
										swiftCode: String,
										exportersCode: String
									},
									dutyFeeTaxRegistration: String,
									entityIdentification: String,
									gln: String,
									name: String,
									additionalPartyIdentification: 
									[
										{
											code: String,
											value: String
										}
									]
								}
							}
						},
						avpList: 
						{
							code: String,
							value: String
						},
						purchaseConditions: 
						{
							creationDateTime: 0001-01-01,
							revisionNumber: 0,
							lineItemNumber: 0,
							entityIdentification: String
						}
					}
				],
				allowanceCharge: 
				[
					{
						allowanceChargeAmount: 0,
						allowanceChargePercentage: 0,
						allowanceChargeType: String,
						allowanceOrChargeType: String,
						amountPerUnit: 0,
						baseAmount: 0,
						baseNumberOfUnits: String,
						bracketIdentifier: String,
						effectiveDateType: 0001-01-01,
						sequenceNumber: String,
						settlementType: String,
						specialServiceType: String,
						allowanceChargeDescription: String
					}
				],
				transactionalTradeItem: 
				{
					gtin: String,
					additionalTradeItemIdentification: 
					[
						{
							code: String,
							value: String
						}
					],
					tradeItemQuantity: 0,
					tradeItemDescription: String,
					productVariantIdentifier: String,
					itemTypeCode: String,
					tradeItemDataOwner: String,
					butterFatReference: String,
					transactionalItemData: 
					[
						{
							availableForSaleDate: 0001-01-01,
							batchNumber: String,
							bestBeforeDate: 0001-01-01,
							countryOfOrigin: String,
							itemExpirationDate: 0001-01-01,
							lotNumber: String,
							packagingDate: 0001-01-01,
							productionDate: 0001-01-01,
							productQualityIndication: String,
							sellByDate: 0001-01-01,
							serialNumber: 
							[
								String
							],
							shelfLife: String,
							tradeItemQuantity: 0,
							itemInContactWithFoodProduct: False,
							transactionalItemWeight: 
							[
								{
									measurementUnitCode: String,
									measurementType: String,
									measurementValue: String
								}
							],
							transactionalItemVolume: 
							[
								{
									measurementUnitCode: String,
									measurementType: String,
									measurementValue: String
								}
							],
							serialNumberRange: 
							[
								{
									maximumValue: String,
									minimumValue: String
								}
							],
							transactionalItemDimensions: 
							[
								{
									measurementUnitCode: String,
									depth: String,
									height: String,
									width: String
								}
							],
							transactionalItemLogisticUnitInformation: 
							{
								numberOfLayers: 0,
								numberOfUnitsPerLayer: 0,
								numberOfUnitsPerPallet: 0,
								packagingTerms: String,
								packageTypeCode: String,
								maximumStackingFactor: 0,
								returnablePackageTransportCostPayment: String,
								dimensionsOfLogisticUnit: 
								[
									{
										measurementUnitCode: String,
										depth: String,
										height: String,
										width: String
									}
								]
							},
							transactionalItemDataCarrierAndIdentification: 
							{
								gs1TransactionalItemIdentificationKey: String,
								dataCarrier: String
							},
							tradeItemWaste: 
							[
								{
									wasteIdentification: String,
									typeOfWaste: 
									[
										{
											code: String,
											value: String
										}
									]
								}
							],
							transactionalItemOrganicInformation: 
							{
								isTradeItemOrganic: False,
								organicCertification: String
							},
							avpList: 
							[
								{
									code: String,
									value: String
								}
							]
						}
					],
					colour: 
					[
						{
							colourCode: String,
							colourDescription: String
						}
					],
					size: 
					{
						descriptiveSize: String,
						sizeCode: String
					},
					tradeItemClassification: 
					{
						gpcCategoryCode: String,
						additionalTradeItemClassificationCode: 
						[
							{
								code: String,
								value: String
							}
						],
						gpcCategoryName: String,
						gpcAttribute: 
						[
							{
								code: String,
								value: String
							}
						]
					},
					avpList: 
					[
						{
							code: String,
							value: String
						}
					]
				},
				leviedDutyFeeTax: 
				{
					dutyFeeTaxAmount: 0,
					dutyFeeTaxBasisAmount: 0,
					dutyFeeTaxDescription: String,
					dutyFeeTaxPercentage: 0
				},
				avpList: 
				[
					{
						code: String,
						value: String
					}
				],
				backOrderInformation: 
				{
					confirmedQuantity: 
					{
						value: 0,
						measurementUnitCode: String,
						codeListVersion: String
					},
					orderLogisticalInformation: 
					{
						commodityTypeCode: 
						{
							value: String,
							codeDescription: String,
							codeListAgencyCodeListVersion: String,
							codeListAgencyName: String,
							codeListName: String,
							codeListUri: String
						},
						orderLogisticalDateInformation: 
						{
							dateRangeDeliveryDateRange: 
							{
								beginDate: 0001-01-01,
								beginTime: 0001-01-01,
								endDate: 0001-01-01,
								endTime: 0001-01-01
							},
							dateRangeShipDateRange: 
							{
								beginDate: 0001-01-01,
								beginTime: 0001-01-01,
								endDate: 0001-01-01,
								endTime: 0001-01-01
							},
							dateRangeDeliveryDateRangeAtUltimateConsignee: 
							{
								beginDate: 0001-01-01,
								beginTime: 0001-01-01,
								endDate: 0001-01-01,
								endTime: 0001-01-01
							},
							requestedDeliveryDateTime: 0001-01-01,
							requestedShipDateTime: String,
							requestedPickUpDateTime: 0001-01-01,
							requestedDeliveryDateTimeAtUltimateConsignee: 0001-01-01
						},
						inventoryLocation: 
						{
							contact: 
							[
								{
									contactTypeCode: String,
									personName: String,
									departmentName: String,
									jobTitle: String,
									responsibility: String,
									communicationChannel: 
									[
										{
											communicationChannelCode: String,
											communicationChannelName: String,
											communicationValue: String
										}
									]
								}
							],
							address: 
							{
								streetAddressOne: String,
								streetAddressTwo: String,
								streetAddressThree: String,
								city: String,
								postalCode: String,
								provinceCode: String,
								countryCode: String
							},
							communicationChannel: 
							[
								{
									code: String,
									value: String
								}
							],
							financialInstitutionInformation: 
							{
								financialInstitutionBranchName: String,
								financialInstitutionName: String,
								financialRoutingNumber: 
								{
									number: String,
									numberTypeCode: String
								},
								financialAccount: 
								{
									number: String,
									numberTypeCode: String,
									name: String
								},
								swiftCode: String,
								exportersCode: String
							},
							dutyFeeTaxRegistration: String,
							entityIdentification: String,
							gln: String,
							name: String,
							additionalPartyIdentification: 
							[
								{
									code: String,
									value: String
								}
							]
						},
						shipFrom: 
						{
							contact: 
							[
								{
									contactTypeCode: String,
									personName: String,
									departmentName: String,
									jobTitle: String,
									responsibility: String,
									communicationChannel: 
									[
										{
											communicationChannelCode: String,
											communicationChannelName: String,
											communicationValue: String
										}
									]
								}
							],
							address: 
							{
								streetAddressOne: String,
								streetAddressTwo: String,
								streetAddressThree: String,
								city: String,
								postalCode: String,
								provinceCode: String,
								countryCode: String
							},
							communicationChannel: 
							[
								{
									code: String,
									value: String
								}
							],
							financialInstitutionInformation: 
							{
								financialInstitutionBranchName: String,
								financialInstitutionName: String,
								financialRoutingNumber: 
								{
									number: String,
									numberTypeCode: String
								},
								financialAccount: 
								{
									number: String,
									numberTypeCode: String,
									name: String
								},
								swiftCode: String,
								exportersCode: String
							},
							dutyFeeTaxRegistration: String,
							entityIdentification: String,
							gln: String,
							name: String,
							additionalPartyIdentification: 
							[
								{
									code: String,
									value: String
								}
							]
						},
						shipTo: 
						{
							contact: 
							[
								{
									contactTypeCode: String,
									personName: String,
									departmentName: String,
									jobTitle: String,
									responsibility: String,
									communicationChannel: 
									[
										{
											communicationChannelCode: String,
											communicationChannelName: String,
											communicationValue: String
										}
									]
								}
							],
							address: 
							{
								streetAddressOne: String,
								streetAddressTwo: String,
								streetAddressThree: String,
								city: String,
								postalCode: String,
								provinceCode: String,
								countryCode: String
							},
							communicationChannel: 
							[
								{
									code: String,
									value: String
								}
							],
							financialInstitutionInformation: 
							{
								financialInstitutionBranchName: String,
								financialInstitutionName: String,
								financialRoutingNumber: 
								{
									number: String,
									numberTypeCode: String
								},
								financialAccount: 
								{
									number: String,
									numberTypeCode: String,
									name: String
								},
								swiftCode: String,
								exportersCode: String
							},
							dutyFeeTaxRegistration: String,
							entityIdentification: String,
							gln: String,
							name: String,
							additionalPartyIdentification: 
							[
								{
									code: String,
									value: String
								}
							]
						},
						ultimateConsignee: 
						{
							contact: 
							[
								{
									contactTypeCode: String,
									personName: String,
									departmentName: String,
									jobTitle: String,
									responsibility: String,
									communicationChannel: 
									[
										{
											communicationChannelCode: String,
											communicationChannelName: String,
											communicationValue: String
										}
									]
								}
							],
							address: 
							{
								streetAddressOne: String,
								streetAddressTwo: String,
								streetAddressThree: String,
								city: String,
								postalCode: String,
								provinceCode: String,
								countryCode: String
							},
							communicationChannel: 
							[
								{
									code: String,
									value: String
								}
							],
							financialInstitutionInformation: 
							{
								financialInstitutionBranchName: String,
								financialInstitutionName: String,
								financialRoutingNumber: 
								{
									number: String,
									numberTypeCode: String
								},
								financialAccount: 
								{
									number: String,
									numberTypeCode: String,
									name: String
								},
								swiftCode: String,
								exportersCode: String
							},
							dutyFeeTaxRegistration: String,
							entityIdentification: String,
							gln: String,
							name: String,
							additionalPartyIdentification: 
							[
								{
									code: String,
									value: String
								}
							]
						},
						shipmentTransportationInformation: 
						{
							carrier: 
							{
								contact: 
								[
									{
										contactTypeCode: String,
										personName: String,
										departmentName: String,
										jobTitle: String,
										responsibility: String,
										communicationChannel: 
										[
											{
												communicationChannelCode: String,
												communicationChannelName: String,
												communicationValue: String
											}
										]
									}
								],
								address: 
								{
									streetAddressOne: String,
									streetAddressTwo: String,
									streetAddressThree: String,
									city: String,
									postalCode: String,
									provinceCode: String,
									countryCode: String
								},
								communicationChannel: 
								[
									{
										code: String,
										value: String
									}
								],
								financialInstitutionInformation: 
								{
									financialInstitutionBranchName: String,
									financialInstitutionName: String,
									financialRoutingNumber: 
									{
										number: String,
										numberTypeCode: String
									},
									financialAccount: 
									{
										number: String,
										numberTypeCode: String,
										name: String
									},
									swiftCode: String,
									exportersCode: String
								},
								dutyFeeTaxRegistration: String,
								entityIdentification: String,
								gln: String,
								name: String,
								additionalPartyIdentification: 
								[
									{
										code: String,
										value: String
									}
								]
							},
							freightForwarder: 
							{
								contact: 
								[
									{
										contactTypeCode: String,
										personName: String,
										departmentName: String,
										jobTitle: String,
										responsibility: String,
										communicationChannel: 
										[
											{
												communicationChannelCode: String,
												communicationChannelName: String,
												communicationValue: String
											}
										]
									}
								],
								address: 
								{
									streetAddressOne: String,
									streetAddressTwo: String,
									streetAddressThree: String,
									city: String,
									postalCode: String,
									provinceCode: String,
									countryCode: String
								},
								communicationChannel: 
								[
									{
										code: String,
										value: String
									}
								],
								financialInstitutionInformation: 
								{
									financialInstitutionBranchName: String,
									financialInstitutionName: String,
									financialRoutingNumber: 
									{
										number: String,
										numberTypeCode: String
									},
									financialAccount: 
									{
										number: String,
										numberTypeCode: String,
										name: String
									},
									swiftCode: String,
									exportersCode: String
								},
								dutyFeeTaxRegistration: String,
								entityIdentification: String,
								gln: String,
								name: String,
								additionalPartyIdentification: 
								[
									{
										code: String,
										value: String
									}
								]
							}
						}
					},
					avpList: 
					{
						code: String,
						value: String
					},
					purchaseConditions: 
					{
						creationDateTime: 0001-01-01,
						revisionNumber: 0,
						lineItemNumber: 0,
						entityIdentification: String
					}
				},
				substituteItemInformation: 
				{
					gtin: String,
					additionalTradeItemIdentification: 
					[
						{
							code: String,
							value: String
						}
					],
					tradeItemQuantity: 0,
					tradeItemDescription: String,
					productVariantIdentifier: String,
					itemTypeCode: String,
					tradeItemDataOwner: String,
					butterFatReference: String,
					transactionalItemData: 
					[
						{
							availableForSaleDate: 0001-01-01,
							batchNumber: String,
							bestBeforeDate: 0001-01-01,
							countryOfOrigin: String,
							itemExpirationDate: 0001-01-01,
							lotNumber: String,
							packagingDate: 0001-01-01,
							productionDate: 0001-01-01,
							productQualityIndication: String,
							sellByDate: 0001-01-01,
							serialNumber: 
							[
								String
							],
							shelfLife: String,
							tradeItemQuantity: 0,
							itemInContactWithFoodProduct: False,
							transactionalItemWeight: 
							[
								{
									measurementUnitCode: String,
									measurementType: String,
									measurementValue: String
								}
							],
							transactionalItemVolume: 
							[
								{
									measurementUnitCode: String,
									measurementType: String,
									measurementValue: String
								}
							],
							serialNumberRange: 
							[
								{
									maximumValue: String,
									minimumValue: String
								}
							],
							transactionalItemDimensions: 
							[
								{
									measurementUnitCode: String,
									depth: String,
									height: String,
									width: String
								}
							],
							transactionalItemLogisticUnitInformation: 
							{
								numberOfLayers: 0,
								numberOfUnitsPerLayer: 0,
								numberOfUnitsPerPallet: 0,
								packagingTerms: String,
								packageTypeCode: String,
								maximumStackingFactor: 0,
								returnablePackageTransportCostPayment: String,
								dimensionsOfLogisticUnit: 
								[
									{
										measurementUnitCode: String,
										depth: String,
										height: String,
										width: String
									}
								]
							},
							transactionalItemDataCarrierAndIdentification: 
							{
								gs1TransactionalItemIdentificationKey: String,
								dataCarrier: String
							},
							tradeItemWaste: 
							[
								{
									wasteIdentification: String,
									typeOfWaste: 
									[
										{
											code: String,
											value: String
										}
									]
								}
							],
							transactionalItemOrganicInformation: 
							{
								isTradeItemOrganic: False,
								organicCertification: String
							},
							avpList: 
							[
								{
									code: String,
									value: String
								}
							]
						}
					],
					colour: 
					[
						{
							colourCode: String,
							colourDescription: String
						}
					],
					size: 
					{
						descriptiveSize: String,
						sizeCode: String
					},
					tradeItemClassification: 
					{
						gpcCategoryCode: String,
						additionalTradeItemClassificationCode: 
						[
							{
								code: String,
								value: String
							}
						],
						gpcCategoryName: String,
						gpcAttribute: 
						[
							{
								code: String,
								value: String
							}
						]
					},
					avpList: 
					[
						{
							code: String,
							value: String
						}
					]
				},
				shipmentTransportationInformation: 
				{
					carrier: 
					{
						contact: 
						[
							{
								contactTypeCode: String,
								personName: String,
								departmentName: String,
								jobTitle: String,
								responsibility: String,
								communicationChannel: 
								[
									{
										communicationChannelCode: String,
										communicationChannelName: String,
										communicationValue: String
									}
								]
							}
						],
						address: 
						{
							streetAddressOne: String,
							streetAddressTwo: String,
							streetAddressThree: String,
							city: String,
							postalCode: String,
							provinceCode: String,
							countryCode: String
						},
						communicationChannel: 
						[
							{
								code: String,
								value: String
							}
						],
						financialInstitutionInformation: 
						{
							financialInstitutionBranchName: String,
							financialInstitutionName: String,
							financialRoutingNumber: 
							{
								number: String,
								numberTypeCode: String
							},
							financialAccount: 
							{
								number: String,
								numberTypeCode: String,
								name: String
							},
							swiftCode: String,
							exportersCode: String
						},
						dutyFeeTaxRegistration: String,
						entityIdentification: String,
						gln: String,
						name: String,
						additionalPartyIdentification: 
						[
							{
								code: String,
								value: String
							}
						]
					},
					freightForwarder: 
					{
						contact: 
						[
							{
								contactTypeCode: String,
								personName: String,
								departmentName: String,
								jobTitle: String,
								responsibility: String,
								communicationChannel: 
								[
									{
										communicationChannelCode: String,
										communicationChannelName: String,
										communicationValue: String
									}
								]
							}
						],
						address: 
						{
							streetAddressOne: String,
							streetAddressTwo: String,
							streetAddressThree: String,
							city: String,
							postalCode: String,
							provinceCode: String,
							countryCode: String
						},
						communicationChannel: 
						[
							{
								code: String,
								value: String
							}
						],
						financialInstitutionInformation: 
						{
							financialInstitutionBranchName: String,
							financialInstitutionName: String,
							financialRoutingNumber: 
							{
								number: String,
								numberTypeCode: String
							},
							financialAccount: 
							{
								number: String,
								numberTypeCode: String,
								name: String
							},
							swiftCode: String,
							exportersCode: String
						},
						dutyFeeTaxRegistration: String,
						entityIdentification: String,
						gln: String,
						name: String,
						additionalPartyIdentification: 
						[
							{
								code: String,
								value: String
							}
						]
					}
				}
			}
		],
		currencyCode: String,
		documentActionCode: ADD,
		documentStatusCode: ADDITIONAL_TRANSMISSION,
		documentStructureVersion: String,
		lastUpdateDateTime: 0001-01-01,
		revisionNumber: 0,
		avpList: 
		[
			{
				code: String,
				value: String
			}
		]
	}
}