DX STF Client API

<back to all web services

GetPurchaseConditionByIdentification

Purchase Conditions Requests

Purchase Conditions

Requires Authentication
The following routes are available for this service:
GET/api/purchaseCondition/{OwnerGln}/{Identification}Get specific Purchase Condition by Purchase Condition Identification number
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


/**
* Purchase Conditions
*/
@Api(Description="Purchase Conditions")
@ApiResponse(Description="PurchaseCondition data", IsDefaultResponse=true, StatusCode=200)
// @ApiResponse(Description="No Content", ResponseType=IReturnVoid::class, StatusCode=204)
// @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType=ArgumentOutOfRangeException::class, StatusCode=400)
open class GetPurchaseConditionByIdentification
{
    /**
    * Purchase Condition Owner GLN
    */
    @ApiMember(Description="Purchase Condition Owner GLN", ExcludeInSchema=true, ParameterType="path")
    open var ownerGln:String? = null

    /**
    * Purchase Condition Identifier
    */
    @ApiMember(Description="Purchase Condition Identifier", ExcludeInSchema=true, ParameterType="path")
    open var identification:String? = null
}

open class PurchaseConditionsMessage
{
    open var header:Header? = null
    open var purchaseConditions:PurchaseConditions? = null
}

@DataContract
open class Header
{
    @DataMember(Name="documentIdentification")
    @SerializedName("documentIdentification")
    open var documentIdentification:DocumentIdentification? = null

    @DataMember(Name="sender")
    @SerializedName("sender")
    open var sender:Partner? = null

    @DataMember(Name="receiver")
    @SerializedName("receiver")
    open var receiver:Partner? = null
}

@DataContract
open class DocumentIdentification
{
    @DataMember(Name="identifier")
    @SerializedName("identifier")
    open var identifier:String? = null

    @DataMember(Name="type")
    @SerializedName("type")
    open var Type:String? = null

    @DataMember(Name="creationDateAndTime")
    @SerializedName("creationDateAndTime")
    open var creationDateAndTime:Date? = null
}

@DataContract
open class Partner
{
    @DataMember(Name="identifier")
    @SerializedName("identifier")
    open var identifier:Identifier? = null

    @DataMember(Name="contactInformation")
    @SerializedName("contactInformation")
    open var contactInformation:ArrayList<ContactInformation> = ArrayList<ContactInformation>()
}

@DataContract
open class Identifier
{
    @DataMember(Name="authority")
    @SerializedName("authority")
    open var authority:String? = null

    @DataMember(Name="text")
    @SerializedName("text")
    open var text:String? = null
}

@DataContract
open class ContactInformation
{
}

open class PurchaseConditions : BaseDocument()
{
    open var purchaseConditionsCurrencyCode:String? = null
    open var purchaseConditionsLocationInformation:ArrayList<PurchaseConditionsLocationInformation> = ArrayList<PurchaseConditionsLocationInformation>()
    open var currencyExchangeRateInformation:CurrencyExchangeRateInformation? = null
    open var buyer:TransactionalParty? = null
    open var payee:TransactionalParty? = null
    open var payer:TransactionalParty? = null
    open var purchaseConditionsIdentification:String? = null
    open var remitTo:TransactionalParty? = null
    open var seller:TransactionalParty? = null
    open var taxRepresentative:TransactionalParty? = null
}

open class BaseDocument
{
    open var currencyCode:String? = null
    open var creationDateTime:Date? = null
    open var documentActionCode:DocumentAction? = null
    open var documentStatusCode:DocumentStatus? = null
    open var documentStructureVersion:String? = null
    open var lastUpdateDateTime:Date? = null
    open var revisionNumber:Long? = null
    open var avpList:ArrayList<AvpList> = ArrayList<AvpList>()
}

enum class DocumentAction
{
    Add,
    ChangeByRefresh,
    Delete,
    Rejected,
}

enum class DocumentStatus
{
    AdditionalTransmission,
    Copy,
    Original,
}

open class AvpList
{
    open var code:String? = null
    open var value:String? = null
}

open class PurchaseConditionsLocationInformation
{
    open var purchaseConditionsLineItem:ArrayList<PurchaseConditionsLineItem> = ArrayList<PurchaseConditionsLineItem>()
    open var shipFrom:TransactionalParty? = null
    open var shipTo:TransactionalParty? = null
}

