-- Pretty-printed by Asnp, the pretty-printer of France Telecom R&D
CoreComponentParameters DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS Token
          FROM XSD;

ACC ::= SEQUENCE {
  dictionaryEntryName  Token,
  objectClassTerm      Token OPTIONAL,
  propertyTerm         Token,
  representationTerm   Token,
  businessTerm         Token OPTIONAL,
  definition           UTF8String}

BCC ::= SEQUENCE {
  dictionaryEntryName  Token,
  objectClassTerm      Token OPTIONAL,
  propertyTerm         Token,
  representationTerm   Token,
  businessTerm         Token OPTIONAL,
  definition           UTF8String}

ASCC ::= SEQUENCE {
  dictionaryEntryName        Token,
  qualifierObjectClassTerm   Token OPTIONAL,
  objectClassTerm            Token OPTIONAL,
  qualifierPropertyTerm      Token OPTIONAL,
  propertyTerm               Token,
  associatedObjectClassTerm  Token,
  businessTerm               Token OPTIONAL,
  definition                 UTF8String}

ABIE ::= SEQUENCE {
  dictionaryEntryName       Token,
  qualifierObjectClassTerm  Token OPTIONAL,
  objectClassTerm           Token OPTIONAL,
  qualifierPropertyTerm     Token OPTIONAL,
  propertyTerm              Token,
  representationTerm        Token,
  businessTerm              Token OPTIONAL,
  definition                UTF8String}

BBIE ::= SEQUENCE {
  dictionaryEntryName       Token,
  qualifierObjectClassTerm  Token OPTIONAL,
  objectClassTerm           Token OPTIONAL,
  qualifierPropertyTerm     Token OPTIONAL,
  propertyTerm              Token,
  representationTerm        Token,
  businessTerm              Token OPTIONAL,
  definition                UTF8String}

ASBIE ::= SEQUENCE {
  dictionaryEntryName        Token,
  qualifierObjectClassTerm   Token OPTIONAL,
  objectClassTerm            Token OPTIONAL,
  qualifierPropertyTerm      Token OPTIONAL,
  propertyTerm               Token,
  associatedObjectClassTerm  Token,
  businessTerm               Token OPTIONAL,
  definition                 UTF8String}

ContextCategories ::= SEQUENCE {
  businessProcess      Token OPTIONAL,
  region               Token OPTIONAL,
  officialConstraints  Token OPTIONAL,
  product              Token OPTIONAL,
  industry             Token OPTIONAL,
  role                 Token OPTIONAL,
  supportingRole       Token OPTIONAL,
  systemConstraints    Token OPTIONAL}

/*
ENCODING-CONTROL XER
    ATTRIBUTE ALL IN ALL
*/
END



CoreComponentTypes DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS
  NormalizedString, Time, Date, DateTime, AnyURI, Decimal, Token, Language,
    IDREFS, IDREF, ID
    FROM XSD;

CommonAttributes ::= SEQUENCE {
  uID       ID OPTIONAL,
  uIDRef    IDREF OPTIONAL,
  uIDRefs   IDREFS OPTIONAL,
  language  Language DEFAULT "en"}

AmountType ::= SEQUENCE {
  currencyID         Token,
  codeListVersionID  Token DEFAULT "2002",
  COMPONENTS OF CommonAttributes,
  base               Decimal}

BinaryObjectType ::= SEQUENCE {
  mimeCode     Token OPTIONAL,
  charsetCode  Token OPTIONAL,
  filename     Token OPTIONAL,
  uRI          AnyURI OPTIONAL,
  COMPONENTS OF CommonAttributes,
  base         OCTET STRING}

CodeType ::= SEQUENCE {
  listID                    Token OPTIONAL,
  listAgencyID              Token OPTIONAL,
  listVersionID             Token OPTIONAL,
  listAgencySchemeID        Token OPTIONAL,
  listAgencySchemeAgencyID  Token OPTIONAL,
  name                      Token OPTIONAL,
  languageID                Language OPTIONAL,
  listURI                   AnyURI OPTIONAL,
  listSchemeURI             AnyURI OPTIONAL,
  COMPONENTS OF CommonAttributes,
  base                      Token}

DateTimeType ::= SEQUENCE {COMPONENTS OF CommonAttributes,
                           base  DateTime}

DateType ::= SEQUENCE {COMPONENTS OF CommonAttributes,
                       base  Date}

TimeType ::= SEQUENCE {COMPONENTS OF CommonAttributes,
                       base  Time}

IdentifierType ::= SEQUENCE {
  schemeID                    Token OPTIONAL,
  schemeAgencyID              Token OPTIONAL,
  schemeVersionID             Token OPTIONAL,
  schemeAgencySchemeID        Token OPTIONAL,
  schemeAgencySchemeAgencyID  Token OPTIONAL,
  schemeDataURI               AnyURI OPTIONAL,
  schemeURI                   AnyURI OPTIONAL,
  COMPONENTS OF CommonAttributes,
  base                        Token}

IndicatorType ::= SEQUENCE {COMPONENTS OF CommonAttributes,
                            base  BOOLEAN}

MeasureType ::= SEQUENCE {
  unitCode               Token,
  unitCodeListVersionID  Token DEFAULT "2002",
  COMPONENTS OF CommonAttributes,
  base                   Decimal}

NumericType ::= SEQUENCE {COMPONENTS OF CommonAttributes,
                          base  Decimal}

PercentType ::= SEQUENCE {COMPONENTS OF CommonAttributes,
                          base  Decimal}

QuantityType ::= SEQUENCE {
  unitCode               Token,
  unitCodeListID         NormalizedString DEFAULT "Rec20",
  unitCodeListAgencyID   NormalizedString DEFAULT "UN/CEFACT",
  unitCodeListVersionID  NormalizedString DEFAULT "2002",
  COMPONENTS OF CommonAttributes,
  base                   Decimal}

TextType ::= SEQUENCE {
  languageID  Language DEFAULT "en",
  COMPONENTS OF CommonAttributes,
  base        UTF8String}

NameType ::= SEQUENCE {
  languageID  Language DEFAULT "en",
  COMPONENTS OF CommonAttributes,
  base        UTF8String}

ElectronicAddressType ::= SEQUENCE {
  protocolID  Token,
  languageID  Language OPTIONAL,
  base        AnyURI}

/*
ENCODING-CONTROL XER
    UNTAGGED ALL.base
    ATTRIBUTE ALL IN CommonAttributes
    ATTRIBUTE MeasureType.unitCodeListVersionID, CodeType.listID, QuantityType.unitCodeListVersionID,
              IdentifierType.schemeAgencyID, CodeType.listVersionID, ElectronicAddressType.protocolID,
              QuantityType.unitCodeListAgencyID, BinaryObjectType.uRI, IdentifierType.schemeAgencySchemeID,
              IdentifierType.schemeVersionID, CodeType.listAgencyID, CodeType.listURI, TextType.languageID,
              BinaryObjectType.mimeCode, CodeType.listAgencySchemeID, AmountType.codeListVersionID, 
              AmountType.currencyID, MeasureType.unitCode, IdentifierType.schemeURI, CodeType.languageID,
              IdentifierType.schemeID, BinaryObjectType.charsetCode, QuantityType.unitCode, 
              NameType.languageID, CodeType.name, CodeType.listSchemeURI, CodeType.listAgencySchemeAgencyID,
              BinaryObjectType.filename, QuantityType.unitCodeListID, IdentifierType.schemeAgencySchemeAgencyID,
              IdentifierType.schemeDataURI, ElectronicAddressType.languageID
*/
END



UBL-Library-0p70-DespatchAdvice DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS
  DateType, IdentifierType, CodeType, TextType
    FROM CoreComponentTypes
  DeliveryRequirement, DespatchedTransportHandlingUnit, DespatchLine,
    ActualShipment, DeliveryTerms, FreightForwarderParty, SellerParty,
    BuyerParty, ReferencedOrder
    FROM UBL-Library-0p70-Reusable;

DespatchAdvice ::= DespatchAdviceType

DespatchAdviceType ::= SEQUENCE {
  despatchAdviceID                      DespatchAdviceID,
  despatchAdviceIssueDate               DespatchAdviceIssueDate,
  despatchAdviceDeliveryDate            DespatchAdviceDeliveryDate OPTIONAL,
  despatchAdviceTypeCode                DespatchAdviceTypeCode OPTIONAL,
  despatchAdviceLanguageCode            DespatchAdviceLanguageCode,
  despatchAdviceNotes-list
    SEQUENCE OF despatchAdviceNotes DespatchAdviceNotes,
  referencedOrder                       ReferencedOrder,
  buyerParty                            BuyerParty,
  sellerParty                           SellerParty,
  freightForwarderParty                 FreightForwarderParty OPTIONAL,
  deliveryRequirement                   DeliveryRequirement,
  despatchedTransportHandlingUnit-list
    SEQUENCE OF despatchedTransportHandlingUnit DespatchedTransportHandlingUnit,
  despatchLine-list
    SEQUENCE (SIZE (1..MAX)) OF despatchLine DespatchLine,
  actualShipment                        ActualShipment,
  deliveryTerms                         DeliveryTerms OPTIONAL}

