-- Generated by Asnp, the pretty-printer of France Telecom R&D
-- Generated by xsd2asn1, the XML Schema to ASN.1 translator by France Telecom R&D
UBLOrder-0p64 DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

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

OrderType ::= SEQUENCE {
  header    OrderHeaderType,
  lineItem  --UNTAGGED-- SEQUENCE OF lineItem LineItemType,
  summary   OrderSummaryType OPTIONAL}

OrderHeaderType ::= SEQUENCE {
  issueDateTime                DateTimeType,
  identifier
    --UNTAGGED-- SEQUENCE OF identifier IdentifierType,
  buyerIdentifier              IdentifierType OPTIONAL,
  sellerIdentifier             IdentifierType OPTIONAL,
  buyerAccountId               IdentifierType OPTIONAL,
  quote                        --UNTAGGED-- SEQUENCE OF quote QuoteType,
  contract                     --UNTAGGED-- SEQUENCE OF contract ContractType,
  otherReference
    --UNTAGGED-- SEQUENCE OF otherReference IdentifierType,
  release                      TextType OPTIONAL,
  acknowledgementResponseCode  CodeType OPTIONAL,
  typeCode                     CodeType OPTIONAL,
  currencyCode                 CodeType OPTIONAL,
  taxCurrencyCode              CodeType OPTIONAL,
  language                     LanguageType,
  taxLevelCode                 CodeType OPTIONAL,
  requestShipmentDateTime      DateTimeType OPTIONAL,
  requestDeliveryDateTime      DateTimeType OPTIONAL,
  promisedByDateTime           DateTimeType OPTIONAL,
  validity                     PeriodType OPTIONAL,
  cancelledByDateTime          DateTimeType OPTIONAL,
  otherDateTime
    --UNTAGGED-- SEQUENCE OF otherDateTime DateTimeType,
  buyerParty                   PartyType,
  sellerParty                  PartyType,
  consigneeParty               PartyType OPTIONAL,
  invoiceeParty                PartyType OPTIONAL,
  invoicerParty                PartyType OPTIONAL,
  despatchParty                PartyType OPTIONAL,
  warehouseParty               PartyType OPTIONAL,
  salesLocationParty           PartyType OPTIONAL,
  manufacturerParty            PartyType OPTIONAL,
  materialIssuerParty          PartyType OPTIONAL,
  otherParty                   --UNTAGGED-- SEQUENCE OF otherParty PartyType,
  warehouseLocation            LocationType OPTIONAL,
  shipment                     --UNTAGGED-- SEQUENCE OF shipment ShipmentType,
  deliveryTerms                DeliveryTermsType OPTIONAL,
  defaultPricing               PricingType OPTIONAL,
  paymentTerms
    --UNTAGGED-- SEQUENCE OF paymentTerms PaymentTermsType,
  paymentTermsNote             NoteType OPTIONAL,
  overallDiscount
    --UNTAGGED-- SEQUENCE OF overallDiscount DiscountType,
  paymentMeans
    --UNTAGGED-- SEQUENCE OF paymentMeans PaymentMeansType,
  paymentVariation
    --UNTAGGED-- SEQUENCE OF paymentVariation PaymentVariationType,
  note                         --UNTAGGED-- SEQUENCE OF note NoteType}

OrderSummaryType ::= SEQUENCE {
  lineItemCountValue           NumericType OPTIONAL,
  taxAmount                    AmountType OPTIONAL,
  taxExchangeRate              ExchangeRateType OPTIONAL,
  priceAmount                  AmountType OPTIONAL,
  priceExchangeRate            ExchangeRateType OPTIONAL,
  packageQuantity              QuantityType OPTIONAL,
  levelId                      IdentifierType OPTIONAL,
  topLevelPackageQuantity      QuantityType OPTIONAL,
  shipmentGrossWeightMeasure   MeasureType OPTIONAL,
  shipmentNetWeightMeasure     MeasureType OPTIONAL,
  shipmentNetNetWeightMeasure  MeasureType OPTIONAL,
  shipmentTareWeightMeasure    MeasureType OPTIONAL,
  shipmentVolumeMeasure        MeasureType OPTIONAL,
  summaryNote                  NoteType OPTIONAL}

Order ::= OrderType