open class PurchaseConditionsLineItem
{
    open var discrepancyTolerancePercentage:BigDecimal? = null
    open var lineItemNumber:Long? = null
    open var packagingTypeCode:String? = null
    open var parentLineItemNumber:Long? = null
    open var purchaseConditionsQuantity:Quantity? = null
    open var purchaseConditionsCommitmentPeriod:ArrayList<PurchaseConditionsCommitmentPeriod> = ArrayList<PurchaseConditionsCommitmentPeriod>()
    open var purchaseConditionsPriceInformation:ArrayList<PurchaseConditionsPriceInformation> = ArrayList<PurchaseConditionsPriceInformation>()
    open var allowanceCharge:ArrayList<AllowanceCharge> = ArrayList<AllowanceCharge>()
    open var transactionalTradeItem:TransactionalTradeItem? = null
    open var leviedDutyFeeTax:LeviedDutyFeeTax? = null
    open var avpList:ArrayList<AvpList> = ArrayList<AvpList>()
    open var effectivePeriod:DateTimeRange? = null
    open var materialSpecification:DocumentReference? = null
    open var purchaseConditionsQuantityRange:QuantityRange? = null
}

open class Quantity
{
    open var value:BigDecimal? = null
    open var measurementUnitCode:String? = null
    open var codeListVersion:String? = null
}

open class PurchaseConditionsCommitmentPeriod
{
    open var commitmentPeriodDuration:TimeMeasurement? = null
    open var purchaseConditionsCommitmentTypeCode:String? = null
}

open class TimeMeasurement
{
    open var timeMeasurementUnitCode:String? = null
    open var value:BigDecimal? = null
}

open class PurchaseConditionsPriceInformation
{
    open var itemPriceBaseQuantity:Quantity? = null
    open var itemPriceExclusiveAllowancesCharges:BigDecimal? = null
    open var quantityRange:QuantityRange? = null
    open var effectivePeriod:DateTimeRange? = null
}

open class QuantityRange
{
    open var maximumQuantity:Quantity? = null
    open var minimumQuantity:Quantity? = null
}

open class DateTimeRange
{
    open var beginDate:Date? = null
    open var beginTime:TimeSpan? = null
    open var endDate:Date? = null
    open var endTime:TimeSpan? = null
}

open class AllowanceCharge
{
    open var allowanceChargeAmount:BigDecimal? = null
    open var allowanceChargePercentage:BigDecimal? = null
    open var allowanceChargeType:String? = null
    open var allowanceOrChargeType:String? = null
    open var amountPerUnit:BigDecimal? = null
    open var baseAmount:BigDecimal? = null
    open var baseNumberOfUnits:String? = null
    open var bracketIdentifier:String? = null
    open var effectiveDateType:Date? = null
    open var sequenceNumber:String? = null
    open var settlementType:String? = null
    open var specialServiceType:String? = null
    open var allowanceChargeDescription:String? = null
}

open class TransactionalTradeItem
{
    open var gtin:String? = null
    open var additionalTradeItemIdentification:ArrayList<AvpList> = ArrayList<AvpList>()
    open var tradeItemQuantity:BigDecimal? = null
    open var tradeItemDescription:String? = null
    open var productVariantIdentifier:String? = null
    open var itemTypeCode:String? = null
    open var tradeItemDataOwner:String? = null
    open var butterFatReference:String? = null
    open var transactionalItemData:ArrayList<TransactionalItemData> = ArrayList<TransactionalItemData>()
    open var colour:ArrayList<Colour> = ArrayList<Colour>()
    open var size:Size? = null
    open var tradeItemClassification:TradeItemClassification? = null
    open var avpList:ArrayList<AvpList> = ArrayList<AvpList>()
}

open class TransactionalItemData
{
    open var availableForSaleDate:Date? = null
    open var batchNumber:String? = null
    open var bestBeforeDate:Date? = null
    open var countryOfOrigin:String? = null
    open var itemExpirationDate:Date? = null
    open var lotNumber:String? = null
    open var packagingDate:Date? = null
    open var productionDate:Date? = null
    open var productQualityIndication:String? = null
    open var sellByDate:Date? = null
    open var serialNumber:ArrayList<String> = ArrayList<String>()
    open var shelfLife:String? = null
    open var tradeItemQuantity:Long? = null
    open var itemInContactWithFoodProduct:Boolean? = null
    open var transactionalItemWeight:ArrayList<TransactionalItem> = ArrayList<TransactionalItem>()
    open var transactionalItemVolume:ArrayList<TransactionalItem> = ArrayList<TransactionalItem>()
    open var serialNumberRange:ArrayList<SerialNumberRange> = ArrayList<SerialNumberRange>()
    open var transactionalItemDimensions:ArrayList<TransactionalItemDimension> = ArrayList<TransactionalItemDimension>()
    open var transactionalItemLogisticUnitInformation:TransactionalItemLogisticUnitInformation? = null
    open var transactionalItemDataCarrierAndIdentification:TransactionalItemDataCarrierAndIdentification? = null
    open var tradeItemWaste:ArrayList<TradeItemWaste> = ArrayList<TradeItemWaste>()
    open var transactionalItemOrganicInformation:TransactionalItemOrganicInformation? = null
    open var avpList:ArrayList<AvpList> = ArrayList<AvpList>()
}