DespatchAdviceDeliveryDate ::= DateType

DespatchAdviceID ::= IdentifierType

DespatchAdviceIssueDate ::= DateType

DespatchAdviceLanguageCode ::= CodeType

DespatchAdviceNotes ::= TextType

DespatchAdviceTypeCode ::= CodeType

/*
ENCODING-CONTROL XER
    NAME ALL IN ALL AS CAPITALIZED
    UNTAGGED SEQUENCE OF
*/
END



UBL-Library-0p70-Invoice DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS
  IdentifierType, CodeType, DateType, QuantityType
    FROM CoreComponentTypes
  ReferencedOrder, ReferencedDespatchAdvice, BuyerParty, SellerParty,
    PaymentMeans, PaymentTerms, AllowanceCharge, ExchangeRate, TaxTotal,
    LegalTotals, InvoiceLine, ReferencedReceiptAdvice
    FROM UBL-Library-0p70-Reusable;

Invoice ::= InvoiceType

InvoiceType ::= SEQUENCE {
  invoiceID                     InvoiceID,
  invoiceIssueDate              InvoiceIssueDate,
  invoiceTypeCode               InvoiceTypeCode OPTIONAL,
  invoiceTaxPointDate           InvoiceTaxPointDate,
  invoiceInvoiceCurrencyCode    InvoiceInvoiceCurrencyCode OPTIONAL,
  invoiceTaxCurrencyCode        InvoiceTaxCurrencyCode OPTIONAL,
  invoicePricingCurrencyCode    InvoicePricingCurrencyCode OPTIONAL,
  invoiceLineitemCountQuantity  InvoiceLineitemCountQuantity OPTIONAL,
  referencedOrder               ReferencedOrder,
  referencedDespatchAdvice      ReferencedDespatchAdvice OPTIONAL,
  referencedReceiptAdvice       ReferencedReceiptAdvice OPTIONAL,
  buyerParty                    BuyerParty,
  sellerParty                   SellerParty,
  paymentMeans                  PaymentMeans OPTIONAL,
  paymentTerms                  PaymentTerms OPTIONAL,
  allowanceCharge-list          SEQUENCE OF allowanceCharge AllowanceCharge,
  exchangeRate                  ExchangeRate OPTIONAL,
  taxTotal-list                 SEQUENCE OF taxTotal TaxTotal,
  legalTotals                   LegalTotals,
  invoiceLine-list
    SEQUENCE (SIZE (1..MAX)) OF invoiceLine InvoiceLine}

InvoiceID ::= IdentifierType

InvoiceInvoiceCurrencyCode ::= CodeType

InvoiceIssueDate ::= DateType

InvoiceLineitemCountQuantity ::= QuantityType

InvoicePricingCurrencyCode ::= CodeType

InvoiceTaxCurrencyCode ::= CodeType

InvoiceTaxPointDate ::= DateType

InvoiceTypeCode ::= CodeType

/*
ENCODING-CONTROL XER
    NAME ALL IN ALL AS CAPITALIZED
    UNTAGGED SEQUENCE OF
*/
END



UBL-Library-0p70-Order DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS
  CodeType, DateType, MeasureType, IdentifierType, AmountType, QuantityType
    FROM CoreComponentTypes
  ReferencedOrder, ReferencedDespatchAdvice, ReferencedReceiptAdvice,
    BuyerParty, SellerParty, PaymentMeans, PaymentTerms, AllowanceCharge,
    ExchangeRate, TaxTotal, LegalTotals, InvoiceLine, FreightForwarderParty,
    DeliveryTerms, DestinationCountry, OrderLine, Contract, Quote,
    SalesConditions
    FROM UBL-Library-0p70-Reusable;

Order ::= OrderType

OrderType ::= SEQUENCE {
  orderID                           OrderID,
  orderIssueDate                    OrderIssueDate,
  orderAcknowledgementResponseCode  OrderAcknowledgementResponseCode OPTIONAL,
  orderTransactionCurrencyCode      OrderTransactionCurrencyCode OPTIONAL,
  orderPricingCurrencyCode          OrderPricingCurrencyCode OPTIONAL,
  orderEarliestDate                 OrderEarliestDate OPTIONAL,
  orderCancelledByDate              OrderCancelledByDate OPTIONAL,
  orderValidityDurationMeasure      OrderValidityDurationMeasure OPTIONAL,
  orderLineitemCountQuantity        OrderLineitemCountQuantity OPTIONAL,
  orderTaxTotalAmount               OrderTaxTotalAmount OPTIONAL,
  orderLineExtensionTotalAmount     OrderLineExtensionTotalAmount OPTIONAL,
  orderTotalPackagesCountQuantity   OrderTotalPackagesCountQuantity OPTIONAL,
  orderGrossWeightMeasure           OrderGrossWeightMeasure OPTIONAL,
  orderNetWeightMeasure             OrderNetWeightMeasure OPTIONAL,
  orderNetNetWeightMeasure          OrderNetNetWeightMeasure OPTIONAL,
  orderGrossVolumeMeasure           OrderGrossVolumeMeasure OPTIONAL,
  orderNetVolumeMeasure             OrderNetVolumeMeasure OPTIONAL,
  buyerParty                        BuyerParty,
  sellerParty                       SellerParty,
  freightForwarderParty             FreightForwarderParty OPTIONAL,
  allowanceCharge-list              SEQUENCE OF allowanceCharge AllowanceCharge,
  salesConditions                   SalesConditions OPTIONAL,
  deliveryTerms                     DeliveryTerms OPTIONAL,
  destinationCountry                DestinationCountry OPTIONAL,
  orderLine-list
    SEQUENCE (SIZE (1..MAX)) OF orderLine OrderLine,
  contract                          Contract OPTIONAL,
  quote                             Quote OPTIONAL}

OrderAcknowledgementResponseCode ::= CodeType

OrderCancelledByDate ::= DateType

OrderEarliestDate ::= DateType

OrderGrossVolumeMeasure ::= MeasureType

OrderGrossWeightMeasure ::= MeasureType

OrderID ::= IdentifierType

OrderIssueDate ::= DateType

OrderLineExtensionTotalAmount ::= AmountType

OrderLineitemCountQuantity ::= QuantityType

OrderNetNetWeightMeasure ::= MeasureType

OrderNetVolumeMeasure ::= MeasureType

OrderNetWeightMeasure ::= MeasureType

OrderPricingCurrencyCode ::= CodeType

OrderTaxTotalAmount ::= AmountType

OrderTotalPackagesCountQuantity ::= QuantityType

OrderTransactionCurrencyCode ::= CodeType

OrderValidityDurationMeasure ::= MeasureType

/*
ENCODING-CONTROL XER
    NAME ALL IN ALL AS CAPITALIZED
    UNTAGGED SEQUENCE OF
*/
END



UBL-Library-0p70-OrderCancellation DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS
  IndicatorType, IdentifierType, DateTimeType, TextType, CodeType
    FROM CoreComponentTypes
  ReferencedOrder
    FROM UBL-Library-0p70-Reusable;

Ordercancellation ::= OrderCancellationType

OrderCancellationType ::= SEQUENCE {
  orderCancellationID                         OrderCancellationID,
  orderCancellationIssueDateDateTime
    OrderCancellationIssueDateDateTime,
  orderCancellationReasonCode                 OrderCancellationReasonCode,
  orderCancellationResponseRequiredIndicator
    OrderCancellationResponseRequiredIndicator OPTIONAL,
  orderCancellationAcceptedIndicator
    OrderCancellationAcceptedIndicator OPTIONAL,
  orderCancellationNote                       OrderCancellationNote OPTIONAL,
  referencedOrder                             ReferencedOrder}

OrderCancellationAcceptedIndicator ::= IndicatorType

OrderCancellationID ::= IdentifierType

OrderCancellationIssueDateDateTime ::= DateTimeType

OrderCancellationNote ::= TextType

OrderCancellationReasonCode ::= CodeType

OrderCancellationResponseRequiredIndicator ::= IndicatorType

/*
ENCODING-CONTROL XER
    NAME ALL IN ALL AS CAPITALIZED
*/
END



UBL-Library-0p70-OrderResponse DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS
  DateType, MeasureType, IdentifierType, AmountType, QuantityType, CodeType
    FROM CoreComponentTypes
  ReferencedOrder, BuyerParty, SellerParty, FreightForwarderParty,
    AllowanceCharge, SalesConditions, DeliveryTerms, DestinationCountry,
    ReferencedOrderLine
    FROM UBL-Library-0p70-Reusable;

OrderResponse ::= OrderResponseType