PartyType ::= SEQUENCE {
  identifier                   IdentifierType,
  languageDependencyIndicator  IndicatorType OPTIONAL,
  language                     LanguageType OPTIONAL,
  name                         TextType,
  additionalName               --UNTAGGED-- SEQUENCE OF additionalName TextType,
  address                      AddressType OPTIONAL,
  receivingContact             ContactType OPTIONAL,
  shippingContact              ContactType OPTIONAL,
  orderingContact              ContactType OPTIONAL,
  contact                      ContactType OPTIONAL,
  tax                          TaxSchemeType OPTIONAL}

LanguageType ::= SEQUENCE {
  identificationCode  CodeType,
  name                TextType OPTIONAL,
  localeCode          CodeType OPTIONAL}

AddressType ::= SEQUENCE {
  identifier                 IdentifierType OPTIONAL,
  houseName                  TextType OPTIONAL,
  houseId                    IdentifierType OPTIONAL,
  postboxId                  IdentifierType OPTIONAL,
  streetName                 TextType OPTIONAL,
  additionalStreet           TextType OPTIONAL,
  buildingId                 IdentifierType OPTIONAL,
  roomId                     IdentifierType OPTIONAL,
  inhouseMailId              IdentifierType OPTIONAL,
  departmentName             TextType OPTIONAL,
  postalZoneId               IdentifierType OPTIONAL,
  countrySub-entityName      TextType OPTIONAL,
  countrySub-entityCode      CodeType OPTIONAL,
  regionName                 TextType OPTIONAL,
  districtName               TextType OPTIONAL,
  floorId                    IdentifierType OPTIONAL,
  cityName                   TextType OPTIONAL,
  categoryId                 IdentifierType OPTIONAL,
  countryIdentificationCode  CodeType OPTIONAL,
  timeZoneOffsetMeasure      MeasureType OPTIONAL}

ContactType ::= SEQUENCE {
  name           TextType,
  identifier     IdentifierType OPTIONAL,
  communication  --UNTAGGED-- SEQUENCE OF communication CommunicationType}

CommunicationType ::= SEQUENCE {
  value      TextType,
  channelId  IdentifierType OPTIONAL}

LocationType ::= SEQUENCE {
  identifier      IdentifierType OPTIONAL,
  name            TextType,
  additionalName  --UNTAGGED-- SEQUENCE OF additionalName TextType,
  address         AddressType OPTIONAL,
  coordinates     CoordinatesType OPTIONAL}

CoordinatesType ::= SEQUENCE {
  systemId          IdentifierType,
  latitudeMeasure   MeasureType,
  longitudeMeasure  MeasureType}

ShipmentType ::= SEQUENCE {
  stageId             IdentifierType,
  transportModeId     IdentifierType OPTIONAL,
  transportMeansId    IdentifierType OPTIONAL,
  carrierId           IdentifierType OPTIONAL,
  contractId          IdentifierType OPTIONAL,
  serviceLevelId      IdentifierType OPTIONAL,
  instructions        TextType OPTIONAL,
  transportEquipment
    --UNTAGGED-- SEQUENCE OF transportEquipment TransportEquipmentType,
  directionId         IdentifierType OPTIONAL,
  transit             PeriodType OPTIONAL,
  information         TextType OPTIONAL}

TransportEquipmentType ::= SEQUENCE {
  identifier                     IdentifierType OPTIONAL,
  providerTypeId                 IdentifierType OPTIONAL,
  ownershipId                    IdentifierType OPTIONAL,
  sizeTypeCode                   CodeType OPTIONAL,
  dispositionId                  IdentifierType OPTIONAL,
  fullnessIndicatorCode          CodeType OPTIONAL,
  refridgerationStatusIndicator  IndicatorType OPTIONAL,
  information                    TextType OPTIONAL,
  seal                           --UNTAGGED-- SEQUENCE OF seal SealType,
  measurement
    --UNTAGGED-- SEQUENCE OF measurement MeasurementType}

SealType ::= SEQUENCE {
  identifier   IdentifierType,
  issuerCode   CodeType OPTIONAL,
  information  TextType OPTIONAL}

MeasurementType ::= SEQUENCE {
  measure         MeasureType OPTIONAL,
  miminumMeasure  MeasureType OPTIONAL,
  maximumMeasure  MeasureType OPTIONAL}

DeliveryTermsType ::= SEQUENCE {
  basisId               IdentifierType,
  identifier            IdentifierType OPTIONAL,
  paymentMethodId       IdentifierType,
  relevantLocation      LocationType OPTIONAL,
  specialTerms          TextType OPTIONAL,
  transportDescription  TextType OPTIONAL,
  riskResponsibilityId  IdentifierType OPTIONAL,
  lossRisk              TextType OPTIONAL}