open class TransactionalItem
{
    open var measurementUnitCode:String? = null
    open var measurementType:String? = null
    open var measurementValue:String? = null
}

open class SerialNumberRange
{
    open var maximumValue:String? = null
    open var minimumValue:String? = null
}

open class TransactionalItemDimension
{
    open var measurementUnitCode:String? = null
    open var depth:String? = null
    open var height:String? = null
    open var width:String? = null
}

open class TransactionalItemLogisticUnitInformation
{
    open var numberOfLayers:Long? = null
    open var numberOfUnitsPerLayer:Long? = null
    open var numberOfUnitsPerPallet:Long? = null
    open var packagingTerms:String? = null
    open var packageTypeCode:String? = null
    open var maximumStackingFactor:Long? = null
    open var returnablePackageTransportCostPayment:String? = null
    open var dimensionsOfLogisticUnit:ArrayList<TransactionalItemDimension> = ArrayList<TransactionalItemDimension>()
}

open class TransactionalItemDataCarrierAndIdentification
{
    open var gs1TransactionalItemIdentificationKey:String? = null
    open var dataCarrier:String? = null
}

open class TradeItemWaste
{
    open var wasteIdentification:String? = null
    open var typeOfWaste:ArrayList<AvpList> = ArrayList<AvpList>()
}

open class TransactionalItemOrganicInformation
{
    open var isTradeItemOrganic:Boolean? = null
    open var organicCertification:String? = null
}

open class Colour
{
    open var colourCode:String? = null
    open var colourDescription:String? = null
}

open class Size
{
    open var descriptiveSize:String? = null
    open var sizeCode:String? = null
}

open class TradeItemClassification
{
    open var gpcCategoryCode:String? = null
    open var additionalTradeItemClassificationCode:ArrayList<AvpList> = ArrayList<AvpList>()
    open var gpcCategoryName:String? = null
    open var gpcAttribute:ArrayList<AvpList> = ArrayList<AvpList>()
}

open class LeviedDutyFeeTax
{
    open var dutyFeeTaxAmount:BigDecimal? = null
    open var dutyFeeTaxBasisAmount:BigDecimal? = null
    open var dutyFeeTaxDescription:String? = null
    open var dutyFeeTaxPercentage:BigDecimal? = null
}

open class DocumentReference
{
    open var creationDateTime:Date? = null
    open var revisionNumber:Long? = null
    open var lineItemNumber:Long? = null
    open var entityIdentification:String? = null
}

open class TransactionalParty : Ecom_PartyIdentificationType()
{
    open var contact:ArrayList<Contact> = ArrayList<Contact>()
    open var address:Address? = null
    open var communicationChannel:ArrayList<AvpList> = ArrayList<AvpList>()
    open var financialInstitutionInformation:FinancialInstitutionInformation? = null
    open var dutyFeeTaxRegistration:String? = null
    open var entityIdentification:String? = null
}

open class Ecom_PartyIdentificationType
{
    open var gln:String? = null
    open var name:String? = null
    open var additionalPartyIdentification:ArrayList<AvpList> = ArrayList<AvpList>()
}

open class Contact
{
    open var contactTypeCode:String? = null
    open var personName:String? = null
    open var departmentName:String? = null
    open var jobTitle:String? = null
    open var responsibility:String? = null
    open var communicationChannel:ArrayList<CommunicationChannel> = ArrayList<CommunicationChannel>()
}

open class CommunicationChannel
{
    open var communicationChannelCode:String? = null
    open var communicationChannelName:String? = null
    open var communicationValue:String? = null
}

open class Address
{
    open var streetAddressOne:String? = null
    open var streetAddressTwo:String? = null
    open var streetAddressThree:String? = null
    open var city:String? = null
    open var postalCode:String? = null
    open var provinceCode:String? = null
    open var countryCode:String? = null
}

open class FinancialInstitutionInformation
{
    open var financialInstitutionBranchName:String? = null
    open var financialInstitutionName:String? = null
    open var financialRoutingNumber:FinancialRoutingNumber? = null
    open var financialAccount:FinancialAccount? = null
    open var swiftCode:String? = null
    open var exportersCode:String? = null
}

open class FinancialRoutingNumber
{
    open var number:String? = null
    open var numberTypeCode:String? = null
}

open class FinancialAccount
{
    open var number:String? = null
    open var numberTypeCode:String? = null
    open var name:String? = null
}

open class CurrencyExchangeRateInformation
{
    open var currencyConversionFromCode:String? = null
    open var currencyConversionToCode:String? = null
    open var exchangeRate:Long? = null
    open var exchangeRateDateTime:Date? = null
}

Kotlin GetPurchaseConditionByIdentification DTOs

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

HTTP + XML

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

GET /api/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>