OrderResponseType ::= SEQUENCE {
  orderResponseID                          OrderResponseID,
  orderResponseIssueDate                   OrderResponseIssueDate,
  orderResponseTransactionCurrencyCode
    OrderResponseTransactionCurrencyCode OPTIONAL,
  orderResponsePricingCurrencyCode
    OrderResponsePricingCurrencyCode OPTIONAL,
  orderResponseEarliestDate                OrderResponseEarliestDate OPTIONAL,
  orderResponseCancelledByDate
    OrderResponseCancelledByDate OPTIONAL,
  orderResponseValidityDurationMeasure
    OrderResponseValidityDurationMeasure OPTIONAL,
  orderResponseLineitemCountQuantity
    OrderResponseLineitemCountQuantity OPTIONAL,
  orderResponseTaxTotalAmount              OrderResponseTaxTotalAmount OPTIONAL,
  orderResponseLineExtensionTotalAmount
    OrderResponseLineExtensionTotalAmount OPTIONAL,
  orderResponseTotalPackagesCountQuantity
    OrderResponseTotalPackagesCountQuantity OPTIONAL,
  orderResponseGrossWeightMeasure
    OrderResponseGrossWeightMeasure OPTIONAL,
  orderResponseNetWeightMeasure
    OrderResponseNetWeightMeasure OPTIONAL,
  orderResponseNetNetWeightMeasure
    OrderResponseNetNetWeightMeasure OPTIONAL,
  orderResponseGrossVolumeMeasure
    OrderResponseGrossVolumeMeasure OPTIONAL,
  orderResponseNetVolumeMeasure
    OrderResponseNetVolumeMeasure OPTIONAL,
  referencedOrder                          ReferencedOrder,
  buyerParty                               BuyerParty,
  sellerParty                              SellerParty,
  freightForwarderParty                    FreightForwarderParty OPTIONAL,
  allowanceCharge-list
    SEQUENCE OF allowanceCharge AllowanceCharge,
  salesConditions                          SalesConditions OPTIONAL,
  deliveryTerms                            DeliveryTerms OPTIONAL,
  destinationCountry                       DestinationCountry OPTIONAL,
  referencedOrderLine-list
    SEQUENCE (SIZE (1..MAX)) OF referencedOrderLine ReferencedOrderLine}

OrderResponseCancelledByDate ::= DateType

OrderResponseEarliestDate ::= DateType

OrderResponseGrossVolumeMeasure ::= MeasureType

OrderResponseGrossWeightMeasure ::= MeasureType

OrderResponseID ::= IdentifierType

OrderResponseIssueDate ::= DateType

OrderResponseLineExtensionTotalAmount ::= AmountType

OrderResponseLineitemCountQuantity ::= QuantityType

OrderResponseNetNetWeightMeasure ::= MeasureType

OrderResponseNetVolumeMeasure ::= MeasureType

OrderResponseNetWeightMeasure ::= MeasureType

OrderResponsePricingCurrencyCode ::= CodeType

OrderResponseTaxTotalAmount ::= AmountType

OrderResponseTotalPackagesCountQuantity ::= QuantityType

OrderResponseTransactionCurrencyCode ::= CodeType

OrderResponseValidityDurationMeasure ::= MeasureType

/*
ENCODING-CONTROL XER
    NAME ALL IN ALL AS CAPITALIZED
    UNTAGGED SEQUENCE OF
*/
END



UBL-Library-0p70-ReceiptAdvice DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS
  IdentifierType, DateType, TextType
    FROM CoreComponentTypes
  ReferencedDespatchAdvice, BuyerParty, FreightForwarderParty,
    DeliveryRequirement, ReceivedTransportHandlingUnit, ReceiptLine,
    SellerParty
    FROM UBL-Library-0p70-Reusable;

ReceiptAdvice ::= ReceiptAdviceType

ReceiptAdviceType ::= SEQUENCE {
  receiptAdviceID                     ReceiptAdviceID,
  receiptAdviceIssueDate              ReceiptAdviceIssueDate,
  receiptAdviceNotes-list
    SEQUENCE OF receiptAdviceNotes ReceiptAdviceNotes,
  referencedDespatchAdvice            ReferencedDespatchAdvice,
  buyerParty                          BuyerParty,
  sellerParty                         SellerParty,
  freightForwarderParty               FreightForwarderParty OPTIONAL,
  deliveryRequirement                 DeliveryRequirement,
  receivedTransportHandlingUnit-list
    SEQUENCE OF receivedTransportHandlingUnit ReceivedTransportHandlingUnit,
  receiptLine-list
    SEQUENCE (SIZE (1..MAX)) OF receiptLine ReceiptLine}

ReceiptAdviceID ::= IdentifierType

ReceiptAdviceIssueDate ::= DateType

ReceiptAdviceNotes ::= TextType

/*
ENCODING-CONTROL XER
    NAME ALL IN ALL AS CAPITALIZED
    UNTAGGED SEQUENCE OF
*/
END



UBL-Library-0p70-Reusable DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS
  CodeType, NameType, TextType, IdentifierType, QuantityType, NumericType,
    DateType, IndicatorType, MeasureType, DateTimeType, AmountType
    FROM CoreComponentTypes;

AccountsContact ::= AccountsContactType

AccountsContactType ::= SEQUENCE {
  iD      ID,
  name    Name OPTIONAL,
  phone   Phone OPTIONAL,
  fax     Fax OPTIONAL,
  e-Mail  E-Mail OPTIONAL}

ActualPackage ::= ActualPackageType

ActualPackageType ::= SEQUENCE {
  iD                           ID,
  quantity                     Quantity OPTIONAL,
  returnableMaterialIndicator  ReturnableMaterialIndicator OPTIONAL,
  containedPackage             ContainedPackage OPTIONAL}

ActualShipment ::= ActualShipmentType

ActualShipmentType ::= SEQUENCE {
  iD                       ID,
  servicelevelCode         ServicelevelCode OPTIONAL,
  handlingInstructions     HandlingInstructions OPTIONAL,
  handlingTypeCode         HandlingTypeCode OPTIONAL,
  handlingCode             HandlingCode OPTIONAL,
  information              Information OPTIONAL,
  grossWeightMeasure       GrossWeightMeasure OPTIONAL,
  netWeightMeasure         NetWeightMeasure OPTIONAL,
  netNetWeightMeasure      NetNetWeightMeasure OPTIONAL,
  grossVolumeMeasure       GrossVolumeMeasure OPTIONAL,
  netVolumeMeasure         NetVolumeMeasure OPTIONAL,
  deliveryRequirement      DeliveryRequirement OPTIONAL,
  transportContract        TransportContract OPTIONAL,
  shipmentStage-list       SEQUENCE OF shipmentStage ShipmentStage,
  transportEquipment-list  SEQUENCE OF transportEquipment TransportEquipment}

Address ::= AddressType

AddressType ::= SEQUENCE {
  iD                     ID,
  postbox                Postbox OPTIONAL,
  building               Building OPTIONAL,
  floor                  Floor OPTIONAL,
  room                   Room OPTIONAL,
  street                 Street OPTIONAL,
  additionalStreet       AdditionalStreet OPTIONAL,
  houseName              HouseName OPTIONAL,
  houseNumber            HouseNumber OPTIONAL,
  inhouseMail            InhouseMail OPTIONAL,
  department             Department OPTIONAL,
  cityName               CityName OPTIONAL,
  postalZone             PostalZone OPTIONAL,
  countrySub-Entity      CountrySub-Entity OPTIONAL,
  countrySub-EntityCode  CountrySub-EntityCode OPTIONAL,
  region                 Region OPTIONAL,
  district               District OPTIONAL,
  timezoneOffsetMeasure  TimezoneOffsetMeasure OPTIONAL,
  country                Country OPTIONAL}

AllowanceCharge ::= AllowanceChargeType

AllowanceChargeType ::= SEQUENCE {
  iD                        ID,
  chargeIndicator           ChargeIndicator,
  multiplierReasonCode      MultiplierReasonCode OPTIONAL,
  multiplierFactorQuantity  MultiplierFactorQuantity OPTIONAL,
  currencyCode              CurrencyCode OPTIONAL,
  pre-PaidCollectIndicator  Pre-PaidCollectIndicator OPTIONAL,
  sequenceValueNumeric      SequenceValueNumeric OPTIONAL,
  tax-list                  SEQUENCE OF tax Tax,
  paymentMeans-list         SEQUENCE OF paymentMeans PaymentMeans}

AlternativeOrderLine ::= AlternativeOrderLineType

AlternativeOrderLineType ::= SEQUENCE {
  buyersID                  BuyersID,
  lineExtensionAmount       LineExtensionAmount OPTIONAL,
  quantity                  Quantity OPTIONAL,
  minimumQuantity           MinimumQuantity OPTIONAL,
  maximumQuantity           MaximumQuantity OPTIONAL,
  maximumBackorderQuantity  MaximumBackorderQuantity OPTIONAL,
  minimumBackorderQuantity  MinimumBackorderQuantity OPTIONAL,
  substitutionStatusCode    SubstitutionStatusCode OPTIONAL,
  item                      Item,
  deliveryRequirement       DeliveryRequirement,
  allowanceCharge-list      SEQUENCE OF allowanceCharge AllowanceCharge,
  basePrice                 BasePrice OPTIONAL}