PricingType ::= SEQUENCE {
  unitPriceAmount     AmountType,
  basisQuantity       QuantityType OPTIONAL,
  validityPeriod      PeriodType OPTIONAL,
  quantity            QuantityType OPTIONAL,
  minimumQuantity     QuantityType OPTIONAL,
  maximumQuantity     QuantityType OPTIONAL,
  multiplierReasonId  IdentifierType OPTIONAL,
  multiplierValue     NumericType OPTIONAL}

PaymentTermsType ::= SEQUENCE {
  identifier  IdentifierType,
  amount      AmountType OPTIONAL,
  discount    --UNTAGGED-- SEQUENCE OF discount DiscountType}

DiscountType ::= SEQUENCE {
  percent               NumericType OPTIONAL,
  amount                AmountType OPTIONAL,
  paymentDaysValue      ValueType OPTIONAL,
  paymentDate           DateTimeType OPTIONAL,
  eventId               IdentifierType OPTIONAL,
  fullPaymentDaysValue  ValueType OPTIONAL,
  fullPaymentDueDate    DateTimeType OPTIONAL,
  fullPaymentEventId    IdentifierType OPTIONAL}

PaymentMeansType ::= SEQUENCE {
  typeCode         CodeType,
  paymentId        IdentifierType OPTIONAL,
  paymentDateTime  DateTimeType OPTIONAL,
  paymentChannel   IdentifierType OPTIONAL,
  payerAccount     AccountType OPTIONAL,
  payeeAccount     AccountType OPTIONAL,
  creditCard       CreditCardType OPTIONAL}

AccountType ::= SEQUENCE {
  identifier                      IdentifierType OPTIONAL,
  financialInstitutionIdentifier  IdentifierType,
  financialInstitutionBranchName  TextType OPTIONAL,
  secondaryAccountId              IdentifierType OPTIONAL,
  controlId                       IdentifierType OPTIONAL,
  typeId                          IdentifierType,
  accountName                     TextType,
  secondaryAccountName            TextType OPTIONAL,
  currencyIdentificationCode      CodeType OPTIONAL,
  informationSource
    --UNTAGGED-- SEQUENCE OF informationSource InformationSourceType}

FinancialInstitutionType ::= SEQUENCE {
  identifier  IdentifierType,
  name        TextType OPTIONAL,
  branch      --UNTAGGED-- SEQUENCE OF branch BranchType}

BranchType ::= SEQUENCE {
  identifier               IdentifierType,
  name                     TextType OPTIONAL,
  cityName                 TextType OPTIONAL,
  countryIdenticationCode  CodeType OPTIONAL}

InformationSourceType ::= SEQUENCE {
  referenceTypeCode  CodeType,
  primaryLevel       TextType,
  secondaryLevel     TextType OPTIONAL,
  lowestLevel        TextType OPTIONAL,
  description        TextType OPTIONAL}

CreditCardType ::= SEQUENCE {
  identifier     IdentifierType,
  authorisation  TextType OPTIONAL,
  customerId     IdentifierType OPTIONAL,
  expiryDate     DateTimeType OPTIONAL,
  issuerId       IdentifierType OPTIONAL,
  holderName     TextType OPTIONAL}

TaxSchemeType ::= SEQUENCE {
  identifier           IdentifierType OPTIONAL,
  registrationName     TextType OPTIONAL,
  registrationAddress  AddressType OPTIONAL,
  taxLocation          LocationType OPTIONAL,
  companyTaxId         IdentifierType OPTIONAL}

QuoteType ::= SEQUENCE {
  identifier         IdentifierType,
  referenceDateTime  DateTimeType OPTIONAL}

ContractType ::= SEQUENCE {
  identifier  IdentifierType,
  typeCode    CodeType OPTIONAL,
  validity    PeriodType OPTIONAL}

PeriodType ::= SEQUENCE {
  startDateTime     DateTimeType OPTIONAL,
  endDateTime       DateTimeType OPTIONAL,
  durationDateTime  DateTimeType OPTIONAL,
  descriptionCode   --UNTAGGED-- SEQUENCE OF descriptionCode CodeType}

RequestType ::= SEQUENCE {
  identifier         IdentifierType,
  referenceDateTime  DateTimeType OPTIONAL}

ExchangeRateType ::= SEQUENCE {
  referenceCurrencyIdentificationCode  CodeType,
  targetCurrencyIdentificationCode     CodeType,
  exchangeMarketId                     IdentifierType OPTIONAL,
  calculationRate                      NumericType,
  inverseRate                          NumericType OPTIONAL,
  quoteDateTime                        DateTimeType OPTIONAL,
  request
    --UNTAGGED-- SEQUENCE OF request RequestType}

