| GET | /api/purchaseCondition/{OwnerGln}/{Identification} | Get specific Purchase Condition by Purchase Condition Identification number |
|---|
"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 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 TimeMeasurement {
/** @param {{timeMeasurementUnitCode?:string,value?:number}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
timeMeasurementUnitCode;
/** @type {?number} */
value;
}
export class PurchaseConditionsCommitmentPeriod {
/** @param {{commitmentPeriodDuration?:TimeMeasurement,purchaseConditionsCommitmentTypeCode?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {TimeMeasurement} */
commitmentPeriodDuration;
/** @type {string} */
purchaseConditionsCommitmentTypeCode;
}
export class QuantityRange {
/** @param {{maximumQuantity?:Quantity,minimumQuantity?:Quantity}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Quantity} */
maximumQuantity;
/** @type {Quantity} */
minimumQuantity;
}
export class DateTimeRange {
/** @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 PurchaseConditionsPriceInformation {
/** @param {{itemPriceBaseQuantity?:Quantity,itemPriceExclusiveAllowancesCharges?:number,quantityRange?:QuantityRange,effectivePeriod?:DateTimeRange}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Quantity} */
itemPriceBaseQuantity;
/** @type {?number} */
itemPriceExclusiveAllowancesCharges;
/** @type {QuantityRange} */
quantityRange;
/** @type {DateTimeRange} */
effectivePeriod;
}
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 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 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 PurchaseConditionsLineItem {
/** @param {{discrepancyTolerancePercentage?:number,lineItemNumber?:number,packagingTypeCode?:string,parentLineItemNumber?:number,purchaseConditionsQuantity?:Quantity,purchaseConditionsCommitmentPeriod?:PurchaseConditionsCommitmentPeriod[],purchaseConditionsPriceInformation?:PurchaseConditionsPriceInformation[],allowanceCharge?:AllowanceCharge[],transactionalTradeItem?:TransactionalTradeItem,leviedDutyFeeTax?:LeviedDutyFeeTax,avpList?:AvpList[],effectivePeriod?:DateTimeRange,materialSpecification?:DocumentReference,purchaseConditionsQuantityRange?:QuantityRange}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {?number} */
discrepancyTolerancePercentage;
/** @type {?number} */
lineItemNumber;
/** @type {string} */
packagingTypeCode;
/** @type {?number} */
parentLineItemNumber;
/** @type {Quantity} */
purchaseConditionsQuantity;
/** @type {PurchaseConditionsCommitmentPeriod[]} */
purchaseConditionsCommitmentPeriod = [];
/** @type {PurchaseConditionsPriceInformation[]} */
purchaseConditionsPriceInformation = [];
/** @type {AllowanceCharge[]} */
allowanceCharge = [];
/** @type {TransactionalTradeItem} */
transactionalTradeItem;
/** @type {LeviedDutyFeeTax} */
leviedDutyFeeTax;
/** @type {AvpList[]} */
avpList = [];
/** @type {DateTimeRange} */
effectivePeriod;
/** @type {DocumentReference} */
materialSpecification;
/** @type {QuantityRange} */
purchaseConditionsQuantityRange;
}
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 PurchaseConditionsLocationInformation {
/** @param {{purchaseConditionsLineItem?:PurchaseConditionsLineItem[],shipFrom?:TransactionalParty,shipTo?:TransactionalParty}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {PurchaseConditionsLineItem[]} */
purchaseConditionsLineItem = [];
/** @type {TransactionalParty} */
shipFrom;
/** @type {TransactionalParty} */
shipTo;
}
export class CurrencyExchangeRateInformation {
/** @param {{currencyConversionFromCode?:string,currencyConversionToCode?:string,exchangeRate?:number,exchangeRateDateTime?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
currencyConversionFromCode;
/** @type {string} */
currencyConversionToCode;
/** @type {?number} */
exchangeRate;
/** @type {?string} */
exchangeRateDateTime;
}
export class PurchaseConditions extends BaseDocument {
/** @param {{purchaseConditionsCurrencyCode?:string,purchaseConditionsLocationInformation?:PurchaseConditionsLocationInformation[],currencyExchangeRateInformation?:CurrencyExchangeRateInformation,buyer?:TransactionalParty,payee?:TransactionalParty,payer?:TransactionalParty,purchaseConditionsIdentification?:string,remitTo?:TransactionalParty,seller?:TransactionalParty,taxRepresentative?:TransactionalParty,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} */
purchaseConditionsCurrencyCode;
/** @type {PurchaseConditionsLocationInformation[]} */
purchaseConditionsLocationInformation = [];
/** @type {CurrencyExchangeRateInformation} */
currencyExchangeRateInformation;
/** @type {TransactionalParty} */
buyer;
/** @type {TransactionalParty} */
payee;
/** @type {TransactionalParty} */
payer;
/** @type {string} */
purchaseConditionsIdentification;
/** @type {TransactionalParty} */
remitTo;
/** @type {TransactionalParty} */
seller;
/** @type {TransactionalParty} */
taxRepresentative;
}
export class PurchaseConditionsMessage {
/** @param {{header?:Header,purchaseConditions?:PurchaseConditions}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Header} */
header;
/** @type {PurchaseConditions} */
purchaseConditions;
}
export class GetPurchaseConditionByIdentification {
/** @param {{ownerGln?:string,identification?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description Purchase Condition Owner GLN */
ownerGln;
/**
* @type {string}
* @description Purchase Condition Identifier */
identification;
}
JavaScript GetPurchaseConditionByIdentification DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/purchaseCondition/{OwnerGln}/{Identification} 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:
[
{
}
]
}
},
purchaseConditions:
{
purchaseConditionsCurrencyCode: String,
purchaseConditionsLocationInformation:
[
{
purchaseConditionsLineItem:
[
{
discrepancyTolerancePercentage: 0,
lineItemNumber: 0,
packagingTypeCode: String,
parentLineItemNumber: 0,
purchaseConditionsQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
purchaseConditionsCommitmentPeriod:
[
{
commitmentPeriodDuration:
{
timeMeasurementUnitCode: String,
value: 0
},
purchaseConditionsCommitmentTypeCode: String
}
],
purchaseConditionsPriceInformation:
[
{
itemPriceBaseQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
itemPriceExclusiveAllowancesCharges: 0,
quantityRange:
{
maximumQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
minimumQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
}
},
effectivePeriod:
{
beginDate: 0001-01-01,
beginTime: PT0S,
endDate: 0001-01-01,
endTime: PT0S
}
}
],
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
}
],
effectivePeriod:
{
beginDate: 0001-01-01,
beginTime: PT0S,
endDate: 0001-01-01,
endTime: PT0S
},
materialSpecification:
{
creationDateTime: 0001-01-01,
revisionNumber: 0,
lineItemNumber: 0,
entityIdentification: String
},
purchaseConditionsQuantityRange:
{
maximumQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: String
},
minimumQuantity:
{
value: 0,
measurementUnitCode: String,
codeListVersion: 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
}
]
}
}
],
currencyExchangeRateInformation:
{
currencyConversionFromCode: String,
currencyConversionToCode: String,
exchangeRate: 0,
exchangeRateDateTime: 0001-01-01
},
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
}
]
},
payee:
{
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
}
]
},
payer:
{
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
}
]
},
purchaseConditionsIdentification: String,
remitTo:
{
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
}
]
},
taxRepresentative:
{
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
}
]
}
}