BasePrice ::= BasePriceType

BasePriceType ::= SEQUENCE {
  priceAmount      PriceAmount,
  baseQuantity     BaseQuantity OPTIONAL,
  maximumQuantity  MaximumQuantity OPTIONAL,
  minimumQuantity  MinimumQuantity OPTIONAL,
  maximumAmount    MaximumAmount OPTIONAL,
  minimumAmount    MinimumAmount OPTIONAL}

BuyerContact ::= BuyerContactType

BuyerContactType ::= SEQUENCE {
  iD      ID,
  name    Name OPTIONAL,
  phone   Phone OPTIONAL,
  fax     Fax OPTIONAL,
  e-Mail  E-Mail OPTIONAL}

BuyerParty ::= BuyerPartyType

BuyerPartyType ::= SEQUENCE {
  iD                   ID,
  accountCode          AccountCode OPTIONAL,
  partyName-list       SEQUENCE OF partyName PartyName,
  address-list         SEQUENCE OF address Address,
  partyTaxScheme-list  SEQUENCE OF partyTaxScheme PartyTaxScheme,
  buyerContact         BuyerContact OPTIONAL}

BuyersItemIdentification ::= BuyersItemIdentificationType

BuyersItemIdentificationType ::= SEQUENCE {
  iD                      ID,
  extension               Extension OPTIONAL,
  physicalAttribute-list  SEQUENCE OF physicalAttribute PhysicalAttribute,
  itemMeasurement-list    SEQUENCE OF itemMeasurement ItemMeasurement}

CardAccount ::= CardAccountType

CardAccountType ::= SEQUENCE {
  primaryAccountNumberID  PrimaryAccountNumberID,
  typeCode                TypeCode,
  customerCode            CustomerCode OPTIONAL,
  expiryDate              ExpiryDate OPTIONAL,
  issuerID                IssuerID OPTIONAL,
  issueNumberCode         IssueNumberCode OPTIONAL,
  cv2                     Cv2 OPTIONAL,
  chipIndicator           ChipIndicator OPTIONAL,
  chipApplicationID       ChipApplicationID OPTIONAL,
  holder                  Holder OPTIONAL}

CatalogueItemIdentification ::= CatalogueItemIdentificationType

CatalogueItemIdentificationType ::= SEQUENCE {
  iD                      ID,
  extension               Extension OPTIONAL,
  physicalAttribute-list  SEQUENCE OF physicalAttribute PhysicalAttribute,
  itemMeasurement-list    SEQUENCE OF itemMeasurement ItemMeasurement}

CategoryTotal ::= CategoryTotalType

CategoryTotalType ::= SEQUENCE {
  rateCategoryCodeID  RateCategoryCodeID,
  ratePercentNumeric  RatePercentNumeric,
  taxAmounts          TaxAmounts}

CommodityClassification ::= CommodityClassificationType

CommodityClassificationType ::= SEQUENCE {
  natureCode     NatureCode OPTIONAL,
  cargoTypeCode  CargoTypeCode OPTIONAL,
  commodityCode  CommodityCode OPTIONAL}

ContactParty ::= ContactPartyType

ContactPartyType ::= SEQUENCE {
  iD              ID,
  partyName-list  SEQUENCE OF partyName PartyName,
  contact-list    SEQUENCE OF contact Contact,
  language-list   SEQUENCE OF language Language,
  address-list    SEQUENCE OF address Address}

Contact ::= ContactType

ContactType ::= SEQUENCE {
  iD      ID,
  name    Name OPTIONAL,
  phone   Phone OPTIONAL,
  fax     Fax OPTIONAL,
  e-Mail  E-Mail OPTIONAL}

ContainedPackage ::= ContainedPackageType

ContainedPackageType ::= SEQUENCE {
  iD                           ID,
  quantity                     Quantity OPTIONAL,
  returnableMaterialIndicator  ReturnableMaterialIndicator OPTIONAL}

Contract ::= ContractType

ContractType ::= SEQUENCE {
  iD              ID,
  issueDate       IssueDate OPTIONAL,
  typeCode        TypeCode OPTIONAL,
  validityPeriod  ValidityPeriod OPTIONAL}

Country ::= CountryType

CountryType ::= SEQUENCE {code  Code OPTIONAL}

CreditAccount ::= CreditAccountType

CreditAccountType ::= SEQUENCE {accountCode  AccountCode OPTIONAL}

DeliverToAddress ::= DeliverToAddressType

DeliverToAddressType ::= SEQUENCE {
  iD                        ID,
  postbox                   Postbox OPTIONAL,
  building                  Building OPTIONAL,
  floor                     Floor OPTIONAL,
  room                      Room OPTIONAL,
  street                    Street OPTIONAL,
  additionalStreet          AdditionalStreet OPTIONAL,
  houseName                 HouseName OPTIONAL,
  houseNumber               HouseNumber OPTIONAL,
  inhouseMail               InhouseMail OPTIONAL,
  department                Department OPTIONAL,
  cityName                  CityName OPTIONAL,
  postalZone                PostalZone OPTIONAL,
  countrySub-Entity         CountrySub-Entity OPTIONAL,
  countrySub-EntityCode     CountrySub-EntityCode OPTIONAL,
  region                    Region OPTIONAL,
  district                  District OPTIONAL,
  timezoneOffsetMeasure     TimezoneOffsetMeasure OPTIONAL,
  country                   Country OPTIONAL,
  locationCoordinates-list  SEQUENCE OF locationCoordinates LocationCoordinates}

DeliveryRequirement ::= DeliveryRequirementType

DeliveryRequirementType ::= SEQUENCE {
  iD                     ID,
  deliverToAddress       DeliverToAddress OPTIONAL,
  sendFromAddress        SendFromAddress OPTIONAL,
  deliverySchedule-list  SEQUENCE OF deliverySchedule DeliverySchedule,
  orderLine              OrderLine OPTIONAL}

DeliverySchedule ::= DeliveryScheduleType

DeliveryScheduleType ::= SEQUENCE {
  iD                     ID,
  quantity               Quantity OPTIONAL,
  minimumQuantity        MinimumQuantity OPTIONAL,
  maximumQuantity        MaximumQuantity OPTIONAL,
  requestedDeliveryDate  RequestedDeliveryDate OPTIONAL,
  promisedByDate         PromisedByDate OPTIONAL,
  deliveryRequirement    DeliveryRequirement}

DeliveryTerms ::= DeliveryTermsType

DeliveryTermsType ::= SEQUENCE {
  iD                      ID,
  relevantLocation        RelevantLocation OPTIONAL,
  specialTerms            SpecialTerms OPTIONAL,
  riskResponsibilityCode  RiskResponsibilityCode OPTIONAL,
  lossRisk                LossRisk OPTIONAL,
  allowanceCharge-list    SEQUENCE OF allowanceCharge AllowanceCharge}

DespatchLine ::= DespatchLineType

DespatchLineType ::= SEQUENCE {
  lineID                           LineID,
  orderLineID-list
    SEQUENCE (SIZE (1..MAX)) OF orderLineID OrderLineID,
  deliveredQuantity                DeliveredQuantity,
  tofollowQuantity                 TofollowQuantity OPTIONAL,
  tofollowReason                   TofollowReason OPTIONAL,
  deliverySchedule                 DeliverySchedule,
  referencedTransportHandlingUnit  ReferencedTransportHandlingUnit}

DespatchedTransportHandlingUnit ::= DespatchedTransportHandlingUnitType

DespatchedTransportHandlingUnitType ::= SEQUENCE {
  iD        ID,
  typeCode  TypeCode}

DestinationCountry ::= DestinationCountryType

DestinationCountryType ::= SEQUENCE {code  Code OPTIONAL}

DestinationParty ::= DestinationPartyType

DestinationPartyType ::= SEQUENCE {
  iD              ID,
  accountCode     AccountCode OPTIONAL,
  partyName-list  SEQUENCE OF partyName PartyName,
  contact-list    SEQUENCE OF contact Contact,
  language-list   SEQUENCE OF language Language,
  address-list    SEQUENCE OF address Address}

ExchangeRate ::= ExchangeRateType

ExchangeRateType ::= SEQUENCE {
  sourceCurrencyCode        SourceCurrencyCode,
  sourceCurrencyBaseAmount  SourceCurrencyBaseAmount OPTIONAL,
  targetCurrencyCode        TargetCurrencyCode,
  targetCurrencyBaseAmount  TargetCurrencyBaseAmount OPTIONAL,
  exchangeMarketID          ExchangeMarketID OPTIONAL,
  calculationRateNumeric    CalculationRateNumeric,
  date                      Date OPTIONAL,
  allowanceCharge-list      SEQUENCE OF allowanceCharge AllowanceCharge,
  foreignExchangeContract   ForeignExchangeContract OPTIONAL}

FiBranch ::= FiBranchType