PaymentVariationType ::= SEQUENCE {
  serviceId                IdentifierType,
  service                  TextType,
  conditionId              IdentifierType,
  basisId                  IdentifierType OPTIONAL,
  settlementId             IdentifierType,
  validity                 PeriodType OPTIONAL,
  quantity                 QuantityType OPTIONAL,
  minimumQuantity          QuantityType OPTIONAL,
  maximumQuantity          QuantityType OPTIONAL,
  amount                   AmountType OPTIONAL,
  amountLimitLevelId       IdentifierType OPTIONAL,
  minimumApplicableAmount  AmountType OPTIONAL,
  maximumApplicableAmount  AmountType OPTIONAL,
  calculatedQuantity       QuantityType OPTIONAL,
  percentCalculation       PercentCalculationType OPTIONAL,
  lumpSumAmount            AmountType OPTIONAL,
  tax                      --UNTAGGED-- SEQUENCE OF tax TaxType,
  sequenceValue            NumericType}

QuantityCalculationType ::= SEQUENCE {
  quantity      QuantityType,
  rate          NumericType,
  amount        AmountType OPTIONAL,
  exchangeRate  ExchangeRateType OPTIONAL}

PercentCalculationType ::= SEQUENCE {
  basisId       IdentifierType,
  percent       NumericType,
  amount        AmountType,
  exchangeRate  ExchangeRateType OPTIONAL}

MonetaryAmountType ::= SEQUENCE {
  amount        AmountType,
  exchangeRate  ExchangeRateType OPTIONAL}

TaxType ::= SEQUENCE {
  contextCode                  CodeType,
  rateCategoryCode             CodeType,
  exemptReasonCode             CodeType OPTIONAL,
  typeCode                     CodeType,
  ratePercent                  NumericType OPTIONAL,
  paymentMeans                 PaymentMeansType OPTIONAL,
  invoiceCurrencyTaxAmount     TaxAmountType OPTIONAL,
  accountingCurrencyTaxAmount  TaxAmountType OPTIONAL,
  location                     LocationType OPTIONAL}

TaxAmountType ::= SEQUENCE {
  taxableAmount  AmountType OPTIONAL,
  taxAmount      AmountType}

NoteType ::= SEQUENCE {
  text                         TextType OPTIONAL,
  identifier                   IdentifierType OPTIONAL,
  universalResourceLocationId  IdentifierType OPTIONAL}

ItemType ::= SEQUENCE {
  buyerItemIdentifier                   ItemIdentifierType OPTIONAL,
  sellerItemIdentifier                  ItemIdentifierType OPTIONAL,
  manufacturerItemIdentifier            ItemIdentifierType OPTIONAL,
  standardItemIdentifier                ItemIdentifierType OPTIONAL,
  substituteItemIdentifier
    --UNTAGGED-- SEQUENCE OF substituteItemIdentifier ItemIdentifierType,
  itemIdentifier
    --UNTAGGED-- SEQUENCE OF itemIdentifier ItemIdentifierType,
  description                           TextType OPTIONAL,
  physicalAttribute
    --UNTAGGED-- SEQUENCE OF physicalAttribute PhysicalAttributeType,
  harmonisedSystemCode                  CodeType OPTIONAL,
  measurement
    --UNTAGGED-- SEQUENCE OF measurement MeasurementType,
  quantity                              QuantityType OPTIONAL,
  minimumQuantity                       QuantityType OPTIONAL,
  maximumQuantity                       QuantityType OPTIONAL,
  maximumBackorderQuantity              QuantityType OPTIONAL,
  fromCatalogIndicator                  IndicatorType OPTIONAL,
  informationSource
    --UNTAGGED-- SEQUENCE OF informationSource InformationSourceType,
  originCountryIdentificationCode       CodeType OPTIONAL,
  destinationCountryIdentificationCode  CodeType OPTIONAL,
  finalRecipient                        PartyType OPTIONAL,
  salesCondition                        SalesConditionType OPTIONAL,
  hazardousGoods                        HazardousGoodsType OPTIONAL}

SalesConditionType ::= SEQUENCE {
  conditionId
    --UNTAGGED-- SEQUENCE (SIZE (1..MAX)) OF conditionId IdentifierType,
  actionId     IdentifierType OPTIONAL,
  description  TextType OPTIONAL}

ItemIdentifierType ::= SEQUENCE {
  identifier  IdentifierType,
  extension   TextType OPTIONAL}

