| GET | /api/purchaseCondition/{OwnerGln}/{Identification} | Get specific Purchase Condition by Purchase Condition Identification number |
|---|
import Foundation
import ServiceStack
/**
* Purchase Conditions
*/
// @Api(Description="Purchase Conditions")
// @ApiResponse(Description="PurchaseCondition data", IsDefaultResponse=true, StatusCode=200)
// @ApiResponse(Description="No Content", ResponseType=typeof(IReturnVoid), StatusCode=204)
// @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType=typeof(ArgumentOutOfRangeException), StatusCode=400)
public class GetPurchaseConditionByIdentification : Codable
{
/**
* Purchase Condition Owner GLN
*/
// @ApiMember(Description="Purchase Condition Owner GLN", ExcludeInSchema=true, ParameterType="path")
public var ownerGln:String
/**
* Purchase Condition Identifier
*/
// @ApiMember(Description="Purchase Condition Identifier", ExcludeInSchema=true, ParameterType="path")
public var identification:String
required public init(){}
}
public class PurchaseConditionsMessage : Codable
{
public var header:Header
public var purchaseConditions:PurchaseConditions
required public init(){}
}
// @DataContract
public class Header : Codable
{
// @DataMember(Name="documentIdentification")
public var documentIdentification:DocumentIdentification
// @DataMember(Name="sender")
public var sender:Partner
// @DataMember(Name="receiver")
public var receiver:Partner
required public init(){}
}
// @DataContract
public class DocumentIdentification : Codable
{
// @DataMember(Name="identifier")
public var identifier:String
// @DataMember(Name="type")
public var type:String
// @DataMember(Name="creationDateAndTime")
public var creationDateAndTime:Date
required public init(){}
}
// @DataContract
public class Partner : Codable
{
// @DataMember(Name="identifier")
public var identifier:Identifier
// @DataMember(Name="contactInformation")
public var contactInformation:[ContactInformation] = []
required public init(){}
}
// @DataContract
public class Identifier : Codable
{
// @DataMember(Name="authority")
public var authority:String
// @DataMember(Name="text")
public var text:String
required public init(){}
}
// @DataContract
public class ContactInformation : Codable
{
required public init(){}
}
public class PurchaseConditions : BaseDocument
{
public var purchaseConditionsCurrencyCode:String
public var purchaseConditionsLocationInformation:[PurchaseConditionsLocationInformation] = []
public var currencyExchangeRateInformation:CurrencyExchangeRateInformation
public var buyer:TransactionalParty
public var payee:TransactionalParty
public var payer:TransactionalParty
public var purchaseConditionsIdentification:String
public var remitTo:TransactionalParty
public var seller:TransactionalParty
public var taxRepresentative:TransactionalParty
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case purchaseConditionsCurrencyCode
case purchaseConditionsLocationInformation
case currencyExchangeRateInformation
case buyer
case payee
case payer
case purchaseConditionsIdentification
case remitTo
case seller
case taxRepresentative
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
purchaseConditionsCurrencyCode = try container.decodeIfPresent(String.self, forKey: .purchaseConditionsCurrencyCode)
purchaseConditionsLocationInformation = try container.decodeIfPresent([PurchaseConditionsLocationInformation].self, forKey: .purchaseConditionsLocationInformation) ?? []
currencyExchangeRateInformation = try container.decodeIfPresent(CurrencyExchangeRateInformation.self, forKey: .currencyExchangeRateInformation)
buyer = try container.decodeIfPresent(TransactionalParty.self, forKey: .buyer)
payee = try container.decodeIfPresent(TransactionalParty.self, forKey: .payee)
payer = try container.decodeIfPresent(TransactionalParty.self, forKey: .payer)
purchaseConditionsIdentification = try container.decodeIfPresent(String.self, forKey: .purchaseConditionsIdentification)
remitTo = try container.decodeIfPresent(TransactionalParty.self, forKey: .remitTo)
seller = try container.decodeIfPresent(TransactionalParty.self, forKey: .seller)
taxRepresentative = try container.decodeIfPresent(TransactionalParty.self, forKey: .taxRepresentative)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if purchaseConditionsCurrencyCode != nil { try container.encode(purchaseConditionsCurrencyCode, forKey: .purchaseConditionsCurrencyCode) }
if purchaseConditionsLocationInformation.count > 0 { try container.encode(purchaseConditionsLocationInformation, forKey: .purchaseConditionsLocationInformation) }
if currencyExchangeRateInformation != nil { try container.encode(currencyExchangeRateInformation, forKey: .currencyExchangeRateInformation) }
if buyer != nil { try container.encode(buyer, forKey: .buyer) }
if payee != nil { try container.encode(payee, forKey: .payee) }
if payer != nil { try container.encode(payer, forKey: .payer) }
if purchaseConditionsIdentification != nil { try container.encode(purchaseConditionsIdentification, forKey: .purchaseConditionsIdentification) }
if remitTo != nil { try container.encode(remitTo, forKey: .remitTo) }
if seller != nil { try container.encode(seller, forKey: .seller) }
if taxRepresentative != nil { try container.encode(taxRepresentative, forKey: .taxRepresentative) }
}
}
public class BaseDocument : Codable
{
public var currencyCode:String
public var creationDateTime:Date
public var documentActionCode:DocumentAction
public var documentStatusCode:DocumentStatus
public var documentStructureVersion:String
public var lastUpdateDateTime:Date?
public var revisionNumber:Int?
public var avpList:[AvpList] = []
required public init(){}
}
public enum DocumentAction : String, Codable
{
case ADD
case CHANGE_BY_REFRESH
case DELETE
case REJECTED
}
public enum DocumentStatus : String, Codable
{
case ADDITIONAL_TRANSMISSION
case COPY
case ORIGINAL
}
public class AvpList : Codable
{
public var code:String
public var value:String
required public init(){}
}
public class PurchaseConditionsLocationInformation : Codable
{
public var purchaseConditionsLineItem:[PurchaseConditionsLineItem] = []
public var shipFrom:TransactionalParty
public var shipTo:TransactionalParty
required public init(){}
}
public class PurchaseConditionsLineItem : Codable
{
public var discrepancyTolerancePercentage:Double?
public var lineItemNumber:Int?
public var packagingTypeCode:String
public var parentLineItemNumber:Int?
public var purchaseConditionsQuantity:Quantity
public var purchaseConditionsCommitmentPeriod:[PurchaseConditionsCommitmentPeriod] = []
public var purchaseConditionsPriceInformation:[PurchaseConditionsPriceInformation] = []
public var allowanceCharge:[AllowanceCharge] = []
public var transactionalTradeItem:TransactionalTradeItem
public var leviedDutyFeeTax:LeviedDutyFeeTax
public var avpList:[AvpList] = []
public var effectivePeriod:DateTimeRange
public var materialSpecification:DocumentReference
public var purchaseConditionsQuantityRange:QuantityRange
required public init(){}
}
public class Quantity : Codable
{
public var value:Double?
public var measurementUnitCode:String
public var codeListVersion:String
required public init(){}
}
public class PurchaseConditionsCommitmentPeriod : Codable
{
public var commitmentPeriodDuration:TimeMeasurement
public var purchaseConditionsCommitmentTypeCode:String
required public init(){}
}
public class TimeMeasurement : Codable
{
public var timeMeasurementUnitCode:String
public var value:Double?
required public init(){}
}
public class PurchaseConditionsPriceInformation : Codable
{
public var itemPriceBaseQuantity:Quantity
public var itemPriceExclusiveAllowancesCharges:Double?
public var quantityRange:QuantityRange
public var effectivePeriod:DateTimeRange
required public init(){}
}
public class QuantityRange : Codable
{
public var maximumQuantity:Quantity
public var minimumQuantity:Quantity
required public init(){}
}
public class DateTimeRange : Codable
{
public var beginDate:Date
@TimeSpan public var beginTime:TimeInterval?
public var endDate:Date?
@TimeSpan public var endTime:TimeInterval?
required public init(){}
}
public class AllowanceCharge : Codable
{
public var allowanceChargeAmount:Double?
public var allowanceChargePercentage:Double?
public var allowanceChargeType:String
public var allowanceOrChargeType:String
public var amountPerUnit:Double?
public var baseAmount:Double?
public var baseNumberOfUnits:String
public var bracketIdentifier:String
public var effectiveDateType:Date?
public var sequenceNumber:String
public var settlementType:String
public var specialServiceType:String
public var allowanceChargeDescription:String
required public init(){}
}
public class TransactionalTradeItem : Codable
{
public var gtin:String
public var additionalTradeItemIdentification:[AvpList] = []
public var tradeItemQuantity:Double?
public var tradeItemDescription:String
public var productVariantIdentifier:String
public var itemTypeCode:String
public var tradeItemDataOwner:String
public var butterFatReference:String
public var transactionalItemData:[TransactionalItemData] = []
public var colour:[Colour] = []
public var size:Size
public var tradeItemClassification:TradeItemClassification
public var avpList:[AvpList] = []
required public init(){}
}
public class TransactionalItemData : Codable
{
public var availableForSaleDate:Date?
public var batchNumber:String
public var bestBeforeDate:Date?
public var countryOfOrigin:String
public var itemExpirationDate:Date?
public var lotNumber:String
public var packagingDate:Date?
public var productionDate:Date?
public var productQualityIndication:String
public var sellByDate:Date?
public var serialNumber:[String] = []
public var shelfLife:String
public var tradeItemQuantity:Int?
public var itemInContactWithFoodProduct:Bool?
public var transactionalItemWeight:[TransactionalItem] = []
public var transactionalItemVolume:[TransactionalItem] = []
public var serialNumberRange:[SerialNumberRange] = []
public var transactionalItemDimensions:[TransactionalItemDimension] = []
public var transactionalItemLogisticUnitInformation:TransactionalItemLogisticUnitInformation
public var transactionalItemDataCarrierAndIdentification:TransactionalItemDataCarrierAndIdentification
public var tradeItemWaste:[TradeItemWaste] = []
public var transactionalItemOrganicInformation:TransactionalItemOrganicInformation
public var avpList:[AvpList] = []
required public init(){}
}
public class TransactionalItem : Codable
{
public var measurementUnitCode:String
public var measurementType:String
public var measurementValue:String
required public init(){}
}
public class SerialNumberRange : Codable
{
public var maximumValue:String
public var minimumValue:String
required public init(){}
}
public class TransactionalItemDimension : Codable
{
public var measurementUnitCode:String
public var depth:String
public var height:String
public var width:String
required public init(){}
}
public class TransactionalItemLogisticUnitInformation : Codable
{
public var numberOfLayers:Int?
public var numberOfUnitsPerLayer:Int?
public var numberOfUnitsPerPallet:Int?
public var packagingTerms:String
public var packageTypeCode:String
public var maximumStackingFactor:Int?
public var returnablePackageTransportCostPayment:String
public var dimensionsOfLogisticUnit:[TransactionalItemDimension] = []
required public init(){}
}
public class TransactionalItemDataCarrierAndIdentification : Codable
{
public var gs1TransactionalItemIdentificationKey:String
public var dataCarrier:String
required public init(){}
}
public class TradeItemWaste : Codable
{
public var wasteIdentification:String
public var typeOfWaste:[AvpList] = []
required public init(){}
}
public class TransactionalItemOrganicInformation : Codable
{
public var isTradeItemOrganic:Bool?
public var organicCertification:String
required public init(){}
}
public class Colour : Codable
{
public var colourCode:String
public var colourDescription:String
required public init(){}
}
public class Size : Codable
{
public var descriptiveSize:String
public var sizeCode:String
required public init(){}
}
public class TradeItemClassification : Codable
{
public var gpcCategoryCode:String
public var additionalTradeItemClassificationCode:[AvpList] = []
public var gpcCategoryName:String
public var gpcAttribute:[AvpList] = []
required public init(){}
}
public class LeviedDutyFeeTax : Codable
{
public var dutyFeeTaxAmount:Double?
public var dutyFeeTaxBasisAmount:Double?
public var dutyFeeTaxDescription:String
public var dutyFeeTaxPercentage:Double?
required public init(){}
}
public class DocumentReference : Codable
{
public var creationDateTime:Date?
public var revisionNumber:Int?
public var lineItemNumber:Int?
public var entityIdentification:String
required public init(){}
}
public class TransactionalParty : Ecom_PartyIdentificationType
{
public var contact:[Contact] = []
public var address:Address
public var communicationChannel:[AvpList] = []
public var financialInstitutionInformation:FinancialInstitutionInformation
public var dutyFeeTaxRegistration:String
public var entityIdentification:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case contact
case address
case communicationChannel
case financialInstitutionInformation
case dutyFeeTaxRegistration
case entityIdentification
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
contact = try container.decodeIfPresent([Contact].self, forKey: .contact) ?? []
address = try container.decodeIfPresent(Address.self, forKey: .address)
communicationChannel = try container.decodeIfPresent([AvpList].self, forKey: .communicationChannel) ?? []
financialInstitutionInformation = try container.decodeIfPresent(FinancialInstitutionInformation.self, forKey: .financialInstitutionInformation)
dutyFeeTaxRegistration = try container.decodeIfPresent(String.self, forKey: .dutyFeeTaxRegistration)
entityIdentification = try container.decodeIfPresent(String.self, forKey: .entityIdentification)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if contact.count > 0 { try container.encode(contact, forKey: .contact) }
if address != nil { try container.encode(address, forKey: .address) }
if communicationChannel.count > 0 { try container.encode(communicationChannel, forKey: .communicationChannel) }
if financialInstitutionInformation != nil { try container.encode(financialInstitutionInformation, forKey: .financialInstitutionInformation) }
if dutyFeeTaxRegistration != nil { try container.encode(dutyFeeTaxRegistration, forKey: .dutyFeeTaxRegistration) }
if entityIdentification != nil { try container.encode(entityIdentification, forKey: .entityIdentification) }
}
}
public class Ecom_PartyIdentificationType : Codable
{
public var gln:String
public var name:String
public var additionalPartyIdentification:[AvpList] = []
required public init(){}
}
public class Contact : Codable
{
public var contactTypeCode:String
public var personName:String
public var departmentName:String
public var jobTitle:String
public var responsibility:String
public var communicationChannel:[CommunicationChannel] = []
required public init(){}
}
public class CommunicationChannel : Codable
{
public var communicationChannelCode:String
public var communicationChannelName:String
public var communicationValue:String
required public init(){}
}
public class Address : Codable
{
public var streetAddressOne:String
public var streetAddressTwo:String
public var streetAddressThree:String
public var city:String
public var postalCode:String
public var provinceCode:String
public var countryCode:String
required public init(){}
}
public class FinancialInstitutionInformation : Codable
{
public var financialInstitutionBranchName:String
public var financialInstitutionName:String
public var financialRoutingNumber:FinancialRoutingNumber
public var financialAccount:FinancialAccount
public var swiftCode:String
public var exportersCode:String
required public init(){}
}
public class FinancialRoutingNumber : Codable
{
public var number:String
public var numberTypeCode:String
required public init(){}
}
public class FinancialAccount : Codable
{
public var number:String
public var numberTypeCode:String
public var name:String
required public init(){}
}
public class CurrencyExchangeRateInformation : Codable
{
public var currencyConversionFromCode:String
public var currencyConversionToCode:String
public var exchangeRate:Int?
public var exchangeRateDateTime:Date?
required public init(){}
}
Swift GetPurchaseConditionByIdentification DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<PurchaseConditionsMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<Header>
<documentIdentification>
<creationDateAndTime>0001-01-01T00:00:00</creationDateAndTime>
<identifier>String</identifier>
<type>String</type>
</documentIdentification>
<receiver>
<contactInformation>
<ContactInformation />
</contactInformation>
<identifier>
<authority>String</authority>
<text>String</text>
</identifier>
</receiver>
<sender>
<contactInformation>
<ContactInformation />
</contactInformation>
<identifier>
<authority>String</authority>
<text>String</text>
</identifier>
</sender>
</Header>
<PurchaseConditions>
<AvpList>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AvpList>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<CurrencyCode>String</CurrencyCode>
<DocumentActionCode>ADD</DocumentActionCode>
<DocumentStatusCode>ADDITIONAL_TRANSMISSION</DocumentStatusCode>
<DocumentStructureVersion>String</DocumentStructureVersion>
<LastUpdateDateTime>0001-01-01T00:00:00</LastUpdateDateTime>
<RevisionNumber>0</RevisionNumber>
<Buyer>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Buyer>
<CurrencyExchangeRateInformation>
<CurrencyConversionFromCode>String</CurrencyConversionFromCode>
<CurrencyConversionToCode>String</CurrencyConversionToCode>
<ExchangeRate>0</ExchangeRate>
<ExchangeRateDateTime>0001-01-01T00:00:00</ExchangeRateDateTime>
</CurrencyExchangeRateInformation>
<Payee>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Payee>
<Payer>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Payer>
<PurchaseConditionsCurrencyCode>String</PurchaseConditionsCurrencyCode>
<PurchaseConditionsIdentification>String</PurchaseConditionsIdentification>
<PurchaseConditionsLocationInformation>
<PurchaseConditionsLocationInformation>
<PurchaseConditionsLineItem>
<PurchaseConditionsLineItem>
<AllowanceCharge>
<AllowanceCharge>
<AllowanceChargeAmount>0</AllowanceChargeAmount>
<AllowanceChargeDescription>String</AllowanceChargeDescription>
<AllowanceChargePercentage>0</AllowanceChargePercentage>
<AllowanceChargeType>String</AllowanceChargeType>
<AllowanceOrChargeType>String</AllowanceOrChargeType>
<AmountPerUnit>0</AmountPerUnit>
<BaseAmount>0</BaseAmount>
<BaseNumberOfUnits>String</BaseNumberOfUnits>
<BracketIdentifier>String</BracketIdentifier>
<EffectiveDateType>0001-01-01T00:00:00</EffectiveDateType>
<SequenceNumber>String</SequenceNumber>
<SettlementType>String</SettlementType>
<SpecialServiceType>String</SpecialServiceType>
</AllowanceCharge>
</AllowanceCharge>
<AvpList>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AvpList>
<DiscrepancyTolerancePercentage>0</DiscrepancyTolerancePercentage>
<EffectivePeriod>
<BeginDate>0001-01-01</BeginDate>
<BeginTime>00:00:00</BeginTime>
<EndDate>0001-01-01</EndDate>
<EndTime>00:00:00</EndTime>
</EffectivePeriod>
<LeviedDutyFeeTax>
<DutyFeeTaxAmount>0</DutyFeeTaxAmount>
<DutyFeeTaxBasisAmount>0</DutyFeeTaxBasisAmount>
<DutyFeeTaxDescription>String</DutyFeeTaxDescription>
<DutyFeeTaxPercentage>0</DutyFeeTaxPercentage>
</LeviedDutyFeeTax>
<LineItemNumber>0</LineItemNumber>
<MaterialSpecification>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
</MaterialSpecification>
<PackagingTypeCode>String</PackagingTypeCode>
<ParentLineItemNumber>0</ParentLineItemNumber>
<PurchaseConditionsCommitmentPeriod>
<PurchaseConditionsCommitmentPeriod>
<CommitmentPeriodDuration>
<TimeMeasurementUnitCode>String</TimeMeasurementUnitCode>
<Value>0</Value>
</CommitmentPeriodDuration>
<PurchaseConditionsCommitmentTypeCode>String</PurchaseConditionsCommitmentTypeCode>
</PurchaseConditionsCommitmentPeriod>
</PurchaseConditionsCommitmentPeriod>
<PurchaseConditionsPriceInformation>
<PurchaseConditionsPriceInformation>
<EffectivePeriod>
<BeginDate>0001-01-01</BeginDate>
<BeginTime>00:00:00</BeginTime>
<EndDate>0001-01-01</EndDate>
<EndTime>00:00:00</EndTime>
</EffectivePeriod>
<ItemPriceBaseQuantity>
<CodeListVersion>String</CodeListVersion>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Value>0</Value>
</ItemPriceBaseQuantity>
<ItemPriceExclusiveAllowancesCharges>0</ItemPriceExclusiveAllowancesCharges>
<QuantityRange>
<MaximumQuantity>
<CodeListVersion>String</CodeListVersion>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Value>0</Value>
</MaximumQuantity>
<MinimumQuantity>
<CodeListVersion>String</CodeListVersion>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Value>0</Value>
</MinimumQuantity>
</QuantityRange>
</PurchaseConditionsPriceInformation>
</PurchaseConditionsPriceInformation>
<PurchaseConditionsQuantity>
<CodeListVersion>String</CodeListVersion>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Value>0</Value>
</PurchaseConditionsQuantity>
<PurchaseConditionsQuantityRange>
<MaximumQuantity>
<CodeListVersion>String</CodeListVersion>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Value>0</Value>
</MaximumQuantity>
<MinimumQuantity>
<CodeListVersion>String</CodeListVersion>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Value>0</Value>
</MinimumQuantity>
</PurchaseConditionsQuantityRange>
<TransactionalTradeItem>
<AdditionalTradeItemIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalTradeItemIdentification>
<AvpList>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AvpList>
<ButterFatReference>String</ButterFatReference>
<Colour>
<Colour>
<ColourCode>String</ColourCode>
<ColourDescription>String</ColourDescription>
</Colour>
</Colour>
<Gtin>String</Gtin>
<ItemTypeCode>String</ItemTypeCode>
<ProductVariantIdentifier>String</ProductVariantIdentifier>
<Size>
<DescriptiveSize>String</DescriptiveSize>
<SizeCode>String</SizeCode>
</Size>
<TradeItemClassification>
<AdditionalTradeItemClassificationCode>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalTradeItemClassificationCode>
<GpcAttribute>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</GpcAttribute>
<GpcCategoryCode>String</GpcCategoryCode>
<GpcCategoryName>String</GpcCategoryName>
</TradeItemClassification>
<TradeItemDataOwner>String</TradeItemDataOwner>
<TradeItemDescription>String</TradeItemDescription>
<TradeItemQuantity>0</TradeItemQuantity>
<TransactionalItemData>
<TransactionalItemData>
<AvailableForSaleDate>0001-01-01T00:00:00</AvailableForSaleDate>
<AvpList>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AvpList>
<BatchNumber>String</BatchNumber>
<BestBeforeDate>0001-01-01T00:00:00</BestBeforeDate>
<CountryOfOrigin>String</CountryOfOrigin>
<ItemExpirationDate>0001-01-01T00:00:00</ItemExpirationDate>
<ItemInContactWithFoodProduct>false</ItemInContactWithFoodProduct>
<LotNumber>String</LotNumber>
<PackagingDate>0001-01-01T00:00:00</PackagingDate>
<ProductQualityIndication>String</ProductQualityIndication>
<ProductionDate>0001-01-01T00:00:00</ProductionDate>
<SellByDate>0001-01-01T00:00:00</SellByDate>
<SerialNumber xmlns:d10p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d10p1:string>String</d10p1:string>
</SerialNumber>
<SerialNumberRange>
<SerialNumberRange>
<MaximumValue>String</MaximumValue>
<MinimumValue>String</MinimumValue>
</SerialNumberRange>
</SerialNumberRange>
<ShelfLife>String</ShelfLife>
<TradeItemQuantity>0</TradeItemQuantity>
<TradeItemWaste>
<TradeItemWaste>
<TypeOfWaste>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</TypeOfWaste>
<WasteIdentification>String</WasteIdentification>
</TradeItemWaste>
</TradeItemWaste>
<TransactionalItemDataCarrierAndIdentification>
<DataCarrier>String</DataCarrier>
<Gs1TransactionalItemIdentificationKey>String</Gs1TransactionalItemIdentificationKey>
</TransactionalItemDataCarrierAndIdentification>
<TransactionalItemDimensions>
<TransactionalItemDimension>
<Depth>String</Depth>
<Height>String</Height>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Width>String</Width>
</TransactionalItemDimension>
</TransactionalItemDimensions>
<TransactionalItemLogisticUnitInformation>
<DimensionsOfLogisticUnit>
<TransactionalItemDimension>
<Depth>String</Depth>
<Height>String</Height>
<MeasurementUnitCode>String</MeasurementUnitCode>
<Width>String</Width>
</TransactionalItemDimension>
</DimensionsOfLogisticUnit>
<MaximumStackingFactor>0</MaximumStackingFactor>
<NumberOfLayers>0</NumberOfLayers>
<NumberOfUnitsPerLayer>0</NumberOfUnitsPerLayer>
<NumberOfUnitsPerPallet>0</NumberOfUnitsPerPallet>
<PackageTypeCode>String</PackageTypeCode>
<PackagingTerms>String</PackagingTerms>
<ReturnablePackageTransportCostPayment>String</ReturnablePackageTransportCostPayment>
</TransactionalItemLogisticUnitInformation>
<TransactionalItemOrganicInformation>
<IsTradeItemOrganic>false</IsTradeItemOrganic>
<OrganicCertification>String</OrganicCertification>
</TransactionalItemOrganicInformation>
<TransactionalItemVolume>
<TransactionalItem>
<MeasurementType>String</MeasurementType>
<MeasurementUnitCode>String</MeasurementUnitCode>
<MeasurementValue>String</MeasurementValue>
</TransactionalItem>
</TransactionalItemVolume>
<TransactionalItemWeight>
<TransactionalItem>
<MeasurementType>String</MeasurementType>
<MeasurementUnitCode>String</MeasurementUnitCode>
<MeasurementValue>String</MeasurementValue>
</TransactionalItem>
</TransactionalItemWeight>
</TransactionalItemData>
</TransactionalItemData>
</TransactionalTradeItem>
</PurchaseConditionsLineItem>
</PurchaseConditionsLineItem>
<ShipFrom>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</ShipFrom>
<ShipTo>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</ShipTo>
</PurchaseConditionsLocationInformation>
</PurchaseConditionsLocationInformation>
<RemitTo>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</RemitTo>
<Seller>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Seller>
<TaxRepresentative>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</TaxRepresentative>
</PurchaseConditions>
</PurchaseConditionsMessage>