FiBranchType ::= SEQUENCE {
  iD                    ID,
  name                  Name OPTIONAL,
  financialInstitution  FinancialInstitution,
  address               Address OPTIONAL}

FinancialInstitution ::= FinancialInstitutionType

FinancialInstitutionType ::= SEQUENCE {
  iD       ID,
  name     Name OPTIONAL,
  address  Address OPTIONAL}

ForeignExchangeContract ::= ForeignExchangeContractType

ForeignExchangeContractType ::= SEQUENCE {
  iD              ID,
  issueDate       IssueDate OPTIONAL,
  typeCode        TypeCode OPTIONAL,
  validityPeriod  ValidityPeriod OPTIONAL}

FreightForwarderParty ::= FreightForwarderPartyType

FreightForwarderPartyType ::= SEQUENCE {
  iD                   ID,
  partyName-list       SEQUENCE OF partyName PartyName,
  address-list         SEQUENCE OF address Address,
  partyTaxScheme-list  SEQUENCE OF partyTaxScheme PartyTaxScheme,
  contact              Contact OPTIONAL}

HandlingUnitDespatchLine ::= HandlingUnitDespatchLineType

HandlingUnitDespatchLineType ::= SEQUENCE {
  lineID              LineID,
  orderLineID-list    SEQUENCE (SIZE (1..MAX)) OF orderLineID OrderLineID,
  despatchedQuantity  DespatchedQuantity,
  toFollowQuantity    ToFollowQuantity OPTIONAL,
  toFollowReason      ToFollowReason OPTIONAL,
  deliverySchedule    DeliverySchedule}

HandlingUnitReceiptLine ::= HandlingUnitReceiptLineType

HandlingUnitReceiptLineType ::= SEQUENCE {
  iD                      ID,
  receivedQuantity        ReceivedQuantity,
  shortQuantity           ShortQuantity OPTIONAL,
  shortageActionCode      ShortageActionCode OPTIONAL,
  rejectedQuantity        RejectedQuantity OPTIONAL,
  rejectReasonCode        RejectReasonCode OPTIONAL,
  rejectActionCode        RejectActionCode OPTIONAL,
  receivedDateDateTime    ReceivedDateDateTime,
  timingComplaintCode     TimingComplaintCode OPTIONAL,
  referencedDespatchLine  ReferencedDespatchLine}

HazardousItem ::= HazardousItemType

HazardousItemType ::= SEQUENCE {
  iD                           ID,
  placardNotation              PlacardNotation OPTIONAL,
  placardEndorsement           PlacardEndorsement OPTIONAL,
  additionalInformation        AdditionalInformation OPTIONAL,
  undgCode                     UndgCode OPTIONAL,
  flashpointMeasure            FlashpointMeasure OPTIONAL,
  emergencyTemperatureMeasure  EmergencyTemperatureMeasure OPTIONAL,
  temperatureMeasure-list
    SEQUENCE OF temperatureMeasure TemperatureMeasure,
  emergencyProceduresCode      EmergencyProceduresCode OPTIONAL,
  medicalFirstAidGuideCode     MedicalFirstAidGuideCode OPTIONAL,
  emsNumberCode                EmsNumberCode OPTIONAL,
  technicalName                TechnicalName OPTIONAL,
  contactParty                 ContactParty,
  secondaryHazards-list        SEQUENCE OF secondaryHazards SecondaryHazards,
  hazardousTransit-list        SEQUENCE OF hazardousTransit HazardousTransit}

HazardousTransit ::= HazardousTransitType

HazardousTransitType ::= SEQUENCE {
  transportEmergencyCardCode          TransportEmergencyCardCode OPTIONAL,
  packingCriteriaCode                 PackingCriteriaCode OPTIONAL,
  regulationCode                      RegulationCode OPTIONAL,
  maximumTransportTemperatureMeasure
    MaximumTransportTemperatureMeasure OPTIONAL,
  minimumTransportTemperatureMeasure
    MinimumTransportTemperatureMeasure OPTIONAL,
  inhalationToxicityZoneCode          InhalationToxicityZoneCode OPTIONAL}

InvoiceLine ::= InvoiceLineType

InvoiceLineType ::= SEQUENCE {
  iD                      ID,
  invoicedQuantity        InvoicedQuantity,
  lineExtensionAmount     LineExtensionAmount,
  referencedOrderLine     ReferencedOrderLine OPTIONAL,
  referencedDespatchLine  ReferencedDespatchLine OPTIONAL,
  referencedReceiptLine   ReferencedReceiptLine OPTIONAL,
  allowanceCharge-list    SEQUENCE OF allowanceCharge AllowanceCharge,
  item                    Item,
  basePrice               BasePrice}

ItemMeasurement ::= ItemMeasurementType

ItemMeasurementType ::= SEQUENCE {
  attributeID     AttributeID,
  measure         Measure OPTIONAL,
  description     Description,
  minimumMeasure  MinimumMeasure OPTIONAL,
  maximumMeasure  MaximumMeasure OPTIONAL}

Item ::= ItemType

ItemType ::= SEQUENCE {
  iD                               ID,
  description                      Description OPTIONAL,
  packQuantity                     PackQuantity OPTIONAL,
  packSizeQuantity                 PackSizeQuantity OPTIONAL,
  fromCatalogIndicator             FromCatalogIndicator OPTIONAL,
  buyersItemIdentification         BuyersItemIdentification OPTIONAL,
  sellersItemIdentification        SellersItemIdentification OPTIONAL,
  manufacturersItemIdentification  ManufacturersItemIdentification OPTIONAL,
  standardItemIdentification       StandardItemIdentification OPTIONAL,
  catalogueItemIdentification      CatalogueItemIdentification OPTIONAL,
  referencedCatalogue              ReferencedCatalogue OPTIONAL,
  originCountry                    OriginCountry OPTIONAL,
  commodityClassification          CommodityClassification OPTIONAL,
  salesConditions-list             SEQUENCE OF salesConditions SalesConditions,
  hazardousItem-list               SEQUENCE OF hazardousItem HazardousItem,
  tax-list                         SEQUENCE OF tax Tax,
  basePrice-list
    SEQUENCE (SIZE (1..MAX)) OF basePrice BasePrice}

JurisdictionAddress ::= JurisdictionAddressType

JurisdictionAddressType ::= SEQUENCE {
  iD                     ID,
  postbox                Postbox OPTIONAL,
  building               Building OPTIONAL,
  floor                  Floor OPTIONAL,
  room                   Room OPTIONAL,
  street                 Street OPTIONAL,
  additionalStreet       AdditionalStreet OPTIONAL,
  houseName              HouseName OPTIONAL,
  houseNumber            HouseNumber OPTIONAL,
  inhouseMail            InhouseMail OPTIONAL,
  department             Department OPTIONAL,
  cityName               CityName OPTIONAL,
  postalZone             PostalZone OPTIONAL,
  countrySub-Entity      CountrySub-Entity OPTIONAL,
  countrySub-EntityCode  CountrySub-EntityCode OPTIONAL,
  region                 Region OPTIONAL,
  district               District OPTIONAL,
  timezoneOffsetMeasure  TimezoneOffsetMeasure OPTIONAL,
  country                Country OPTIONAL}

Language ::= LanguageType

LanguageType ::= SEQUENCE {
  iD          ID,
  name        Name OPTIONAL,
  localeCode  LocaleCode OPTIONAL}

LegalTotals ::= LegalTotalsType

LegalTotalsType ::= SEQUENCE {
  lineExtensionTotalAmount  LineExtensionTotalAmount,
  toBePaidTotalAmount       ToBePaidTotalAmount}

LocationCoordinates ::= LocationCoordinatesType

LocationCoordinatesType ::= SEQUENCE {
  coordinateSystemCode     CoordinateSystemCode OPTIONAL,
  latitudeDegreesMeasure   LatitudeDegreesMeasure OPTIONAL,
  latitudeMinutesMeasure   LatitudeMinutesMeasure OPTIONAL,
  latitudeDirectionCode    LatitudeDirectionCode OPTIONAL,
  longitudeDegreesMeasure  LongitudeDegreesMeasure OPTIONAL,
  longitudeMinutesMeasure  LongitudeMinutesMeasure OPTIONAL,
  longitudeDirectionCode   LongitudeDirectionCode OPTIONAL}

ManufacturersItemIdentification ::= ManufacturersItemIdentificationType

ManufacturersItemIdentificationType ::= SEQUENCE {
  iD                      ID,
  extension               Extension OPTIONAL,
  physicalAttribute-list  SEQUENCE OF physicalAttribute PhysicalAttribute,
  itemMeasurement-list    SEQUENCE OF itemMeasurement ItemMeasurement}

OrderContact ::= OrderContactType

OrderContactType ::= SEQUENCE {
  iD      ID,
  name    Name OPTIONAL,
  phone   Phone OPTIONAL,
  fax     Fax OPTIONAL,
  e-Mail  E-Mail OPTIONAL}

OrderLine ::= OrderLineType