PhysicalAttributeType ::= SEQUENCE {
  identifier           IdentifierType OPTIONAL,
  positionId           IdentifierType OPTIONAL,
  description          TextType,
  measurementUnitCode  CodeType OPTIONAL}

HazardousGoodsType ::= SEQUENCE {
  hazardousGoodsIdentification
    --UNTAGGED-- SEQUENCE (SIZE (1..MAX)) OF hazardousGoodsIdentification
      HazardousGoodsIdentificationType,
  classId                             IdentifierType OPTIONAL,
  placardNotation                     TextType OPTIONAL,
  placardEndorsement                  TextType OPTIONAL,
  informationSource
    --UNTAGGED-- SEQUENCE OF informationSource InformationSourceType,
  contact                             ContactType OPTIONAL,
  additionalInformation               TextType OPTIONAL,
  undgId                              IdentifierType OPTIONAL,
  flashpointMeasure                   MeasureType OPTIONAL,
  emergencyTemperatureMeasure         MeasureType OPTIONAL,
  maximumTransportTemperatureMeasure  MeasureType OPTIONAL,
  temperature
    --UNTAGGED-- SEQUENCE OF temperature MeasurementType,
  hazardousShipment                   HazardousShipmentType OPTIONAL,
  emergencyProceduresId               IdentifierType OPTIONAL,
  medicalFirstAidGuideId              IdentifierType OPTIONAL}

HazardousGoodsIdentificationType ::= SEQUENCE {
  hazardousGoodsId          IdentifierType,
  extensionId               IdentifierType OPTIONAL,
  transportEmergencyCardId  IdentifierType OPTIONAL}

HazardousShipmentType ::= SEQUENCE {
  packingCriteriaId         IdentifierType OPTIONAL,
  regulationsId             IdentifierType OPTIONAL,
  regulations               TextType OPTIONAL,
  inhalationToxicityZoneId  IdentifierType OPTIONAL}

DeliveryType ::= SEQUENCE {
  shipToLocation       LocationType OPTIONAL,
  shipFromLocation     LocationType OPTIONAL,
  schedule             --UNTAGGED-- SEQUENCE OF schedule DeliveryScheduleType,
  reference            IdentifierType OPTIONAL,
  packaging            TextType OPTIONAL,
  terms                DeliveryTermsType OPTIONAL,
  goodsClassification  GoodsClassificationType OPTIONAL}

DeliveryScheduleType ::= SEQUENCE {
  identifier                 IdentifierType OPTIONAL,
  quantity                   QuantityType OPTIONAL,
  minimumQuantity            QuantityType OPTIONAL,
  maximumQuantity            QuantityType OPTIONAL,
  requestedDeliveryDateTime  DateTimeType OPTIONAL,
  deliveryDateTime
    --UNTAGGED-- SEQUENCE OF deliveryDateTime DateTimeType,
  shipment                   --UNTAGGED-- SEQUENCE OF shipment ShipmentType,
  shipmentId                 IdentifierType OPTIONAL,
  splitLocation
    --UNTAGGED-- SEQUENCE OF splitLocation SplitLocationType}

SplitLocationType ::= SEQUENCE {
  delivery  LocationType,
  quantity  QuantityType,
  package   PackageType OPTIONAL}

PackageType ::= SEQUENCE {
  identifier        IdentifierType,
  quantity          QuantityType OPTIONAL,
  compositePackage  PackageType OPTIONAL}

GoodsClassificationType ::= SEQUENCE {
  natureCode        CodeType OPTIONAL,
  classificationId  IdentifierType OPTIONAL,
  commodityId       IdentifierType OPTIONAL}

LineItemType ::= SEQUENCE {
  buyerId                 IdentifierType,
  sellerId                IdentifierType OPTIONAL,
  componentGroupId        IdentifierType OPTIONAL,
  buyerParentLineItemId   IdentifierType OPTIONAL,
  sellerParentLineItemId  IdentifierType OPTIONAL,
  item                    ItemType,
  pricing                 --UNTAGGED-- SEQUENCE OF pricing PricingType,
  tax                     --UNTAGGED-- SEQUENCE OF tax TaxType,
  paymentVariation
    --UNTAGGED-- SEQUENCE OF paymentVariation PaymentVariationType,
  totalAmount             AmountType OPTIONAL,
  exchangeRate            ExchangeRateType OPTIONAL,
  delivery                DeliveryType OPTIONAL,
  note                    --UNTAGGED-- SEQUENCE OF note NoteType}

END