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
GetOrderResponseById Parameters:
NameParameterData TypeRequiredDescription
IdpathGuidNoOrderResponse ID or Token
OrderResponseMessage Parameters:
NameParameterData TypeRequiredDescription
HeaderformHeaderYes
OrderResponseformOrderResponseYes
Header Parameters:
NameParameterData TypeRequiredDescription
DocumentIdentificationformDocumentIdentificationYes
SenderformPartnerYes
ReceiverformPartnerYes
DocumentIdentification Parameters:
NameParameterData TypeRequiredDescription
IdentifierformstringYes
TypeformstringYes
CreationDateAndTimeformDateTimeNo
Partner Parameters:
NameParameterData TypeRequiredDescription
IdentifierformIdentifierYes
ContactInformationformList<ContactInformation>Yes
Identifier Parameters:
NameParameterData TypeRequiredDescription
AuthorityformstringYes
TextformstringYes
OrderResponse Parameters:
NameParameterData TypeRequiredDescription
NoteformstringYes
OrderResponseReasonCodeformList<string>Yes
ResponseStatusCodeformstringYes
TotalMonetaryAmountExcludingTaxesformdecimal?No
TotalMonetaryAmountIncludingTaxesformdecimal?No
TotalTaxAmountformdecimal?No
AllowanceChargeformList<AllowanceCharge>Yes
DeliveryTermsformDeliveryTermsYes
AmendedDateTimeValueformOrderLogisticalDateInformationYes
OrderResponseIdentificationformstringYes
OriginalOrderformDocumentReferenceYes
SalesOrderformDocumentReferenceYes
BillToformTransactionalPartyYes
BuyerformTransactionalPartyYes
SellerformTransactionalPartyYes
ShipToformTransactionalPartyYes
OrderResponseLineItemformList<OrderResponseLineItem>Yes
BaseDocument Parameters:
NameParameterData TypeRequiredDescription
CurrencyCodeformstringYes
CreationDateTimeformDateTimeNo
DocumentActionCodeformDocumentActionNo
DocumentStatusCodeformDocumentStatusNo
DocumentStructureVersionformstringYes
LastUpdateDateTimeformDateTime?No
RevisionNumberformlong?No
AvpListformList<AvpList>Yes
DocumentAction Enum:
ADD
CHANGE_BY_REFRESH
DELETE
REJECTED
DocumentStatus Enum:
ADDITIONAL_TRANSMISSION
COPY
ORIGINAL
AvpList Parameters:
NameParameterData TypeRequiredDescription
CodeformstringYes
ValueformstringYes
AllowanceCharge Parameters:
NameParameterData TypeRequiredDescription
AllowanceChargeAmountformdecimal?No
AllowanceChargePercentageformdecimal?No
AllowanceChargeTypeformstringYes
AllowanceOrChargeTypeformstringYes
AmountPerUnitformdecimal?No
BaseAmountformdecimal?No
BaseNumberOfUnitsformstringYes
BracketIdentifierformstringYes
EffectiveDateTypeformDateTime?No
SequenceNumberformstringYes
SettlementTypeformstringYes
SpecialServiceTypeformstringYes
AllowanceChargeDescriptionformstringYes
DeliveryTerms Parameters:
NameParameterData TypeRequiredDescription
IncotermsCodeformstringYes
AlternateDeliveryTermsCodeformstringYes
DeliveryInstructionsformstringYes
DeliveryCostPaymentformstringYes
IsSignatureRequiredformstringYes
DeliveryTermsLocationformDeliveryTermsLocationYes
DeliveryTermsLocation Parameters:
NameParameterData TypeRequiredDescription
UnLocationCodeformstringYes
GlnformstringYes
AdditionalLocationIdentificationformList<AvpList>Yes
SublocationIdentificationformstringYes
LocationNameformstringYes
LocationSpecificInstructionsformstringYes
OrderLogisticalDateInformation Parameters:
NameParameterData TypeRequiredDescription
DateRangeDeliveryDateRangeformDateRangeYes
DateRangeShipDateRangeformDateRangeYes
DateRangeDeliveryDateRangeAtUltimateConsigneeformDateRangeYes
RequestedDeliveryDateTimeformDateTime?No
RequestedShipDateTimeformstringYes
RequestedPickUpDateTimeformDateTime?No
RequestedDeliveryDateTimeAtUltimateConsigneeformDateTime?No
DateRange Parameters:
NameParameterData TypeRequiredDescription
BeginDateformDateTime?No
BeginTimeformDateTime?No
EndDateformDateTime?No
EndTimeformDateTime?No
DocumentReference Parameters:
NameParameterData TypeRequiredDescription
CreationDateTimeformDateTime?No
RevisionNumberformlong?No
LineItemNumberformlong?No
EntityIdentificationformstringYes
TransactionalParty Parameters:
NameParameterData TypeRequiredDescription
ContactformList<Contact>Yes
AddressformAddressYes
CommunicationChannelformList<AvpList>Yes
FinancialInstitutionInformationformFinancialInstitutionInformationYes
DutyFeeTaxRegistrationformstringYes
EntityIdentificationformstringYes
Ecom_PartyIdentificationType Parameters:
NameParameterData TypeRequiredDescription
GlnformstringYes
NameformstringYes
AdditionalPartyIdentificationformList<AvpList>Yes
Contact Parameters:
NameParameterData TypeRequiredDescription
ContactTypeCodeformstringYes
PersonNameformstringYes
DepartmentNameformstringYes
JobTitleformstringYes
ResponsibilityformstringYes
CommunicationChannelformList<CommunicationChannel>Yes
CommunicationChannel Parameters:
NameParameterData TypeRequiredDescription
CommunicationChannelCodeformstringYes
CommunicationChannelNameformstringYes
CommunicationValueformstringYes
Address Parameters:
NameParameterData TypeRequiredDescription
StreetAddressOneformstringYes
StreetAddressTwoformstringYes
StreetAddressThreeformstringYes
CityformstringYes
PostalCodeformstringYes
ProvinceCodeformstringYes
CountryCodeformstringYes
FinancialInstitutionInformation Parameters:
NameParameterData TypeRequiredDescription
FinancialInstitutionBranchNameformstringYes
FinancialInstitutionNameformstringYes
FinancialRoutingNumberformFinancialRoutingNumberYes
FinancialAccountformFinancialAccountYes
SwiftCodeformstringYes
ExportersCodeformstringYes
FinancialRoutingNumber Parameters:
NameParameterData TypeRequiredDescription
NumberformstringYes
NumberTypeCodeformstringYes
FinancialAccount Parameters:
NameParameterData TypeRequiredDescription
NumberformstringYes
NumberTypeCodeformstringYes
NameformstringYes
OrderResponseLineItem Parameters:
NameParameterData TypeRequiredDescription
AdditionalOrderLineInstructionformList<string>Yes
ConfirmedQuantityformQuantityYes
DeliveryDateTimeformDateTime?No
LineItemActionCodeformstringYes
LineItemChangeIndicatorformstringYes
LineItemNumberformlong?No
MonetaryAmountExcludingTaxesformdecimal?No
MonetaryAmountIncludingTaxesformdecimal?No
NetAmountformdecimal?No
NetPriceformdecimal?No
NoteformstringYes
OrderResponseReasonCodeformstringYes
ResponseStatusCodeformstringYes
OriginalOrderLineItemNumberformlong?No
ParentLineItemNumberformlong?No
OrderResponseLineItemDetailformList<OrderResponseLineItemDetail>Yes
AllowanceChargeformList<AllowanceCharge>Yes
TransactionalTradeItemformTransactionalTradeItemYes
LeviedDutyFeeTaxformLeviedDutyFeeTaxYes
AvpListformList<AvpList>Yes
BackOrderInformationformOrderResponseLineItemDetailYes
SubstituteItemInformationformTransactionalTradeItemYes
ShipmentTransportationInformationformShipmentTransportationInformationYes
Quantity Parameters:
NameParameterData TypeRequiredDescription
Valueformdecimal?No
MeasurementUnitCodeformstringYes
CodeListVersionformstringYes
OrderResponseLineItemDetail Parameters:
NameParameterData TypeRequiredDescription
ConfirmedQuantityformQuantityYes
OrderLogisticalInformationformOrderLogisticalInformationYes
AvpListformAvpListYes
PurchaseConditionsformDocumentReferenceYes
OrderLogisticalInformation Parameters:
NameParameterData TypeRequiredDescription
CommodityTypeCodeformCodeYes
OrderLogisticalDateInformationformOrderLogisticalDateInformationYes
InventoryLocationformTransactionalPartyYes
ShipFromformTransactionalPartyYes
ShipToformTransactionalPartyYes
UltimateConsigneeformTransactionalPartyYes
ShipmentTransportationInformationformShipmentTransportationInformationYes
Code Parameters:
NameParameterData TypeRequiredDescription
ValueformstringYes
CodeDescriptionformstringYes
CodeListAgencyCodeListVersionformstringYes
CodeListAgencyNameformstringYes
CodeListNameformstringYes
CodeListUriformstringYes
ShipmentTransportationInformation Parameters:
NameParameterData TypeRequiredDescription
CarrierformTransactionalPartyYes
FreightForwarderformTransactionalPartyYes
TransactionalTradeItem Parameters:
NameParameterData TypeRequiredDescription
GtinformstringYes
AdditionalTradeItemIdentificationformList<AvpList>Yes
TradeItemQuantityformdecimal?No
TradeItemDescriptionformstringYes
ProductVariantIdentifierformstringYes
ItemTypeCodeformstringYes
TradeItemDataOwnerformstringYes
ButterFatReferenceformstringYes
TransactionalItemDataformList<TransactionalItemData>Yes
ColourformList<Colour>Yes
SizeformSizeYes
TradeItemClassificationformTradeItemClassificationYes
AvpListformList<AvpList>Yes
TransactionalItemData Parameters:
NameParameterData TypeRequiredDescription
AvailableForSaleDateformDateTime?No
BatchNumberformstringYes
BestBeforeDateformDateTime?No
CountryOfOriginformstringYes
ItemExpirationDateformDateTime?No
LotNumberformstringYes
PackagingDateformDateTime?No
ProductionDateformDateTime?No
ProductQualityIndicationformstringYes
SellByDateformDateTime?No
SerialNumberformList<string>Yes
ShelfLifeformstringYes
TradeItemQuantityformlong?No
ItemInContactWithFoodProductformbool?No
TransactionalItemWeightformList<TransactionalItem>Yes
TransactionalItemVolumeformList<TransactionalItem>Yes
SerialNumberRangeformList<SerialNumberRange>Yes
TransactionalItemDimensionsformList<TransactionalItemDimension>Yes
TransactionalItemLogisticUnitInformationformTransactionalItemLogisticUnitInformationYes
TransactionalItemDataCarrierAndIdentificationformTransactionalItemDataCarrierAndIdentificationYes
TradeItemWasteformList<TradeItemWaste>Yes
TransactionalItemOrganicInformationformTransactionalItemOrganicInformationYes
AvpListformList<AvpList>Yes
TransactionalItem Parameters:
NameParameterData TypeRequiredDescription
MeasurementUnitCodeformstringYes
MeasurementTypeformstringYes
MeasurementValueformstringYes
SerialNumberRange Parameters:
NameParameterData TypeRequiredDescription
MaximumValueformstringYes
MinimumValueformstringYes
TransactionalItemDimension Parameters:
NameParameterData TypeRequiredDescription
MeasurementUnitCodeformstringYes
DepthformstringYes
HeightformstringYes
WidthformstringYes
TransactionalItemLogisticUnitInformation Parameters:
NameParameterData TypeRequiredDescription
NumberOfLayersformlong?No
NumberOfUnitsPerLayerformlong?No
NumberOfUnitsPerPalletformlong?No
PackagingTermsformstringYes
PackageTypeCodeformstringYes
MaximumStackingFactorformlong?No
ReturnablePackageTransportCostPaymentformstringYes
DimensionsOfLogisticUnitformList<TransactionalItemDimension>Yes
TransactionalItemDataCarrierAndIdentification Parameters:
NameParameterData TypeRequiredDescription
Gs1TransactionalItemIdentificationKeyformstringYes
DataCarrierformstringYes
TradeItemWaste Parameters:
NameParameterData TypeRequiredDescription
WasteIdentificationformstringYes
TypeOfWasteformList<AvpList>Yes
TransactionalItemOrganicInformation Parameters:
NameParameterData TypeRequiredDescription
IsTradeItemOrganicformbool?No
OrganicCertificationformstringYes
Colour Parameters:
NameParameterData TypeRequiredDescription
ColourCodeformstringYes
ColourDescriptionformstringYes
Size Parameters:
NameParameterData TypeRequiredDescription
DescriptiveSizeformstringYes
SizeCodeformstringYes
TradeItemClassification Parameters:
NameParameterData TypeRequiredDescription
GpcCategoryCodeformstringYes
AdditionalTradeItemClassificationCodeformList<AvpList>Yes
GpcCategoryNameformstringYes
GpcAttributeformList<AvpList>Yes
LeviedDutyFeeTax Parameters:
NameParameterData TypeRequiredDescription
DutyFeeTaxAmountformdecimal?No
DutyFeeTaxBasisAmountformdecimal?No
DutyFeeTaxDescriptionformstringYes
DutyFeeTaxPercentageformdecimal?No

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
			}
		]
	}
}