OrderLineType ::= SEQUENCE {
  buyersID                     BuyersID,
  sellersID                    SellersID OPTIONAL,
  lineExtensionAmount          LineExtensionAmount OPTIONAL,
  quantity                     Quantity OPTIONAL,
  minimumQuantity              MinimumQuantity OPTIONAL,
  maximumQuantity              MaximumQuantity OPTIONAL,
  maximumBackorderQuantity     MaximumBackorderQuantity OPTIONAL,
  minimumBackorderQuantity     MinimumBackorderQuantity OPTIONAL,
  substitutionStatusCode       SubstitutionStatusCode OPTIONAL,
  destinationParty             DestinationParty OPTIONAL,
  item                         Item,
  deliveryRequirement          DeliveryRequirement,
  orderedShipment-list         SEQUENCE OF orderedShipment OrderedShipment,
  allowanceCharge-list         SEQUENCE OF allowanceCharge AllowanceCharge,
  basePrice                    BasePrice OPTIONAL,
  alternativeOrderLine-list
    SEQUENCE OF alternativeOrderLine AlternativeOrderLine,
  substituteForOrderLine-list
    SEQUENCE OF substituteForOrderLine SubstituteForOrderLine}

OrderedPackage ::= OrderedPackageType

OrderedPackageType ::= SEQUENCE {
  iD                           ID,
  quantity                     Quantity OPTIONAL,
  returnableMaterialIndicator  ReturnableMaterialIndicator OPTIONAL,
  containedPackage             ContainedPackage OPTIONAL}

OrderedShipment ::= OrderedShipmentType

OrderedShipmentType ::= SEQUENCE {
  iD                       ID,
  serviceLevelCode         ServiceLevelCode OPTIONAL,
  handlingInstructions     HandlingInstructions OPTIONAL,
  handlingTypeCode         HandlingTypeCode OPTIONAL,
  handlingCode             HandlingCode OPTIONAL,
  information              Information OPTIONAL,
  grossWeightMeasure       GrossWeightMeasure OPTIONAL,
  netWeightMeasure         NetWeightMeasure OPTIONAL,
  netNetWeightMeasure      NetNetWeightMeasure OPTIONAL,
  grossVolumeMeasure       GrossVolumeMeasure OPTIONAL,
  netVolumeMeasure         NetVolumeMeasure OPTIONAL,
  transportContract        TransportContract OPTIONAL,
  allowanceCharge-list     SEQUENCE OF allowanceCharge AllowanceCharge,
  shipmentStage-list       SEQUENCE OF shipmentStage ShipmentStage,
  transportEquipment-list  SEQUENCE OF transportEquipment TransportEquipment,
  orderedPackage-list      SEQUENCE OF orderedPackage OrderedPackage}

OriginCountry ::= OriginCountryType

OriginCountryType ::= SEQUENCE {code  Code OPTIONAL}

PartyName ::= PartyNameType

PartyNameType ::= SEQUENCE {name  Name}

PartyTaxScheme ::= PartyTaxSchemeType

PartyTaxSchemeType ::= SEQUENCE {
  registrationName       RegistrationName OPTIONAL,
  companyTaxID           CompanyTaxID OPTIONAL,
  companyRegistrationID  CompanyRegistrationID OPTIONAL,
  taxLevelCode           TaxLevelCode OPTIONAL,
  exemptionReasonCode    ExemptionReasonCode OPTIONAL,
  registrationAddress    RegistrationAddress OPTIONAL,
  taxScheme              TaxScheme}

PayeeFinancialAccount ::= PayeeFinancialAccountType

PayeeFinancialAccountType ::= SEQUENCE {
  iD            ID,
  accountName   AccountName OPTIONAL,
  typeCode      TypeCode,
  currencyCode  CurrencyCode OPTIONAL,
  fiBranch      FiBranch,
  country       Country OPTIONAL}

PayerFinancialAccount ::= PayerFinancialAccountType

PayerFinancialAccountType ::= SEQUENCE {
  iD            ID,
  accountName   AccountName OPTIONAL,
  typeCode      TypeCode,
  currencyCode  CurrencyCode OPTIONAL,
  fiBranch      FiBranch,
  country       Country OPTIONAL}

PaymentMeans ::= PaymentMeansType

PaymentMeansType ::= SEQUENCE {
  typeCodeID             TypeCodeID,
  paymentDueDate         PaymentDueDate OPTIONAL,
  paymentChannelCode     PaymentChannelCode OPTIONAL,
  cardAccount            CardAccount OPTIONAL,
  payerFinancialAccount  PayerFinancialAccount OPTIONAL,
  payeeFinancialAccount  PayeeFinancialAccount OPTIONAL,
  creditAccount          CreditAccount OPTIONAL}

PaymentTerms ::= PaymentTermsType

PaymentTermsType ::= SEQUENCE {
  iD                             ID,
  note                           Note,
  fromEventCode                  FromEventCode OPTIONAL,
  settlementDiscountRateNumeric  SettlementDiscountRateNumeric OPTIONAL,
  penaltySurchargeRateNumeric    PenaltySurchargeRateNumeric OPTIONAL,
  settlementPeriod               SettlementPeriod OPTIONAL,
  penaltyPeriod                  PenaltyPeriod OPTIONAL}

Payment ::= PaymentType

PaymentType ::= SEQUENCE {
  iD            ID OPTIONAL,
  paidAmount    PaidAmount OPTIONAL,
  receivedDate  ReceivedDate OPTIONAL,
  paymentMeans  PaymentMeans}

PenaltyPeriod ::= PenaltyPeriodType

PenaltyPeriodType ::= SEQUENCE {
  startDateTime         StartDateTime OPTIONAL,
  endDateTime           EndDateTime OPTIONAL,
  durationMeasure       DurationMeasure OPTIONAL,
  descriptionCode-list  SEQUENCE OF descriptionCode DescriptionCode}

PhysicalAttribute ::= PhysicalAttributeType

PhysicalAttributeType ::= SEQUENCE {
  attributeID    AttributeID,
  positionCode   PositionCode OPTIONAL,
  descriptionID  DescriptionID OPTIONAL,
  description    Description OPTIONAL}

Quote ::= QuoteType

QuoteType ::= SEQUENCE {iD         ID,
                        issueDate  IssueDate OPTIONAL}

ReceiptLine ::= ReceiptLineType

ReceiptLineType ::= SEQUENCE {
  iD                               ID,
  receivedQuantity                 ReceivedQuantity,
  shortQuantity                    ShortQuantity OPTIONAL,
  shortageActionCode               ShortageActionCode OPTIONAL,
  rejectedQuantity                 RejectedQuantity OPTIONAL,
  rejectReasonCode                 RejectReasonCode OPTIONAL,
  rejectActionCode                 RejectActionCode OPTIONAL,
  receivedDate                     ReceivedDate,
  timingComplaintCode              TimingComplaintCode OPTIONAL,
  deliverySchedule                 DeliverySchedule,
  referencedTransportHandlingUnit  ReferencedTransportHandlingUnit}

ReceivedTransportHandlingUnit ::= ReceivedTransportHandlingUnitType

ReceivedTransportHandlingUnitType ::= SEQUENCE {
  iD                            ID,
  typeCode                      TypeCode,
  handlingUnitReceiptLine-list
    SEQUENCE (SIZE (1..MAX)) OF handlingUnitReceiptLine HandlingUnitReceiptLine}

ReferencedCatalogue ::= ReferencedCatalogueType

ReferencedCatalogueType ::= SEQUENCE {
  catalogueID         CatalogueID,
  catalogueIssueDate  CatalogueIssueDate OPTIONAL}

ReferencedDespatchAdvice ::= ReferencedDespatchAdviceType

ReferencedDespatchAdviceType ::= SEQUENCE {iD         ID,
                                           issueDate  IssueDate}

ReferencedDespatchLine ::= ReferencedDespatchLineType

ReferencedDespatchLineType ::= SEQUENCE {
  lineidID            LineidID,
  orderLineID-list    SEQUENCE (SIZE (1..MAX)) OF orderLineID OrderLineID,
  despatchedQuantity  DespatchedQuantity,
  toFollowQuantity    ToFollowQuantity OPTIONAL,
  toFollowActionCode  ToFollowActionCode OPTIONAL}

ReferencedOrderLine ::= ReferencedOrderLineType

ReferencedOrderLineType ::= SEQUENCE {
  buyersID                  BuyersID,
  sellersID                 SellersID,
  lineExtensionAmount       LineExtensionAmount OPTIONAL,
  quantity                  Quantity OPTIONAL,
  minimumQuantity           MinimumQuantity OPTIONAL,
  maximumQuantity           MaximumQuantity OPTIONAL,
  maximumBackorderQuantity  MaximumBackorderQuantity OPTIONAL,
  minimumBackorderQuantity  MinimumBackorderQuantity OPTIONAL,
  substitutionStatusCode    SubstitutionStatusCode OPTIONAL,
  destinationParty          DestinationParty OPTIONAL,
  item                      Item,
  deliveryRequirement       DeliveryRequirement,
  orderedShipment-list      SEQUENCE OF orderedShipment OrderedShipment,
  allowanceCharge-list      SEQUENCE OF allowanceCharge AllowanceCharge,
  basePrice                 BasePrice OPTIONAL,
  replacedOrderLine         ReplacedOrderLine OPTIONAL}

ReferencedOrder ::= ReferencedOrderType

ReferencedOrderType ::= SEQUENCE {
  buyersOrderID   BuyersOrderID,
  sellersOrderID  SellersOrderID,
  issueDate       IssueDate}

ReferencedReceiptAdvice ::= ReferencedReceiptAdviceType

ReferencedReceiptAdviceType ::= SEQUENCE {iD         ID,
                                          issueDate  IssueDate}

ReferencedReceiptLine ::= ReferencedReceiptLineType

ReferencedReceiptLineType ::= SEQUENCE {iD  ID}

ReferencedTransportHandlingUnit ::= ReferencedTransportHandlingUnitType

ReferencedTransportHandlingUnitType ::= SEQUENCE {iD  ID}

RegistrationAddress ::= RegistrationAddressType

RegistrationAddressType ::= SEQUENCE {
  iD                     ID,
  postbox                Postbox OPTIONAL,
  building               Building OPTIONAL,
  floor                  Floor OPTIONAL,
  room                   Room OPTIONAL,
  street                 Street OPTIONAL,
  additionalStreet       AdditionalStreet OPTIONAL,
  houseName              HouseName OPTIONAL,
  houseNumber            HouseNumber OPTIONAL,
  inhouseMail            InhouseMail OPTIONAL,
  department             Department OPTIONAL,
  cityName               CityName OPTIONAL,
  postalZone             PostalZone OPTIONAL,
  countrySub-Entity      CountrySub-Entity OPTIONAL,
  countrySub-EntityCode  CountrySub-EntityCode OPTIONAL,
  region                 Region OPTIONAL,
  district               District OPTIONAL,
  timezoneOffsetMeasure  TimezoneOffsetMeasure OPTIONAL,
  country                Country OPTIONAL}

ReplacedOrderLine ::= ReplacedOrderLineType

ReplacedOrderLineType ::= SEQUENCE {
  buyersID                  BuyersID,
  lineExtensionAmount       LineExtensionAmount OPTIONAL,
  quantity                  Quantity OPTIONAL,
  minimumQuantity           MinimumQuantity OPTIONAL,
  maximumQuantity           MaximumQuantity OPTIONAL,
  maximumBackorderQuantity  MaximumBackorderQuantity OPTIONAL,
  minimumBackorderQuantity  MinimumBackorderQuantity OPTIONAL,
  substitutionStatusCode    SubstitutionStatusCode OPTIONAL,
  item                      Item,
  deliveryRequirement       DeliveryRequirement,
  allowanceCharge-list      SEQUENCE OF allowanceCharge AllowanceCharge,
  basePrice                 BasePrice OPTIONAL}

SalesConditions ::= SalesConditionsType

SalesConditionsType ::= SEQUENCE {
  conditionID  ConditionID,
  actionCode   ActionCode OPTIONAL,
  description  Description OPTIONAL}

SecondaryHazards ::= SecondaryHazardsType

SecondaryHazardsType ::= SEQUENCE {
  code       Code,
  extension  Extension OPTIONAL}

SellerParty ::= SellerPartyType

SellerPartyType ::= SEQUENCE {
  iD                   ID,
  partyName-list       SEQUENCE OF partyName PartyName,
  address-list         SEQUENCE OF address Address,
  partyTaxScheme-list  SEQUENCE OF partyTaxScheme PartyTaxScheme,
  shippingContact      ShippingContact OPTIONAL,
  orderContact         OrderContact OPTIONAL}

SellersItemIdentification ::= SellersItemIdentificationType

SellersItemIdentificationType ::= SEQUENCE {
  iD                      ID,
  extension               Extension OPTIONAL,
  physicalAttribute-list  SEQUENCE OF physicalAttribute PhysicalAttribute,
  itemMeasurement-list    SEQUENCE OF itemMeasurement ItemMeasurement}

SendFromAddress ::= SendFromAddressType

SendFromAddressType ::= SEQUENCE {
  iD                        ID,
  postbox                   Postbox OPTIONAL,
  building                  Building OPTIONAL,
  floor                     Floor OPTIONAL,
  room                      Room OPTIONAL,
  street                    Street OPTIONAL,
  additionalStreet          AdditionalStreet OPTIONAL,
  houseName                 HouseName OPTIONAL,
  houseNumber               HouseNumber OPTIONAL,
  inhouseMail               InhouseMail OPTIONAL,
  department                Department OPTIONAL,
  cityName                  CityName OPTIONAL,
  postalZone                PostalZone OPTIONAL,
  countrySub-Entity         CountrySub-Entity OPTIONAL,
  countrySub-EntityCode     CountrySub-EntityCode OPTIONAL,
  region                    Region OPTIONAL,
  district                  District OPTIONAL,
  timezoneOffsetMeasure     TimezoneOffsetMeasure OPTIONAL,
  country                   Country OPTIONAL,
  locationCoordinates-list  SEQUENCE OF locationCoordinates LocationCoordinates}

SettlementPeriod ::= SettlementPeriodType

SettlementPeriodType ::= SEQUENCE {
  startDateTimeDate     StartDateTimeDate OPTIONAL,
  endDateTimeDate       EndDateTimeDate OPTIONAL,
  durationMeasure       DurationMeasure OPTIONAL,
  descriptionCode-list  SEQUENCE OF descriptionCode DescriptionCode}

ShipmentStage ::= ShipmentStageType

ShipmentStageType ::= SEQUENCE {
  stageID                 StageID,
  transportModeCode       TransportModeCode OPTIONAL,
  transportMeansTypeCode  TransportMeansTypeCode OPTIONAL,
  transitDirectionCode    TransitDirectionCode OPTIONAL,
  transitPeriod           TransitPeriod OPTIONAL}

ShippingContact ::= ShippingContactType

ShippingContactType ::= SEQUENCE {
  iD      ID,
  name    Name OPTIONAL,
  phone   Phone OPTIONAL,
  fax     Fax OPTIONAL,
  e-Mail  E-Mail OPTIONAL}

StandardItemIdentification ::= StandardItemIdentificationType

StandardItemIdentificationType ::= SEQUENCE {
  iD                      ID,
  extension               Extension OPTIONAL,
  physicalAttribute-list  SEQUENCE OF physicalAttribute PhysicalAttribute,
  itemMeasurement-list    SEQUENCE OF itemMeasurement ItemMeasurement}

SubstituteForOrderLine ::= SubstituteForOrderLineType

SubstituteForOrderLineType ::= SEQUENCE {
  buyersID                BuyersID,
  quantity                Quantity OPTIONAL,
  substitutionStatusCode  SubstitutionStatusCode OPTIONAL,
  item                    Item}

TaxAmounts ::= TaxAmountsType

TaxAmountsType ::= SEQUENCE {
  taxableAmount  TaxableAmount,
  taxAmount      TaxAmount}

TaxScheme ::= TaxSchemeType

TaxSchemeType ::= SEQUENCE {
  iD                   ID,
  currencyCode         CurrencyCode OPTIONAL,
  jurisdictionAddress  JurisdictionAddress OPTIONAL}

TaxTotal ::= TaxTotalType

TaxTotalType ::= SEQUENCE {
  taxTypeCode    TaxTypeCode,
  taxAmounts     TaxAmounts,
  categoryTotal  CategoryTotal}

Tax ::= TaxType

TaxType ::= SEQUENCE {
  rateCategoryCodeID  RateCategoryCodeID,
  typeCode            TypeCode,
  ratePercentNumeric  RatePercentNumeric OPTIONAL,
  taxScheme           TaxScheme}

TransitPeriod ::= TransitPeriodType

TransitPeriodType ::= SEQUENCE {
  startDateTimeDate     StartDateTimeDate OPTIONAL,
  endDateTimeDate       EndDateTimeDate OPTIONAL,
  durationMeasure       DurationMeasure OPTIONAL,
  descriptionCode-list  SEQUENCE OF descriptionCode DescriptionCode}

TransportContract ::= TransportContractType

TransportContractType ::= SEQUENCE {
  iD              ID,
  issueDate       IssueDate OPTIONAL,
  typeCode        TypeCode OPTIONAL,
  validityPeriod  ValidityPeriod OPTIONAL}

TransportEquipmentMeasurement ::= TransportEquipmentMeasurementType

TransportEquipmentMeasurementType ::= SEQUENCE {
  attributeID         AttributeID,
  measure             Measure OPTIONAL,
  description         Description,
  minimumMeasure      MinimumMeasure OPTIONAL,
  maximumMeasure      MaximumMeasure OPTIONAL,
  transportEquipment  TransportEquipment}

TransportEquipmentSeal ::= TransportEquipmentSealType

TransportEquipmentSealType ::= SEQUENCE {
  iD                   ID,
  issuerPartyTypeCode  IssuerPartyTypeCode OPTIONAL,
  condition            Condition OPTIONAL,
  statusCode           StatusCode OPTIONAL}

TransportEquipment ::= TransportEquipmentType

TransportEquipmentType ::= SEQUENCE {
  iD                                  ID,
  providerTypeCode                    ProviderTypeCode OPTIONAL,
  ownerPartyTypeCode                  OwnerPartyTypeCode OPTIONAL,
  sizeTypeCode                        SizeTypeCode OPTIONAL,
  dispositionCode                     DispositionCode OPTIONAL,
  fullnessIndicatorCode               FullnessIndicatorCode OPTIONAL,
  refrigerationStatusIndicator        RefrigerationStatusIndicator OPTIONAL,
  information                         Information OPTIONAL,
  transportEquipmentMeasurement-list
    SEQUENCE OF transportEquipmentMeasurement TransportEquipmentMeasurement,
  transportEquipmentSeal-list
    SEQUENCE OF transportEquipmentSeal TransportEquipmentSeal}

ValidityPeriod ::= ValidityPeriodType

ValidityPeriodType ::= SEQUENCE {
  startDateTimeDate     StartDateTimeDate OPTIONAL,
  endDateTimeDate       EndDateTimeDate OPTIONAL,
  durationMeasure       DurationMeasure OPTIONAL,
  descriptionCode-list  SEQUENCE OF descriptionCode DescriptionCode}

AccountCode ::= CodeType

AccountName ::= NameType

ActionCode ::= CodeType

AdditionalInformation ::= TextType

AdditionalStreet ::= TextType

AttributeID ::= IdentifierType

BaseQuantity ::= QuantityType

Building ::= TextType

BuyersID ::= IdentifierType

BuyersOrderID ::= IdentifierType

CalculationRateNumeric ::= NumericType

CargoTypeCode ::= CodeType

CatalogueID ::= IdentifierType

CatalogueIssueDate ::= DateType

ChargeIndicator ::= IndicatorType

ChipApplicationID ::= IdentifierType

ChipIndicator ::= IndicatorType

CityName ::= NameType

Code ::= CodeType

CommodityCode ::= CodeType

CompanyRegistrationID ::= IdentifierType

CompanyTaxID ::= IdentifierType

Condition ::= TextType

ConditionID ::= IdentifierType

CoordinateSystemCode ::= CodeType

CountrySub-Entity ::= TextType

CountrySub-EntityCode ::= CodeType

CurrencyCode ::= CodeType

CustomerCode ::= CodeType

Cv2 ::= TextType

Date ::= DateType

DeliveredQuantity ::= QuantityType

Department ::= TextType

Description ::= TextType

DescriptionCode ::= CodeType

DescriptionID ::= IdentifierType

DespatchedQuantity ::= QuantityType

DispositionCode ::= CodeType

District ::= TextType

DurationMeasure ::= MeasureType

E-Mail ::= TextType

EmergencyProceduresCode ::= CodeType

EmergencyTemperatureMeasure ::= MeasureType

EmsNumberCode ::= CodeType

EndDateTime ::= DateTimeType

EndDateTimeDate ::= DateType

ExchangeMarketID ::= IdentifierType

ExemptionReasonCode ::= CodeType

ExpiryDate ::= DateType

Extension ::= TextType

Fax ::= TextType

FlashpointMeasure ::= MeasureType

Floor ::= TextType

FromCatalogIndicator ::= IndicatorType

FromEventCode ::= CodeType

FullnessIndicatorCode ::= CodeType

GrossVolumeMeasure ::= MeasureType

GrossWeightMeasure ::= MeasureType

HandlingCode ::= CodeType

HandlingInstructions ::= TextType

HandlingTypeCode ::= CodeType

Holder ::= TextType

HouseName ::= NameType

HouseNumber ::= TextType

ID ::= IdentifierType

Information ::= TextType

InhalationToxicityZoneCode ::= CodeType

InhouseMail ::= TextType

InvoicedQuantity ::= QuantityType

IssueDate ::= DateType

IssueNumberCode ::= CodeType

IssuerID ::= IdentifierType

IssuerPartyTypeCode ::= CodeType

LatitudeDegreesMeasure ::= MeasureType

LatitudeDirectionCode ::= CodeType

LatitudeMinutesMeasure ::= MeasureType

LineExtensionAmount ::= AmountType

LineExtensionTotalAmount ::= AmountType

LineID ::= IdentifierType

LineidID ::= IdentifierType

LocaleCode ::= CodeType

LongitudeDegreesMeasure ::= MeasureType

LongitudeDirectionCode ::= CodeType

LongitudeMinutesMeasure ::= MeasureType

LossRisk ::= TextType

MaximumAmount ::= AmountType

MaximumBackorderQuantity ::= QuantityType

MaximumMeasure ::= MeasureType

MaximumQuantity ::= QuantityType

MaximumTransportTemperatureMeasure ::= MeasureType

Measure ::= MeasureType

MedicalFirstAidGuideCode ::= CodeType

MinimumAmount ::= AmountType

MinimumBackorderQuantity ::= QuantityType

MinimumMeasure ::= MeasureType

MinimumQuantity ::= QuantityType

MinimumTransportTemperatureMeasure ::= MeasureType

MultiplierFactorQuantity ::= QuantityType

MultiplierReasonCode ::= CodeType

Name ::= NameType

NatureCode ::= CodeType

NetNetWeightMeasure ::= MeasureType

NetVolumeMeasure ::= MeasureType

NetWeightMeasure ::= MeasureType

Note ::= TextType

OrderLineID ::= IdentifierType

OwnerPartyTypeCode ::= CodeType

PackQuantity ::= QuantityType

PackSizeQuantity ::= QuantityType

PackingCriteriaCode ::= CodeType

PaidAmount ::= AmountType

PaymentChannelCode ::= CodeType

PaymentDueDate ::= DateType

PenaltySurchargeRateNumeric ::= NumericType

Phone ::= TextType

PlacardEndorsement ::= TextType

PlacardNotation ::= TextType

PositionCode ::= CodeType

PostalZone ::= TextType

Postbox ::= TextType

Pre-PaidCollectIndicator ::= IndicatorType

PriceAmount ::= AmountType

PrimaryAccountNumberID ::= IdentifierType

PromisedByDate ::= DateType

ProviderTypeCode ::= CodeType

Quantity ::= QuantityType

RateCategoryCodeID ::= IdentifierType

RatePercentNumeric ::= NumericType

ReceivedDate ::= DateType

ReceivedDateDateTime ::= DateTimeType

ReceivedQuantity ::= QuantityType

RefrigerationStatusIndicator ::= IndicatorType

Region ::= TextType

RegistrationName ::= NameType

RegulationCode ::= CodeType

RejectActionCode ::= CodeType

RejectReasonCode ::= CodeType

RejectedQuantity ::= QuantityType

RelevantLocation ::= TextType

RequestedDeliveryDate ::= DateType

ReturnableMaterialIndicator ::= IndicatorType

RiskResponsibilityCode ::= CodeType

Room ::= TextType

SellersID ::= IdentifierType

SellersOrderID ::= IdentifierType

SequenceValueNumeric ::= NumericType

ServiceLevelCode ::= CodeType

ServicelevelCode ::= CodeType

SettlementDiscountRateNumeric ::= NumericType

ShortQuantity ::= QuantityType

ShortageActionCode ::= CodeType

SizeTypeCode ::= CodeType

SourceCurrencyBaseAmount ::= AmountType

SourceCurrencyCode ::= CodeType

SpecialTerms ::= TextType

StageID ::= IdentifierType

StartDateTime ::= DateTimeType

StartDateTimeDate ::= DateType

StatusCode ::= CodeType

Street ::= TextType

SubstitutionStatusCode ::= CodeType

TargetCurrencyBaseAmount ::= AmountType

TargetCurrencyCode ::= CodeType

TaxAmount ::= AmountType

TaxLevelCode ::= CodeType

TaxTypeCode ::= CodeType

TaxableAmount ::= AmountType

TechnicalName ::= NameType

TemperatureMeasure ::= MeasureType

TimezoneOffsetMeasure ::= TextType

TimingComplaintCode ::= CodeType

ToBePaidTotalAmount ::= AmountType

ToFollowActionCode ::= CodeType

ToFollowQuantity ::= QuantityType

ToFollowReason ::= TextType

TofollowQuantity ::= QuantityType

TofollowReason ::= TextType

TransitDirectionCode ::= CodeType

TransportEmergencyCardCode ::= CodeType

TransportMeansTypeCode ::= CodeType

TransportModeCode ::= CodeType

TypeCode ::= CodeType

TypeCodeID ::= IdentifierType

UndgCode ::= CodeType

/*
ENCODING-CONTROL XER
    NAME ALL IN ALL AS CAPITALIZED
    NAME ALL.* IN AS CPAITALIZED
    UNTAGGED SEQUENCE OF
*/
END