from dataclasses import dataclass, field
from typing import Optional

from generated.ubl.common.ubl_common_basic_components_2_1 import (
    AcceptedVariantsDescription,
    AccountFormatCode,
    AccountId,
    AccountingCost,
    AccountingCostCode,
    AccountTypeCode,
    ActionCode,
    ActivityType,
    ActivityTypeCode,
    ActualDeliveryDate,
    ActualDeliveryTime,
    ActualDespatchDate,
    ActualDespatchTime,
    ActualPickupDate,
    ActualPickupTime,
    ActualTemperatureReductionQuantity,
    AdditionalAccountId,
    AdditionalConditions,
    AdditionalInformation,
    AdditionalStreetName,
    AddressFormatCode,
    AddressTypeCode,
    AdjustmentReasonCode,
    AdmissionCode,
    AdvertisementAmount,
    AgencyId,
    AgencyName,
    AircraftId,
    AirFlowPercent,
    AliasName,
    AllowanceChargeReason,
    AllowanceChargeReasonCode,
    AllowanceTotalAmount,
    AltitudeMeasure,
    Amount,
    AmountRate,
    AnimalFoodApprovedIndicator,
    AnimalFoodIndicator,
    AnnualAverageAmount,
    ApplicationStatusCode,
    ApprovalStatus,
    AttributeId,
    AuctionConstraintIndicator,
    AuctionUri,
    AvailabilityDate,
    AvailabilityStatusCode,
    AverageAmount,
    AverageSubsequentContractAmount,
    AwardDate,
    AwardingCriterionDescription,
    AwardingCriterionId,
    AwardingCriterionTypeCode,
    AwardingMethodTypeCode,
    AwardTime,
    BackOrderAllowedIndicator,
    BackorderQuantity,
    BackorderReason,
    BalanceAmount,
    BalanceBroughtForwardIndicator,
    BarcodeSymbologyId,
    BaseAmount,
    BaseQuantity,
    BaseUnitMeasure,
    BasicConsumedQuantity,
    BatchQuantity,
    BestBeforeDate,
    BindingOnBuyerIndicator,
    BirthDate,
    BirthplaceName,
    BlockName,
    BrandName,
    BrokerAssignedId,
    BudgetYearNumeric,
    BuildingName,
    BuildingNumber,
    BulkCargoIndicator,
    BusinessClassificationEvidenceId,
    BusinessIdentityEvidenceId,
    BuyerProfileUri,
    CalculationExpression,
    CalculationExpressionCode,
    CalculationMethodCode,
    CalculationRate,
    CalculationSequenceNumeric,
    CallBaseAmount,
    CallDate,
    CallExtensionAmount,
    CallTime,
    CandidateReductionConstraintIndicator,
    CandidateStatement,
    CanonicalizationMethod,
    CapabilityTypeCode,
    CardChipCode,
    CardTypeCode,
    CargoTypeCode,
    CarrierAssignedId,
    CarrierServiceInstructions,
    CatalogueIndicator,
    CategoryName,
    CertificateTypeCode,
    ChangeConditions,
    Channel,
    ChannelCode,
    Characteristics,
    CharacterSetCode,
    ChargeableQuantity,
    ChargeableWeightMeasure,
    ChargeIndicator,
    ChargeTotalAmount,
    ChildConsignmentQuantity,
    ChipApplicationId,
    CityName,
    CitySubdivisionName,
    CodeValue,
    CollaborationPriorityCode,
    Comment,
    CommodityCode,
    CompanyId,
    CompanyLegalForm,
    CompanyLegalFormCode,
    CompanyLiquidationStatusCode,
    ComparedValueMeasure,
    ComparisonDataCode,
    ComparisonDataSourceCode,
    ComparisonForecastIssueDate,
    ComparisonForecastIssueTime,
    CompletionIndicator,
    ConditionCode,
    Conditions,
    ConditionsDescription,
    ConsigneeAssignedId,
    ConsignmentQuantity,
    ConsignorAssignedId,
    ConsolidatableIndicator,
    ConsumerIncentiveTacticTypeCode,
    ConsumersEnergyLevel,
    ConsumersEnergyLevelCode,
    ConsumerUnitQuantity,
    ConsumptionEnergyQuantity,
    ConsumptionId,
    ConsumptionLevel,
    ConsumptionLevelCode,
    ConsumptionReportId,
    ConsumptionTypeCode,
    ConsumptionWaterQuantity,
    ContainerizedIndicator,
    Content,
    ContentUnitQuantity,
    ContractedCarrierAssignedId,
    ContractingSystemCode,
    ContractSubdivision,
    ContractTypeCode,
    CoordinateSystemCode,
    CopyIndicator,
    CorporateRegistrationTypeCode,
    CorporateStockAmount,
    CorrectionAmount,
    CorrectionType,
    CorrectionTypeCode,
    CorrectionUnitAmount,
    CountrySubentity,
    CountrySubentityCode,
    CreditedQuantity,
    CreditLineAmount,
    CrewQuantity,
    CurrencyCode,
    CurrentChargeType,
    CurrentChargeTypeCode,
    CustomerAssignedAccountId,
    CustomerReference,
    CustomsClearanceServiceInstructions,
    CustomsImportClassifiedIndicator,
    CustomsStatusCode,
    CustomsTariffQuantity,
    Cv2Id,
    DamageRemarks,
    DangerousGoodsApprovedIndicator,
    DataSendingCapability,
    DataSourceCode,
    Date,
    DebitedQuantity,
    DebitLineAmount,
    DeclarationTypeCode,
    DeclaredCustomsValueAmount,
    DeclaredForCarriageValueAmount,
    DeclaredStatisticsValueAmount,
    DeliveredQuantity,
    DeliveryInstructions,
    DemurrageInstructions,
    Department,
    Description,
    DescriptionCode,
    DifferenceTemperatureReductionQuantity,
    DirectionCode,
    DisplayTacticTypeCode,
    DispositionCode,
    District,
    DocumentationFeeAmount,
    DocumentDescription,
    DocumentHash,
    DocumentId,
    DocumentStatusCode,
    DocumentType,
    DocumentTypeCode,
    DurationMeasure,
    DutyCode,
    EarliestPickupDate,
    EarliestPickupTime,
    EconomicOperatorRegistryUri,
    EffectiveDate,
    EffectiveTime,
    ElectronicDeviceDescription,
    ElectronicMail,
    EmbeddedDocumentBinaryObject,
    EmergencyProceduresCode,
    EmployeeQuantity,
    EncodingCode,
    EndDate,
    EndpointId,
    EndTime,
    EnvironmentalEmissionTypeCode,
    EstimatedAmount,
    EstimatedConsumedQuantity,
    EstimatedDeliveryDate,
    EstimatedDeliveryTime,
    EstimatedDespatchDate,
    EstimatedDespatchTime,
    EstimatedOverallContractAmount,
    EstimatedOverallContractQuantity,
    EvaluationCriterionTypeCode,
    EvidenceTypeCode,
    ExceptionResolutionCode,
    ExceptionStatusCode,
    ExchangeMarketId,
    ExclusionReason,
    ExecutionRequirementCode,
    ExemptionReason,
    ExemptionReasonCode,
    ExpectedOperatorQuantity,
    ExpectedQuantity,
    ExpenseCode,
    ExpiryDate,
    ExpiryTime,
    Expression,
    ExpressionCode,
    ExtendedId,
    Extension,
    FaceValueAmount,
    FamilyName,
    FeatureTacticTypeCode,
    FeeAmount,
    FeeDescription,
    FileName,
    FinancingInstrumentCode,
    FirstName,
    FirstShipmentAvailibilityDate,
    Floor,
    FollowupContractIndicator,
    ForecastPurposeCode,
    ForecastTypeCode,
    FormatCode,
    ForwarderServiceInstructions,
    FreeOfChargeIndicator,
    FreeOnBoardValueAmount,
    FreightForwarderAssignedId,
    FreightRateClassCode,
    Frequency,
    FrozenDocumentIndicator,
    FrozenPeriodDaysNumeric,
    FullnessIndicationCode,
    FullyPaidSharesIndicator,
    FundingProgram,
    FundingProgramCode,
    GasPressureQuantity,
    GenderCode,
    GeneralCargoIndicator,
    GovernmentAgreementConstraintIndicator,
    GrossTonnageMeasure,
    GrossVolumeMeasure,
    GrossWeightMeasure,
    GuaranteedDespatchDate,
    GuaranteedDespatchTime,
    GuaranteeTypeCode,
    HandlingCode,
    HandlingInstructions,
    HashAlgorithmMethod,
    HaulageInstructions,
    HazardClassId,
    HazardousCategoryCode,
    HazardousRegulationCode,
    HazardousRiskIndicator,
    HeatingType,
    HeatingTypeCode,
    HigherTenderAmount,
    HolderName,
    HumanFoodApprovedIndicator,
    HumanFoodIndicator,
    HumidityPercent,
    Id,
    IdentificationCode,
    IdentificationId,
    ImmobilizationCertificateId,
    ImportanceCode,
    IndicationIndicator,
    IndustryClassificationCode,
    Information,
    InformationUri,
    InhalationToxicityZoneCode,
    InhouseMail,
    InspectionMethodCode,
    InstallmentDueDate,
    InstructionId,
    InstructionNote,
    Instructions,
    InsurancePremiumAmount,
    InsuranceValueAmount,
    InventoryValueAmount,
    InvoicedQuantity,
    InvoicingPartyReference,
    IssueDate,
    IssueNumberId,
    IssuerId,
    IssueTime,
    ItemClassificationCode,
    JobTitle,
    JourneyId,
    Justification,
    JustificationDescription,
    Keyword,
    LanguageId,
    LastRevisionDate,
    LastRevisionTime,
    LatestDeliveryDate,
    LatestDeliveryTime,
    LatestMeterQuantity,
    LatestMeterReadingDate,
    LatestMeterReadingMethod,
    LatestMeterReadingMethodCode,
    LatestPickupDate,
    LatestPickupTime,
    LatestProposalAcceptanceDate,
    LatestSecurityClearanceDate,
    LatitudeDegreesMeasure,
    LatitudeDirectionCode,
    LatitudeMinutesMeasure,
    LeadTimeMeasure,
    LegalReference,
    LegalStatusIndicator,
    LiabilityAmount,
    LicensePlateId,
    LifeCycleStatusCode,
    LimitationDescription,
    Line,
    LineExtensionAmount,
    LineId,
    LineNumberNumeric,
    LineStatusCode,
    ListValue,
    LivestockIndicator,
    LoadingLengthMeasure,
    LoadingSequenceId,
    LocaleCode,
    LocationId,
    LocationTypeCode,
    Login,
    LogoReferenceId,
    LongitudeDegreesMeasure,
    LongitudeDirectionCode,
    LongitudeMinutesMeasure,
    LossRisk,
    LossRiskResponsibilityCode,
    LotNumberId,
    LowerOrangeHazardPlacardId,
    LowerTenderAmount,
    LowTendersDescription,
    MandateTypeCode,
    ManufactureDate,
    ManufactureTime,
    MarkAttention,
    MarkAttentionIndicator,
    MarkCare,
    MarkCareIndicator,
    MarketValueAmount,
    MarkingId,
    MathematicOperatorCode,
    MaximumAdvertisementAmount,
    MaximumAmount,
    MaximumBackorderQuantity,
    MaximumCopiesNumeric,
    MaximumMeasure,
    MaximumNumberNumeric,
    MaximumOperatorQuantity,
    MaximumOrderQuantity,
    MaximumPaidAmount,
    MaximumPaymentInstructionsNumeric,
    MaximumPercent,
    MaximumQuantity,
    MaximumValue,
    MaximumVariantQuantity,
    Measure,
    MedicalFirstAidGuideCode,
    MeterConstant,
    MeterConstantCode,
    MeterName,
    MeterNumber,
    MeterReadingComments,
    MeterReadingTypeCode,
    MiddleName,
    MimeCode,
    MinimumAmount,
    MinimumBackorderQuantity,
    MinimumImprovementBid,
    MinimumInventoryQuantity,
    MinimumMeasure,
    MinimumNumberNumeric,
    MinimumOrderQuantity,
    MinimumPercent,
    MinimumQuantity,
    MinimumValue,
    MiscellaneousEventTypeCode,
    ModelName,
    MonetaryScope,
    MovieTitle,
    MultipleOrderQuantity,
    MultiplierFactorNumeric,
    Name,
    NameCode,
    NameSuffix,
    NationalityId,
    NatureCode,
    NegotiationDescription,
    NetNetWeightMeasure,
    NetTonnageMeasure,
    NetVolumeMeasure,
    NetWeightMeasure,
    NetworkId,
    NominationDate,
    NominationTime,
    NormalTemperatureReductionQuantity,
    Note,
    NotificationTypeCode,
    OccurrenceDate,
    OccurrenceTime,
    OnCarriageIndicator,
    OneTimeChargeType,
    OneTimeChargeTypeCode,
    OntologyUri,
    OpenTenderId,
    OperatingYearsQuantity,
    OptionalLineItemIndicator,
    OptionsDescription,
    OrderableIndicator,
    OrderableUnit,
    OrderableUnitFactorRate,
    OrderIntervalDaysNumeric,
    OrderQuantityIncrementNumeric,
    OrderTypeCode,
    OrganizationDepartment,
    OriginalContractingSystemId,
    OriginalJobId,
    OtherConditionsIndicator,
    OtherName,
    OutstandingQuantity,
    OutstandingReason,
    OversupplyQuantity,
    OwnerTypeCode,
    PackageLevelCode,
    PackagingTypeCode,
    PackingCriteriaCode,
    PackingMaterial,
    PackLevelCode,
    PackQuantity,
    PackSizeNumeric,
    PaidAmount,
    PaidDate,
    PaidTime,
    ParentDocumentLineReferenceId,
    PartecipationPercent,
    PartialDeliveryIndicator,
    ParticipationPercent,
    PartPresentationCode,
    PartyCapacityAmount,
    PartyTypeCode,
    PassengerQuantity,
    Password,
    PayableAlternativeAmount,
    PayableAmount,
    PayableRoundingAmount,
    PaymentChannelCode,
    PaymentDescription,
    PaymentDueDate,
    PaymentFrequencyCode,
    PaymentId,
    PaymentMeansCode,
    PaymentMeansId,
    PaymentNote,
    PaymentPercent,
    PaymentPurposeCode,
    PaymentTermsDetailsUri,
    PayPerView,
    PenaltyAmount,
    PenaltySurchargePercent,
    Percent,
    PerformanceMetricTypeCode,
    PerformanceValueQuantity,
    PerformingCarrierAssignedId,
    PersonalSituation,
    PerUnitAmount,
    PhoneNumber,
    PlacardEndorsement,
    PlacardNotation,
    PlotIdentification,
    PositionCode,
    PostalZone,
    Postbox,
    PostEventNotificationDurationMeasure,
    PowerIndicator,
    PreCarriageIndicator,
    PreEventNotificationDurationMeasure,
    PreferenceCriterionCode,
    PrepaidAmount,
    PrepaidIndicator,
    PrepaidPaymentReferenceId,
    PreviousCancellationReasonCode,
    PreviousJobId,
    PreviousMeterQuantity,
    PreviousMeterReadingDate,
    PreviousMeterReadingMethod,
    PreviousMeterReadingMethodCode,
    PreviousVersionId,
    PriceAmount,
    PriceChangeReason,
    PriceEvaluationCode,
    PriceRevisionFormulaDescription,
    PriceTypeCode,
    PrimaryAccountNumberId,
    PrintQualifier,
    Priority,
    PrivacyCode,
    PrizeDescription,
    PrizeIndicator,
    ProcedureCode,
    ProcessDescription,
    ProcessReason,
    ProcessReasonCode,
    ProcurementSubTypeCode,
    ProcurementTypeCode,
    ProductTraceId,
    ProgressPercent,
    PromotionalEventTypeCode,
    ProviderTypeCode,
    QualityControlCode,
    Quantity,
    QuantityDiscrepancyCode,
    RadioCallSignId,
    RailCarId,
    Rank,
    Rate,
    ReceivedDate,
    ReceivedElectronicTenderQuantity,
    ReceivedForeignTenderQuantity,
    ReceivedQuantity,
    ReceivedTenderQuantity,
    Reference,
    ReferenceDate,
    ReferencedConsignmentId,
    ReferenceEventCode,
    ReferenceId,
    ReferenceTime,
    RefrigeratedIndicator,
    RefrigerationOnIndicator,
    Region,
    RegistrationDate,
    RegistrationExpirationDate,
    RegistrationId,
    RegistrationName,
    RegistrationNationality,
    RegistrationNationalityId,
    RejectActionCode,
    RejectedQuantity,
    RejectReason,
    RejectReasonCode,
    ReleaseId,
    ReliabilityPercent,
    Remarks,
    ReplenishmentOwnerDescription,
    RequestedDeliveryDate,
    RequestedDespatchDate,
    RequestedDespatchTime,
    RequestForQuotationLineId,
    RequiredCurriculaIndicator,
    RequiredCustomsId,
    RequiredDeliveryDate,
    RequiredDeliveryTime,
    RequiredFeeAmount,
    ResidenceType,
    ResidenceTypeCode,
    ResidentOccupantsNumeric,
    Resolution,
    ResolutionCode,
    ResolutionDate,
    ResolutionTime,
    ResponseCode,
    ReturnabilityIndicator,
    ReturnableMaterialIndicator,
    ReturnableQuantity,
    RevisedForecastLineId,
    RevisionDate,
    RevisionTime,
    RoamingPartnerName,
    RoleCode,
    RoleDescription,
    Room,
    RoundingAmount,
    SalesOrderId,
    SalesOrderLineId,
    SchemeUri,
    SealingPartyType,
    SealIssuerTypeCode,
    SealStatusCode,
    SecurityClassificationCode,
    SecurityId,
    SequenceId,
    SequenceNumberId,
    SequenceNumeric,
    SerialId,
    ServiceNumberCalled,
    ServiceType,
    ServiceTypeCode,
    SettlementDiscountAmount,
    SettlementDiscountPercent,
    SharesNumberQuantity,
    ShippingMarks,
    ShippingPriorityLevelCode,
    ShipsRequirements,
    ShortageActionCode,
    ShortQuantity,
    SignatureId,
    SignatureMethod,
    SizeTypeCode,
    SoleProprietorshipIndicator,
    SourceCurrencyBaseRate,
    SourceCurrencyCode,
    SourceForecastIssueDate,
    SourceForecastIssueTime,
    SourceValueMeasure,
    SpecialInstructions,
    SpecialSecurityIndicator,
    SpecialServiceInstructions,
    SpecialTerms,
    SpecialTransportRequirements,
    SpecificationId,
    SpecificationTypeCode,
    SplitConsignmentIndicator,
    StartDate,
    StartTime,
    StatusCode,
    StatusReason,
    StatusReasonCode,
    StreetName,
    SubcontractingConditionsCode,
    SubmissionDate,
    SubmissionMethodCode,
    SubscriberId,
    SubscriberType,
    SubscriberTypeCode,
    SubstitutionStatusCode,
    SuccessiveSequenceId,
    SummaryDescription,
    SupplierAssignedAccountId,
    SupplyChainActivityTypeCode,
    TareWeightMeasure,
    TargetCurrencyBaseRate,
    TargetCurrencyCode,
    TargetInventoryQuantity,
    TargetServicePercent,
    TariffClassCode,
    TariffCode,
    TariffDescription,
    TaxableAmount,
    TaxAmount,
    TaxEnergyAmount,
    TaxEnergyBalanceAmount,
    TaxEnergyOnAccountAmount,
    TaxEvidenceIndicator,
    TaxExclusiveAmount,
    TaxExemptionReason,
    TaxExemptionReasonCode,
    TaxIncludedIndicator,
    TaxInclusiveAmount,
    TaxLevelCode,
    TaxPointDate,
    TaxTypeCode,
    TechnicalCommitteeDescription,
    TechnicalName,
    TelecommunicationsServiceCall,
    TelecommunicationsServiceCallCode,
    TelecommunicationsServiceCategory,
    TelecommunicationsServiceCategoryCode,
    TelecommunicationsSupplyTypeCode,
    Telefax,
    Telephone,
    TenderEnvelopeId,
    TenderEnvelopeTypeCode,
    TendererRequirementTypeCode,
    TendererRoleCode,
    TenderResultCode,
    TestMethod,
    Text,
    ThirdPartyPayerIndicator,
    ThresholdAmount,
    ThresholdQuantity,
    ThresholdValueComparisonCode,
    TierRange,
    TierRatePercent,
    TimeAmount,
    TimeDeltaDaysQuantity,
    TimeFrequencyCode,
    TimezoneOffset,
    TimingComplaint,
    TimingComplaintCode,
    Title,
    TotalAmount,
    TotalConsumedQuantity,
    TotalDeliveredQuantity,
    TotalGoodsItemQuantity,
    TotalInvoiceAmount,
    TotalMeteredQuantity,
    TotalPackageQuantity,
    TotalPackagesQuantity,
    TotalTaskAmount,
    TotalTaxAmount,
    TotalTransportHandlingUnitQuantity,
    TraceId,
    TrackingDeviceCode,
    TrackingId,
    TradeItemPackingLabelingTypeCode,
    TradeServiceCode,
    TradingRestrictions,
    TrainId,
    TransactionCurrencyTaxAmount,
    TransitDirectionCode,
    TransportationServiceDescription,
    TransportationServiceDetailsUri,
    TransportAuthorizationCode,
    TransportEmergencyCardCode,
    TransportEquipmentTypeCode,
    TransportEventTypeCode,
    TransportExecutionPlanReferenceId,
    TransportHandlingUnitTypeCode,
    TransportMeansTypeCode,
    TransportModeCode,
    TransportServiceCode,
    TransportServiceProviderSpecialTerms,
    TransportUserSpecialTerms,
    TypeCode,
    Undgcode,
    UnknownPriceIndicator,
    UpperOrangeHazardPlacardId,
    UrgencyCode,
    Uri,
    UtilityStatementTypeCode,
    Uuid,
    ValidateProcess,
    ValidateTool,
    ValidateToolVersion,
    ValidationDate,
    ValidationResultCode,
    ValidationTime,
    ValidatorId,
    ValidityStartDate,
    Value,
    ValueAmount,
    ValueMeasure,
    ValueQualifier,
    ValueQuantity,
    VarianceQuantity,
    VariantConstraintIndicator,
    VariantId,
    VersionId,
    VesselId,
    VesselName,
    WarrantyInformation,
    WebsiteUri,
    WeekDayCode,
    Weight,
    WeightingAlgorithmCode,
    WeightNumeric,
    WorkPhase,
    WorkPhaseCode,
    Xpath,
)
from generated.ubl.common.ubl_common_basic_components_2_1 import (
    CertificateType as UblCommonBasicComponents21CertificateType,
)
from generated.ubl.common.ubl_common_basic_components_2_1 import (
    Condition as UblCommonBasicComponents21Condition,
)
from generated.ubl.common.ubl_common_basic_components_2_1 import (
    ConsumptionType as UblCommonBasicComponents21ConsumptionType,
)
from generated.ubl.common.ubl_common_basic_components_2_1 import (
    ContractType as UblCommonBasicComponents21ContractType,
)
from generated.ubl.common.ubl_common_basic_components_2_1 import (
    Duty as UblCommonBasicComponents21Duty,
)
from generated.ubl.common.ubl_common_basic_components_2_1 import (
    Location as UblCommonBasicComponents21Location,
)
from generated.ubl.common.ubl_common_basic_components_2_1 import (
    MeterReadingType as UblCommonBasicComponents21MeterReadingType,
)
from generated.ubl.common.ubl_common_basic_components_2_1 import (
    PartyType as UblCommonBasicComponents21PartyType,
)
from generated.ubl.common.ubl_common_basic_components_2_1 import (
    PriceType as UblCommonBasicComponents21PriceType,
)
from generated.ubl.common.ubl_common_basic_components_2_1 import (
    TelecommunicationsSupplyType as UblCommonBasicComponents21TelecommunicationsSupplyType,
)

__NAMESPACE__ = (
    "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
)


@dataclass
class ActivityPropertyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Activity
    Property.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a name/value pair for a property of an inventory planning
    activity.</ns1:Definition> <ns1:ObjectClass>Activity
    Property</ns1:ObjectClass> </ns1:Component>

    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Activity Property.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        activity property.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Activity
        Property</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar value: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Activity Property. Value.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The value of this
        activity property.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Activity
        Property</ns1:ObjectClass>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    value: Optional[Value] = field(
        default=None,
        metadata={
            "name": "Value",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class AddressLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Address
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    an unstructured address line.</ns1:Definition>
    <ns1:ObjectClass>Address Line</ns1:ObjectClass> </ns1:Component>

    :ivar line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address Line. Line.
        Text</ns1:DictionaryEntryName> <ns1:Definition>An address line
        expressed as unstructured text.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Address
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Line</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>123
        Standard Chartered Tower </ns1:Examples> </ns1:Component>
    """

    line: Optional[Line] = field(
        default=None,
        metadata={
            "name": "Line",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class AirTransportType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Air
    Transport.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    identify a specific aircraft used for
    transportation.</ns1:Definition> <ns1:ObjectClass>Air
    Transport</ns1:ObjectClass> </ns1:Component>

    :ivar aircraft_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Air Transport. Aircraft Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifer for a specific aircraft.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Air
        Transport</ns1:ObjectClass> <ns1:PropertyTerm>Aircraft
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    """

    aircraft_id: Optional[AircraftId] = field(
        default=None,
        metadata={
            "name": "AircraftID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class AuctionTermsType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Auction
    Terms.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the terms to be fulfilled by tenderers if an auction is to
    be executed before the awarding of a tender.</ns1:Definition>
    <ns1:ObjectClass>Auction Terms</ns1:ObjectClass> </ns1:Component>

    :ivar auction_constraint_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Auction Terms. Auction_ Constraint.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>Indicates
        whether an electronic auction will be used before the awarding
        of a contract (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Auction
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Auction</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Constraint</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar justification_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Auction Terms. Justification_
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing a justification for the use of an auction in awarding
        the tender.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Auction
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Justification</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Auction Terms. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text for
        tenderers describing terms governing the
        auction.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Auction
        Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar process_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Auction Terms. Process_ Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the auction process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Auction
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Process</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar conditions_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Auction Terms. Conditions_ Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the conditions under which the tenderers will be able to bid as
        part of the auction.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Auction
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Conditions</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar electronic_device_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Auction Terms. Electronic Device_
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing an electronic device used for the auction, including
        associated connectivity specifications.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Auction
        Terms</ns1:ObjectClass> <ns1:PropertyTermQualifier>Electronic
        Device</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar auction_uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Auction Terms. Auction_ URI.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The Uniform
        Resource Identifier (URI) of the electronic device used for the
        auction.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Auction
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Auction</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    """

    auction_constraint_indicator: Optional[AuctionConstraintIndicator] = field(
        default=None,
        metadata={
            "name": "AuctionConstraintIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    justification_description: list[JustificationDescription] = field(
        default_factory=list,
        metadata={
            "name": "JustificationDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    process_description: list[ProcessDescription] = field(
        default_factory=list,
        metadata={
            "name": "ProcessDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    conditions_description: list[ConditionsDescription] = field(
        default_factory=list,
        metadata={
            "name": "ConditionsDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    electronic_device_description: list[ElectronicDeviceDescription] = field(
        default_factory=list,
        metadata={
            "name": "ElectronicDeviceDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    auction_uri: Optional[AuctionUri] = field(
        default=None,
        metadata={
            "name": "AuctionURI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class AwardingCriterionResponseType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Awarding
    Criterion Response.

    Details</ns1:DictionaryEntryName> <ns1:Definition>Defines the
    response for an awarding criterion from the tendering
    party.</ns1:Definition> <ns1:ObjectClass>Awarding Criterion
    Response</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion Response.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identification of this awarding criterion
        response.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar awarding_criterion_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion Response. Awarding
        Criterion Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifer of the awarding criterion being
        referred to.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Awarding Criterion
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar awarding_criterion_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion Response. Awarding
        Criterion_ Description. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Describes the awarding
        criterion.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion Response</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Awarding
        Criterion</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion Response.
        Description. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Describes the awarding criterion
        response.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion Response.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>Specifies the
        quantity tendered for this awarding criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion Response.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>Specifies the
        monetary amount tendered for this awarding
        criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar subordinate_awarding_criterion_response: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion Response.
        Subordinate_ Awarding Criterion Response. Awarding Criterion
        Response</ns1:DictionaryEntryName> <ns1:Definition>Defines
        responses to any subsidiary awarding criterion.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion Response</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Subordinate</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Awarding Criterion Response</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Awarding Criterion
        Response</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Awarding Criterion
        Response</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    awarding_criterion_id: Optional[AwardingCriterionId] = field(
        default=None,
        metadata={
            "name": "AwardingCriterionID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    awarding_criterion_description: list[AwardingCriterionDescription] = field(
        default_factory=list,
        metadata={
            "name": "AwardingCriterionDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    subordinate_awarding_criterion_response: list[
        "SubordinateAwardingCriterionResponse"
    ] = field(
        default_factory=list,
        metadata={
            "name": "SubordinateAwardingCriterionResponse",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class AwardingCriterionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Awarding
    Criterion.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a criterion from the contracting party that will be taken into
    account when awarding a contract. An awarding criterion can be
    objective, when it can be evaluated following a formula, or
    subjective, when human analysis is required.</ns1:Definition>
    <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>Identifies
        a specific awarding criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar awarding_criterion_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Awarding Criterion
        Type Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        used to define this awarding criterion. </ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Awarding Criterion Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A description of
        the awarding criterion.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar weight_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Weight Numeric.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>A number
        defining the comparative weighting assigned to this awarding
        criterion, to enable formulaic evaluation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Weight Numeric</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar weight: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Weight.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A description of
        the comparative weighting for this awarding
        criterion.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar calculation_expression: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Calculation
        Expression. Text</ns1:DictionaryEntryName> <ns1:Definition>The
        mathematical expression that will be used to evaluate this
        criterion.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Calculation Expression</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar calculation_expression_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Calculation
        Expression Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code identifying the mathematical expression
        that will be used to evaluate this criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Calculation Expression Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Minimum_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The minimum
        quantity for an awarding criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Maximum_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        quantity for an awarding criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Minimum_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The minimum
        monetary amount for an awarding criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Maximum_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        monetary amount for an awarding criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_improvement_bid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Minimum Improvement
        Bid. Text</ns1:DictionaryEntryName> <ns1:Definition>Describes
        the minimum improvement bid for this awarding criterion when
        used in an auction.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Minimum Improvement Bid</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar subordinate_awarding_criterion: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Criterion. Subordinate_
        Awarding Criterion. Awarding Criterion</ns1:DictionaryEntryName>
        <ns1:Definition>Defines any subsidiary awarding
        criterion.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Criterion</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Subordinate</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Awarding Criterion</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Awarding
        Criterion</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Awarding
        Criterion</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    awarding_criterion_type_code: Optional[AwardingCriterionTypeCode] = field(
        default=None,
        metadata={
            "name": "AwardingCriterionTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    weight_numeric: Optional[WeightNumeric] = field(
        default=None,
        metadata={
            "name": "WeightNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    weight: list[Weight] = field(
        default_factory=list,
        metadata={
            "name": "Weight",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    calculation_expression: list[CalculationExpression] = field(
        default_factory=list,
        metadata={
            "name": "CalculationExpression",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    calculation_expression_code: Optional[CalculationExpressionCode] = field(
        default=None,
        metadata={
            "name": "CalculationExpressionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_quantity: Optional[MinimumQuantity] = field(
        default=None,
        metadata={
            "name": "MinimumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_quantity: Optional[MaximumQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_amount: Optional[MinimumAmount] = field(
        default=None,
        metadata={
            "name": "MinimumAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_amount: Optional[MaximumAmount] = field(
        default=None,
        metadata={
            "name": "MaximumAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_improvement_bid: list[MinimumImprovementBid] = field(
        default_factory=list,
        metadata={
            "name": "MinimumImprovementBid",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    subordinate_awarding_criterion: list["SubordinateAwardingCriterion"] = (
        field(
            default_factory=list,
            metadata={
                "name": "SubordinateAwardingCriterion",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )


@dataclass
class CardAccountType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Card
    Account.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a credit card, debit card, or charge card account.</ns1:Definition>
    <ns1:ObjectClass>Card Account</ns1:ObjectClass> </ns1:Component>

    :ivar primary_account_number_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. Primary_ Account Number.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier of the card (e.g., the Primary Account Number
        (PAN)).</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Card Account</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Primary</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Account Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>4558
        XXXX XXXX XXXX (a real card number)</ns1:Examples>
        </ns1:Component>
    :ivar network_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. Network.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the financial service network provider of the
        card.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Card Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Network</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>VISA, MasterCard, American Express</ns1:Examples>
        </ns1:Component>
    :ivar card_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. Card Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A mutually agreed
        code signifying the type of card. Examples of types are "debit",
        "credit" and "purchasing"</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Card
        Account</ns1:ObjectClass> <ns1:PropertyTerm>Card Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Debit
        Card, Credit Card, Procurement Card</ns1:Examples>
        </ns1:Component>
    :ivar validity_start_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. Validity Start Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date from
        which the card is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Card
        Account</ns1:ObjectClass> <ns1:PropertyTerm>Validity Start
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar expiry_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. Expiry Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        the card expires.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Card
        Account</ns1:ObjectClass> <ns1:PropertyTerm>Expiry
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar issuer_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. Issuer.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the institution issuing the
        card.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Card Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Issuer</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar issue_number_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. Issue Number.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the card, specified by the
        issuer.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Card Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Issue Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar cv2_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. CV2.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the Card Verification Value (often found on the
        reverse of the card itself).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Card
        Account</ns1:ObjectClass>
        <ns1:PropertyTerm>CV2</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar card_chip_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. Card Chip Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A mutually agreed
        code to distinguish between CHIP and MAG STRIPE
        cards.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Card Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Card Chip Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Chip</ns1:DataTypeQualifier>
        <ns1:DataType>Chip_ Code. Type</ns1:DataType> </ns1:Component>
    :ivar chip_application_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. Chip_ Application.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier on the chip card for the application that provides
        the quoted information; an AID (application
        ID).</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Card Account</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Chip</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Application</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar holder_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Card Account. Holder.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        cardholder.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Card
        Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Holder</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    """

    primary_account_number_id: Optional[PrimaryAccountNumberId] = field(
        default=None,
        metadata={
            "name": "PrimaryAccountNumberID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    network_id: Optional[NetworkId] = field(
        default=None,
        metadata={
            "name": "NetworkID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    card_type_code: Optional[CardTypeCode] = field(
        default=None,
        metadata={
            "name": "CardTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validity_start_date: Optional[ValidityStartDate] = field(
        default=None,
        metadata={
            "name": "ValidityStartDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    expiry_date: Optional[ExpiryDate] = field(
        default=None,
        metadata={
            "name": "ExpiryDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issuer_id: Optional[IssuerId] = field(
        default=None,
        metadata={
            "name": "IssuerID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_number_id: Optional[IssueNumberId] = field(
        default=None,
        metadata={
            "name": "IssueNumberID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    cv2_id: Optional[Cv2Id] = field(
        default=None,
        metadata={
            "name": "CV2ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    card_chip_code: Optional[CardChipCode] = field(
        default=None,
        metadata={
            "name": "CardChipCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    chip_application_id: Optional[ChipApplicationId] = field(
        default=None,
        metadata={
            "name": "ChipApplicationID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    holder_name: Optional[HolderName] = field(
        default=None,
        metadata={
            "name": "HolderName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class CatalogueReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Catalogue
    Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a reference to a catalogue.</ns1:Definition>
    <ns1:ObjectClass>Catalogue Reference</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Reference.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for a specific catalogue.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Catalogue
        Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Reference. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for a specific
        catalogue.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Reference. Issue Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        the catalogue was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Issue Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar issue_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Reference. Issue Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        the catalogue was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Issue Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar revision_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Reference. Revision Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        the information in the catalogue was last
        revised.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Revision Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar revision_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Reference. Revision Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        the information in the catalogue was last
        revised.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Revision Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Reference. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Reference. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the catalogue.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>computer
        accessories for laptops </ns1:Examples> </ns1:Component>
    :ivar version_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Reference. Version.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the current version of the
        catalogue.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Version</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>1.1
        </ns1:Examples> </ns1:Component>
    :ivar previous_version_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Reference. Previous_ Version.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the previous version of the catalogue that is
        superseded by this version.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Previous</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Version</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>1.0
        </ns1:Examples> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_date: Optional[IssueDate] = field(
        default=None,
        metadata={
            "name": "IssueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_time: Optional[IssueTime] = field(
        default=None,
        metadata={
            "name": "IssueTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    revision_date: Optional[RevisionDate] = field(
        default=None,
        metadata={
            "name": "RevisionDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    revision_time: Optional[RevisionTime] = field(
        default=None,
        metadata={
            "name": "RevisionTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    version_id: Optional[VersionId] = field(
        default=None,
        metadata={
            "name": "VersionID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    previous_version_id: Optional[PreviousVersionId] = field(
        default=None,
        metadata={
            "name": "PreviousVersionID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ClassificationCategoryType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Classification Category.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a category within a classification scheme.</ns1:Definition>
    <ns1:ObjectClass>Classification Category</ns1:ObjectClass>
    </ns1:Component>

    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Category.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        category within the classification scheme.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Category</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Code List
        Name</ns1:AlternativeBusinessTerms> <ns1:Examples>UNSPSC Class ,
        UNSPSC Segment , UNSPSC Family </ns1:Examples> </ns1:Component>
    :ivar code_value: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Category. Code Value.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The value of a
        code used to identify this category within the classification
        scheme.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Category</ns1:ObjectClass>
        <ns1:PropertyTerm>Code Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Code
        Value</ns1:AlternativeBusinessTerms> <ns1:Examples>3420001,
        3273666, HSJJD-213</ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Category. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this category.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Classification Category</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Code
        Name</ns1:AlternativeBusinessTerms> <ns1:Examples>Electrical
        Goods , Wooden Toys </ns1:Examples> </ns1:Component>
    :ivar categorizes_classification_category: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Category. Categorizes_
        Classification Category. Classification
        Category</ns1:DictionaryEntryName> <ns1:Definition>A recursive
        description of a subcategory of this category.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Classification Category</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Categorizes</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Classification Category</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Classification
        Category</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Classification
        Category</ns1:RepresentationTerm> </ns1:Component>
    """

    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    code_value: Optional[CodeValue] = field(
        default=None,
        metadata={
            "name": "CodeValue",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    categorizes_classification_category: list[
        "CategorizesClassificationCategory"
    ] = field(
        default_factory=list,
        metadata={
            "name": "CategorizesClassificationCategory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ClauseType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Clause.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a clause (a distinct article or provision) in a contract, treaty,
    will, or other formal or legal written document requiring
    compliance.</ns1:Definition>
    <ns1:ObjectClass>Clause</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Clause.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this clause.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Clause</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar content: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Clause. Content.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The text of this
        clause.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Clause</ns1:ObjectClass>
        <ns1:PropertyTerm>Content</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    content: list[Content] = field(
        default_factory=list,
        metadata={
            "name": "Content",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class CommodityClassificationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Commodity
    Classification.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the classification of a commodity.</ns1:Definition>
    <ns1:ObjectClass>Commodity Classification</ns1:ObjectClass>
    </ns1:Component>

    :ivar nature_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Commodity Classification. Nature Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code defined by
        a specific maintenance agency signifying the high-level nature
        of the commodity.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Commodity Classification</ns1:ObjectClass>
        <ns1:PropertyTerm>Nature Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>wooden
        products </ns1:Examples> </ns1:Component>
    :ivar cargo_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Commodity Classification. Cargo Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A mutually
        agreed code signifying the type of cargo for purposes of
        commodity classification.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Commodity Classification</ns1:ObjectClass>
        <ns1:PropertyTerm>Cargo Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Refrigerated </ns1:Examples> </ns1:Component>
    :ivar commodity_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Commodity Classification. Commodity
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The
        harmonized international commodity code for cross border and
        regulatory (customs and trade statistics)
        purposes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Commodity Classification</ns1:ObjectClass>
        <ns1:PropertyTerm>Commodity Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Harmonized
        Code</ns1:AlternativeBusinessTerms> <ns1:Examples>1102222883
        </ns1:Examples> </ns1:Component>
    :ivar item_classification_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Commodity Classification. Item
        Classification Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the trade classification of
        the commodity.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Commodity Classification</ns1:ObjectClass>
        <ns1:PropertyTerm>Item Classification Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>UN/SPSC
        Code</ns1:AlternativeBusinessTerms> <ns1:Examples>3440234
        </ns1:Examples> </ns1:Component>
    """

    nature_code: Optional[NatureCode] = field(
        default=None,
        metadata={
            "name": "NatureCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    cargo_type_code: Optional[CargoTypeCode] = field(
        default=None,
        metadata={
            "name": "CargoTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    commodity_code: Optional[CommodityCode] = field(
        default=None,
        metadata={
            "name": "CommodityCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    item_classification_code: Optional[ItemClassificationCode] = field(
        default=None,
        metadata={
            "name": "ItemClassificationCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class CommunicationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Communication.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a means of communication.</ns1:Definition>
    <ns1:ObjectClass>Communication</ns1:ObjectClass> </ns1:Component>

    :ivar channel_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Communication. Channel Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The method of
        communication, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Communication</ns1:ObjectClass>
        <ns1:PropertyTerm>Channel Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Channel</ns1:DataTypeQualifier>
        <ns1:DataType>Channel_ Code. Type</ns1:DataType>
        <ns1:Examples>Phone Fax Email</ns1:Examples> </ns1:Component>
    :ivar channel: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Communication. Channel.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The method of
        communication, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Communication</ns1:ObjectClass>
        <ns1:PropertyTerm>Channel</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Skype</ns1:Examples> </ns1:Component>
    :ivar value: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Communication. Value.
        Text</ns1:DictionaryEntryName> <ns1:Definition>An identifying
        value (phone number, email address, etc.) for this channel of
        communication</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Communication</ns1:ObjectClass>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>+44 1 2345
        6789 president@whitehouse.com </ns1:Examples> </ns1:Component>
    """

    channel_code: Optional[ChannelCode] = field(
        default=None,
        metadata={
            "name": "ChannelCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    channel: Optional[Channel] = field(
        default=None,
        metadata={
            "name": "Channel",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    value: Optional[Value] = field(
        default=None,
        metadata={
            "name": "Value",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ConditionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Condition.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a measurable condition of an object.</ns1:Definition>
    <ns1:ObjectClass>Condition</ns1:ObjectClass> </ns1:Component>

    :ivar attribute_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Condition. Attribute Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the attribute that applies to the
        condition.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Condition</ns1:ObjectClass>
        <ns1:PropertyTerm>Attribute Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Condition.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The
        measurement value.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Condition</ns1:ObjectClass>
        <ns1:PropertyTerm>Measure</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Condition. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the attribute that applies to the condition.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Condition</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Condition. Minimum_ Measure.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The minimum
        value in a range of measurement for this
        condition.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Condition</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Measure</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Condition. Maximum_ Measure.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        value in a range of measurement for this
        condition.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Condition</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Measure</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    """

    attribute_id: Optional[AttributeId] = field(
        default=None,
        metadata={
            "name": "AttributeID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    measure: Optional[Measure] = field(
        default=None,
        metadata={
            "name": "Measure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_measure: Optional[MinimumMeasure] = field(
        default=None,
        metadata={
            "name": "MinimumMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_measure: Optional[MaximumMeasure] = field(
        default=None,
        metadata={
            "name": "MaximumMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ConsumptionAverageType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Consumption Average.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    an average consumption as a monetary amount.</ns1:Definition>
    <ns1:ObjectClass>Consumption Average</ns1:ObjectClass>
    </ns1:Component>

    :ivar average_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Average. Average_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The average
        monetary amount of the consumption.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Average</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Average</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:Examples>1.65</ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Average. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A description of
        the average consumed.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Average</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Average
        price incl. value added tax per kilowatt-hour in the billing
        period.</ns1:Examples> </ns1:Component>
    """

    average_amount: Optional[AverageAmount] = field(
        default=None,
        metadata={
            "name": "AverageAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ConsumptionCorrectionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Consumption Correction.

    Details</ns1:DictionaryEntryName> <ns1:Definition>The Statement of
    correction, for examples heating correction.</ns1:Definition>
    <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
    </ns1:Component>

    :ivar correction_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Correction
        Type. Text</ns1:DictionaryEntryName> <ns1:Definition>Statement
        for the correction type.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTerm>Correction Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Heating
        Correction</ns1:Examples> </ns1:Component>
    :ivar correction_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Correction Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>Statement
        at the code for the correction type.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTerm>Correction Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>HeatingCorrection</ns1:Examples> </ns1:Component>
    :ivar meter_number: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Meter Number.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Statement for
        meter number.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTerm>Meter Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>530071575</ns1:Examples> </ns1:Component>
    :ivar gas_pressure_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Gas Pressure.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>Correction of
        the gas pressure.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTerm>Gas Pressure</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar actual_temperature_reduction_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Actual_
        Temperature Reduction. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>Statement for the actuel heating correction
        temperature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature Reduction</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>-36.69</ns1:Examples> </ns1:Component>
    :ivar normal_temperature_reduction_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Normal_
        Temperature Reduction. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>Statement for the standard for heating
        correction temperature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Normal</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature Reduction</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>-37.00</ns1:Examples> </ns1:Component>
    :ivar difference_temperature_reduction_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Difference_
        Temperature Reduction. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>Deviation from standard heating
        correction.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Difference</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature Reduction</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>0.31</ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Description
        related to the corrections.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar correction_unit_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Correction Unit
        Amount. Amount</ns1:DictionaryEntryName>
        <ns1:Definition>Correction per MWH per degree
        C.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTerm>Correction Unit Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:Examples>0.0000</ns1:Examples> </ns1:Component>
    :ivar consumption_energy_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Consumption
        Energy. Quantity</ns1:DictionaryEntryName> <ns1:Definition>Your
        consumpt for district heating energy.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Energy</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>563.6240</ns1:Examples> </ns1:Component>
    :ivar consumption_water_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Consumption
        Water. Quantity</ns1:DictionaryEntryName> <ns1:Definition>Your
        consumpt for district heating water.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Water</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>13212.14</ns1:Examples> </ns1:Component>
    :ivar correction_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Correction. Correction
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>Your
        correction for heating correction.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Correction</ns1:ObjectClass>
        <ns1:PropertyTerm>Correction Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:Examples>0.00</ns1:Examples> </ns1:Component>
    """

    correction_type: Optional[CorrectionType] = field(
        default=None,
        metadata={
            "name": "CorrectionType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    correction_type_code: Optional[CorrectionTypeCode] = field(
        default=None,
        metadata={
            "name": "CorrectionTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    meter_number: Optional[MeterNumber] = field(
        default=None,
        metadata={
            "name": "MeterNumber",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gas_pressure_quantity: Optional[GasPressureQuantity] = field(
        default=None,
        metadata={
            "name": "GasPressureQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    actual_temperature_reduction_quantity: Optional[
        ActualTemperatureReductionQuantity
    ] = field(
        default=None,
        metadata={
            "name": "ActualTemperatureReductionQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    normal_temperature_reduction_quantity: Optional[
        NormalTemperatureReductionQuantity
    ] = field(
        default=None,
        metadata={
            "name": "NormalTemperatureReductionQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    difference_temperature_reduction_quantity: Optional[
        DifferenceTemperatureReductionQuantity
    ] = field(
        default=None,
        metadata={
            "name": "DifferenceTemperatureReductionQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    correction_unit_amount: Optional[CorrectionUnitAmount] = field(
        default=None,
        metadata={
            "name": "CorrectionUnitAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consumption_energy_quantity: Optional[ConsumptionEnergyQuantity] = field(
        default=None,
        metadata={
            "name": "ConsumptionEnergyQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consumption_water_quantity: Optional[ConsumptionWaterQuantity] = field(
        default=None,
        metadata={
            "name": "ConsumptionWaterQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    correction_amount: Optional[CorrectionAmount] = field(
        default=None,
        metadata={
            "name": "CorrectionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ContractExecutionRequirementType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Contract
    Execution Requirement.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a requirement for execution of a contract.</ns1:Definition>
    <ns1:ObjectClass>Contract Execution Requirement</ns1:ObjectClass>
    </ns1:Component>

    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract Execution Requirement.
        Name</ns1:DictionaryEntryName> <ns1:Definition>A name for this
        requirement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contract Execution
        Requirement</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar execution_requirement_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract Execution Requirement.
        Execution Requirement Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the type of party independent
        of its role.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract Execution
        Requirement</ns1:ObjectClass> <ns1:PropertyTerm>Execution
        Requirement Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract Execution Requirement.
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing this requirement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contract Execution
        Requirement</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    name: list[Name] = field(
        default_factory=list,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    execution_requirement_code: Optional[ExecutionRequirementCode] = field(
        default=None,
        metadata={
            "name": "ExecutionRequirementCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ContractingActivityType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Contracting Activity.

    Details</ns1:DictionaryEntryName> <ns1:Definition>The nature of the
    type of business of the organization.</ns1:Definition>
    <ns1:ObjectClass>Contracting Activity</ns1:ObjectClass>
    </ns1:Component>

    :ivar activity_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contracting Activity. Activity Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        specifying the nature of the type of business of the
        organization.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contracting Activity</ns1:ObjectClass>
        <ns1:PropertyTerm>Activity Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar activity_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contracting Activity. Activity Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The nature of the
        type of business of the organization, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contracting Activity</ns1:ObjectClass>
        <ns1:PropertyTerm>Activity Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    activity_type_code: Optional[ActivityTypeCode] = field(
        default=None,
        metadata={
            "name": "ActivityTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    activity_type: Optional[ActivityType] = field(
        default=None,
        metadata={
            "name": "ActivityType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ContractingPartyTypeType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Contracting Party Type.

    Details</ns1:DictionaryEntryName> <ns1:Definition>The type of
    contracting party that is independent of its role.</ns1:Definition>
    <ns1:ObjectClass>Contracting Party Type</ns1:ObjectClass>
    </ns1:Component>

    :ivar party_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contracting Party Type. Party Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        specifying the type of party that is independent of its
        role.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contracting Party Type</ns1:ObjectClass>
        <ns1:PropertyTerm>Party Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar party_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contracting Party Type. Party Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of party
        that is independent of its role, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contracting Party Type</ns1:ObjectClass>
        <ns1:PropertyTerm>Party Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    party_type_code: Optional[PartyTypeCode] = field(
        default=None,
        metadata={
            "name": "PartyTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    party_type: Optional[UblCommonBasicComponents21PartyType] = field(
        default=None,
        metadata={
            "name": "PartyType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class CountryType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Country.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a country.</ns1:Definition>
    <ns1:ObjectClass>Country</ns1:ObjectClass> </ns1:Component>

    :ivar identification_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Country. Identification Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        this country.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Country</ns1:ObjectClass>
        <ns1:PropertyTerm>Identification Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Country
        Identification</ns1:DataTypeQualifier> <ns1:DataType>Country
        Identification_ Code. Type</ns1:DataType> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Country. Name</ns1:DictionaryEntryName>
        <ns1:Definition>The name of this country.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Country</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>SOUTH
        AFRICA</ns1:Examples> </ns1:Component>
    """

    identification_code: Optional[IdentificationCode] = field(
        default=None,
        metadata={
            "name": "IdentificationCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class CreditAccountType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Credit
    Account.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    identify a credit account for sales on account.</ns1:Definition>
    <ns1:ObjectClass>Credit Account</ns1:ObjectClass> </ns1:Component>

    :ivar account_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Account. Account Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this credit account.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Credit
        Account</ns1:ObjectClass> <ns1:PropertyTerm>Account
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>Customer Code 29 </ns1:Examples> </ns1:Component>
    """

    account_id: Optional[AccountId] = field(
        default=None,
        metadata={
            "name": "AccountID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class DeliveryUnitType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Delivery
    Unit.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a delivery unit.</ns1:Definition> <ns1:ObjectClass>Delivery
    Unit</ns1:ObjectClass> </ns1:Component>

    :ivar batch_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery Unit. Batch Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of ordered Items that constitutes a batch for delivery
        purposes.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Batch Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>100
        units , by the dozen </ns1:Examples> </ns1:Component>
    :ivar consumer_unit_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery Unit. Consumer_ Unit.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of units in the Delivery Unit expressed in the units used by the
        consumer.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consumer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Unit</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>packs
        of 10 </ns1:Examples> </ns1:Component>
    :ivar hazardous_risk_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery Unit. Hazardous Risk_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indication that the transported goods are
        subject to an international regulation concerning the carriage
        of dangerous goods (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Hazardous
        Risk</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>Default is negative</ns1:Examples>
        </ns1:Component>
    """

    batch_quantity: Optional[BatchQuantity] = field(
        default=None,
        metadata={
            "name": "BatchQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    consumer_unit_quantity: Optional[ConsumerUnitQuantity] = field(
        default=None,
        metadata={
            "name": "ConsumerUnitQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    hazardous_risk_indicator: Optional[HazardousRiskIndicator] = field(
        default=None,
        metadata={
            "name": "HazardousRiskIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class DimensionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Dimension.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a measurable dimension (length, mass, weight, volume, or area) of an
    item.</ns1:Definition> <ns1:ObjectClass>Dimension</ns1:ObjectClass>
    </ns1:Component>

    :ivar attribute_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Dimension. Attribute Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the attribute to which the measure
        applies.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Dimension</ns1:ObjectClass>
        <ns1:PropertyTerm>Attribute Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Dimension.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The
        measurement value.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Dimension</ns1:ObjectClass>
        <ns1:PropertyTerm>Measure</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Dimension. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the measurement attribute.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Dimension</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Dimension. Minimum_ Measure.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The minimum
        value in a range of measurement of this
        dimension.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Dimension</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Measure</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Dimension. Maximum_ Measure.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        value in a range of measurement of this
        dimension.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Dimension</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Measure</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    """

    attribute_id: Optional[AttributeId] = field(
        default=None,
        metadata={
            "name": "AttributeID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    measure: Optional[Measure] = field(
        default=None,
        metadata={
            "name": "Measure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_measure: Optional[MinimumMeasure] = field(
        default=None,
        metadata={
            "name": "MinimumMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_measure: Optional[MaximumMeasure] = field(
        default=None,
        metadata={
            "name": "MaximumMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class EconomicOperatorRoleType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Economic
    Operator Role.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the tenderer contracting role.</ns1:Definition>
    <ns1:ObjectClass>Economic Operator Role</ns1:ObjectClass>
    </ns1:Component>

    :ivar role_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Economic Operator Role. Role Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code specifying
        the role of the party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Economic Operator Role</ns1:ObjectClass>
        <ns1:PropertyTerm>Role Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar role_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Economic Operator Role. Role
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>A
        textual description of the party role.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Economic Operator Role</ns1:ObjectClass>
        <ns1:PropertyTerm>Role Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    role_code: Optional[RoleCode] = field(
        default=None,
        metadata={
            "name": "RoleCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    role_description: list[RoleDescription] = field(
        default_factory=list,
        metadata={
            "name": "RoleDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class EventCommentType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Event
    Comment.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    comments about a retail event.</ns1:Definition>
    <ns1:ObjectClass>Event Comment</ns1:ObjectClass> </ns1:Component>

    :ivar comment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Comment. Comment.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text commenting
        on the event.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Event
        Comment</ns1:ObjectClass>
        <ns1:PropertyTerm>Comment</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Comment. Issue Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this comment was made.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Comment</ns1:ObjectClass> <ns1:PropertyTerm>Issue
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar issue_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Comment. Issue Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        this comment was made.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Comment</ns1:ObjectClass> <ns1:PropertyTerm>Issue
        Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    """

    comment: Optional[Comment] = field(
        default=None,
        metadata={
            "name": "Comment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    issue_date: Optional[IssueDate] = field(
        default=None,
        metadata={
            "name": "IssueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_time: Optional[IssueTime] = field(
        default=None,
        metadata={
            "name": "IssueTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class EventTacticEnumerationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Event
    Tactic Enumeration.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a set of codes that describes a retail tactic.</ns1:Definition>
    <ns1:ObjectClass>Event Tactic Enumeration</ns1:ObjectClass>
    </ns1:Component>

    :ivar consumer_incentive_tactic_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Tactic Enumeration. Consumer
        Incentive Tactic Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the type of consumer
        incentive. Examples include:Free Item, Temporary Price
        reduction</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Tactic Enumeration</ns1:ObjectClass> <ns1:PropertyTerm>Consumer
        Incentive Tactic Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar display_tactic_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Tactic Enumeration. Display
        Tactic Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the type of display. Examples
        Include: ON_COUNTER_DISPLAY, FLOOR_GRAPHICS
        FLOOR_STACK_DISPLAY</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Tactic Enumeration</ns1:ObjectClass> <ns1:PropertyTerm>Display
        Tactic Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar feature_tactic_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Tactic Enumeration. Feature
        Tactic Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying a special feature. Examples
        Include: BILLBOARD DIRECT_MAIL_AD, FLYER</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Tactic Enumeration</ns1:ObjectClass> <ns1:PropertyTerm>Feature
        Tactic Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar trade_item_packing_labeling_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Tactic Enumeration. Trade Item
        Packing Labeling Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the type of trade item packing
        and labeling. Examples Include: BONUS_SIZE
        CO_BRANDED_TRADE_ITEM</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Tactic Enumeration</ns1:ObjectClass> <ns1:PropertyTerm>Trade
        Item Packing Labeling Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    """

    consumer_incentive_tactic_type_code: Optional[
        ConsumerIncentiveTacticTypeCode
    ] = field(
        default=None,
        metadata={
            "name": "ConsumerIncentiveTacticTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    display_tactic_type_code: Optional[DisplayTacticTypeCode] = field(
        default=None,
        metadata={
            "name": "DisplayTacticTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    feature_tactic_type_code: Optional[FeatureTacticTypeCode] = field(
        default=None,
        metadata={
            "name": "FeatureTacticTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    trade_item_packing_labeling_type_code: Optional[
        TradeItemPackingLabelingTypeCode
    ] = field(
        default=None,
        metadata={
            "name": "TradeItemPackingLabelingTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class EvidenceSuppliedType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Evidence
    Supplied.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A reference to
    evidence.</ns1:Definition> <ns1:ObjectClass>Evidence
    Supplied</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evidence Supplied.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The
        identifier of the referenced evidence.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Evidence
        Supplied</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class ExternalReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>External
    Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an external object, such as a document stored at a remote
    location.</ns1:Definition> <ns1:ObjectClass>External
    Reference</ns1:ObjectClass> </ns1:Component>

    :ivar uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. URI.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The Uniform
        Resource Identifier (URI) that identifies the external object as
        an Internet resource.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar document_hash: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. Document Hash.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A hash value for
        the externally stored object.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Hash</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar hash_algorithm_method: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. Hash Algorithm
        Method. Text</ns1:DictionaryEntryName> <ns1:Definition>A hash
        algorithm used to calculate the hash value of the externally
        stored object.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Hash Algorithm Method</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar expiry_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. Expiry Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        availability of the resource can no longer be relied
        upon.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Expiry Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar expiry_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. Expiry Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time after
        which availability of the resource can no longer be relied
        upon.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Expiry Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar mime_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. Mime Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the mime type of the external object.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Mime Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar format_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. Format Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the format of the external object.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Format Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar encoding_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. Encoding Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the encoding/decoding algorithm used with the external
        object.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Encoding Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar character_set_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. Character Set Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the character set of an external document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Character Set Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar file_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. File Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The file name of
        the external object.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>File Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>External Reference. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the external object.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>External Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>computer
        accessories for laptops </ns1:Examples> </ns1:Component>
    """

    uri: Optional[Uri] = field(
        default=None,
        metadata={
            "name": "URI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_hash: Optional[DocumentHash] = field(
        default=None,
        metadata={
            "name": "DocumentHash",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    hash_algorithm_method: Optional[HashAlgorithmMethod] = field(
        default=None,
        metadata={
            "name": "HashAlgorithmMethod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    expiry_date: Optional[ExpiryDate] = field(
        default=None,
        metadata={
            "name": "ExpiryDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    expiry_time: Optional[ExpiryTime] = field(
        default=None,
        metadata={
            "name": "ExpiryTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    mime_code: Optional[MimeCode] = field(
        default=None,
        metadata={
            "name": "MimeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    format_code: Optional[FormatCode] = field(
        default=None,
        metadata={
            "name": "FormatCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    encoding_code: Optional[EncodingCode] = field(
        default=None,
        metadata={
            "name": "EncodingCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    character_set_code: Optional[CharacterSetCode] = field(
        default=None,
        metadata={
            "name": "CharacterSetCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    file_name: Optional[FileName] = field(
        default=None,
        metadata={
            "name": "FileName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ForecastExceptionCriterionLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Forecast
    Exception Criterion Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>Establishes the
    criterion for one of the three types of exceptions. This class
    provides criteria for the kind of forecast exception, the
    identification of the purpose of the forecast, the source of data
    and the time basis criterion for the exception.</ns1:Definition>
    <ns1:ObjectClass>Forecast Exception Criterion Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar forecast_purpose_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception Criterion Line.
        Forecast_ Purpose Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A description of the purpose for the forecast
        that is assigned to each forecast data item exception
        criterion.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Exception Criterion
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Forecast</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Purpose Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar forecast_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception Criterion Line.
        Forecast Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A description of a Forecast selected from a
        list.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Exception Criterion
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Forecast Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar comparison_data_source_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception Criterion Line.
        Comparison Data Source Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>If it is a forecast comparison exception, this
        value indicates the other source of
        information.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Exception Criterion
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Comparison Data Source
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar data_source_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception Criterion Line. Data
        Source Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>Indication of the partner who provides the
        information.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Forecast
        Exception Criterion Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Data Source Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar time_delta_days_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception Criterion Line. Time
        Delta Days Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>Time basis in days for the
        Exception.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Exception Criterion
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Time Delta Days
        Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    """

    forecast_purpose_code: Optional[ForecastPurposeCode] = field(
        default=None,
        metadata={
            "name": "ForecastPurposeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    forecast_type_code: Optional[ForecastTypeCode] = field(
        default=None,
        metadata={
            "name": "ForecastTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    comparison_data_source_code: Optional[ComparisonDataSourceCode] = field(
        default=None,
        metadata={
            "name": "ComparisonDataSourceCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    data_source_code: Optional[DataSourceCode] = field(
        default=None,
        metadata={
            "name": "DataSourceCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    time_delta_days_quantity: Optional[TimeDeltaDaysQuantity] = field(
        default=None,
        metadata={
            "name": "TimeDeltaDaysQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ForecastExceptionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Forecast
    Exception.

    Details</ns1:DictionaryEntryName> <ns1:Definition>As explained in
    Exception Criteria Line: Three types of exception criteria can be
    defined, Operational, Metric or Forecast Exceptions. This class
    provides criteria for forecast exception type: the identification of
    the purpose of the forecast, the source of data and the time basis
    criteria for the exception.</ns1:Definition>
    <ns1:ObjectClass>Forecast Exception</ns1:ObjectClass>
    </ns1:Component>

    :ivar forecast_purpose_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception. Forecast_ Purpose
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>It is
        either Sales forecast or Order Forecast. Definition can be
        changed like: "The purpose of the Forecast (either sales or
        order), about which an exception criteria is being
        defined".</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Exception</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Forecast</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Purpose Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar forecast_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception. Forecast Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of forecast. Example of values are:BASE PROMOTIONAL
        SEASONAL TOTAL</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Forecast
        Exception</ns1:ObjectClass> <ns1:PropertyTerm>Forecast Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception. Issue Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        the forecast was issued.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Forecast
        Exception</ns1:ObjectClass> <ns1:PropertyTerm>Issue
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar issue_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception. Issue Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        the forecast was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Exception</ns1:ObjectClass>
        <ns1:PropertyTerm>Issue Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar data_source_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception. Data Source Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the partner who provides this information.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Forecast
        Exception</ns1:ObjectClass> <ns1:PropertyTerm>Data Source
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar comparison_data_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception. Comparison Data
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the partner providing the information in this
        forecast exception.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Exception</ns1:ObjectClass>
        <ns1:PropertyTerm>Comparison Data Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar comparison_forecast_issue_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception. Comparison Forecast
        Issue Time. Time</ns1:DictionaryEntryName> <ns1:Definition>The
        time at which this comparison forecast was
        issued.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Exception</ns1:ObjectClass>
        <ns1:PropertyTerm>Comparison Forecast Issue
        Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar comparison_forecast_issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Exception. Comparison Forecast
        Issue Date. Date</ns1:DictionaryEntryName> <ns1:Definition>The
        date on which this comparison forecast was
        issued.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Exception</ns1:ObjectClass>
        <ns1:PropertyTerm>Comparison Forecast Issue
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    """

    forecast_purpose_code: Optional[ForecastPurposeCode] = field(
        default=None,
        metadata={
            "name": "ForecastPurposeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    forecast_type_code: Optional[ForecastTypeCode] = field(
        default=None,
        metadata={
            "name": "ForecastTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    issue_date: Optional[IssueDate] = field(
        default=None,
        metadata={
            "name": "IssueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    issue_time: Optional[IssueTime] = field(
        default=None,
        metadata={
            "name": "IssueTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    data_source_code: Optional[DataSourceCode] = field(
        default=None,
        metadata={
            "name": "DataSourceCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    comparison_data_code: Optional[ComparisonDataCode] = field(
        default=None,
        metadata={
            "name": "ComparisonDataCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    comparison_forecast_issue_time: Optional[ComparisonForecastIssueTime] = (
        field(
            default=None,
            metadata={
                "name": "ComparisonForecastIssueTime",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    comparison_forecast_issue_date: Optional[ComparisonForecastIssueDate] = (
        field(
            default=None,
            metadata={
                "name": "ComparisonForecastIssueDate",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )


@dataclass
class ItemComparisonType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Item
    Comparison.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to provide
    information about price and quantity of an item for use in price
    comparisons based on price, quantity, or
    measurements.</ns1:Definition> <ns1:ObjectClass>Item
    Comparison</ns1:ObjectClass> </ns1:Component>

    :ivar price_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Comparison. Price Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The price for
        the Item Comparison</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Comparison</ns1:ObjectClass> <ns1:PropertyTerm>Price
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Comparison.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        for which this comparison is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Comparison</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>per
        unit </ns1:Examples> </ns1:Component>
    """

    price_amount: Optional[PriceAmount] = field(
        default=None,
        metadata={
            "name": "PriceAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ItemPropertyGroupType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Item
    Property Group.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a property group or classification.</ns1:Definition>
    <ns1:ObjectClass>Item Property Group</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property Group.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this group of item properties.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property Group</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>233-004 </ns1:Examples> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property Group.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        item property group.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property Group</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Electrical
        Specifications , Dietary Content </ns1:Examples>
        </ns1:Component>
    :ivar importance_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property Group. Importance Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the importance of this property group in using it to describe a
        required Item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property Group</ns1:ObjectClass> <ns1:PropertyTerm>Importance
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    importance_code: Optional[ImportanceCode] = field(
        default=None,
        metadata={
            "name": "ImportanceCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ItemPropertyRangeType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Item
    Property Range.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a range of values for an item property.</ns1:Definition>
    <ns1:ObjectClass>Item Property Range</ns1:ObjectClass>
    </ns1:Component>

    :ivar minimum_value: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property Range. Minimum_ Value.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The minimum value
        in this range of values.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property Range</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_value: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property Range. Maximum_ Value.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The maximum value
        in this range of values.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property Range</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    minimum_value: Optional[MinimumValue] = field(
        default=None,
        metadata={
            "name": "MinimumValue",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_value: Optional[MaximumValue] = field(
        default=None,
        metadata={
            "name": "MaximumValue",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class LanguageType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Language.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a language.</ns1:Definition>
    <ns1:ObjectClass>Language</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Language.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this language.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Language</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Language.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        language.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Language</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar locale_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Language. Locale Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the locale in which this language is used.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Language</ns1:ObjectClass>
        <ns1:PropertyTerm>Locale Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    locale_code: Optional[LocaleCode] = field(
        default=None,
        metadata={
            "name": "LocaleCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class LocationCoordinateType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Location
    Coordinate.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class for
    defining a set of geographical coordinates (apparently
    misnamed).</ns1:Definition> <ns1:ObjectClass>Location
    Coordinate</ns1:ObjectClass> </ns1:Component>

    :ivar coordinate_system_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location Coordinate. Coordinate System
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the location system used.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location Coordinate</ns1:ObjectClass>
        <ns1:PropertyTerm>Coordinate System Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar latitude_degrees_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location Coordinate. Latitude_ Degrees.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The degree
        component of a latitude measured in degrees and
        minutes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location Coordinate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latitude</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Degrees</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar latitude_minutes_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location Coordinate. Latitude_ Minutes.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The minutes
        component of a latitude measured in degrees and minutes (modulo
        60).</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location Coordinate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latitude</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Minutes</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar latitude_direction_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location Coordinate. Latitude Direction
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the direction of latitude measurement from the
        equator (north or south).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location Coordinate</ns1:ObjectClass>
        <ns1:PropertyTerm>Latitude Direction Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Latitude
        Direction</ns1:DataTypeQualifier> <ns1:DataType>Latitude
        Direction_ Code. Type</ns1:DataType> </ns1:Component>
    :ivar longitude_degrees_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location Coordinate. Longitude_
        Degrees. Measure</ns1:DictionaryEntryName> <ns1:Definition>The
        degree component of a longitude measured in degrees and
        minutes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location Coordinate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Longitude</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Degrees</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar longitude_minutes_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location Coordinate. Longitude_
        Minutes. Measure</ns1:DictionaryEntryName> <ns1:Definition>The
        minutes component of a longitude measured in degrees and minutes
        (modulo 60).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location Coordinate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Longitude</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Minutes</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar longitude_direction_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location Coordinate. Longitude
        Direction Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying the direction of longitude measurement from the
        prime meridian (east or west).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location Coordinate</ns1:ObjectClass>
        <ns1:PropertyTerm>Longitude Direction Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Longitude
        Direction</ns1:DataTypeQualifier> <ns1:DataType>Longitude
        Direction_ Code. Type</ns1:DataType> </ns1:Component>
    :ivar altitude_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location Coordinate. Altitude.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The altitude
        of the location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location Coordinate</ns1:ObjectClass>
        <ns1:PropertyTerm>Altitude</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    """

    coordinate_system_code: Optional[CoordinateSystemCode] = field(
        default=None,
        metadata={
            "name": "CoordinateSystemCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latitude_degrees_measure: Optional[LatitudeDegreesMeasure] = field(
        default=None,
        metadata={
            "name": "LatitudeDegreesMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latitude_minutes_measure: Optional[LatitudeMinutesMeasure] = field(
        default=None,
        metadata={
            "name": "LatitudeMinutesMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latitude_direction_code: Optional[LatitudeDirectionCode] = field(
        default=None,
        metadata={
            "name": "LatitudeDirectionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    longitude_degrees_measure: Optional[LongitudeDegreesMeasure] = field(
        default=None,
        metadata={
            "name": "LongitudeDegreesMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    longitude_minutes_measure: Optional[LongitudeMinutesMeasure] = field(
        default=None,
        metadata={
            "name": "LongitudeMinutesMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    longitude_direction_code: Optional[LongitudeDirectionCode] = field(
        default=None,
        metadata={
            "name": "LongitudeDirectionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    altitude_measure: Optional[AltitudeMeasure] = field(
        default=None,
        metadata={
            "name": "AltitudeMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class MeterPropertyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Meter
    Property.

    Details</ns1:DictionaryEntryName> <ns1:Definition>The name of this
    meter property.</ns1:Definition> <ns1:ObjectClass>Meter
    Property</ns1:ObjectClass> </ns1:Component>

    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Property.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        meter property, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Property</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Energy
        Rating , Collar Size , Fat Content </ns1:Examples>
        </ns1:Component>
    :ivar name_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Property. Name Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The value of this
        meter property, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Property</ns1:ObjectClass> <ns1:PropertyTerm>Name
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar value: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Property. Value.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The value of this
        meter property, expressed as a quantity.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Property</ns1:ObjectClass>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>100 watts
        , 15 European , 20% +/- 5% </ns1:Examples> </ns1:Component>
    :ivar value_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Property. Value_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The value of
        this meter property, expressed as a quantity.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Property</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Value</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar value_qualifier: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Property. Value Qualifier.
        Text</ns1:DictionaryEntryName> <ns1:Definition>An additional
        value to qualify the value of the meter</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Meter
        Property</ns1:ObjectClass> <ns1:PropertyTerm>Value
        Qualifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name_code: Optional[NameCode] = field(
        default=None,
        metadata={
            "name": "NameCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    value: Optional[Value] = field(
        default=None,
        metadata={
            "name": "Value",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    value_quantity: Optional[ValueQuantity] = field(
        default=None,
        metadata={
            "name": "ValueQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    value_qualifier: list[ValueQualifier] = field(
        default_factory=list,
        metadata={
            "name": "ValueQualifier",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class MeterReadingType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Meter
    Reading.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a meter reading.</ns1:Definition> <ns1:ObjectClass>Meter
    Reading</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this meter reading.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Reading</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>7411013716x</ns1:Examples> </ns1:Component>
    :ivar meter_reading_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Meter Reading Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of this
        meter reading, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Reading</ns1:ObjectClass> <ns1:PropertyTerm>Meter Reading
        Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Electricity</ns1:Examples> </ns1:Component>
    :ivar meter_reading_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Meter Reading Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The type of this
        meter reading, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Reading</ns1:ObjectClass> <ns1:PropertyTerm>Meter Reading Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Electricity</ns1:Examples> </ns1:Component>
    :ivar previous_meter_reading_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Previous_ Meter Reading
        Date. Date</ns1:DictionaryEntryName> <ns1:Definition>The date of
        the previous meter reading.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Reading</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Previous</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Meter Reading Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType>
        <ns1:Examples>2006-09-01</ns1:Examples> </ns1:Component>
    :ivar previous_meter_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Previous_ Meter
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        quantity of the previous meter reading.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Reading</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Previous</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Meter Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>122604.00</ns1:Examples> </ns1:Component>
    :ivar latest_meter_reading_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Latest_ Meter Reading
        Date. Date</ns1:DictionaryEntryName> <ns1:Definition>The date of
        the latest meter reading.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Reading</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latest</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Meter Reading Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType>
        <ns1:Examples>2006-09-01</ns1:Examples> </ns1:Component>
    :ivar latest_meter_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Latest_ Meter Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of the latest meter reading.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Reading</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latest</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Meter Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>128365.00</ns1:Examples> </ns1:Component>
    :ivar previous_meter_reading_method: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Previous Meter Reading_
        Method. Text</ns1:DictionaryEntryName> <ns1:Definition>The
        method used for the previous meter reading, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Meter Reading</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Previous Meter
        Reading</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Method</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Manuel</ns1:Examples> </ns1:Component>
    :ivar previous_meter_reading_method_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Previous Meter Reading_
        Method Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The
        method used for the previous meter reading, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Meter Reading</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Previous Meter
        Reading</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Method
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Estimated</ns1:Examples> </ns1:Component>
    :ivar latest_meter_reading_method: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Latest Meter Reading_
        Method. Text</ns1:DictionaryEntryName> <ns1:Definition>The
        method used for the latest meter reading, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Meter Reading</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latest Meter
        Reading</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Method</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Manuel</ns1:Examples> </ns1:Component>
    :ivar latest_meter_reading_method_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Latest Meter Reading_
        Method Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The
        method used for the latest meter reading, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Meter Reading</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latest Meter
        Reading</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Method
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Estimated</ns1:Examples> </ns1:Component>
    :ivar meter_reading_comments: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Meter Reading_ Comments.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text containing
        comments on this meter reading.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Meter
        Reading</ns1:ObjectClass> <ns1:PropertyTermQualifier>Meter
        Reading</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Comments</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>The last
        stated meterstand is estimated</ns1:Examples> </ns1:Component>
    :ivar delivered_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter Reading. Delivered_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>Consumption
        in the period from PreviousMeterReadingDate to
        LatestMeterReadingDate.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Meter
        Reading</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivered</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    meter_reading_type: Optional[
        UblCommonBasicComponents21MeterReadingType
    ] = field(
        default=None,
        metadata={
            "name": "MeterReadingType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    meter_reading_type_code: Optional[MeterReadingTypeCode] = field(
        default=None,
        metadata={
            "name": "MeterReadingTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    previous_meter_reading_date: Optional[PreviousMeterReadingDate] = field(
        default=None,
        metadata={
            "name": "PreviousMeterReadingDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    previous_meter_quantity: Optional[PreviousMeterQuantity] = field(
        default=None,
        metadata={
            "name": "PreviousMeterQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    latest_meter_reading_date: Optional[LatestMeterReadingDate] = field(
        default=None,
        metadata={
            "name": "LatestMeterReadingDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    latest_meter_quantity: Optional[LatestMeterQuantity] = field(
        default=None,
        metadata={
            "name": "LatestMeterQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    previous_meter_reading_method: Optional[PreviousMeterReadingMethod] = (
        field(
            default=None,
            metadata={
                "name": "PreviousMeterReadingMethod",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    previous_meter_reading_method_code: Optional[
        PreviousMeterReadingMethodCode
    ] = field(
        default=None,
        metadata={
            "name": "PreviousMeterReadingMethodCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latest_meter_reading_method: Optional[LatestMeterReadingMethod] = field(
        default=None,
        metadata={
            "name": "LatestMeterReadingMethod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latest_meter_reading_method_code: Optional[
        LatestMeterReadingMethodCode
    ] = field(
        default=None,
        metadata={
            "name": "LatestMeterReadingMethodCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    meter_reading_comments: list[MeterReadingComments] = field(
        default_factory=list,
        metadata={
            "name": "MeterReadingComments",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    delivered_quantity: Optional[DeliveredQuantity] = field(
        default=None,
        metadata={
            "name": "DeliveredQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class MonetaryTotalType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Monetary
    Total.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a monetary total.</ns1:Definition> <ns1:ObjectClass>Monetary
    Total</ns1:ObjectClass> </ns1:Component>

    :ivar line_extension_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Monetary Total. Line Extension Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount of an extended transaction line, net of tax and
        settlement discounts, but inclusive of any applicable rounding
        amount.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Monetary Total</ns1:ObjectClass>
        <ns1:PropertyTerm>Line Extension Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_exclusive_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Monetary Total. Tax Exclusive Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount of an extended transaction line, exclusive of
        taxes.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Monetary Total</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Exclusive Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_inclusive_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Monetary Total. Tax Inclusive Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount including taxes; the sum of payable amount and prepaid
        amount.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Monetary Total</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Inclusive Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar allowance_total_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Monetary Total. Allowance_ Total
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        total monetary amount of all allowances.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Monetary Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Allowance</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Total Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar charge_total_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Monetary Total. Charge_ Total Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        monetary amount of all charges.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Monetary Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Charge</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Total Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar prepaid_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Monetary Total. Prepaid Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        prepaid monetary amount.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Monetary Total</ns1:ObjectClass>
        <ns1:PropertyTerm>Prepaid Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar payable_rounding_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Monetary Total. Payable_ Rounding
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        rounding amount (positive or negative) added to produce the line
        extension amount.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Monetary Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Payable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Rounding Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar payable_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Monetary Total. Payable_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount of
        the monetary total to be paid.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Monetary
        Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Payable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar payable_alternative_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Monetary Total. Payable_ Alternative
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        amount of the monetary total to be paid, expressed in an
        alternative currency.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Monetary Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Payable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Alternative Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    """

    line_extension_amount: Optional[LineExtensionAmount] = field(
        default=None,
        metadata={
            "name": "LineExtensionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_exclusive_amount: Optional[TaxExclusiveAmount] = field(
        default=None,
        metadata={
            "name": "TaxExclusiveAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_inclusive_amount: Optional[TaxInclusiveAmount] = field(
        default=None,
        metadata={
            "name": "TaxInclusiveAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    allowance_total_amount: Optional[AllowanceTotalAmount] = field(
        default=None,
        metadata={
            "name": "AllowanceTotalAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    charge_total_amount: Optional[ChargeTotalAmount] = field(
        default=None,
        metadata={
            "name": "ChargeTotalAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    prepaid_amount: Optional[PrepaidAmount] = field(
        default=None,
        metadata={
            "name": "PrepaidAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payable_rounding_amount: Optional[PayableRoundingAmount] = field(
        default=None,
        metadata={
            "name": "PayableRoundingAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payable_amount: Optional[PayableAmount] = field(
        default=None,
        metadata={
            "name": "PayableAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    payable_alternative_amount: Optional[PayableAlternativeAmount] = field(
        default=None,
        metadata={
            "name": "PayableAlternativeAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class PartyIdentificationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Party
    Identification.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    an identifier for a party.</ns1:Definition> <ns1:ObjectClass>Party
    Identification</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Identification.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the party.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Party
        Identification</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class PartyNameType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Party
    Name.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class for
    defining the name of a party.</ns1:Definition>
    <ns1:ObjectClass>Party Name</ns1:ObjectClass> </ns1:Component>

    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        party.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Party Name</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Microsoft
        </ns1:Examples> </ns1:Component>
    """

    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class PaymentType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Payment.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a payment.</ns1:Definition>
    <ns1:ObjectClass>Payment</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar paid_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment. Paid_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount of
        this payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Paid</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar received_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment. Received_ Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this payment was received.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Received</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar paid_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment. Paid_ Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this payment was made.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Paid</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar paid_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment. Paid_ Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        this payment was made.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Paid</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar instruction_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment. Instruction Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the payment instruction.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment</ns1:ObjectClass>
        <ns1:PropertyTerm>Instruction Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    paid_amount: Optional[PaidAmount] = field(
        default=None,
        metadata={
            "name": "PaidAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    received_date: Optional[ReceivedDate] = field(
        default=None,
        metadata={
            "name": "ReceivedDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    paid_date: Optional[PaidDate] = field(
        default=None,
        metadata={
            "name": "PaidDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    paid_time: Optional[PaidTime] = field(
        default=None,
        metadata={
            "name": "PaidTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    instruction_id: Optional[InstructionId] = field(
        default=None,
        metadata={
            "name": "InstructionID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class PeriodType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Period.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a period of time.</ns1:Definition>
    <ns1:ObjectClass>Period</ns1:ObjectClass> </ns1:Component>

    :ivar start_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Period. Start Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this period begins.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Period</ns1:ObjectClass>
        <ns1:PropertyTerm>Start Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar start_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Period. Start Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        this period begins.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Period</ns1:ObjectClass>
        <ns1:PropertyTerm>Start Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar end_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Period. End Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this period ends.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Period</ns1:ObjectClass> <ns1:PropertyTerm>End
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar end_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Period. End Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        this period ends.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Period</ns1:ObjectClass> <ns1:PropertyTerm>End
        Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar duration_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Period. Duration.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The duration
        of this period, expressed as an ISO 8601 code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Period</ns1:ObjectClass>
        <ns1:PropertyTerm>Duration</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar description_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Period. Description Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A description of
        this period, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Period</ns1:ObjectClass>
        <ns1:PropertyTerm>Description Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Period. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A description of
        this period, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Period</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    start_date: Optional[StartDate] = field(
        default=None,
        metadata={
            "name": "StartDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    start_time: Optional[StartTime] = field(
        default=None,
        metadata={
            "name": "StartTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    end_date: Optional[EndDate] = field(
        default=None,
        metadata={
            "name": "EndDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    end_time: Optional[EndTime] = field(
        default=None,
        metadata={
            "name": "EndTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    duration_measure: Optional[DurationMeasure] = field(
        default=None,
        metadata={
            "name": "DurationMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description_code: list[DescriptionCode] = field(
        default_factory=list,
        metadata={
            "name": "DescriptionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class PhysicalAttributeType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Physical
    Attribute.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a physical attribute.</ns1:Definition>
    <ns1:ObjectClass>Physical Attribute</ns1:ObjectClass>
    </ns1:Component>

    :ivar attribute_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Physical Attribute. Attribute
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this physical
        attribute.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Physical Attribute</ns1:ObjectClass>
        <ns1:PropertyTerm>Attribute Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>colour style </ns1:Examples> </ns1:Component>
    :ivar position_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Physical Attribute. Position Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the position of this physical attribute.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Physical Attribute</ns1:ObjectClass>
        <ns1:PropertyTerm>Position Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Physical Attribute. Description Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A description of
        the physical attribute, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Physical Attribute</ns1:ObjectClass>
        <ns1:PropertyTerm>Description Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>XXL ,
        Small </ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Physical Attribute. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A description of
        the physical attribute, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Physical Attribute</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    attribute_id: Optional[AttributeId] = field(
        default=None,
        metadata={
            "name": "AttributeID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    position_code: Optional[PositionCode] = field(
        default=None,
        metadata={
            "name": "PositionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description_code: Optional[DescriptionCode] = field(
        default=None,
        metadata={
            "name": "DescriptionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ProcessJustificationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Process
    Justification.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a justification for the choice of tendering
    process.</ns1:Definition> <ns1:ObjectClass>Process
    Justification</ns1:ObjectClass> </ns1:Component>

    :ivar previous_cancellation_reason_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Process Justification. Previous_
        Cancellation Reason Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the type of the previous
        tendering process (which is now being
        cancelled).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Process
        Justification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Previous</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Cancellation Reason Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar process_reason_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Process Justification. Process_ Reason
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The reason
        why the contracting authority has followed a particular
        tendering procedure for the awarding of a contract, expressed as
        a code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Process Justification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Process</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reason Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar process_reason: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Process Justification. Process_ Reason.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The reason why
        the contracting authority has followed a particular tendering
        procedure for the awarding of a contract, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Process Justification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Process</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reason</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Process Justification. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text providing
        justification for the selection of this
        process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Process
        Justification</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    previous_cancellation_reason_code: Optional[
        PreviousCancellationReasonCode
    ] = field(
        default=None,
        metadata={
            "name": "PreviousCancellationReasonCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    process_reason_code: Optional[ProcessReasonCode] = field(
        default=None,
        metadata={
            "name": "ProcessReasonCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    process_reason: list[ProcessReason] = field(
        default_factory=list,
        metadata={
            "name": "ProcessReason",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class RailTransportType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Rail
    Transport.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class defining
    details about a train wagon used as a means of
    transport.</ns1:Definition> <ns1:ObjectClass>Rail
    Transport</ns1:ObjectClass> </ns1:Component>

    :ivar train_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Rail Transport. Train Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the train used as the means of
        transport.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Rail Transport</ns1:ObjectClass>
        <ns1:PropertyTerm>Train Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Train Number (WCO ID
        167)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar rail_car_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Rail Transport. Rail Car Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the rail car on the train used as the means of
        transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Rail
        Transport</ns1:ObjectClass> <ns1:PropertyTerm>Rail Car
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    """

    train_id: Optional[TrainId] = field(
        default=None,
        metadata={
            "name": "TrainID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    rail_car_id: Optional[RailCarId] = field(
        default=None,
        metadata={
            "name": "RailCarID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class RegulationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Regulation.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a regulation.</ns1:Definition>
    <ns1:ObjectClass>Regulation</ns1:ObjectClass> <ns1:Examples>Points
    to regulation at atomic level</ns1:Examples> </ns1:Component>

    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Regulation.
        Name</ns1:DictionaryEntryName> <ns1:Definition>A name for this
        regulation.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Regulation</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar legal_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Regulation. Legal Reference.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing a
        legal reference.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Regulation</ns1:ObjectClass>
        <ns1:PropertyTerm>Legal Reference</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Art. 45 2
        b</ns1:Examples> </ns1:Component>
    :ivar ontology_uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Regulation. Ontology URI.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The Uniform
        Resource Identifier (URI) of an ontology related to this
        regulation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Regulation</ns1:ObjectClass>
        <ns1:PropertyTerm>Ontology URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    """

    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    legal_reference: Optional[LegalReference] = field(
        default=None,
        metadata={
            "name": "LegalReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    ontology_uri: Optional[OntologyUri] = field(
        default=None,
        metadata={
            "name": "OntologyURI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class RelatedItemType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Related
    Item.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the relationship to an item different from the item
    associated with the item line in which RelatedItem is
    used.</ns1:Definition> <ns1:ObjectClass>Related
    Item</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Related Item.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the related item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Related
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>First , Second </ns1:Examples> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Related Item.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        that applies to the relationship.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Related
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>6 ,
        10mg per Kilo </ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Related Item. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the relationship.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Related
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>If used in
        wet conditions or extreme environments </ns1:Examples>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class RoadTransportType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Road
    Transport.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class for
    identifying a vehicle used for road transport.</ns1:Definition>
    <ns1:ObjectClass>Road Transport</ns1:ObjectClass> </ns1:Component>

    :ivar license_plate_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Road Transport. License Plate
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>The license plate identifier of this
        vehicle.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Road Transport</ns1:ObjectClass>
        <ns1:PropertyTerm>License Plate Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Vehicle registration number (WCO
        ID 167)</ns1:AlternativeBusinessTerms> </ns1:Component>
    """

    license_plate_id: Optional[LicensePlateId] = field(
        default=None,
        metadata={
            "name": "LicensePlateID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class SecondaryHazardType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Secondary
    Hazard.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a secondary hazard associated with a hazardous
    item.</ns1:Definition> <ns1:ObjectClass>Secondary
    Hazard</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Secondary Hazard.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this secondary hazard.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Secondary Hazard</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar placard_notation: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Secondary Hazard. Placard Notation.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text of the
        placard notation corresponding to the hazard class of this
        secondary hazard. Can also be the hazard identification number
        of the orange placard (upper part) required on the means of
        transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Secondary Hazard</ns1:ObjectClass>
        <ns1:PropertyTerm>Placard Notation</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>5.1
        </ns1:Examples> </ns1:Component>
    :ivar placard_endorsement: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Secondary Hazard. Placard Endorsement.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text of the
        placard endorsement for this secondary hazard that is to be
        shown on the shipping papers for a hazardous item. Can also be
        used for the number of the orange placard (lower part) required
        on the means of transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Secondary Hazard</ns1:ObjectClass>
        <ns1:PropertyTerm>Placard Endorsement</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>2
        </ns1:Examples> </ns1:Component>
    :ivar emergency_procedures_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Secondary Hazard. Emergency Procedures
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the emergency procedures for this secondary
        hazard.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Secondary Hazard</ns1:ObjectClass>
        <ns1:PropertyTerm>Emergency Procedures Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>EMG code, EMS Page
        Number</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar extension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Secondary Hazard. Extension.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Additional
        information about the hazardous substance, which can be used
        (for example) to specify the type of regulatory requirements
        that apply to this secondary hazard.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Secondary Hazard</ns1:ObjectClass>
        <ns1:PropertyTerm>Extension</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>N.O.S. or
        a Waste Characteristics Code in conjunction with an EPA Waste
        Stream code </ns1:Examples> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    placard_notation: Optional[PlacardNotation] = field(
        default=None,
        metadata={
            "name": "PlacardNotation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    placard_endorsement: Optional[PlacardEndorsement] = field(
        default=None,
        metadata={
            "name": "PlacardEndorsement",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    emergency_procedures_code: Optional[EmergencyProceduresCode] = field(
        default=None,
        metadata={
            "name": "EmergencyProceduresCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    extension: list[Extension] = field(
        default_factory=list,
        metadata={
            "name": "Extension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class ServiceFrequencyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Service
    Frequency.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to specify
    which day of the week a transport service is
    operational.</ns1:Definition> <ns1:ObjectClass>Service
    Frequency</ns1:ObjectClass> </ns1:Component>

    :ivar week_day_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Service Frequency. Week Day.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A day of the
        week, expressed as code.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Service
        Frequency</ns1:ObjectClass> <ns1:PropertyTerm>Week
        Day</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Week Day</ns1:DataTypeQualifier>
        <ns1:DataType>Week Day_ Code. Type</ns1:DataType>
        </ns1:Component>
    """

    week_day_code: Optional[WeekDayCode] = field(
        default=None,
        metadata={
            "name": "WeekDayCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class SubcontractTermsType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Subcontract Terms.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe subcontract terms for a tendering process.</ns1:Definition>
    <ns1:ObjectClass>Subcontract Terms</ns1:ObjectClass>
    </ns1:Component>

    :ivar rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subcontract Terms.
        Rate</ns1:DictionaryEntryName> <ns1:Definition>MF: I agree with
        the query. Rate?</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subcontract Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Rate</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Rate</ns1:RepresentationTerm>
        <ns1:DataType>Rate. Type</ns1:DataType> </ns1:Component>
    :ivar unknown_price_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subcontract Terms. Unknown_ Price.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that the subcontract price is known (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subcontract Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Unknown</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subcontract Terms. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the subcontract terms.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Subcontract Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subcontract Terms.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount assigned to the subcontracted task.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subcontract Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar subcontracting_conditions_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subcontract Terms. Subcontracting
        Conditions Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code specifying the conditions for
        subcontracting.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subcontract Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Subcontracting Conditions
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subcontract Terms. Maximum_ Percent.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        percentage allowed to be subcontracted.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subcontract Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subcontract Terms. Minimum_ Percent.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The minimum
        percentage allowed to be subcontracted.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subcontract Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    """

    rate: Optional[Rate] = field(
        default=None,
        metadata={
            "name": "Rate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    unknown_price_indicator: Optional[UnknownPriceIndicator] = field(
        default=None,
        metadata={
            "name": "UnknownPriceIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    subcontracting_conditions_code: Optional[SubcontractingConditionsCode] = (
        field(
            default=None,
            metadata={
                "name": "SubcontractingConditionsCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    maximum_percent: Optional[MaximumPercent] = field(
        default=None,
        metadata={
            "name": "MaximumPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_percent: Optional[MinimumPercent] = field(
        default=None,
        metadata={
            "name": "MinimumPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class TemperatureType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Temperature.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a measurement of temperature.</ns1:Definition>
    <ns1:ObjectClass>Temperature</ns1:ObjectClass> </ns1:Component>

    :ivar attribute_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Temperature. Attribute Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this temperature measurement.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Temperature</ns1:ObjectClass>
        <ns1:PropertyTerm>Attribute Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Temperature.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The value of
        this temperature measurement.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Temperature</ns1:ObjectClass>
        <ns1:PropertyTerm>Measure</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Temperature. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this temperature measurement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Temperature</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>at sea
        level </ns1:Examples> </ns1:Component>
    """

    attribute_id: Optional[AttributeId] = field(
        default=None,
        metadata={
            "name": "AttributeID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    measure: Optional[Measure] = field(
        default=None,
        metadata={
            "name": "Measure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class TransportEquipmentSealType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Transport
    Equipment Seal.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a device (a transport equipment seal) for securing the
    doors of a shipping container.</ns1:Definition>
    <ns1:ObjectClass>Transport Equipment Seal</ns1:ObjectClass>
    <ns1:AlternativeBusinessTerms>Container
    Seal</ns1:AlternativeBusinessTerms> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment Seal.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this transport equipment seal.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Transport
        Equipment Seal</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>ACS1234 </ns1:Examples> </ns1:Component>
    :ivar seal_issuer_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment Seal. Seal Issuer
        Type Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of party that issues and is responsible for
        this transport equipment seal.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment Seal</ns1:ObjectClass>
        <ns1:PropertyTerm>Seal Issuer Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar condition: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment Seal. Condition.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The condition of
        this transport equipment seal.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment Seal</ns1:ObjectClass>
        <ns1:PropertyTerm>Condition</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar seal_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment Seal. Seal Status
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the condition of this transport equipment
        seal.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment Seal</ns1:ObjectClass>
        <ns1:PropertyTerm>Seal Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar sealing_party_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment Seal. Sealing Party
        Type. Text</ns1:DictionaryEntryName> <ns1:Definition>The role of
        the sealing party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment Seal</ns1:ObjectClass>
        <ns1:PropertyTerm>Sealing Party Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Sealing
        Party</ns1:AlternativeBusinessTerms> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    seal_issuer_type_code: Optional[SealIssuerTypeCode] = field(
        default=None,
        metadata={
            "name": "SealIssuerTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    condition: Optional[UblCommonBasicComponents21Condition] = field(
        default=None,
        metadata={
            "name": "Condition",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    seal_status_code: Optional[SealStatusCode] = field(
        default=None,
        metadata={
            "name": "SealStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    sealing_party_type: Optional[SealingPartyType] = field(
        default=None,
        metadata={
            "name": "SealingPartyType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class UnstructuredPriceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Unstructured Price.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A simplified
    version of the Price class intended for applications such as
    telephone billing.</ns1:Definition> <ns1:ObjectClass>Unstructured
    Price</ns1:ObjectClass> </ns1:Component>

    :ivar price_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Unstructured Price. Price Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The price
        amount.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Unstructured Price</ns1:ObjectClass>
        <ns1:PropertyTerm>Price Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:Examples>23.45</ns1:Examples> </ns1:Component>
    :ivar time_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Unstructured Price. Time Amount.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The usage time
        upon which the price is based.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Unstructured Price</ns1:ObjectClass>
        <ns1:PropertyTerm>Time Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    """

    price_amount: Optional[PriceAmount] = field(
        default=None,
        metadata={
            "name": "PriceAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    time_amount: Optional[TimeAmount] = field(
        default=None,
        metadata={
            "name": "TimeAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )


@dataclass
class WebSiteAccessType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Web Site
    Access.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe access to a web site.</ns1:Definition> <ns1:ObjectClass>Web
    Site Access</ns1:ObjectClass> </ns1:Component>

    :ivar uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Web Site Access. URI.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The Uniform
        Resource Identifier (URI) for this web site; i.e., its Uniform
        Resource Locator (URL).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Web
        Site Access</ns1:ObjectClass>
        <ns1:PropertyTerm>URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar password: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Web Site Access. Password.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A password to the
        web site.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Web Site Access</ns1:ObjectClass>
        <ns1:PropertyTerm>Password</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>confidence</ns1:Examples> </ns1:Component>
    :ivar login: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Web Site Access. Login.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        login details.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Web Site
        Access</ns1:ObjectClass>
        <ns1:PropertyTerm>Login</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Utsuser</ns1:Examples> </ns1:Component>
    """

    uri: Optional[Uri] = field(
        default=None,
        metadata={
            "name": "URI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    password: Optional[Password] = field(
        default=None,
        metadata={
            "name": "Password",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    login: Optional[Login] = field(
        default=None,
        metadata={
            "name": "Login",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )


@dataclass
class AccessoryRelatedItem(RelatedItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ActivityPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ActivityProperty(ActivityPropertyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AdditionalCommodityClassification(CommodityClassificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AdditionalTemperature(TemperatureType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AddressLine(AddressLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AirTransport(AirTransportType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AllowedSubcontractTerms(SubcontractTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AnticipatedMonetaryTotal(MonetaryTotalType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ApplicablePeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ApplicableRegulation(RegulationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AuctionTerms(AuctionTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AwardingCriterion(AwardingCriterionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AwardingCriterionResponse(AwardingCriterionResponseType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CardAccount(CardAccountType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CatalogueReference(CatalogueReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CategorizesClassificationCategory(ClassificationCategoryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ClassificationCategory(ClassificationCategoryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Clause(ClauseType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CollectedPayment(PaymentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CommodityClassification(CommodityClassificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Communication(CommunicationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ComplementaryRelatedItem(RelatedItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ComponentRelatedItem(RelatedItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Condition(ConditionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConstitutionPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConsumptionAverage(ConsumptionAverageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConsumptionCorrection(ConsumptionCorrectionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractAcceptancePeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractExecutionRequirement(ContractExecutionRequirementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractFormalizationPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractingActivity(ContractingActivityType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractingPartyType(ContractingPartyTypeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Country(CountryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CreditAccount(CreditAccountType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DefaultLanguage(LanguageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DeletedCatalogueReference(CatalogueReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DeliveryPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DeliveryUnit(DeliveryUnitType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DestinationCountry(CountryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Dimension(DimensionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DocumentAvailabilityPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DurationPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EconomicOperatorRole(EconomicOperatorRoleType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EffectivePeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EmergencyTemperature(TemperatureType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EnergyWaterConsumptionCorrection(ConsumptionCorrectionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EstimatedDeliveryPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EstimatedDespatchPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EstimatedDurationPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EstimatedTransitPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EventComment(EventCommentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EventTacticEnumeration(EventTacticEnumerationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EvidenceSupplied(EvidenceSuppliedType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ExceptionObservationPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ExportCountry(CountryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ExternalReference(ExternalReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinalDestinationCountry(CountryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FlashpointTemperature(TemperatureType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FloorSpaceMeasurementDimension(DimensionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ForecastException(ForecastExceptionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ForecastExceptionCriterionLine(ForecastExceptionCriterionLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ForecastPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FrequencyPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InventoryPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InvitationSubmissionPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InvoicePeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class IssuingCountry(CountryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemComparison(ItemComparisonType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemPropertyGroup(ItemPropertyGroupType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemPropertyRange(ItemPropertyRangeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Language(LanguageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LegalMonetaryTotal(MonetaryTotalType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LineValidityPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LocationCoordinate(LocationCoordinateType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MainCommodityClassification(CommodityClassificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MainPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MaximumDeliveryUnit(DeliveryUnitType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MaximumTemperature(TemperatureType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MeasurementDimension(DimensionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MeterProperty(MeterPropertyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MeterReading(MeterReadingType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MinimumDeliveryUnit(DeliveryUnitType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MinimumTemperature(TemperatureType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MonetaryTotal(MonetaryTotalType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class NominationPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class NotificationPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OptionValidityPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OriginCountry(CountryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OriginalDepartureCountry(CountryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OtherCommunication(CommunicationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PalletSpaceMeasurementDimension(DimensionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ParticipationRequestReceptionPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PartyIdentification(PartyIdentificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PartyName(PartyNameType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Payment(PaymentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PaymentReversalPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PenaltyClause(ClauseType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PenaltyPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Period(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PhysicalAttribute(PhysicalAttributeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PlannedPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PrepaidPayment(PaymentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PresentationPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ProcessJustification(ProcessJustificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PromisedDeliveryPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class QuotedMonetaryTotal(MonetaryTotalType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RailTransport(RailTransportType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RangeDimension(DimensionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Regulation(RegulationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RelatedCatalogueReference(CatalogueReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RelatedItem(RelatedItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReminderPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReplacedRelatedItem(RelatedItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReplacementRelatedItem(RelatedItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedCatalogueReference(CatalogueReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedDeliveryPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedDespatchPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedLanguage(LanguageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedMonetaryTotal(MonetaryTotalType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedStatusPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedValidityPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequiredRelatedItem(RelatedItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RoadTransport(RoadTransportType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ScheduledServiceFrequency(ServiceFrequencyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SecondaryHazard(SecondaryHazardType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ServiceEndTimePeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ServiceFrequency(ServiceFrequencyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ServiceStartTimePeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SettlementPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SourceCatalogueReference(CatalogueReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class StatementPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class StatusPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubcontractTerms(SubcontractTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubordinateAwardingCriterion(AwardingCriterionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubordinateAwardingCriterionResponse(AwardingCriterionResponseType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SupportedCommodityClassification(CommodityClassificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Temperature(TemperatureType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderSubmissionDeadlinePeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderValidityPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TotalCapacityDimension(DimensionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransitCountry(CountryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransitPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportEquipmentSeal(TransportEquipmentSealType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportServiceProviderResponseDeadlinePeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportServiceProviderResponseRequiredPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportUserResponseRequiredPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UnstructuredPrice(UnstructuredPriceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UnsupportedCommodityClassification(CommodityClassificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UsabilityPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ValidityPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class WarrantyValidityPeriod(PeriodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class WebSiteAccess(WebSiteAccessType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AddressType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Address.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    common information related to an address.</ns1:Definition>
    <ns1:ObjectClass>Address</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this address within an agreed scheme of address
        identifiers.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>DetailsKey</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar address_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Address Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A mutually agreed
        code signifying the type of this address.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Address Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar address_format_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Address Format Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A mutually agreed
        code signifying the format of this address.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Address Format Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar postbox: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Postbox.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A post office box
        number registered for postal delivery by a postal service
        provider.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Postbox</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>PostBox, PO
        Box</ns1:AlternativeBusinessTerms> <ns1:Examples>123
        </ns1:Examples> </ns1:Component>
    :ivar floor: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Floor.
        Text</ns1:DictionaryEntryName> <ns1:Definition>An identifiable
        floor of a building.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Floor</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>SubPremiseNumber</ns1:AlternativeBusinessTerms>
        <ns1:Examples>30 </ns1:Examples> </ns1:Component>
    :ivar room: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Room.
        Text</ns1:DictionaryEntryName> <ns1:Definition>An identifiable
        room, suite, or apartment of a building.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Room</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>SubPremiseNumber</ns1:AlternativeBusinessTerms>
        <ns1:Examples>Reception </ns1:Examples> </ns1:Component>
    :ivar street_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Street Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        street, road, avenue, way, etc. to which the number of the
        building is attached.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Street Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Thoroughfare</ns1:AlternativeBusinessTerms>
        <ns1:Examples>Kwun Tong Road </ns1:Examples> </ns1:Component>
    :ivar additional_street_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Additional_ Street Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>An additional
        street name used to further clarify the
        address.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Street Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Thoroughfare</ns1:AlternativeBusinessTerms>
        <ns1:Examples>Cnr Aberdeen Road </ns1:Examples> </ns1:Component>
    :ivar block_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Block Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        block (an area surrounded by streets and usually containing
        several buildings) in which this address is
        located.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Block Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType>
        <ns1:Examples>Seabird</ns1:Examples> </ns1:Component>
    :ivar building_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Building Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of a
        building.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Building Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>BuildingName</ns1:AlternativeBusinessTerms>
        <ns1:Examples>Plot 421 </ns1:Examples> </ns1:Component>
    :ivar building_number: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Building Number.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The number of a
        building within the street.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Building Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>PremiseNumber</ns1:AlternativeBusinessTerms>
        <ns1:Examples>388 </ns1:Examples> </ns1:Component>
    :ivar inhouse_mail: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Inhouse_ Mail.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The specific
        identifable location within a building where mail is
        delivered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Inhouse</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Mail</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>MailStop</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar department: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Department.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The department of
        the addressee.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Department</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Department</ns1:AlternativeBusinessTerms>
        <ns1:Examples>Accounts Payable </ns1:Examples> </ns1:Component>
    :ivar mark_attention: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Mark Attention.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The name,
        expressed as text, of a person or department in an organization
        to whose attention incoming mail is directed; corresponds to the
        printed forms "for the attention of", "FAO", and
        ATTN:".</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Mark Attention</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar mark_care: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Mark Care.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The name,
        expressed as text, of a person or organization at this address
        into whose care incoming mail is entrusted; corresponds to the
        printed forms "care of" and "c/o".</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Mark Care</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar plot_identification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Plot Identification.
        Text</ns1:DictionaryEntryName> <ns1:Definition>An identifier
        (e.g., a parcel number) for the piece of land associated with
        this address.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Plot Identification</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar city_subdivision_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. City Subdivision Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        subdivision of a city, town, or village in which this address is
        located, such as the name of its district or
        borough.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>City Subdivision Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar city_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. City Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of a
        city, town, or village.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>City Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>LocalityName</ns1:AlternativeBusinessTerms>
        <ns1:Examples>Hong Kong </ns1:Examples> </ns1:Component>
    :ivar postal_zone: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Postal_ Zone.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The postal
        identifier for this address according to the relevant national
        postal service, such as a ZIP code or Post
        Code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Postal</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Zone</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>PostalCodeNumber</ns1:AlternativeBusinessTerms>
        <ns1:Examples>SW11 4EW 2500 GG </ns1:Examples> </ns1:Component>
    :ivar country_subentity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Country Subentity.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The political or
        administrative division of a country in which this address is
        located, such as the name of its county, province, or state,
        expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Country Subentity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>AdministrativeArea, State,
        Country, Shire, Canton</ns1:AlternativeBusinessTerms>
        <ns1:Examples>Florida , Tamilnadu </ns1:Examples>
        </ns1:Component>
    :ivar country_subentity_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Country Subentity Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The political or
        administrative division of a country in which this address is
        located, such as a county, province, or state, expressed as a
        code (typically nationally agreed).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Country Subentity Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>AdministrativeAreaCode, State
        Code</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar region: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Region.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The recognized
        geographic or economic region or group of countries in which
        this address is located.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Region</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>LocalityName, Economic
        Zone</ns1:AlternativeBusinessTerms> <ns1:Examples>European Union
        </ns1:Examples> </ns1:Component>
    :ivar district: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. District.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The district or
        geographical division of a country or region in which this
        address is located.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>District</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>LocalityName,
        Area</ns1:AlternativeBusinessTerms> <ns1:Examples>East Coast
        </ns1:Examples> </ns1:Component>
    :ivar timezone_offset: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Timezone Offset.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The time zone in
        which this address is located (as an offset from Universal
        Coordinated Time (UTC)) at the time of
        exchange.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Timezone Offset</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>+8:00
        -3:00 </ns1:Examples> </ns1:Component>
    :ivar address_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Address
        Line</ns1:DictionaryEntryName> <ns1:Definition>An unstructured
        address line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Address Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Address
        Line</ns1:RepresentationTerm> </ns1:Component>
    :ivar country: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address.
        Country</ns1:DictionaryEntryName> <ns1:Definition>The country in
        which this address is situated.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Country</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Country</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Country</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar location_coordinate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Address. Location
        Coordinate</ns1:DictionaryEntryName> <ns1:Definition>The
        geographical coordinates of this address.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Address</ns1:ObjectClass>
        <ns1:PropertyTerm>Location Coordinate</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location
        Coordinate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location
        Coordinate</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    address_type_code: Optional[AddressTypeCode] = field(
        default=None,
        metadata={
            "name": "AddressTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    address_format_code: Optional[AddressFormatCode] = field(
        default=None,
        metadata={
            "name": "AddressFormatCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    postbox: Optional[Postbox] = field(
        default=None,
        metadata={
            "name": "Postbox",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    floor: Optional[Floor] = field(
        default=None,
        metadata={
            "name": "Floor",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    room: Optional[Room] = field(
        default=None,
        metadata={
            "name": "Room",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    street_name: Optional[StreetName] = field(
        default=None,
        metadata={
            "name": "StreetName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    additional_street_name: Optional[AdditionalStreetName] = field(
        default=None,
        metadata={
            "name": "AdditionalStreetName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    block_name: Optional[BlockName] = field(
        default=None,
        metadata={
            "name": "BlockName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    building_name: Optional[BuildingName] = field(
        default=None,
        metadata={
            "name": "BuildingName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    building_number: Optional[BuildingNumber] = field(
        default=None,
        metadata={
            "name": "BuildingNumber",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    inhouse_mail: Optional[InhouseMail] = field(
        default=None,
        metadata={
            "name": "InhouseMail",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    department: Optional[Department] = field(
        default=None,
        metadata={
            "name": "Department",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    mark_attention: Optional[MarkAttention] = field(
        default=None,
        metadata={
            "name": "MarkAttention",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    mark_care: Optional[MarkCare] = field(
        default=None,
        metadata={
            "name": "MarkCare",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    plot_identification: Optional[PlotIdentification] = field(
        default=None,
        metadata={
            "name": "PlotIdentification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    city_subdivision_name: Optional[CitySubdivisionName] = field(
        default=None,
        metadata={
            "name": "CitySubdivisionName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    city_name: Optional[CityName] = field(
        default=None,
        metadata={
            "name": "CityName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    postal_zone: Optional[PostalZone] = field(
        default=None,
        metadata={
            "name": "PostalZone",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    country_subentity: Optional[CountrySubentity] = field(
        default=None,
        metadata={
            "name": "CountrySubentity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    country_subentity_code: Optional[CountrySubentityCode] = field(
        default=None,
        metadata={
            "name": "CountrySubentityCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    region: Optional[Region] = field(
        default=None,
        metadata={
            "name": "Region",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    district: Optional[District] = field(
        default=None,
        metadata={
            "name": "District",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    timezone_offset: Optional[TimezoneOffset] = field(
        default=None,
        metadata={
            "name": "TimezoneOffset",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    address_line: list[AddressLine] = field(
        default_factory=list,
        metadata={
            "name": "AddressLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    country: Optional[Country] = field(
        default=None,
        metadata={
            "name": "Country",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    location_coordinate: list[LocationCoordinate] = field(
        default_factory=list,
        metadata={
            "name": "LocationCoordinate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class AttachmentType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Attachment.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an attached document. An attachment can refer to an
    external document or be included with the document being
    exchanged.</ns1:Definition>
    <ns1:ObjectClass>Attachment</ns1:ObjectClass> </ns1:Component>

    :ivar embedded_document_binary_object: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Attachment. Embedded_ Document. Binary
        Object</ns1:DictionaryEntryName> <ns1:Definition>A binary large
        object containing an attached document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Attachment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Embedded</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Binary Object</ns1:RepresentationTerm>
        <ns1:DataType>Binary Object. Type</ns1:DataType>
        </ns1:Component>
    :ivar external_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Attachment. External
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to an attached document that is external to the document(s)
        being exchanged.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Attachment</ns1:ObjectClass>
        <ns1:PropertyTerm>External Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>External
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>External
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    embedded_document_binary_object: Optional[EmbeddedDocumentBinaryObject] = (
        field(
            default=None,
            metadata={
                "name": "EmbeddedDocumentBinaryObject",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    external_reference: Optional[ExternalReference] = field(
        default=None,
        metadata={
            "name": "ExternalReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class CapabilityType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Capability.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a specific capability of an organization.</ns1:Definition>
    <ns1:ObjectClass>Capability</ns1:ObjectClass> </ns1:Component>

    :ivar capability_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Capability. Capability Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>This class can be
        used as Financial or Technical capabilities. For instance,
        "Turnover" or "Qualified Engineers" are two possible
        codes.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Capability</ns1:ObjectClass>
        <ns1:PropertyTerm>Capability Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Capability. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this capability.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Capability</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Capability. Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>A monetary
        amount as a measure of this capability.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Capability</ns1:ObjectClass>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar value_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Capability. Value_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>A quantity as
        a measure of this capability.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Capability</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Value</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar evidence_supplied: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Capability. Evidence
        Supplied</ns1:DictionaryEntryName> <ns1:Definition>The evidence
        that supports the capability claim.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Capability</ns1:ObjectClass>
        <ns1:PropertyTerm>Evidence Supplied</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Evidence
        Supplied</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Evidence
        Supplied</ns1:RepresentationTerm> </ns1:Component>
    :ivar validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Capability. Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period of
        time for which this capability is (or has been)
        valid.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Capability</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    """

    capability_type_code: Optional[CapabilityTypeCode] = field(
        default=None,
        metadata={
            "name": "CapabilityTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    value_amount: Optional[ValueAmount] = field(
        default=None,
        metadata={
            "name": "ValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    value_quantity: Optional[ValueQuantity] = field(
        default=None,
        metadata={
            "name": "ValueQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    evidence_supplied: list[EvidenceSupplied] = field(
        default_factory=list,
        metadata={
            "name": "EvidenceSupplied",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    validity_period: Optional[ValidityPeriod] = field(
        default=None,
        metadata={
            "name": "ValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ClassificationSchemeType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Classification Scheme.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a classification scheme, such as a taxonomy for classifying goods or
    services.</ns1:Definition> <ns1:ObjectClass>Classification
    Scheme</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this classification scheme.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this classification
        scheme.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar last_revision_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. Last_ Revision
        Date. Date</ns1:DictionaryEntryName> <ns1:Definition>The date on
        which this classification scheme was last
        revised.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Last</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Revision Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar last_revision_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. Last_ Revision
        Time. Time</ns1:DictionaryEntryName> <ns1:Definition>The time at
        which this classification scheme was last
        revised.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Last</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Revision Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        classification scheme.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>UNSPSC
        </ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this classification scheme.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>an open,
        global multi-sector standard for classification of products and
        services </ns1:Examples> </ns1:Component>
    :ivar agency_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. Agency
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the agency that maintains this
        classification scheme.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Agency Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>Defaults to the UN/EDIFACT data element 3055 code
        list.</ns1:Examples> </ns1:Component>
    :ivar agency_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. Agency Name.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        agency that maintains the classification
        scheme.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Agency Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar version_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. Version.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the version of this classification
        scheme.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Version</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. URI.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The Uniform
        Resource Identifier (URI) of the documentation for this
        classification scheme.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar scheme_uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. Scheme_ URI.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The Uniform
        Resource Identifier (URI) of this classification
        scheme.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Scheme</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar language_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. Language.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the language of this classification
        scheme.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Language</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar classification_category: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Classification Scheme. Classification
        Category</ns1:DictionaryEntryName> <ns1:Definition>A description
        of a category within this classification
        scheme.</ns1:Definition> <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Classification Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Classification Category</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Classification
        Category</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Classification
        Category</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    last_revision_date: Optional[LastRevisionDate] = field(
        default=None,
        metadata={
            "name": "LastRevisionDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    last_revision_time: Optional[LastRevisionTime] = field(
        default=None,
        metadata={
            "name": "LastRevisionTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    agency_id: Optional[AgencyId] = field(
        default=None,
        metadata={
            "name": "AgencyID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    agency_name: Optional[AgencyName] = field(
        default=None,
        metadata={
            "name": "AgencyName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    version_id: Optional[VersionId] = field(
        default=None,
        metadata={
            "name": "VersionID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    uri: Optional[Uri] = field(
        default=None,
        metadata={
            "name": "URI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    scheme_uri: Optional[SchemeUri] = field(
        default=None,
        metadata={
            "name": "SchemeURI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    language_id: Optional[LanguageId] = field(
        default=None,
        metadata={
            "name": "LanguageID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    classification_category: list[ClassificationCategory] = field(
        default_factory=list,
        metadata={
            "name": "ClassificationCategory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )


@dataclass
class ConsumptionHistoryType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Consumption History.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the measurement of a type of consumption during a
    particular period, used for the subscriber to get an overview of his
    consumption</ns1:Definition> <ns1:ObjectClass>Consumption
    History</ns1:ObjectClass> </ns1:Component>

    :ivar meter_number: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption History. Meter Number.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A text identifier
        for the meter measuring the consumption.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption History</ns1:ObjectClass>
        <ns1:PropertyTerm>Meter Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>61722x</ns1:Examples> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption History.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        consumed.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption History</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>7621.00</ns1:Examples> </ns1:Component>
    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption History.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount to be charged for the quantity consumed.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption History</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar consumption_level_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption History. Consumption Level
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The
        consumption level, expressed as a code used explain the
        consumption quantity, e.g.. diversion from the
        normal.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption History</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Level Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>B</ns1:Examples> </ns1:Component>
    :ivar consumption_level: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption History. Consumption Level
        Text. Text</ns1:DictionaryEntryName> <ns1:Definition>The
        consumption level, expressed as text, used explain the
        consumption quantity, e.g.. diversion from the
        normal.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption History</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Level Text</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Average</ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption History. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the consumption itself.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption History</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>2004/2005</ns1:Examples> </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption History.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which the consumption took place.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption History</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    """

    meter_number: Optional[MeterNumber] = field(
        default=None,
        metadata={
            "name": "MeterNumber",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consumption_level_code: Optional[ConsumptionLevelCode] = field(
        default=None,
        metadata={
            "name": "ConsumptionLevelCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consumption_level: Optional[ConsumptionLevel] = field(
        default=None,
        metadata={
            "name": "ConsumptionLevel",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    period: Optional[Period] = field(
        default=None,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class ConsumptionReportReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Consumption Report Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a reference to an earlier consumption report (e.g., last year's
    consumption).</ns1:Definition> <ns1:ObjectClass>Consumption Report
    Reference</ns1:ObjectClass> </ns1:Component>

    :ivar consumption_report_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report Reference.
        Consumption_ Report Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the referenced consumption
        report.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consumption</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Report Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>n/a</ns1:Examples> </ns1:Component>
    :ivar consumption_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report Reference.
        Consumption Type. Text</ns1:DictionaryEntryName>
        <ns1:Definition>The reported consumption type, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Consumption</ns1:Examples> </ns1:Component>
    :ivar consumption_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report Reference.
        Consumption Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>The reported consumption type, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Consumption</ns1:Examples> </ns1:Component>
    :ivar total_consumed_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report Reference. Total_
        Consumed Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>The total quantity consumed during the period of
        the referenced report.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Consumed Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>20479.00</ns1:Examples> </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report Reference.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period of
        consumption covered by the referenced report.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    """

    consumption_report_id: Optional[ConsumptionReportId] = field(
        default=None,
        metadata={
            "name": "ConsumptionReportID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    consumption_type: Optional[UblCommonBasicComponents21ConsumptionType] = (
        field(
            default=None,
            metadata={
                "name": "ConsumptionType",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    consumption_type_code: Optional[ConsumptionTypeCode] = field(
        default=None,
        metadata={
            "name": "ConsumptionTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_consumed_quantity: Optional[TotalConsumedQuantity] = field(
        default=None,
        metadata={
            "name": "TotalConsumedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    period: Optional[Period] = field(
        default=None,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class ContactType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Contact.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a contactable person or department in an
    organization.</ns1:Definition>
    <ns1:ObjectClass>Contact</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contact.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this contact.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contact</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>Receivals Clerk </ns1:Examples> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contact. Name</ns1:DictionaryEntryName>
        <ns1:Definition>The name of this contact. It is recommended that
        this be used for a functional name and not a personal
        name.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contact</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Delivery
        Dock </ns1:Examples> </ns1:Component>
    :ivar telephone: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contact. Telephone.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The primary
        telephone number of this contact.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contact</ns1:ObjectClass>
        <ns1:PropertyTerm>Telephone</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar telefax: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contact. Telefax.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The primary fax
        number of this contact.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contact</ns1:ObjectClass>
        <ns1:PropertyTerm>Telefax</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar electronic_mail: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contact. Electronic_ Mail.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The primary email
        address of this contact.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contact</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Electronic</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Mail</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contact. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures; in particular, a textual description of the
        circumstances under which this contact can be used (e.g.,
        "emergency" or "after hours").</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contact</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar other_communication: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contact. Other_ Communication.
        Communication</ns1:DictionaryEntryName> <ns1:Definition>Another
        means of communication with this contact.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contact</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Other</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Communication</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Communication</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Communication</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    telephone: Optional[Telephone] = field(
        default=None,
        metadata={
            "name": "Telephone",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    telefax: Optional[Telefax] = field(
        default=None,
        metadata={
            "name": "Telefax",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    electronic_mail: Optional[ElectronicMail] = field(
        default=None,
        metadata={
            "name": "ElectronicMail",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    other_communication: list[OtherCommunication] = field(
        default_factory=list,
        metadata={
            "name": "OtherCommunication",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class DeclarationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Declaration.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a declaration by an economic operator of certain
    characteristics or capabilities in fulfilment of requirements
    specified in a call for tenders.</ns1:Definition>
    <ns1:ObjectClass>Declaration</ns1:ObjectClass> </ns1:Component>

    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Declaration.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        declaration.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Declaration</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar declaration_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Declaration. Declaration Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of this declaration.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Declaration</ns1:ObjectClass>
        <ns1:PropertyTerm>Declaration Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Declaration. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this declaration.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Declaration</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar evidence_supplied: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Declaration. Evidence
        Supplied</ns1:DictionaryEntryName> <ns1:Definition>The evidence
        supporting this declaration.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Declaration</ns1:ObjectClass>
        <ns1:PropertyTerm>Evidence Supplied</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Evidence
        Supplied</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Evidence
        Supplied</ns1:RepresentationTerm> </ns1:Component>
    """

    name: list[Name] = field(
        default_factory=list,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    declaration_type_code: Optional[DeclarationTypeCode] = field(
        default=None,
        metadata={
            "name": "DeclarationTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    evidence_supplied: list[EvidenceSupplied] = field(
        default_factory=list,
        metadata={
            "name": "EvidenceSupplied",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class EventTacticType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Event
    Tactic.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class defining a
    specific type of action or situation arranged by the Buyer or the
    Seller to promote the product or products.</ns1:Definition>
    <ns1:ObjectClass>Event Tactic</ns1:ObjectClass> </ns1:Component>

    :ivar comment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Tactic. Comment.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Generic field to
        add additional information or to specify mutually defined
        eventTacticTypes that are not currently listed.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Tactic</ns1:ObjectClass>
        <ns1:PropertyTerm>Comment</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Tactic.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        currencies, units, etc. that describes what is need for the
        event or promotion Usage example: Number of pallets per store
        for a stack display</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Tactic</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar event_tactic_enumeration: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Tactic. Event Tactic
        Enumeration</ns1:DictionaryEntryName> <ns1:Definition>The set of
        codes that describes this event tactic.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Event
        Tactic</ns1:ObjectClass> <ns1:PropertyTerm>Event Tactic
        Enumeration</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Event
        Tactic Enumeration</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Event Tactic
        Enumeration</ns1:RepresentationTerm> </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Tactic.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        covered by this event tactic.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Tactic</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    """

    comment: Optional[Comment] = field(
        default=None,
        metadata={
            "name": "Comment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    event_tactic_enumeration: Optional[EventTacticEnumeration] = field(
        default=None,
        metadata={
            "name": "EventTacticEnumeration",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    period: Optional[Period] = field(
        default=None,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class FinancialGuaranteeType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Financial
    Guarantee.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the bond guarantee of a tenderer or bid submitter's actual
    entry into a contract in the event that it is the successful
    bidder.</ns1:Definition> <ns1:ObjectClass>Financial
    Guarantee</ns1:ObjectClass> </ns1:Component>

    :ivar guarantee_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Guarantee. Guarantee Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of financial guarantee. For instance
        "Provisional Guarantee" or "Final Guarantee"</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Financial
        Guarantee</ns1:ObjectClass> <ns1:PropertyTerm>Guarantee Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Guarantee. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this financial guarantee.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Financial Guarantee</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar liability_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Guarantee. Liability.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount of
        liability in this financial guarantee.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Guarantee</ns1:ObjectClass>
        <ns1:PropertyTerm>Liability</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar amount_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Guarantee. Amount.
        Rate</ns1:DictionaryEntryName> <ns1:Definition>The rate used to
        calculate the amount of liability in this financial
        guarantee.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Guarantee</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Rate</ns1:RepresentationTerm>
        <ns1:DataType>Rate. Type</ns1:DataType> </ns1:Component>
    :ivar constitution_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Guarantee. Constitution_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period during the tendering process to which this financial
        guarantee has to be settled.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Guarantee</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Constitution</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    """

    guarantee_type_code: Optional[GuaranteeTypeCode] = field(
        default=None,
        metadata={
            "name": "GuaranteeTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    liability_amount: Optional[LiabilityAmount] = field(
        default=None,
        metadata={
            "name": "LiabilityAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    amount_rate: Optional[AmountRate] = field(
        default=None,
        metadata={
            "name": "AmountRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    constitution_period: Optional[ConstitutionPeriod] = field(
        default=None,
        metadata={
            "name": "ConstitutionPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class HazardousGoodsTransitType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Hazardous
    Goods Transit.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe hazardous goods in transit.</ns1:Definition>
    <ns1:ObjectClass>Hazardous Goods Transit</ns1:ObjectClass>
    </ns1:Component>

    :ivar transport_emergency_card_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Goods Transit. Transport
        Emergency Card Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for a transport emergency card
        describing the actions to be taken in an emergency in
        transporting the hazardous goods. It may be the identity number
        of a hazardous emergency response plan assigned by the
        appropriate authority.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Goods Transit</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Emergency Card
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>TREM
        card</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar packing_criteria_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Goods Transit. Packing
        Criteria Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying the packaging requirement for transportation of
        the hazardous goods as assigned by IATA, IMDB, ADR, RID
        etc.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Goods Transit</ns1:ObjectClass>
        <ns1:PropertyTerm>Packing Criteria Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Packing
        Group</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar hazardous_regulation_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Goods Transit. Hazardous
        Regulation Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the set of legal regulations
        governing the transportation of the hazardous
        goods.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Goods Transit</ns1:ObjectClass>
        <ns1:PropertyTerm>Hazardous Regulation Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar inhalation_toxicity_zone_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Goods Transit. Inhalation
        Toxicity Zone Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the Inhalation Toxicity Hazard
        Zone for the hazardous goods, as defined by the US Department of
        Transportation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Goods Transit</ns1:ObjectClass>
        <ns1:PropertyTerm>Inhalation Toxicity Zone
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar transport_authorization_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Goods Transit. Transport
        Authorization Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying authorization for the
        transportation of hazardous cargo.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Goods Transit</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Authorization
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Permission for
        Transport</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar maximum_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Goods Transit. Maximum_
        Temperature. Temperature</ns1:DictionaryEntryName>
        <ns1:Definition>The maximum temperature at which the hazardous
        goods can safely be transported.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Goods Transit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar minimum_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Goods Transit. Minimum_
        Temperature. Temperature</ns1:DictionaryEntryName>
        <ns1:Definition>The minimum temperature at which the hazardous
        goods can safely be transported.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Goods Transit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    """

    transport_emergency_card_code: Optional[TransportEmergencyCardCode] = (
        field(
            default=None,
            metadata={
                "name": "TransportEmergencyCardCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    packing_criteria_code: Optional[PackingCriteriaCode] = field(
        default=None,
        metadata={
            "name": "PackingCriteriaCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    hazardous_regulation_code: Optional[HazardousRegulationCode] = field(
        default=None,
        metadata={
            "name": "HazardousRegulationCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    inhalation_toxicity_zone_code: Optional[InhalationToxicityZoneCode] = (
        field(
            default=None,
            metadata={
                "name": "InhalationToxicityZoneCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    transport_authorization_code: Optional[TransportAuthorizationCode] = field(
        default=None,
        metadata={
            "name": "TransportAuthorizationCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_temperature: Optional[MaximumTemperature] = field(
        default=None,
        metadata={
            "name": "MaximumTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    minimum_temperature: Optional[MinimumTemperature] = field(
        default=None,
        metadata={
            "name": "MinimumTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ItemPropertyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Item
    Property.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a specific property of an item.</ns1:Definition>
    <ns1:ObjectClass>Item Property</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this property of an item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        item property.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Energy
        Rating , Collar Size , Fat Content </ns1:Examples>
        </ns1:Component>
    :ivar name_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. Name Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        item property, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass> <ns1:PropertyTerm>Name
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar test_method: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. Test Method.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The method of
        testing the value of this item property.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass> <ns1:PropertyTerm>Test
        Method</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>100 watts
        , 15 European , 20% +/- 5% </ns1:Examples> </ns1:Component>
    :ivar value: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. Value.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The value of this
        item property, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>100 watts
        , 15 European , 20% +/- 5% </ns1:Examples> </ns1:Component>
    :ivar value_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. Value_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The value of
        this item property, expressed as a quantity.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Value</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar value_qualifier: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. Value Qualifier.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text qualifying
        the value of the property.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass> <ns1:PropertyTerm>Value
        Qualifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar importance_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. Importance Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the importance of this property in using it to describe a
        related Item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass> <ns1:PropertyTerm>Importance
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar list_value: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. List Value.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The value
        expressed as a text in case the property is a value in a list.
        For example, a colour.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass> <ns1:PropertyTerm>List
        Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar usability_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. Usability_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which this item property is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Usability</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item_property_group: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. Item Property
        Group</ns1:DictionaryEntryName> <ns1:Definition>A description of
        the property group to which this item property
        belongs.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass> <ns1:PropertyTerm>Item Property
        Group</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Item
        Property Group</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Property
        Group</ns1:RepresentationTerm> </ns1:Component>
    :ivar range_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. Range_ Dimension.
        Dimension</ns1:DictionaryEntryName> <ns1:Definition>The range of
        values for the dimensions of this property.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Range</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item_property_range: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Property. Item Property
        Range</ns1:DictionaryEntryName> <ns1:Definition>A range of
        values for this item property.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Property</ns1:ObjectClass> <ns1:PropertyTerm>Item Property
        Range</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Item
        Property Range</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Property
        Range</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    name_code: Optional[NameCode] = field(
        default=None,
        metadata={
            "name": "NameCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    test_method: Optional[TestMethod] = field(
        default=None,
        metadata={
            "name": "TestMethod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    value: Optional[Value] = field(
        default=None,
        metadata={
            "name": "Value",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    value_quantity: Optional[ValueQuantity] = field(
        default=None,
        metadata={
            "name": "ValueQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    value_qualifier: list[ValueQualifier] = field(
        default_factory=list,
        metadata={
            "name": "ValueQualifier",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    importance_code: Optional[ImportanceCode] = field(
        default=None,
        metadata={
            "name": "ImportanceCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    list_value: list[ListValue] = field(
        default_factory=list,
        metadata={
            "name": "ListValue",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    usability_period: Optional[UsabilityPeriod] = field(
        default=None,
        metadata={
            "name": "UsabilityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item_property_group: list[ItemPropertyGroup] = field(
        default_factory=list,
        metadata={
            "name": "ItemPropertyGroup",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    range_dimension: Optional[RangeDimension] = field(
        default=None,
        metadata={
            "name": "RangeDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item_property_range: Optional[ItemPropertyRange] = field(
        default=None,
        metadata={
            "name": "ItemPropertyRange",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class MeterType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Meter.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a meter and its readings.</ns1:Definition>
    <ns1:ObjectClass>Meter</ns1:ObjectClass> </ns1:Component>

    :ivar meter_number: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter. Meter Number.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The meter number,
        expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Meter</ns1:ObjectClass> <ns1:PropertyTerm>Meter
        Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>61722x</ns1:Examples> </ns1:Component>
    :ivar meter_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter. Meter Name.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        meter, which serves as an identifier to distinguish a main meter
        from a submeter.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Meter</ns1:ObjectClass> <ns1:PropertyTerm>Meter
        Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar meter_constant: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter. Meter Constant.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The factor by
        which readings of this meter must be multiplied to calculate
        consumption, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Meter</ns1:ObjectClass> <ns1:PropertyTerm>Meter
        Constant</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>1.000</ns1:Examples> </ns1:Component>
    :ivar meter_constant_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter. Meter Constant Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the formula to be used in applying the meter
        constant.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Meter</ns1:ObjectClass> <ns1:PropertyTerm>Meter
        Constant Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Factor</ns1:Examples> </ns1:Component>
    :ivar total_delivered_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter. Total_ Delivered Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        delivered; the total quantity consumed as calculated from the
        meter readings.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Meter</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivered Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>5761.00</ns1:Examples> </ns1:Component>
    :ivar meter_reading: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter. Meter
        Reading</ns1:DictionaryEntryName> <ns1:Definition>A reading of
        this meter.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Meter</ns1:ObjectClass> <ns1:PropertyTerm>Meter
        Reading</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Meter
        Reading</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Meter Reading</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar meter_property: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Meter. Meter
        Property</ns1:DictionaryEntryName> <ns1:Definition>A property of
        this meter.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Meter</ns1:ObjectClass> <ns1:PropertyTerm>Meter
        Property</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Meter
        Property</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Meter Property</ns1:RepresentationTerm>
        </ns1:Component>
    """

    meter_number: Optional[MeterNumber] = field(
        default=None,
        metadata={
            "name": "MeterNumber",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    meter_name: Optional[MeterName] = field(
        default=None,
        metadata={
            "name": "MeterName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    meter_constant: Optional[MeterConstant] = field(
        default=None,
        metadata={
            "name": "MeterConstant",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    meter_constant_code: Optional[MeterConstantCode] = field(
        default=None,
        metadata={
            "name": "MeterConstantCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_delivered_quantity: Optional[TotalDeliveredQuantity] = field(
        default=None,
        metadata={
            "name": "TotalDeliveredQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    meter_reading: list[MeterReading] = field(
        default_factory=list,
        metadata={
            "name": "MeterReading",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    meter_property: list[MeterProperty] = field(
        default_factory=list,
        metadata={
            "name": "MeterProperty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PriceListType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Price
    List.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a price list.</ns1:Definition> <ns1:ObjectClass>Price
    List</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price List.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this price list.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Price
        List</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price List. Status Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        whether this price list is an original, copy, revision, or
        cancellation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Price
        List</ns1:ObjectClass> <ns1:PropertyTerm>Status
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>new -
        announcement only , new and available , deleted - announcement
        only </ns1:Examples> </ns1:Component>
    :ivar validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price List. Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>A period during
        which this price list is valid.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Price
        List</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar previous_price_list: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price List. Previous_ Price List. Price
        List</ns1:DictionaryEntryName> <ns1:Definition>The previous
        price list.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Price
        List</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Previous</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Price List</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price
        List</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Price
        List</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    status_code: Optional[StatusCode] = field(
        default=None,
        metadata={
            "name": "StatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validity_period: list[ValidityPeriod] = field(
        default_factory=list,
        metadata={
            "name": "ValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    previous_price_list: Optional["PreviousPriceList"] = field(
        default=None,
        metadata={
            "name": "PreviousPriceList",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class RenewalType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Renewal.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the renewal of a commercial arrangement, such as a contract
    or licence fee.</ns1:Definition>
    <ns1:ObjectClass>Renewal</ns1:ObjectClass> </ns1:Component>

    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Renewal.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount of this renewal.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Renewal</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Renewal.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period for
        which the arrangement is now valid</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Renewal</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    """

    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    period: Optional[Period] = field(
        default=None,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class RetailPlannedImpactType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Retail
    Planned Impact.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a planned effect of a retail event (e.g., a promotion or a
    change in inventory policy) upon supply or demand.</ns1:Definition>
    <ns1:ObjectClass>Retail Planned Impact</ns1:ObjectClass>
    </ns1:Component>

    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Retail Planned Impact.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>Estimated
        monetary value of the planned event as an
        impact</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Retail Planned Impact</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar forecast_purpose_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Retail Planned Impact. Forecast_
        Purpose Code. Code</ns1:DictionaryEntryName> <ns1:Definition>It
        will have impact on either Sales forecast or Order
        Forecast</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Retail Planned Impact</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Forecast</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Purpose Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar forecast_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Retail Planned Impact. Forecast Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of forecast. Examples of values are: BASE
        PROMOTIONAL SEASONAL TOTAL</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Retail
        Planned Impact</ns1:ObjectClass> <ns1:PropertyTerm>Forecast Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Retail Planned Impact.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period to
        which this impact applies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Retail
        Planned Impact</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    """

    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    forecast_purpose_code: Optional[ForecastPurposeCode] = field(
        default=None,
        metadata={
            "name": "ForecastPurposeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    forecast_type_code: Optional[ForecastTypeCode] = field(
        default=None,
        metadata={
            "name": "ForecastTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    period: Optional[Period] = field(
        default=None,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class StatusType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Status.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the condition or position of an object.</ns1:Definition>
    <ns1:ObjectClass>Status</ns1:ObjectClass> </ns1:Component>

    :ivar condition_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status. Condition Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>Specifies the
        status condition of the related object.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTerm>Condition Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar reference_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status. Reference Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The reference
        date for this status.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTerm>Reference Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar reference_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status. Reference Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The reference
        time for this status.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTerm>Reference Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this status.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar status_reason_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status. Status Reason Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The reason for
        this status condition or position, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTerm>Status Reason Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar status_reason: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status. Status_ Reason.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The reason for
        this status condition or position, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Status</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reason</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar sequence_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status. Sequence Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A sequence
        identifier for this status.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTerm>Sequence Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar text: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Provides any textual information related to this
        status.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTerm>Text</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar indication_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status. Indication_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>Specifies an
        indicator relevant to a specific status.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Indication</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>A percentage
        meaningful in the context of this status.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTerm>Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar reliability_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status. Reliability Percent.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The
        reliability of this status, expressed as a
        percentage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTerm>Reliability Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar condition: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Status.
        Condition</ns1:DictionaryEntryName> <ns1:Definition>Measurements
        that quantify the condition of the objects covered by the
        status.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Status</ns1:ObjectClass>
        <ns1:PropertyTerm>Condition</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Condition</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Condition</ns1:RepresentationTerm>
        </ns1:Component>
    """

    condition_code: Optional[ConditionCode] = field(
        default=None,
        metadata={
            "name": "ConditionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reference_date: Optional[ReferenceDate] = field(
        default=None,
        metadata={
            "name": "ReferenceDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reference_time: Optional[ReferenceTime] = field(
        default=None,
        metadata={
            "name": "ReferenceTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    status_reason_code: Optional[StatusReasonCode] = field(
        default=None,
        metadata={
            "name": "StatusReasonCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    status_reason: list[StatusReason] = field(
        default_factory=list,
        metadata={
            "name": "StatusReason",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    sequence_id: Optional[SequenceId] = field(
        default=None,
        metadata={
            "name": "SequenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    text: list[Text] = field(
        default_factory=list,
        metadata={
            "name": "Text",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    indication_indicator: Optional[IndicationIndicator] = field(
        default=None,
        metadata={
            "name": "IndicationIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    percent: Optional[Percent] = field(
        default=None,
        metadata={
            "name": "Percent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reliability_percent: Optional[ReliabilityPercent] = field(
        default=None,
        metadata={
            "name": "ReliabilityPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    condition: list[Condition] = field(
        default_factory=list,
        metadata={
            "name": "Condition",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class StowageType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Stowage.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a location on board a means of transport where specified
    goods or transport equipment have been stowed or are to be
    stowed.</ns1:Definition> <ns1:ObjectClass>Stowage</ns1:ObjectClass>
    </ns1:Component>

    :ivar location_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Stowage. Location Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Stowage</ns1:ObjectClass>
        <ns1:PropertyTerm>Location Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Cell Location,
        coded</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Stowage. Location.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the location.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Stowage</ns1:ObjectClass>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Cell
        Location</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar measurement_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Stowage. Measurement_ Dimension.
        Dimension</ns1:DictionaryEntryName> <ns1:Definition>A measurable
        dimension (length, mass, weight, or volume) of this
        stowage.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Stowage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Measurement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    """

    location_id: Optional[LocationId] = field(
        default=None,
        metadata={
            "name": "LocationID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    location: list[UblCommonBasicComponents21Location] = field(
        default_factory=list,
        metadata={
            "name": "Location",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    measurement_dimension: list[MeasurementDimension] = field(
        default_factory=list,
        metadata={
            "name": "MeasurementDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class AccountingContact(ContactType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AdditionalItemProperty(ItemPropertyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Address(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ApplicableAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ApplicableTerritoryAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Attachment(AttachmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BusinessClassificationScheme(ClassificationSchemeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BuyerContact(ContactType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Capability(CapabilityType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ClassificationScheme(ClassificationSchemeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConsumptionHistory(ConsumptionHistoryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConsumptionReportReference(ConsumptionReportReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Contact(ContactType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CurrentStatus(StatusType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Declaration(DeclarationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DeliveryAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DeliveryContact(ContactType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DespatchAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DespatchContact(ContactType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DigitalSignatureAttachment(AttachmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EventTactic(EventTacticType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinalFinancialGuarantee(FinancialGuaranteeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinancialCapability(CapabilityType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinancialGuarantee(FinancialGuaranteeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class HazardousGoodsTransit(HazardousGoodsTransitType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemProperty(ItemPropertyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class JurisdictionRegionAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class KeywordItemProperty(ItemPropertyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LocationAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Meter(MeterType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OriginAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PostalAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PreviousPriceList(PriceListType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PriceList(PriceListType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RegistrationAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Renewal(RenewalType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedClassificationScheme(ClassificationSchemeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequiredBusinessClassificationScheme(ClassificationSchemeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequiredClassificationScheme(ClassificationSchemeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequiredFinancialGuarantee(FinancialGuaranteeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ResidenceAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RetailPlannedImpact(RetailPlannedImpactType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReturnAddress(AddressType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SellerContact(ContactType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SignatoryContact(ContactType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Status(StatusType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Stowage(StowageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TechnicalCapability(CapabilityType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UtilityMeter(MeterType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BudgetAccountType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Budget
    Account.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a budget account.</ns1:Definition> <ns1:ObjectClass>Budget
    Account</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Budget Account.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the budget account, typically an internal
        accounting reference.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Budget
        Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar budget_year_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Budget Account. Budget Year.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>The number of
        the year for this budget account, e.g. 2012</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Budget
        Account</ns1:ObjectClass> <ns1:PropertyTerm>Budget
        Year</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar required_classification_scheme: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Budget Account. Required_
        Classification Scheme. Classification
        Scheme</ns1:DictionaryEntryName> <ns1:Definition>A
        classification scheme required for this budget
        account.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Budget
        Account</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Classification Scheme</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Classification
        Scheme</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Classification
        Scheme</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    budget_year_numeric: Optional[BudgetYearNumeric] = field(
        default=None,
        metadata={
            "name": "BudgetYearNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    required_classification_scheme: Optional[RequiredClassificationScheme] = (
        field(
            default=None,
            metadata={
                "name": "RequiredClassificationScheme",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )


@dataclass
class ConsumptionPointType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Consumption Point.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    the point of consumption for a utility, such as a
    meter.</ns1:Definition> <ns1:ObjectClass>Consumption
    Point</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Point.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this point of consumption.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Point</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>7411013716x</ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Point. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this consumption point.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Point</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Additional
        informations concerning the consumption point</ns1:Examples>
        </ns1:Component>
    :ivar subscriber_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Point. Subscriber
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the subscriber responsible for
        the consumption at this consumption point.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Point</ns1:ObjectClass>
        <ns1:PropertyTerm>Subscriber Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>98143211</ns1:Examples> </ns1:Component>
    :ivar subscriber_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Point. Subscriber Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of
        subscriber, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Point</ns1:ObjectClass>
        <ns1:PropertyTerm>Subscriber Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar subscriber_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Point. Subscriber Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The type of
        subscriber, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Point</ns1:ObjectClass>
        <ns1:PropertyTerm>Subscriber Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>APL</ns1:Examples> </ns1:Component>
    :ivar total_delivered_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Point. Total_ Delivered
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        total quantity delivered, calculated at this consumption
        point.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Point</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivered Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>5761.00</ns1:Examples> </ns1:Component>
    :ivar address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Point.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The address of
        this consumption point.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Point</ns1:ObjectClass>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar web_site_access: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Point. Web Site
        Access</ns1:DictionaryEntryName> <ns1:Definition>Access
        information for the website of this consumption
        point.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Point</ns1:ObjectClass>
        <ns1:PropertyTerm>Web Site Access</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Web Site
        Access</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Web
        Site Access</ns1:RepresentationTerm> </ns1:Component>
    :ivar utility_meter: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Point. Utility_ Meter.
        Meter</ns1:DictionaryEntryName> <ns1:Definition>A meter at this
        consumption point.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Point</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Utility</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Meter</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Meter</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Meter</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    subscriber_id: Optional[SubscriberId] = field(
        default=None,
        metadata={
            "name": "SubscriberID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    subscriber_type: Optional[SubscriberType] = field(
        default=None,
        metadata={
            "name": "SubscriberType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    subscriber_type_code: Optional[SubscriberTypeCode] = field(
        default=None,
        metadata={
            "name": "SubscriberTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_delivered_quantity: Optional[TotalDeliveredQuantity] = field(
        default=None,
        metadata={
            "name": "TotalDeliveredQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    address: Optional[Address] = field(
        default=None,
        metadata={
            "name": "Address",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    web_site_access: Optional[WebSiteAccess] = field(
        default=None,
        metadata={
            "name": "WebSiteAccess",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    utility_meter: list[UtilityMeter] = field(
        default_factory=list,
        metadata={
            "name": "UtilityMeter",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ContractExtensionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Contract
    Extension.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe possible extensions to a contract.</ns1:Definition>
    <ns1:ObjectClass>Contract Extension</ns1:ObjectClass>
    </ns1:Component>

    :ivar options_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract Extension. Options
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>A
        description for the possible options that can be carried out
        during the execution of the contract.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contract Extension</ns1:ObjectClass>
        <ns1:PropertyTerm>Options Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_number_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract Extension. Minimum_ Number.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>The fixed
        minimum number of contract extensions or
        renewals.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract Extension</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_number_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract Extension. Maximum_ Number.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        allowed number of contract extensions.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract Extension</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar option_validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract Extension. Option Validity_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period during which the option for extending the contract is
        available.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract Extension</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Option
        Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar renewal: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract Extension.
        Renewal</ns1:DictionaryEntryName> <ns1:Definition>The period
        allowed for each contract extension.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contract Extension</ns1:ObjectClass>
        <ns1:PropertyTerm>Renewal</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Renewal</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Renewal</ns1:RepresentationTerm>
        </ns1:Component>
    """

    options_description: list[OptionsDescription] = field(
        default_factory=list,
        metadata={
            "name": "OptionsDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_number_numeric: Optional[MinimumNumberNumeric] = field(
        default=None,
        metadata={
            "name": "MinimumNumberNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_number_numeric: Optional[MaximumNumberNumeric] = field(
        default=None,
        metadata={
            "name": "MaximumNumberNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    option_validity_period: Optional[OptionValidityPeriod] = field(
        default=None,
        metadata={
            "name": "OptionValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    renewal: list[Renewal] = field(
        default_factory=list,
        metadata={
            "name": "Renewal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class CorporateRegistrationSchemeType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Corporate
    Registration Scheme.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a scheme for corporate registration.</ns1:Definition>
    <ns1:ObjectClass>Corporate Registration Scheme</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Corporate Registration Scheme.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this registration scheme.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Corporate Registration Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>ASIC
        in Australia</ns1:Examples> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Corporate Registration Scheme.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        registration scheme.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Corporate Registration Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Australian
        Securities and Investment Commission in Australia</ns1:Examples>
        </ns1:Component>
    :ivar corporate_registration_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Corporate Registration Scheme.
        Corporate Registration Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the type of this registration
        scheme.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Corporate Registration Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Corporate Registration Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>ACN
        </ns1:Examples> </ns1:Component>
    :ivar jurisdiction_region_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Corporate Registration Scheme.
        Jurisdiction Region_ Address. Address</ns1:DictionaryEntryName>
        <ns1:Definition>A geographic area in which this registration
        scheme applies.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Corporate Registration Scheme</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Jurisdiction
        Region</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        <ns1:Examples>England , Wales </ns1:Examples> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    corporate_registration_type_code: Optional[
        CorporateRegistrationTypeCode
    ] = field(
        default=None,
        metadata={
            "name": "CorporateRegistrationTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    jurisdiction_region_address: list[JurisdictionRegionAddress] = field(
        default_factory=list,
        metadata={
            "name": "JurisdictionRegionAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class DocumentReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Document
    Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a reference to a document.</ns1:Definition>
    <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the referenced document.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Document
        Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>PO-001 3333-44-123 </ns1:Examples>
        </ns1:Component>
    :ivar copy_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Copy_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that the referenced document is a copy (true) or the original
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Copy</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this document
        reference.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Issue Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date,
        assigned by the sender of the referenced document, on which the
        document was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Issue Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar issue_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Issue Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time,
        assigned by the sender of the referenced document, at which the
        document was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Issue Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar document_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Document Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The type of
        document being referenced, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar document_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Document Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of
        document being referenced, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar xpath: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. XPath.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A reference to
        another place in the same XML document instance in which
        DocumentReference appears.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>XPath</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar language_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Language.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the language used in the referenced
        document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Language</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar locale_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Locale Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the locale in which the language in the referenced document is
        used.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Locale Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar version_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Version.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the current version of the referenced
        document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Version</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>1.1
        </ns1:Examples> </ns1:Component>
    :ivar document_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Document Status
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the status of the reference document with respect to
        its original state.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Document Status</ns1:DataTypeQualifier>
        <ns1:DataType>Document Status_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar document_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Document_
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing the referenced document.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Document</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>stock no
        longer provided </ns1:Examples> </ns1:Component>
    :ivar attachment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference.
        Attachment</ns1:DictionaryEntryName> <ns1:Definition>The
        referenced document as an attachment to the document from which
        it is referenced.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Attachment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Attachment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Attachment</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period for
        which this document reference is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar issuer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Issuer_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party who
        issued the referenced document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Issuer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar result_of_verification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Reference. Result Of
        Verification</ns1:DictionaryEntryName> <ns1:Definition>The
        result of an attempt to verify a signature associated with the
        referenced document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Result Of Verification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Result Of
        Verification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Result Of
        Verification</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    copy_indicator: Optional[CopyIndicator] = field(
        default=None,
        metadata={
            "name": "CopyIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_date: Optional[IssueDate] = field(
        default=None,
        metadata={
            "name": "IssueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_time: Optional[IssueTime] = field(
        default=None,
        metadata={
            "name": "IssueTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_type_code: Optional[DocumentTypeCode] = field(
        default=None,
        metadata={
            "name": "DocumentTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_type: Optional[DocumentType] = field(
        default=None,
        metadata={
            "name": "DocumentType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    xpath: list[Xpath] = field(
        default_factory=list,
        metadata={
            "name": "XPath",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    language_id: Optional[LanguageId] = field(
        default=None,
        metadata={
            "name": "LanguageID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    locale_code: Optional[LocaleCode] = field(
        default=None,
        metadata={
            "name": "LocaleCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    version_id: Optional[VersionId] = field(
        default=None,
        metadata={
            "name": "VersionID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_status_code: Optional[DocumentStatusCode] = field(
        default=None,
        metadata={
            "name": "DocumentStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_description: list[DocumentDescription] = field(
        default_factory=list,
        metadata={
            "name": "DocumentDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    attachment: Optional[Attachment] = field(
        default=None,
        metadata={
            "name": "Attachment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    validity_period: Optional[ValidityPeriod] = field(
        default=None,
        metadata={
            "name": "ValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    issuer_party: Optional["IssuerParty"] = field(
        default=None,
        metadata={
            "name": "IssuerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    result_of_verification: Optional["ResultOfVerification"] = field(
        default=None,
        metadata={
            "name": "ResultOfVerification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class FinancialInstitutionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Financial
    Institution.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a financial institution.</ns1:Definition>
    <ns1:ObjectClass>Financial Institution</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Institution.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this financial institution. It is recommended
        that the ISO 9362 Bank Identification Code (BIC) be used as the
        ID.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Institution</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Institution.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        financial institution.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Institution</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Institution.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The address of
        this financial institution.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Institution</ns1:ObjectClass>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    address: Optional[Address] = field(
        default=None,
        metadata={
            "name": "Address",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class LocationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Location.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a location.</ns1:Definition>
    <ns1:ObjectClass>Location</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this location, e.g., the EAN Location Number,
        GLN.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>5790002221134</ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this location.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar conditions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location. Conditions.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        describing the physical conditions of the
        location.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTerm>Conditions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar country_subentity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location. Country Subentity.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A territorial
        division of a country, such as a county or state, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTerm>Country Subentity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>AdministrativeArea, State,
        Country, Shire, Canton</ns1:AlternativeBusinessTerms>
        <ns1:Examples>Florida , Tamilnadu </ns1:Examples>
        </ns1:Component>
    :ivar country_subentity_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location. Country Subentity Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A territorial
        division of a country, such as a county or state, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTerm>Country Subentity Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>AdministrativeAreaCode, State
        Code</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar location_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location. Location Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTerm>Location Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar information_uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location. Information_ URI.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The Uniform
        Resource Identifier (URI) of a document providing information
        about this location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Information</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>winter
        2005 collection </ns1:Examples> </ns1:Component>
    :ivar validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location. Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>A period during
        which this location can be used (e.g., for
        delivery).</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The address of
        this location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar subsidiary_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location. Subsidiary_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>A location
        subsidiary to this location.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Subsidiary</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar location_coordinate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Location. Location
        Coordinate</ns1:DictionaryEntryName> <ns1:Definition>The
        geographical coordinates of this location.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Location</ns1:ObjectClass>
        <ns1:PropertyTerm>Location Coordinate</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location
        Coordinate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location
        Coordinate</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    conditions: list[Conditions] = field(
        default_factory=list,
        metadata={
            "name": "Conditions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    country_subentity: Optional[CountrySubentity] = field(
        default=None,
        metadata={
            "name": "CountrySubentity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    country_subentity_code: Optional[CountrySubentityCode] = field(
        default=None,
        metadata={
            "name": "CountrySubentityCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    location_type_code: Optional[LocationTypeCode] = field(
        default=None,
        metadata={
            "name": "LocationTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    information_uri: Optional[InformationUri] = field(
        default=None,
        metadata={
            "name": "InformationURI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validity_period: list[ValidityPeriod] = field(
        default_factory=list,
        metadata={
            "name": "ValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    address: Optional[Address] = field(
        default=None,
        metadata={
            "name": "Address",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    subsidiary_location: list["SubsidiaryLocation"] = field(
        default_factory=list,
        metadata={
            "name": "SubsidiaryLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    location_coordinate: list[LocationCoordinate] = field(
        default_factory=list,
        metadata={
            "name": "LocationCoordinate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class LotIdentificationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Lot
    Identification.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class for
    defining a lot identifier (the identifier of a set of item instances
    that would be used in case of a recall of that
    item).</ns1:Definition> <ns1:ObjectClass>Lot
    Identification</ns1:ObjectClass> </ns1:Component>

    :ivar lot_number_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Lot Identification. Lot Number.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the lot.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Lot
        Identification</ns1:ObjectClass> <ns1:PropertyTerm>Lot
        Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar expiry_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Lot Identification. Expiry Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The expiry date
        of the lot.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Lot
        Identification</ns1:ObjectClass> <ns1:PropertyTerm>Expiry
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar additional_item_property: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Lot Identification. Additional_ Item
        Property. Item Property</ns1:DictionaryEntryName>
        <ns1:Definition>An additional property of the
        lot.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Lot Identification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Property</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Property</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Property</ns1:RepresentationTerm>
        </ns1:Component>
    """

    lot_number_id: Optional[LotNumberId] = field(
        default=None,
        metadata={
            "name": "LotNumberID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    expiry_date: Optional[ExpiryDate] = field(
        default=None,
        metadata={
            "name": "ExpiryDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    additional_item_property: list[AdditionalItemProperty] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalItemProperty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ResponseType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Response.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an application-level response to a
    document.</ns1:Definition>
    <ns1:ObjectClass>Response</ns1:ObjectClass> </ns1:Component>

    :ivar reference_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Response. Reference.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the section (or line) of the document to which
        this response applies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Reference</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar response_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Response. Response Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of response.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Response Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Response. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this response.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar effective_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Response. Effective Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date upon
        which this response is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Effective Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar effective_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Response. Effective Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        this response is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Effective Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar status: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Response.
        Status</ns1:DictionaryEntryName> <ns1:Definition>A status report
        associated with this response.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Status</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Status</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Status</ns1:RepresentationTerm>
        </ns1:Component>
    """

    reference_id: Optional[ReferenceId] = field(
        default=None,
        metadata={
            "name": "ReferenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    response_code: Optional[ResponseCode] = field(
        default=None,
        metadata={
            "name": "ResponseCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    effective_date: Optional[EffectiveDate] = field(
        default=None,
        metadata={
            "name": "EffectiveDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    effective_time: Optional[EffectiveTime] = field(
        default=None,
        metadata={
            "name": "EffectiveTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    status: list[Status] = field(
        default_factory=list,
        metadata={
            "name": "Status",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TaxSchemeType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tax
    Scheme.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a taxation scheme (e.g., VAT, State tax, County
    tax).</ns1:Definition> <ns1:ObjectClass>Tax Scheme</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Scheme.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this taxation scheme.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>http://www.unece.org/uncefact/codelist/standard/EDIFICASEU_TaxExemptionReason_D09B.xsd</ns1:Examples>
        </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Scheme.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        taxation scheme.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Value
        Added Tax , Wholesale Tax , Sales Tax , State Tax
        </ns1:Examples> </ns1:Component>
    :ivar tax_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Scheme. Tax Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of tax.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Scheme</ns1:ObjectClass> <ns1:PropertyTerm>Tax Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Consumption , Sales </ns1:Examples>
        </ns1:Component>
    :ivar currency_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Scheme. Currency Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the currency in which the tax is collected and
        reported.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Scheme</ns1:ObjectClass> <ns1:PropertyTerm>Currency
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Currency</ns1:DataTypeQualifier>
        <ns1:DataType>Currency_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar jurisdiction_region_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Scheme. Jurisdiction Region_
        Address. Address</ns1:DictionaryEntryName> <ns1:Definition>A
        geographic area in which this taxation scheme
        applies.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tax
        Scheme</ns1:ObjectClass> <ns1:PropertyTermQualifier>Jurisdiction
        Region</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_type_code: Optional[TaxTypeCode] = field(
        default=None,
        metadata={
            "name": "TaxTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    currency_code: Optional[CurrencyCode] = field(
        default=None,
        metadata={
            "name": "CurrencyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    jurisdiction_region_address: list[JurisdictionRegionAddress] = field(
        default_factory=list,
        metadata={
            "name": "JurisdictionRegionAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TradingTermsType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Trading
    Terms.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class for
    describing the terms of a trade agreement.</ns1:Definition>
    <ns1:ObjectClass>Trading Terms</ns1:ObjectClass> </ns1:Component>

    :ivar information: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Trading Terms. Information.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the terms of a trade agreement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Trading
        Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Information</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Unless
        credit terms have been expressly agreed by Dell, payment for the
        products or services shall be made in full before physical
        delivery of products or services. Customer shall pay for all
        shipping and handling charges. </ns1:Examples> </ns1:Component>
    :ivar reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Trading Terms. Reference.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A reference
        quoting the basis of the terms</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Trading
        Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Reference</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>http://www1.ap.dell.com/content/topics/topic.aspx/ap/policy/en/au/sales_terms_au?c=au&amp;l=en&amp;s=gen</ns1:Examples>
        </ns1:Component>
    :ivar applicable_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Trading Terms. Applicable_ Address.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The address at
        which these trading terms apply.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Trading
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Applicable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    """

    information: list[Information] = field(
        default_factory=list,
        metadata={
            "name": "Information",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reference: Optional[Reference] = field(
        default=None,
        metadata={
            "name": "Reference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    applicable_address: Optional[ApplicableAddress] = field(
        default=None,
        metadata={
            "name": "ApplicableAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ActivityFinalLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ActivityOriginLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AdditionalDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AlternativeDeliveryLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AtLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BudgetAccount(BudgetAccountType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CallForTendersDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CatalogueDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConsumptionPoint(ConsumptionPointType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractExtension(ContractExtensionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractualDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CorporateRegistrationScheme(CorporateRegistrationSchemeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CreditNoteDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DebitNoteDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DeliveryLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DespatchDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DespatchLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DiscrepancyResponse(ResponseType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EmploymentLegislationDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EnvironmentalLegislationDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EvidenceDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinancialInstitution(FinancialInstitutionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FirstArrivalPortLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FiscalLegislationDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FreightChargeLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FromLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class GuaranteeDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class GuidanceDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class HaulageTradingTerms(TradingTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class IdentityDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InventoryLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InvoiceDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemSpecificationDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LastExitPortLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LegalDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LoadingLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LoadingPortLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Location(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LotIdentification(LotIdentificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MandateDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MeasurementFromLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MeasurementToLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MinutesDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class NoticeDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class NotificationLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OccurenceLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OrderDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OriginalDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OriginatorDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ParentDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ParticipatingLocationsLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PhysicalLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PickupLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PreviousDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ProcurementLegislationDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class QuotationDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RealizedLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReceiptDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RegistryCertificateDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RegistryPortLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReminderDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReplacedNoticeDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestForQuotationDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedStatusLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ResolutionDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Response(ResponseType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SelfBilledCreditNoteDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SelfBilledInvoiceDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ShipmentDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class StatementDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class StatusLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class StorageLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubsidiaryLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SupportingDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TaxScheme(TaxSchemeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TechnicalDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TemplateDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TendererQualificationDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ToLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TradingTerms(TradingTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportExecutionPlanDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportExecutionPlanRequestDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportProgressStatusRequestDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportServiceDescriptionDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportServiceDescriptionRequestDocumentReference(
    DocumentReferenceType
):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportationStatusRequestDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransshipPortLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UnloadingLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UnloadingPortLocation(LocationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UtilityConsumptionPoint(ConsumptionPointType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class WorkOrderDocumentReference(DocumentReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BranchType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Branch.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a branch or a division of an organization.</ns1:Definition>
    <ns1:ObjectClass>Branch</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Branch.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this branch or division of an
        organization.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Branch</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Branch. Name</ns1:DictionaryEntryName>
        <ns1:Definition>The name of this branch or division of an
        organization.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Branch</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar financial_institution: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Branch. Financial
        Institution</ns1:DictionaryEntryName> <ns1:Definition>The
        financial institution that this branch belongs to (if
        applicable).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Branch</ns1:ObjectClass>
        <ns1:PropertyTerm>Financial Institution</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Financial
        Institution</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Financial
        Institution</ns1:RepresentationTerm> </ns1:Component>
    :ivar address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Branch.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The address of
        this branch or division.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Branch</ns1:ObjectClass>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    financial_institution: Optional[FinancialInstitution] = field(
        default=None,
        metadata={
            "name": "FinancialInstitution",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    address: Optional[Address] = field(
        default=None,
        metadata={
            "name": "Address",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class BudgetAccountLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Budget
    Account Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a budget account line.</ns1:Definition> <ns1:ObjectClass>Budget
    Account Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Budget Account Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this budget account line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Budget
        Account Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar total_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Budget Account Line. Total_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        monetary amount for this budget account line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Budget
        Account Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar budget_account: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Budget Account Line. Budget
        Account</ns1:DictionaryEntryName> <ns1:Definition>An account
        covering this budget account line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Budget
        Account Line</ns1:ObjectClass> <ns1:PropertyTerm>Budget
        Account</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Budget
        Account</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Budget Account</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_amount: Optional[TotalAmount] = field(
        default=None,
        metadata={
            "name": "TotalAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    budget_account: list[BudgetAccount] = field(
        default_factory=list,
        metadata={
            "name": "BudgetAccount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ConsumptionReportType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Consumption Report.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe utility consumption, including details of the environment
    in which consumption takes place.</ns1:Definition>
    <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this consumption report.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>n/a</ns1:Examples> </ns1:Component>
    :ivar consumption_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Consumption Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of
        consumption, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Consumption</ns1:Examples> </ns1:Component>
    :ivar consumption_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Consumption Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The type of
        consumption, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Consumption</ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text reporting
        utility consumption.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>This
        report contain the latest year consumption</ns1:Examples>
        </ns1:Component>
    :ivar total_consumed_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Total_ Consumed
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        total quantity consumed.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Consumed Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>20479.00</ns1:Examples> </ns1:Component>
    :ivar basic_consumed_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Basic_ Consumed
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        basic quantity consumed, excluding additional
        consumption.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Basic</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Consumed Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>20000.00</ns1:Examples> </ns1:Component>
    :ivar resident_occupants_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Resident_ Occupants
        Numeric. Numeric</ns1:DictionaryEntryName> <ns1:Definition>The
        number of people occupying the residence covered by this
        report.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Resident</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Occupants Numeric</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType>
        <ns1:Examples>4.0</ns1:Examples> </ns1:Component>
    :ivar consumers_energy_level_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Consumers_ Energy
        Level Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The
        level of energy consumed, compared to the average for this
        residence type and the number of people living in the residence,
        expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consumers</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Energy Level Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>B</ns1:Examples> </ns1:Component>
    :ivar consumers_energy_level: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Consumers_ Energy
        Level. Text</ns1:DictionaryEntryName> <ns1:Definition>The level
        of energy consumed, compared to the average for this residence
        type and the number of people living in the residence, expressed
        as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consumers</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Energy Level</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Middel</ns1:Examples> </ns1:Component>
    :ivar residence_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Residence Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of
        residence (house, apartment, etc.) covered in this report,
        expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Residence Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>House</ns1:Examples> </ns1:Component>
    :ivar residence_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Residence Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The type of
        residence (house, apartment, etc.) covered in this report,
        expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Residence Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>House</ns1:Examples> </ns1:Component>
    :ivar heating_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Heating Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of
        heating in the residence covered in this report, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Heating Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>District
        heating</ns1:Examples> </ns1:Component>
    :ivar heating_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Heating Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The type of
        heating in the residence covered in this report, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Heating Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>DistrictHeating</ns1:Examples> </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period of
        consumption covered in this report.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar guidance_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Guidance_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a document providing an
        explanation of this kind of report.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Guidance</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to some other document (for example, this report in another
        format).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar consumption_report_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Consumption Report
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a previous consumption report.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Report
        Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consumption Report
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consumption Report
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar consumption_history: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Report. Consumption
        History</ns1:DictionaryEntryName> <ns1:Definition>A report
        describing historical parameters relating to a specific instance
        of consumption.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Report</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption History</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consumption
        History</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consumption
        History</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    consumption_type: Optional[UblCommonBasicComponents21ConsumptionType] = (
        field(
            default=None,
            metadata={
                "name": "ConsumptionType",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    consumption_type_code: Optional[ConsumptionTypeCode] = field(
        default=None,
        metadata={
            "name": "ConsumptionTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_consumed_quantity: Optional[TotalConsumedQuantity] = field(
        default=None,
        metadata={
            "name": "TotalConsumedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    basic_consumed_quantity: Optional[BasicConsumedQuantity] = field(
        default=None,
        metadata={
            "name": "BasicConsumedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    resident_occupants_numeric: Optional[ResidentOccupantsNumeric] = field(
        default=None,
        metadata={
            "name": "ResidentOccupantsNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consumers_energy_level_code: Optional[ConsumersEnergyLevelCode] = field(
        default=None,
        metadata={
            "name": "ConsumersEnergyLevelCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consumers_energy_level: Optional[ConsumersEnergyLevel] = field(
        default=None,
        metadata={
            "name": "ConsumersEnergyLevel",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    residence_type: Optional[ResidenceType] = field(
        default=None,
        metadata={
            "name": "ResidenceType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    residence_type_code: Optional[ResidenceTypeCode] = field(
        default=None,
        metadata={
            "name": "ResidenceTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    heating_type: Optional[HeatingType] = field(
        default=None,
        metadata={
            "name": "HeatingType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    heating_type_code: Optional[HeatingTypeCode] = field(
        default=None,
        metadata={
            "name": "HeatingTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    period: Optional[Period] = field(
        default=None,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    guidance_document_reference: Optional[GuidanceDocumentReference] = field(
        default=None,
        metadata={
            "name": "GuidanceDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: Optional[DocumentReference] = field(
        default=None,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    consumption_report_reference: list[ConsumptionReportReference] = field(
        default_factory=list,
        metadata={
            "name": "ConsumptionReportReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    consumption_history: list[ConsumptionHistory] = field(
        default_factory=list,
        metadata={
            "name": "ConsumptionHistory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ContractType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Contract.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a contract.</ns1:Definition>
    <ns1:ObjectClass>Contract</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this contract.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>CC23
        </ns1:Examples> </ns1:Component>
    :ivar issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Issue Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this contract was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTerm>Issue Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar issue_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Issue Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        this contract was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTerm>Issue Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar nomination_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Nomination Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>In a
        transportation contract, the deadline date by which the services
        referred to in the transport execution plan have to be booked.
        For example, if this service is a carrier service scheduled for
        Wednesday 16 February 2011 at 10 a.m. CET, the nomination date
        might be Tuesday15 February 2011.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTerm>Nomination Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar nomination_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Nomination Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>In a
        transportation contract, the deadline time by which the services
        referred to in the transport execution plan have to be booked.
        For example, if this service is a carrier service scheduled for
        Wednesday 16 February 2011 at 10 a.m. CET, the nomination date
        might be Tuesday15 February 2011 and the nomination time 4 p.m.
        at the latest.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTerm>Nomination Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar contract_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Contract Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The type of this
        contract, expressed as a code, such as "Cost plus award fee" and
        "Cost plus fixed fee" from UNCEFACT Contract Type code
        list.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTerm>Contract Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar contract_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Contract Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of this
        contract, expressed as text, such as "Cost plus award fee" and
        "Cost plus fixed fee" from UNCEFACT Contract Type code
        list.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTerm>Contract Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Remarks</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar version_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Version.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the current version of this
        contract.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTerm>Version</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this contract.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which this contract is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar contract_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Contract_ Document Reference.
        Document Reference</ns1:DictionaryEntryName> <ns1:Definition>A
        reference to a contract document.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contract</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar nomination_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Nomination_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>In a
        transportation contract, the period required to book the
        services specified in the contract before the services can
        begin.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Nomination</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar contractual_delivery: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contract. Contractual_ Delivery.
        Delivery</ns1:DictionaryEntryName> <ns1:Definition>In a
        transportation contract, the delivery of the services required
        to book the services specified in the contract.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contract</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contractual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_date: Optional[IssueDate] = field(
        default=None,
        metadata={
            "name": "IssueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_time: Optional[IssueTime] = field(
        default=None,
        metadata={
            "name": "IssueTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    nomination_date: Optional[NominationDate] = field(
        default=None,
        metadata={
            "name": "NominationDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    nomination_time: Optional[NominationTime] = field(
        default=None,
        metadata={
            "name": "NominationTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contract_type_code: Optional[ContractTypeCode] = field(
        default=None,
        metadata={
            "name": "ContractTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contract_type: Optional[UblCommonBasicComponents21ContractType] = field(
        default=None,
        metadata={
            "name": "ContractType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    version_id: Optional[VersionId] = field(
        default=None,
        metadata={
            "name": "VersionID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validity_period: Optional[ValidityPeriod] = field(
        default=None,
        metadata={
            "name": "ValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contract_document_reference: list[ContractDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "ContractDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    nomination_period: Optional[NominationPeriod] = field(
        default=None,
        metadata={
            "name": "NominationPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contractual_delivery: Optional["ContractualDelivery"] = field(
        default=None,
        metadata={
            "name": "ContractualDelivery",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class EmissionCalculationMethodType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Emission
    Calculation Method.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    how an environmental emission is calculated.</ns1:Definition>
    <ns1:ObjectClass>Emission Calculation Method</ns1:ObjectClass>
    </ns1:Component>

    :ivar calculation_method_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Emission Calculation Method.
        Calculation Method Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the method used to calculate
        the emission.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Emission Calculation Method</ns1:ObjectClass>
        <ns1:PropertyTerm>Calculation Method Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar fullness_indication_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Emission Calculation Method. Fullness
        Indication Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying whether a piece of transport
        equipment is full, partially full, or empty. This indication is
        used as a parameter when calculating the environmental
        emission.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Emission Calculation Method</ns1:ObjectClass>
        <ns1:PropertyTerm>Fullness Indication Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar measurement_from_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Emission Calculation Method.
        Measurement From_ Location. Location</ns1:DictionaryEntryName>
        <ns1:Definition>A start location from which an environmental
        emission is calculated.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Emission Calculation Method</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Measurement
        From</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar measurement_to_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Emission Calculation Method.
        Measurement To_ Location. Location</ns1:DictionaryEntryName>
        <ns1:Definition>An end location to which an environmental
        emission is calculated.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Emission Calculation Method</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Measurement
        To</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    """

    calculation_method_code: Optional[CalculationMethodCode] = field(
        default=None,
        metadata={
            "name": "CalculationMethodCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    fullness_indication_code: Optional[FullnessIndicationCode] = field(
        default=None,
        metadata={
            "name": "FullnessIndicationCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    measurement_from_location: Optional[MeasurementFromLocation] = field(
        default=None,
        metadata={
            "name": "MeasurementFromLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    measurement_to_location: Optional[MeasurementToLocation] = field(
        default=None,
        metadata={
            "name": "MeasurementToLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class EnergyTaxReportType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Energy Tax
    Report.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe energy taxes.</ns1:Definition> <ns1:ObjectClass>Energy Tax
    Report</ns1:ObjectClass> </ns1:Component>

    :ivar tax_energy_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Energy Tax Report. Tax Energy Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount of taxes (and duties).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Energy
        Tax Report</ns1:ObjectClass> <ns1:PropertyTerm>Tax Energy
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:Examples>3087.90</ns1:Examples> </ns1:Component>
    :ivar tax_energy_on_account_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Energy Tax Report. Tax Energy_ On
        Account Amount. Amount</ns1:DictionaryEntryName>
        <ns1:Definition>The monetary amount of taxes (and duties) paid
        on account.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Energy
        Tax Report</ns1:ObjectClass> <ns1:PropertyTermQualifier>Tax
        Energy</ns1:PropertyTermQualifier> <ns1:PropertyTerm>On Account
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:Examples>2855.40</ns1:Examples> </ns1:Component>
    :ivar tax_energy_balance_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Energy Tax Report. Tax Energy Balance.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount of the balance of taxes owing.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Energy
        Tax Report</ns1:ObjectClass> <ns1:PropertyTerm>Tax Energy
        Balance</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:Examples>232.49</ns1:Examples> </ns1:Component>
    :ivar tax_scheme: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Energy Tax Report. Tax
        Scheme</ns1:DictionaryEntryName> <ns1:Definition>The relevant
        taxation scheme.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Energy Tax
        Report</ns1:ObjectClass> <ns1:PropertyTerm>Tax
        Scheme</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Tax
        Scheme</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Scheme</ns1:RepresentationTerm> </ns1:Component>
    """

    tax_energy_amount: Optional[TaxEnergyAmount] = field(
        default=None,
        metadata={
            "name": "TaxEnergyAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_energy_on_account_amount: Optional[TaxEnergyOnAccountAmount] = field(
        default=None,
        metadata={
            "name": "TaxEnergyOnAccountAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_energy_balance_amount: Optional[TaxEnergyBalanceAmount] = field(
        default=None,
        metadata={
            "name": "TaxEnergyBalanceAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_scheme: Optional[TaxScheme] = field(
        default=None,
        metadata={
            "name": "TaxScheme",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class EventType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Event.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a significant occurrence relating to an object, process, or
    person.</ns1:Definition> <ns1:ObjectClass>Event</ns1:ObjectClass>
    </ns1:Component>

    :ivar identification_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event. Identification.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this event within an agreed event identification
        scheme.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Identification</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar occurrence_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event. Occurrence Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date of this
        event.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Occurrence Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar occurrence_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event. Occurrence Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time of this
        event.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Occurrence Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event. Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of this event.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Event</ns1:ObjectClass> <ns1:PropertyTerm>Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this event.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar completion_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event. Completion_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this event has been completed (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Event</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Completion</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar current_status: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event. Current_ Status.
        Status</ns1:DictionaryEntryName> <ns1:Definition>The current
        status of this event.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Event</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Current</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Status</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Status</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Status</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>Contacts
        associated with this event.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar occurence_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event. Occurence_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The location
        of this event.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Event</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Occurence</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    """

    identification_id: Optional[IdentificationId] = field(
        default=None,
        metadata={
            "name": "IdentificationID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    occurrence_date: Optional[OccurrenceDate] = field(
        default=None,
        metadata={
            "name": "OccurrenceDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    occurrence_time: Optional[OccurrenceTime] = field(
        default=None,
        metadata={
            "name": "OccurrenceTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    type_code: Optional[TypeCode] = field(
        default=None,
        metadata={
            "name": "TypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    completion_indicator: Optional[CompletionIndicator] = field(
        default=None,
        metadata={
            "name": "CompletionIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    current_status: list[CurrentStatus] = field(
        default_factory=list,
        metadata={
            "name": "CurrentStatus",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contact: list[Contact] = field(
        default_factory=list,
        metadata={
            "name": "Contact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    occurence_location: Optional[OccurenceLocation] = field(
        default=None,
        metadata={
            "name": "OccurenceLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ItemInstanceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Item
    Instance.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a specific, trackable instance of an item.</ns1:Definition>
    <ns1:ObjectClass>Item Instance</ns1:ObjectClass> </ns1:Component>

    :ivar product_trace_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Instance. Product Trace_
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier used for tracing this item
        instance, such as the EPC number used in RFID.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Instance</ns1:ObjectClass> <ns1:PropertyTermQualifier>Product
        Trace</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar manufacture_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Instance. Manufacture Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this item instance was manufactured.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Instance</ns1:ObjectClass> <ns1:PropertyTerm>Manufacture
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar manufacture_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Instance. Manufacture Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        this item instance was manufactured.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Instance</ns1:ObjectClass> <ns1:PropertyTerm>Manufacture
        Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar best_before_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Instance. Best Before Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date before
        which it is best to use this item instance.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Instance</ns1:ObjectClass> <ns1:PropertyTerm>Best Before
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar registration_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Instance. Registration Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The
        registration identifier of this item instance.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Instance</ns1:ObjectClass> <ns1:PropertyTerm>Registration
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>car
        registration or licensing number</ns1:Examples> </ns1:Component>
    :ivar serial_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Instance. Serial Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The serial
        number of this item instance.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Instance</ns1:ObjectClass> <ns1:PropertyTerm>Serial
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>chassis number of a car</ns1:Examples>
        </ns1:Component>
    :ivar additional_item_property: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Instance. Additional_ Item
        Property. Item Property</ns1:DictionaryEntryName>
        <ns1:Definition>An additional property of this item
        instance.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Instance</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Property</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Property</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Property</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar lot_identification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Instance. Lot
        Identification</ns1:DictionaryEntryName> <ns1:Definition>The lot
        identifier of this item instance (the identifier that allows
        recall of the item if necessary).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Instance</ns1:ObjectClass> <ns1:PropertyTerm>Lot
        Identification</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Lot
        Identification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Lot
        Identification</ns1:RepresentationTerm> </ns1:Component>
    """

    product_trace_id: Optional[ProductTraceId] = field(
        default=None,
        metadata={
            "name": "ProductTraceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    manufacture_date: Optional[ManufactureDate] = field(
        default=None,
        metadata={
            "name": "ManufactureDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    manufacture_time: Optional[ManufactureTime] = field(
        default=None,
        metadata={
            "name": "ManufactureTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    best_before_date: Optional[BestBeforeDate] = field(
        default=None,
        metadata={
            "name": "BestBeforeDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    registration_id: Optional[RegistrationId] = field(
        default=None,
        metadata={
            "name": "RegistrationID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    serial_id: Optional[SerialId] = field(
        default=None,
        metadata={
            "name": "SerialID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    additional_item_property: list[AdditionalItemProperty] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalItemProperty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    lot_identification: Optional[LotIdentification] = field(
        default=None,
        metadata={
            "name": "LotIdentification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class LineReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Line
    Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a reference to a line in a document.</ns1:Definition>
    <ns1:ObjectClass>Line Reference</ns1:ObjectClass> </ns1:Component>

    :ivar line_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Reference. Line Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>Identifies
        the referenced line in the document.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Line
        Reference</ns1:ObjectClass> <ns1:PropertyTerm>Line
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Reference. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this line
        reference.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar line_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Reference. Line Status Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the status of the referenced line with respect to its original
        state.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Line Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Line Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Line Status</ns1:DataTypeQualifier>
        <ns1:DataType>Line Status_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Reference. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to the document containing the referenced line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Reference</ns1:ObjectClass> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    line_id: Optional[LineId] = field(
        default=None,
        metadata={
            "name": "LineID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_status_code: Optional[LineStatusCode] = field(
        default=None,
        metadata={
            "name": "LineStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_reference: Optional[DocumentReference] = field(
        default=None,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class MaritimeTransportType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Maritime
    Transport.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a vessel used for transport by water (including sea, river,
    and canal).</ns1:Definition> <ns1:ObjectClass>Maritime
    Transport</ns1:ObjectClass> </ns1:Component>

    :ivar vessel_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Maritime Transport. Vessel Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for a specific vessel.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Maritime Transport</ns1:ObjectClass>
        <ns1:PropertyTerm>Vessel Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Lloyds Number, Registration Number
        (WCO ID 167)</ns1:AlternativeBusinessTerms>
        <ns1:Examples>International Maritime Organisation number of a
        vessel</ns1:Examples> </ns1:Component>
    :ivar vessel_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Maritime Transport. Vessel Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        vessel.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Maritime Transport</ns1:ObjectClass>
        <ns1:PropertyTerm>Vessel Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Ships
        Name</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar radio_call_sign_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Maritime Transport. Radio Call Sign
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>The radio call sign of the
        vessel.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Maritime Transport</ns1:ObjectClass>
        <ns1:PropertyTerm>Radio Call Sign Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>NES</ns1:Examples> </ns1:Component>
    :ivar ships_requirements: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Maritime Transport. Ships Requirements.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Information about
        what services a vessel will require when it arrives at a port,
        such as refueling, maintenance, waste disposal
        etc.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Maritime Transport</ns1:ObjectClass>
        <ns1:PropertyTerm>Ships Requirements</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar gross_tonnage_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Maritime Transport. Gross Tonnage.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>Gross tonnage
        is calculated by measuring a ship's volume (from keel to funnel,
        to the outside of the hull framing) and applying a mathematical
        formula and is used to determine things such as a ship's manning
        regulations, safety rules, registration fees and port
        dues.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Maritime Transport</ns1:ObjectClass>
        <ns1:PropertyTerm>Gross Tonnage</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar net_tonnage_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Maritime Transport. Net Tonnage.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>Net tonnage is
        calculated by measuring a ship's internal volume and applying a
        mathematical formula and is used to calculate the port
        duties.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Maritime Transport</ns1:ObjectClass>
        <ns1:PropertyTerm>Net Tonnage</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar registry_certificate_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Maritime Transport. Registry
        Certificate_ Document Reference. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>The
        certificate issued to the ship by the ships registry in a given
        flag state.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Maritime Transport</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Registry
        Certificate</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar registry_port_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Maritime Transport. Registry Port_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>The
        port in which a vessel is registered or permanently
        based.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Maritime Transport</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Registry
        Port</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    """

    vessel_id: Optional[VesselId] = field(
        default=None,
        metadata={
            "name": "VesselID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    vessel_name: Optional[VesselName] = field(
        default=None,
        metadata={
            "name": "VesselName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    radio_call_sign_id: Optional[RadioCallSignId] = field(
        default=None,
        metadata={
            "name": "RadioCallSignID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    ships_requirements: list[ShipsRequirements] = field(
        default_factory=list,
        metadata={
            "name": "ShipsRequirements",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gross_tonnage_measure: Optional[GrossTonnageMeasure] = field(
        default=None,
        metadata={
            "name": "GrossTonnageMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_tonnage_measure: Optional[NetTonnageMeasure] = field(
        default=None,
        metadata={
            "name": "NetTonnageMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    registry_certificate_document_reference: Optional[
        RegistryCertificateDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "RegistryCertificateDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    registry_port_location: Optional[RegistryPortLocation] = field(
        default=None,
        metadata={
            "name": "RegistryPortLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class OrderReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Order
    Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a reference to an Order.</ns1:Definition> <ns1:ObjectClass>Order
    Reference</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Reference.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this order reference, assigned by the
        buyer.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Order Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>PO-001 3333-44-123 </ns1:Examples>
        </ns1:Component>
    :ivar sales_order_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Reference. Sales_ Order
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this order reference, assigned
        by the seller.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Sales</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Order Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar copy_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Reference. Copy_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>Indicates
        whether the referenced Order is a copy (true) or the original
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Copy</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Reference. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this order
        reference.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Reference. Issue Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        the referenced Order was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Reference</ns1:ObjectClass> <ns1:PropertyTerm>Issue
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar issue_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Reference. Issue Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        the referenced Order was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Reference</ns1:ObjectClass> <ns1:PropertyTerm>Issue
        Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar customer_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Reference. Customer_ Reference.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text used for
        tagging purchasing card transactions.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Customer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reference</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar order_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Reference. Order Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of the referenced Order.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Reference</ns1:ObjectClass> <ns1:PropertyTerm>Order Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Reference. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A document
        associated with this reference to an Order.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Reference</ns1:ObjectClass> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    sales_order_id: Optional[SalesOrderId] = field(
        default=None,
        metadata={
            "name": "SalesOrderID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    copy_indicator: Optional[CopyIndicator] = field(
        default=None,
        metadata={
            "name": "CopyIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_date: Optional[IssueDate] = field(
        default=None,
        metadata={
            "name": "IssueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_time: Optional[IssueTime] = field(
        default=None,
        metadata={
            "name": "IssueTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    customer_reference: Optional[CustomerReference] = field(
        default=None,
        metadata={
            "name": "CustomerReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    order_type_code: Optional[OrderTypeCode] = field(
        default=None,
        metadata={
            "name": "OrderTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_reference: Optional[DocumentReference] = field(
        default=None,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PartyTaxSchemeType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Party Tax
    Scheme.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a taxation scheme applying to a party.</ns1:Definition>
    <ns1:ObjectClass>Party Tax Scheme</ns1:ObjectClass> </ns1:Component>

    :ivar registration_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Tax Scheme. Registration_ Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        party as registered with the relevant fiscal
        authority.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Tax Scheme</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Registration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Microsoft
        Corporation </ns1:Examples> </ns1:Component>
    :ivar company_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Tax Scheme. Company Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the party assigned for tax purposes by the
        taxation authority.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Tax Scheme</ns1:ObjectClass> <ns1:PropertyTerm>Company
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>VAT
        Number</ns1:AlternativeBusinessTerms> <ns1:Examples>3556625
        </ns1:Examples> </ns1:Component>
    :ivar tax_level_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Tax Scheme. Tax Level Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the tax level applicable to the party within this taxation
        scheme.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party Tax Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Level Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar exemption_reason_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Tax Scheme. Exemption Reason
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A reason
        for the party's exemption from tax, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party Tax Scheme</ns1:ObjectClass>
        <ns1:PropertyTerm>Exemption Reason Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar exemption_reason: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Tax Scheme. Exemption_ Reason.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A reason for the
        party's exemption from tax, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Party
        Tax Scheme</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Exemption</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reason</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar registration_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Tax Scheme. Registration_
        Address. Address</ns1:DictionaryEntryName> <ns1:Definition>The
        address of the party as registered for tax
        purposes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Tax Scheme</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Registration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tax_scheme: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Tax Scheme. Tax
        Scheme</ns1:DictionaryEntryName> <ns1:Definition>The taxation
        scheme applicable to the party.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Party Tax
        Scheme</ns1:ObjectClass> <ns1:PropertyTerm>Tax
        Scheme</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Tax
        Scheme</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Scheme</ns1:RepresentationTerm> </ns1:Component>
    """

    registration_name: Optional[RegistrationName] = field(
        default=None,
        metadata={
            "name": "RegistrationName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    company_id: Optional[CompanyId] = field(
        default=None,
        metadata={
            "name": "CompanyID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_level_code: Optional[TaxLevelCode] = field(
        default=None,
        metadata={
            "name": "TaxLevelCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    exemption_reason_code: Optional[ExemptionReasonCode] = field(
        default=None,
        metadata={
            "name": "ExemptionReasonCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    exemption_reason: list[ExemptionReason] = field(
        default_factory=list,
        metadata={
            "name": "ExemptionReason",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    registration_address: Optional[RegistrationAddress] = field(
        default=None,
        metadata={
            "name": "RegistrationAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_scheme: Optional[TaxScheme] = field(
        default=None,
        metadata={
            "name": "TaxScheme",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class TaxCategoryType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tax
    Category.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe one of the tax categories within a taxation scheme (e.g.,
    High Rate VAT, Low Rate VAT).</ns1:Definition> <ns1:ObjectClass>Tax
    Category</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Category.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this tax category.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Category</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>http://www.unece.org/uncefact/codelist/standard/UNECE_DutyorTaxorFeeCategoryCode_D09B.xsd</ns1:Examples>
        </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Category.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        tax category.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Category</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Luxury
        Goods , Wine Equalization , Exempt </ns1:Examples>
        </ns1:Component>
    :ivar percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Category.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The tax rate
        for this category, expressed as a percentage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Category</ns1:ObjectClass>
        <ns1:PropertyTerm>Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar base_unit_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Category. Base Unit Measure.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>A Unit of
        Measures used as the basic for the tax calculation applied at a
        certain rate per unit.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Category</ns1:ObjectClass> <ns1:PropertyTerm>Base Unit
        Measure</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar per_unit_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Category. Per Unit_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>Where a tax is
        applied at a certain rate per unit, the rate per unit
        applied.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Category</ns1:ObjectClass> <ns1:PropertyTermQualifier>Per
        Unit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_exemption_reason_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Category. Tax Exemption Reason
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The reason
        for tax being exempted, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Category</ns1:ObjectClass> <ns1:PropertyTerm>Tax Exemption
        Reason Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>http://www.unece.org/uncefact/codelist/standard/UNECE_DutyTaxFeeTypeCode_D09B.xsd</ns1:Examples>
        </ns1:Component>
    :ivar tax_exemption_reason: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Category. Tax Exemption Reason.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The reason for
        tax being exempted, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tax
        Category</ns1:ObjectClass> <ns1:PropertyTerm>Tax Exemption
        Reason</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar tier_range: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Category. Tier Range.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Where a tax is
        tiered, the range of taxable amounts that determines the rate of
        tax applicable to this tax category.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Category</ns1:ObjectClass> <ns1:PropertyTerm>Tier
        Range</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar tier_rate_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Category. Tier Rate.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>Where a tax is
        tiered, the tax rate that applies within the specified range of
        taxable amounts for this tax category.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Category</ns1:ObjectClass> <ns1:PropertyTerm>Tier
        Rate</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar tax_scheme: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Category. Tax
        Scheme</ns1:DictionaryEntryName> <ns1:Definition>The taxation
        scheme within which this tax category is
        defined.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Tax Category</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Scheme</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax
        Scheme</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Scheme</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    percent: Optional[Percent] = field(
        default=None,
        metadata={
            "name": "Percent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    base_unit_measure: Optional[BaseUnitMeasure] = field(
        default=None,
        metadata={
            "name": "BaseUnitMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    per_unit_amount: Optional[PerUnitAmount] = field(
        default=None,
        metadata={
            "name": "PerUnitAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_exemption_reason_code: Optional[TaxExemptionReasonCode] = field(
        default=None,
        metadata={
            "name": "TaxExemptionReasonCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_exemption_reason: list[TaxExemptionReason] = field(
        default_factory=list,
        metadata={
            "name": "TaxExemptionReason",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tier_range: Optional[TierRange] = field(
        default=None,
        metadata={
            "name": "TierRange",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tier_rate_percent: Optional[TierRatePercent] = field(
        default=None,
        metadata={
            "name": "TierRatePercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_scheme: Optional[TaxScheme] = field(
        default=None,
        metadata={
            "name": "TaxScheme",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class TenderRequirementType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tender
    Requirement.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A template for a
    required document in a tendering process.</ns1:Definition>
    <ns1:ObjectClass>Tender Requirement</ns1:ObjectClass>
    </ns1:Component>

    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Requirement.
        Name</ns1:DictionaryEntryName> <ns1:Definition>A name of this
        tender requirement.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Requirement</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Requirement. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this tender requirement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Requirement</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar template_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Requirement. Template_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to the template for a required
        document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Requirement</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Template</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    template_document_reference: Optional[TemplateDocumentReference] = field(
        default=None,
        metadata={
            "name": "TemplateDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TransactionConditionsType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Transaction Conditions.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe purchasing, sales, or payment conditions.</ns1:Definition>
    <ns1:ObjectClass>Transaction Conditions</ns1:ObjectClass>
    <ns1:AlternativeBusinessTerms>Payment Conditions, Sales
    Conditions</ns1:AlternativeBusinessTerms> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transaction Conditions.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for conditions of the transaction, typically
        purchase/sales conditions.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transaction Conditions</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar action_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transaction Conditions. Action Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        a type of action relating to sales or payment
        conditions.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transaction Conditions</ns1:ObjectClass>
        <ns1:PropertyTerm>Action Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transaction Conditions. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the transaction conditions.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transaction Conditions</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transaction Conditions. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A document
        associated with these transaction conditions.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transaction Conditions</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    action_code: Optional[ActionCode] = field(
        default=None,
        metadata={
            "name": "ActionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class WorkPhaseReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Work Phase
    Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class that
    refers to a phase of work. Used for instance to specify what part of
    the contract the billing is referring to.</ns1:Definition>
    <ns1:ObjectClass>Work Phase Reference</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Work Phase Reference.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this phase of work.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Work
        Phase Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar work_phase_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Work Phase Reference. Work Phase Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        this phase of work.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Work
        Phase Reference</ns1:ObjectClass> <ns1:PropertyTerm>Work Phase
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar work_phase: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Work Phase Reference. Work Phase.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this phase of work.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Work
        Phase Reference</ns1:ObjectClass> <ns1:PropertyTerm>Work
        Phase</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar progress_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Work Phase Reference. Progress Percent.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The progress
        percentage of the work phase.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Work
        Phase Reference</ns1:ObjectClass> <ns1:PropertyTerm>Progress
        Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar start_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Work Phase Reference. Start Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this phase of work begins.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Work
        Phase Reference</ns1:ObjectClass> <ns1:PropertyTerm>Start
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar end_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Work Phase Reference. End Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this phase of work ends.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Work
        Phase Reference</ns1:ObjectClass> <ns1:PropertyTerm>End
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar work_order_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Work Phase Reference. Work Order_
        Document Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a document regarding the work
        order for the project in which this phase of work takes
        place.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Work Phase Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Work
        Order</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    work_phase_code: Optional[WorkPhaseCode] = field(
        default=None,
        metadata={
            "name": "WorkPhaseCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    work_phase: list[WorkPhase] = field(
        default_factory=list,
        metadata={
            "name": "WorkPhase",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    progress_percent: Optional[ProgressPercent] = field(
        default=None,
        metadata={
            "name": "ProgressPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    start_date: Optional[StartDate] = field(
        default=None,
        metadata={
            "name": "StartDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    end_date: Optional[EndDate] = field(
        default=None,
        metadata={
            "name": "EndDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    work_order_document_reference: list[WorkOrderDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "WorkOrderDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ApplicableTaxCategory(TaxCategoryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Branch(BranchType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BudgetAccountLine(BudgetAccountLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CallForTendersLineReference(LineReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CatalogueLineReference(LineReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ClassifiedTaxCategory(TaxCategoryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConsumptionReport(ConsumptionReportType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Contract(ContractType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DependentLineReference(LineReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DespatchLineReference(LineReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DocumentTenderRequirement(TenderRequirementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EmissionCalculationMethod(EmissionCalculationMethodType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EnergyTaxReport(EnergyTaxReportType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Event(EventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinancialInstitutionBranch(BranchType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ForeignExchangeContract(ContractType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemInstance(ItemInstanceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LineReference(LineReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MaritimeTransport(MaritimeTransportType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OpenTenderEvent(EventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OrderReference(OrderReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ParentDocumentLineReference(LineReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PartyTaxScheme(PartyTaxSchemeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class QuotationLineReference(LineReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReceiptLineReference(LineReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReferencedContract(ContractType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestLineReference(LineReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubsequentProcessTenderRequirement(TenderRequirementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TaxCategory(TaxCategoryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderRequirement(TenderRequirementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransactionConditions(TransactionConditionsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportContract(ContractType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class WorkPhaseReference(WorkPhaseReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DependentPriceReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Dependent
    Price Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    the price of an item as a percentage of the price of a different
    item.</ns1:Definition> <ns1:ObjectClass>Dependent Price
    Reference</ns1:ObjectClass> </ns1:Component>

    :ivar percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Dependent Price Reference.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The percentage
        by which the price of the different item is multiplied to
        calculate the price of the item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Dependent Price Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar location_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Dependent Price Reference. Location_
        Address. Address</ns1:DictionaryEntryName> <ns1:Definition>The
        reference location for this dependent price
        reference.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Dependent Price Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Location</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar dependent_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Dependent Price Reference. Dependent_
        Line Reference. Line Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a line that the price is depended
        of.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Dependent Price Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Dependent</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    """

    percent: Optional[Percent] = field(
        default=None,
        metadata={
            "name": "Percent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    location_address: Optional[LocationAddress] = field(
        default=None,
        metadata={
            "name": "LocationAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    dependent_line_reference: Optional[DependentLineReference] = field(
        default=None,
        metadata={
            "name": "DependentLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class DutyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Duty.

    Details</ns1:DictionaryEntryName> <ns1:Definition>The charging rate
    used for both call charging and time dependent
    charging</ns1:Definition> <ns1:ObjectClass>Duty</ns1:ObjectClass>
    </ns1:Component>

    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Duty. Amount</ns1:DictionaryEntryName>
        <ns1:Definition>The amount of this duty.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Duty</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:Examples>88.23</ns1:Examples> </ns1:Component>
    :ivar duty: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Duty. Duty.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this duty.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Duty</ns1:ObjectClass>
        <ns1:PropertyTerm>Duty</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>ConnectionFee</ns1:Examples> </ns1:Component>
    :ivar duty_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Duty. Duty Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The type of this
        charge rate, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Duty</ns1:ObjectClass> <ns1:PropertyTerm>Duty
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>ConnectionFee</ns1:Examples> </ns1:Component>
    :ivar tax_category: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Duty. Tax
        Category</ns1:DictionaryEntryName> <ns1:Definition>The tax
        category applicable to this duty.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Duty</ns1:ObjectClass> <ns1:PropertyTerm>Tax
        Category</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Tax
        Category</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Category</ns1:RepresentationTerm> </ns1:Component>
    """

    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    duty: Optional[UblCommonBasicComponents21Duty] = field(
        default=None,
        metadata={
            "name": "Duty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    duty_code: Optional[DutyCode] = field(
        default=None,
        metadata={
            "name": "DutyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_category: Optional[TaxCategory] = field(
        default=None,
        metadata={
            "name": "TaxCategory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class EnergyWaterSupplyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Energy
    Water Supply.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the supply (and therefore consumption) of an amount of
    energy or water.</ns1:Definition> <ns1:ObjectClass>Energy Water
    Supply</ns1:ObjectClass> </ns1:Component>

    :ivar consumption_report: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Energy Water Supply. Consumption
        Report</ns1:DictionaryEntryName> <ns1:Definition>An amount of
        energy or water consumed.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Energy
        Water Supply</ns1:ObjectClass> <ns1:PropertyTerm>Consumption
        Report</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Consumption
        Report</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consumption
        Report</ns1:RepresentationTerm> </ns1:Component>
    :ivar energy_tax_report: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Energy Water Supply. Energy Tax
        Report</ns1:DictionaryEntryName> <ns1:Definition>A tax on the
        consumption of energy or water.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Energy
        Water Supply</ns1:ObjectClass> <ns1:PropertyTerm>Energy Tax
        Report</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Energy Tax
        Report</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Energy Tax
        Report</ns1:RepresentationTerm> </ns1:Component>
    :ivar consumption_average: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Energy Water Supply. Consumption
        Average</ns1:DictionaryEntryName> <ns1:Definition>A consumption
        average.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Energy
        Water Supply</ns1:ObjectClass> <ns1:PropertyTerm>Consumption
        Average</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consumption
        Average</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consumption
        Average</ns1:RepresentationTerm> </ns1:Component>
    :ivar energy_water_consumption_correction: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Energy Water Supply. Energy Water_
        Consumption Correction. Consumption
        Correction</ns1:DictionaryEntryName> <ns1:Definition>Describes
        any corrections or adjustments to the supply of energy or
        water.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Energy Water Supply</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Energy
        Water</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Consumption
        Correction</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consumption
        Correction</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consumption
        Correction</ns1:RepresentationTerm> </ns1:Component>
    """

    consumption_report: list[ConsumptionReport] = field(
        default_factory=list,
        metadata={
            "name": "ConsumptionReport",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    energy_tax_report: list[EnergyTaxReport] = field(
        default_factory=list,
        metadata={
            "name": "EnergyTaxReport",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    consumption_average: list[ConsumptionAverage] = field(
        default_factory=list,
        metadata={
            "name": "ConsumptionAverage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    energy_water_consumption_correction: list[
        EnergyWaterConsumptionCorrection
    ] = field(
        default_factory=list,
        metadata={
            "name": "EnergyWaterConsumptionCorrection",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class EnvironmentalEmissionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Environmental Emission.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an environmental emission.</ns1:Definition>
    <ns1:ObjectClass>Environmental Emission</ns1:ObjectClass>
    </ns1:Component>

    :ivar environmental_emission_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Environmental Emission. Environmental
        Emission Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code specifying the type of environmental
        emission.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Environmental Emission</ns1:ObjectClass>
        <ns1:PropertyTerm>Environmental Emission Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar value_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Environmental Emission. Value.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>A value
        measurement for the environmental emission.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Environmental Emission</ns1:ObjectClass>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Environmental Emission. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this environmental emission.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Environmental Emission</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar emission_calculation_method: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Environmental Emission. Emission
        Calculation Method</ns1:DictionaryEntryName> <ns1:Definition>A
        method used to calculate the amount of this
        emission.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Environmental Emission</ns1:ObjectClass>
        <ns1:PropertyTerm>Emission Calculation Method</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Emission Calculation
        Method</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Emission Calculation
        Method</ns1:RepresentationTerm> </ns1:Component>
    """

    environmental_emission_type_code: Optional[
        EnvironmentalEmissionTypeCode
    ] = field(
        default=None,
        metadata={
            "name": "EnvironmentalEmissionTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    value_measure: Optional[ValueMeasure] = field(
        default=None,
        metadata={
            "name": "ValueMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    emission_calculation_method: list[EmissionCalculationMethod] = field(
        default_factory=list,
        metadata={
            "name": "EmissionCalculationMethod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ExchangeRateType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Exchange
    Rate.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    an exchange rate.</ns1:Definition> <ns1:ObjectClass>Exchange
    Rate</ns1:ObjectClass> </ns1:Component>

    :ivar source_currency_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exchange Rate. Source_ Currency Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The reference
        currency for this exchange rate; the currency from which the
        exchange is being made.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Exchange
        Rate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Source</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Currency Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Currency</ns1:DataTypeQualifier>
        <ns1:DataType>Currency_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar source_currency_base_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exchange Rate. Source_ Currency Base
        Rate. Rate</ns1:DictionaryEntryName> <ns1:Definition>In the case
        of a source currency with denominations of small value, the unit
        base.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exchange Rate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Source</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Currency Base Rate</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Rate</ns1:RepresentationTerm>
        <ns1:DataType>Rate. Type</ns1:DataType> </ns1:Component>
    :ivar target_currency_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exchange Rate. Target_ Currency Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The target
        currency for this exchange rate; the currency to which the
        exchange is being made.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Exchange
        Rate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Target</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Currency Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Currency</ns1:DataTypeQualifier>
        <ns1:DataType>Currency_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar target_currency_base_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exchange Rate. Target_ Currency Base
        Rate. Rate</ns1:DictionaryEntryName> <ns1:Definition>In the case
        of a target currency with denominations of small value, the unit
        base.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exchange Rate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Target</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Currency Base Rate</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Rate</ns1:RepresentationTerm>
        <ns1:DataType>Rate. Type</ns1:DataType> </ns1:Component>
    :ivar exchange_market_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exchange Rate. Exchange Market
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the currency exchange market
        used as the source of this exchange rate.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exchange Rate</ns1:ObjectClass>
        <ns1:PropertyTerm>Exchange Market Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar calculation_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exchange Rate. Calculation Rate.
        Rate</ns1:DictionaryEntryName> <ns1:Definition>The factor
        applied to the source currency to calculate the target
        currency.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exchange Rate</ns1:ObjectClass>
        <ns1:PropertyTerm>Calculation Rate</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Rate</ns1:RepresentationTerm>
        <ns1:DataType>Rate. Type</ns1:DataType> </ns1:Component>
    :ivar mathematic_operator_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exchange Rate. Mathematic Operator
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying whether the calculation rate is a multiplier or a
        divisor.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exchange Rate</ns1:ObjectClass>
        <ns1:PropertyTerm>Mathematic Operator Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Operator</ns1:DataTypeQualifier>
        <ns1:DataType>Operator_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exchange Rate.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        the exchange rate was established.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exchange Rate</ns1:ObjectClass>
        <ns1:PropertyTerm>Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar foreign_exchange_contract: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exchange Rate. Foreign Exchange_
        Contract. Contract</ns1:DictionaryEntryName> <ns1:Definition>A
        contract for foreign exchange.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exchange Rate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Foreign
        Exchange</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contract</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contract</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contract</ns1:RepresentationTerm>
        </ns1:Component>
    """

    source_currency_code: Optional[SourceCurrencyCode] = field(
        default=None,
        metadata={
            "name": "SourceCurrencyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    source_currency_base_rate: Optional[SourceCurrencyBaseRate] = field(
        default=None,
        metadata={
            "name": "SourceCurrencyBaseRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    target_currency_code: Optional[TargetCurrencyCode] = field(
        default=None,
        metadata={
            "name": "TargetCurrencyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    target_currency_base_rate: Optional[TargetCurrencyBaseRate] = field(
        default=None,
        metadata={
            "name": "TargetCurrencyBaseRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    exchange_market_id: Optional[ExchangeMarketId] = field(
        default=None,
        metadata={
            "name": "ExchangeMarketID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    calculation_rate: Optional[CalculationRate] = field(
        default=None,
        metadata={
            "name": "CalculationRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    mathematic_operator_code: Optional[MathematicOperatorCode] = field(
        default=None,
        metadata={
            "name": "MathematicOperatorCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    date: Optional[Date] = field(
        default=None,
        metadata={
            "name": "Date",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    foreign_exchange_contract: Optional[ForeignExchangeContract] = field(
        default=None,
        metadata={
            "name": "ForeignExchangeContract",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class FinancialAccountType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Financial
    Account.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a financial account.</ns1:Definition>
    <ns1:ObjectClass>Financial Account</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Account.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The
        identifier for this financial account; the bank account
        number.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>SWIFT(BIC) and IBAN are defined in ISO 9362 and
        ISO 13616.</ns1:Examples> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Account.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        financial account.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar alias_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Account. Alias_ Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>An alias for the
        name of this financial account, to be used in place of the
        actual account name for security reasons.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Account</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Alias</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar account_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Account. Account Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of this financial account.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Account Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar account_format_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Account. Account Format Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the format of this financial account.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Account Format Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>ISO20022
        Clearing System Identification Code</ns1:Examples>
        </ns1:Component>
    :ivar currency_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Account. Currency Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the currency in which this financial account is
        held.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Currency Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Currency</ns1:DataTypeQualifier>
        <ns1:DataType>Currency_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar payment_note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Account. Payment_ Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        applying to the Payment for the owner of this
        account.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Financial Account</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Payment</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar financial_institution_branch: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Account. Financial
        Institution_ Branch. Branch</ns1:DictionaryEntryName>
        <ns1:Definition>The branch of the financial institution
        associated with this financial account.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Account</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Financial
        Institution</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Branch</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Branch</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Branch</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar country: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Financial Account.
        Country</ns1:DictionaryEntryName> <ns1:Definition>The country in
        which the holder of the financial account is
        domiciled.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Financial Account</ns1:ObjectClass>
        <ns1:PropertyTerm>Country</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Country</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Country</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    alias_name: Optional[AliasName] = field(
        default=None,
        metadata={
            "name": "AliasName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    account_type_code: Optional[AccountTypeCode] = field(
        default=None,
        metadata={
            "name": "AccountTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    account_format_code: Optional[AccountFormatCode] = field(
        default=None,
        metadata={
            "name": "AccountFormatCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    currency_code: Optional[CurrencyCode] = field(
        default=None,
        metadata={
            "name": "CurrencyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_note: list[PaymentNote] = field(
        default_factory=list,
        metadata={
            "name": "PaymentNote",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    financial_institution_branch: Optional[FinancialInstitutionBranch] = field(
        default=None,
        metadata={
            "name": "FinancialInstitutionBranch",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    country: Optional[Country] = field(
        default=None,
        metadata={
            "name": "Country",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class FrameworkAgreementType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Framework
    Agreement.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a tendering framework agreement.</ns1:Definition>
    <ns1:ObjectClass>Framework Agreement</ns1:ObjectClass>
    </ns1:Component>

    :ivar expected_operator_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Framework Agreement. Expected_
        Operator. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        number of economic operators expected to participate in this
        framework agreement.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Framework Agreement</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Expected</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Operator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_operator_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Framework Agreement. Maximum_ Operator.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        number of economic operators allowed to participate in this
        framework agreement.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Framework Agreement</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Operator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar justification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Framework Agreement. Justification.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the justification for this framework agreement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Framework Agreement</ns1:ObjectClass>
        <ns1:PropertyTerm>Justification</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar frequency: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Framework Agreement. Frequency.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the frequency with which subsequent contracts will be
        awarded.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Framework Agreement</ns1:ObjectClass>
        <ns1:PropertyTerm>Frequency</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar duration_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Framework Agreement. Duration_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which this framework agreement applies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Framework Agreement</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Duration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar subsequent_process_tender_requirement: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Framework Agreement. Subsequent
        Process_ Tender Requirement. Tender
        Requirement</ns1:DictionaryEntryName> <ns1:Definition>A tender
        requirement intended for consumption by downstream tendering
        processes derived from the establishment of this framework
        agreement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Framework Agreement</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Subsequent
        Process</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Tender
        Requirement</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Tender
        Requirement</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tender
        Requirement</ns1:RepresentationTerm> <ns1:Examples>Curricula
        required</ns1:Examples> </ns1:Component>
    """

    expected_operator_quantity: Optional[ExpectedOperatorQuantity] = field(
        default=None,
        metadata={
            "name": "ExpectedOperatorQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_operator_quantity: Optional[MaximumOperatorQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumOperatorQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    justification: list[Justification] = field(
        default_factory=list,
        metadata={
            "name": "Justification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    frequency: list[Frequency] = field(
        default_factory=list,
        metadata={
            "name": "Frequency",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    duration_period: Optional[DurationPeriod] = field(
        default=None,
        metadata={
            "name": "DurationPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    subsequent_process_tender_requirement: list[
        SubsequentProcessTenderRequirement
    ] = field(
        default_factory=list,
        metadata={
            "name": "SubsequentProcessTenderRequirement",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class LineResponseType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Line
    Response.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe responses to a line in a document.</ns1:Definition>
    <ns1:ObjectClass>Line Response</ns1:ObjectClass> </ns1:Component>

    :ivar line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Response. Line
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to the line being responded to.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Line
        Response</ns1:ObjectClass> <ns1:PropertyTerm>Line
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar response: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Response.
        Response</ns1:DictionaryEntryName> <ns1:Definition>A response to
        the referenced line.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality> <ns1:ObjectClass>Line
        Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Response</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Response</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Response</ns1:RepresentationTerm>
        </ns1:Component>
    """

    line_reference: Optional[LineReference] = field(
        default=None,
        metadata={
            "name": "LineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    response: list[Response] = field(
        default_factory=list,
        metadata={
            "name": "Response",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )


@dataclass
class OrderLineReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Order Line
    Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a reference to an order line.</ns1:Definition>
    <ns1:ObjectClass>Order Line Reference</ns1:ObjectClass>
    </ns1:Component>

    :ivar line_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line Reference. Line Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the referenced order line, assigned by the
        buyer.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Order Line Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Line Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar sales_order_line_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line Reference. Sales Order_ Line
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the referenced order line,
        assigned by the seller.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Line Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Sales
        Order</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Line
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line Reference. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this order line
        reference.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Line Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar line_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line Reference. Line Status Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the status of the referenced order line with respect to its
        original state.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Line Reference</ns1:ObjectClass> <ns1:PropertyTerm>Line Status
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Line Status</ns1:DataTypeQualifier>
        <ns1:DataType>Line Status_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar order_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line Reference. Order
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to the Order containing the referenced order
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Order Line Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Order Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Order
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Order Reference</ns1:RepresentationTerm>
        </ns1:Component>
    """

    line_id: Optional[LineId] = field(
        default=None,
        metadata={
            "name": "LineID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    sales_order_line_id: Optional[SalesOrderLineId] = field(
        default=None,
        metadata={
            "name": "SalesOrderLineID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_status_code: Optional[LineStatusCode] = field(
        default=None,
        metadata={
            "name": "LineStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    order_reference: Optional[OrderReference] = field(
        default=None,
        metadata={
            "name": "OrderReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ProjectReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Project
    Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a reference to a procurement project.</ns1:Definition>
    <ns1:ObjectClass>Project Reference</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Project Reference.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the referenced project.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Project
        Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Project Reference. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for the referenced
        project.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Project
        Reference</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Project Reference. Issue Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        the referenced project was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Project
        Reference</ns1:ObjectClass> <ns1:PropertyTerm>Issue
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar work_phase_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Project Reference. Work Phase
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A specific
        phase of work in the referenced project.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Project
        Reference</ns1:ObjectClass> <ns1:PropertyTerm>Work Phase
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Work
        Phase Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Work Phase
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_date: Optional[IssueDate] = field(
        default=None,
        metadata={
            "name": "IssueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    work_phase_reference: list[WorkPhaseReference] = field(
        default_factory=list,
        metadata={
            "name": "WorkPhaseReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class RequestedTenderTotalType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Requested
    Tender Total.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class defining
    budgeted monetary amounts.</ns1:Definition>
    <ns1:ObjectClass>Requested Tender Total</ns1:ObjectClass>
    </ns1:Component>

    :ivar estimated_overall_contract_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Requested Tender Total. Estimated_
        Overall Contract. Amount</ns1:DictionaryEntryName>
        <ns1:Definition>The estimated overall monetary amount of a
        contract.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Requested Tender Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Overall Contract</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar total_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Requested Tender Total. Total_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount of the total budget including net amount, taxes, and
        material and instalment costs. </ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Requested Tender Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_included_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Requested Tender Total. Tax Included_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>Indicates whether the amounts are taxes included
        (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Requested Tender Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Tax
        Included</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Requested Tender Total. Minimum_
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        minimum monetary amount of the budget.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Requested Tender Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Requested Tender Total. Maximum_
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        maximum monetary amount of the budget.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Requested Tender Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar monetary_scope: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Requested Tender Total. Monetary Scope.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A description of
        the monetary scope of the budget.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Requested Tender Total</ns1:ObjectClass>
        <ns1:PropertyTerm>Monetary Scope</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar average_subsequent_contract_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Requested Tender Total. Average_
        Subsequent Contract. Amount</ns1:DictionaryEntryName>
        <ns1:Definition>The average monetary amount for the subsequent
        contracts following this budget amount.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Requested Tender Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Average</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Subsequent Contract</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar applicable_tax_category: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Requested Tender Total. Applicable_ Tax
        Category. Tax Category</ns1:DictionaryEntryName>
        <ns1:Definition>Describes the categories of taxes that apply to
        the budget amount.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Requested Tender Total</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Applicable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tax Category</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax
        Category</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Category</ns1:RepresentationTerm> </ns1:Component>
    """

    estimated_overall_contract_amount: Optional[
        EstimatedOverallContractAmount
    ] = field(
        default=None,
        metadata={
            "name": "EstimatedOverallContractAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_amount: Optional[TotalAmount] = field(
        default=None,
        metadata={
            "name": "TotalAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_included_indicator: Optional[TaxIncludedIndicator] = field(
        default=None,
        metadata={
            "name": "TaxIncludedIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_amount: Optional[MinimumAmount] = field(
        default=None,
        metadata={
            "name": "MinimumAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_amount: Optional[MaximumAmount] = field(
        default=None,
        metadata={
            "name": "MaximumAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    monetary_scope: list[MonetaryScope] = field(
        default_factory=list,
        metadata={
            "name": "MonetaryScope",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    average_subsequent_contract_amount: Optional[
        AverageSubsequentContractAmount
    ] = field(
        default=None,
        metadata={
            "name": "AverageSubsequentContractAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    applicable_tax_category: list[ApplicableTaxCategory] = field(
        default_factory=list,
        metadata={
            "name": "ApplicableTaxCategory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TaxSubtotalType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tax
    Subtotal.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    the subtotal for a particular tax category within a particular
    taxation scheme, such as standard rate within VAT.</ns1:Definition>
    <ns1:ObjectClass>Tax Subtotal</ns1:ObjectClass> </ns1:Component>

    :ivar taxable_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Subtotal. Taxable_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The net amount
        to which the tax percent (rate) is applied to calculate the tax
        amount.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tax Subtotal</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Taxable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Subtotal. Tax Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount of
        this tax subtotal.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Subtotal</ns1:ObjectClass> <ns1:PropertyTerm>Tax
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar calculation_sequence_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Subtotal. Calculation Sequence.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>The number of
        this tax subtotal in the sequence of subtotals corresponding to
        the order in which multiple taxes are applied. If all taxes are
        applied to the same taxable amount (i.e., their order of
        application is inconsequential), then CalculationSequenceNumeric
        is 1 for all tax subtotals applied to a given
        amount.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tax Subtotal</ns1:ObjectClass>
        <ns1:PropertyTerm>Calculation Sequence</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar transaction_currency_tax_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Subtotal. Transaction Currency_ Tax
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        amount of this tax subtotal, expressed in the currency used for
        invoicing.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Subtotal</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Transaction
        Currency</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Tax
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Subtotal.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The tax rate
        of the tax category applied to this tax subtotal, expressed as a
        percentage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Subtotal</ns1:ObjectClass>
        <ns1:PropertyTerm>Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar base_unit_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Subtotal. Base Unit Measure.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The unit of
        measure on which the tax calculation is based</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Subtotal</ns1:ObjectClass> <ns1:PropertyTerm>Base Unit
        Measure</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar per_unit_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Subtotal. Per Unit_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>Where a tax is
        applied at a certain rate per unit, the rate per unit
        applied.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Subtotal</ns1:ObjectClass> <ns1:PropertyTermQualifier>Per
        Unit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tier_range: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Subtotal. Tier Range.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Where a tax is
        tiered, the range of taxable amounts that determines the rate of
        tax applicable to this tax subtotal.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Subtotal</ns1:ObjectClass> <ns1:PropertyTerm>Tier
        Range</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar tier_rate_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Subtotal. Tier Rate.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>Where a tax is
        tiered, the tax rate that applies within a specified range of
        taxable amounts for this tax subtotal.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Subtotal</ns1:ObjectClass> <ns1:PropertyTerm>Tier
        Rate</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar tax_category: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Subtotal. Tax
        Category</ns1:DictionaryEntryName> <ns1:Definition>The tax
        category applicable to this subtotal.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Subtotal</ns1:ObjectClass> <ns1:PropertyTerm>Tax
        Category</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Tax
        Category</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Category</ns1:RepresentationTerm> </ns1:Component>
    """

    taxable_amount: Optional[TaxableAmount] = field(
        default=None,
        metadata={
            "name": "TaxableAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_amount: Optional[TaxAmount] = field(
        default=None,
        metadata={
            "name": "TaxAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    calculation_sequence_numeric: Optional[CalculationSequenceNumeric] = field(
        default=None,
        metadata={
            "name": "CalculationSequenceNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transaction_currency_tax_amount: Optional[TransactionCurrencyTaxAmount] = (
        field(
            default=None,
            metadata={
                "name": "TransactionCurrencyTaxAmount",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    percent: Optional[Percent] = field(
        default=None,
        metadata={
            "name": "Percent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    base_unit_measure: Optional[BaseUnitMeasure] = field(
        default=None,
        metadata={
            "name": "BaseUnitMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    per_unit_amount: Optional[PerUnitAmount] = field(
        default=None,
        metadata={
            "name": "PerUnitAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tier_range: Optional[TierRange] = field(
        default=None,
        metadata={
            "name": "TierRange",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tier_rate_percent: Optional[TierRatePercent] = field(
        default=None,
        metadata={
            "name": "TierRatePercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_category: Optional[TaxCategory] = field(
        default=None,
        metadata={
            "name": "TaxCategory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class UtilityItemType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Utility
    Item.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the consumption of a utility product.</ns1:Definition>
    <ns1:ObjectClass>Utility Item</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this utility item.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>1</ns1:Examples> </ns1:Component>
    :ivar subscriber_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Subscriber Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the subscriber to the utility.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Subscriber
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>98143211</ns1:Examples> </ns1:Component>
    :ivar subscriber_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Subscriber Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Identification of
        the subscriber type, expressed as text..</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Subscriber
        Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar subscriber_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Subscriber Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The code
        identifying for the service type.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Subscriber Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the consumption product.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Basis
        price quarter (5.761 kWh per 35,58 cents), Transport of
        electricity, etc.</ns1:Examples> </ns1:Component>
    :ivar pack_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Pack Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The unit
        packaging quantity.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Pack
        Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>1</ns1:Examples> </ns1:Component>
    :ivar pack_size_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Pack Size.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>The number of
        items in a pack.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Pack
        Size</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar consumption_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Consumption Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of
        product consumed, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Consumption
        Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Consumption</ns1:Examples> </ns1:Component>
    :ivar consumption_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Consumption Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The type of
        product consumed, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Consumption Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Consumption</ns1:Examples> </ns1:Component>
    :ivar current_charge_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Current_ Charge Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Information of
        the actual payments type for the utility Item</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Current</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Charge Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar current_charge_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Current_ Charge Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>Information
        of the actual payments type code expressed as a
        code</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Utility Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Current</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Charge Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar one_time_charge_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. One Time_ Charge Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Information about
        the one-time payment type in case everything is paid One
        time</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Utility Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>One Time</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Charge Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar one_time_charge_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. One Time_ Charge Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>Information
        about the one-time payment type code</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass> <ns1:PropertyTermQualifier>One
        Time</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Charge Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar tax_category: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item. Tax
        Category</ns1:DictionaryEntryName> <ns1:Definition>The tax
        category applicable to this utility item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Utility
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Tax
        Category</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Tax
        Category</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Category</ns1:RepresentationTerm> </ns1:Component>
    :ivar contract: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Utility Item.
        Contract</ns1:DictionaryEntryName> <ns1:Definition>A contract
        setting forth conditions applicable to this utility
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Utility Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Contract</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contract</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contract</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    subscriber_id: Optional[SubscriberId] = field(
        default=None,
        metadata={
            "name": "SubscriberID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    subscriber_type: Optional[SubscriberType] = field(
        default=None,
        metadata={
            "name": "SubscriberType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    subscriber_type_code: Optional[SubscriberTypeCode] = field(
        default=None,
        metadata={
            "name": "SubscriberTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pack_quantity: Optional[PackQuantity] = field(
        default=None,
        metadata={
            "name": "PackQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pack_size_numeric: Optional[PackSizeNumeric] = field(
        default=None,
        metadata={
            "name": "PackSizeNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consumption_type: Optional[UblCommonBasicComponents21ConsumptionType] = (
        field(
            default=None,
            metadata={
                "name": "ConsumptionType",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    consumption_type_code: Optional[ConsumptionTypeCode] = field(
        default=None,
        metadata={
            "name": "ConsumptionTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    current_charge_type: Optional[CurrentChargeType] = field(
        default=None,
        metadata={
            "name": "CurrentChargeType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    current_charge_type_code: Optional[CurrentChargeTypeCode] = field(
        default=None,
        metadata={
            "name": "CurrentChargeTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    one_time_charge_type: Optional[OneTimeChargeType] = field(
        default=None,
        metadata={
            "name": "OneTimeChargeType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    one_time_charge_type_code: Optional[OneTimeChargeTypeCode] = field(
        default=None,
        metadata={
            "name": "OneTimeChargeTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_category: Optional[TaxCategory] = field(
        default=None,
        metadata={
            "name": "TaxCategory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contract: Optional[Contract] = field(
        default=None,
        metadata={
            "name": "Contract",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class CallDuty(DutyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DependentPriceReference(DependentPriceReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Duty(DutyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EnergyWaterSupply(EnergyWaterSupplyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EnvironmentalEmission(EnvironmentalEmissionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ExchangeRate(ExchangeRateType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinancialAccount(FinancialAccountType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinancingFinancialAccount(FinancialAccountType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FrameworkAgreement(FrameworkAgreementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LineResponse(LineResponseType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OrderLineReference(OrderLineReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PayeeFinancialAccount(FinancialAccountType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PayerFinancialAccount(FinancialAccountType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PaymentAlternativeExchangeRate(ExchangeRateType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PaymentExchangeRate(ExchangeRateType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PricingExchangeRate(ExchangeRateType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ProjectReference(ProjectReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedTenderTotal(RequestedTenderTotalType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TaxExchangeRate(ExchangeRateType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TaxSubtotal(TaxSubtotalType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TimeDuty(DutyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UtilityItem(UtilityItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PaymentTermsType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Payment
    Terms.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a set of payment terms.</ns1:Definition>
    <ns1:ObjectClass>Payment Terms</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this set of payment terms.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar payment_means_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Payment Means
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for a means of payment associated
        with these payment terms.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass> <ns1:PropertyTerm>Payment Means
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar prepaid_payment_reference_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Prepaid Payment
        Reference Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for a reference to a prepaid
        payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass> <ns1:PropertyTerm>Prepaid Payment
        Reference Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar reference_event_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Reference_ Event Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the event during which these terms are offered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Reference</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Event Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar settlement_discount_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Settlement_ Discount
        Percent. Percent</ns1:DictionaryEntryName> <ns1:Definition>The
        percentage for the settlement discount that is offered for
        payment under these payment terms.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Settlement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Discount Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar penalty_surcharge_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Penalty_ Surcharge
        Percent. Percent</ns1:DictionaryEntryName> <ns1:Definition>The
        penalty for payment after the settlement period, expressed as a
        percentage of the payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Penalty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Surcharge Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar payment_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Payment Percent.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The part of a
        payment, expressed as a percent, relevant for these payment
        terms.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount covered by these payment terms.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar settlement_discount_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Settlement_ Discount
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        amount of a settlement discount offered for payment under these
        payment terms.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Settlement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Discount Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar penalty_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Penalty_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount of the penalty for payment after the settlement
        period.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Penalty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar payment_terms_details_uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Payment Terms Details
        URI. Identifier</ns1:DictionaryEntryName> <ns1:Definition>The
        Uniform Resource Identifier (URI) of a document providing
        additional details regarding these payment
        terms.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Terms Details URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar payment_due_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Payment Due Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The due date for
        these payment terms.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass> <ns1:PropertyTerm>Payment Due
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar installment_due_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Installment Due Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The due date for
        an installment payment for these payment terms.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass> <ns1:PropertyTerm>Installment Due
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar invoicing_party_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Invoicing Party_
        Reference. Text</ns1:DictionaryEntryName> <ns1:Definition>A
        reference to the payment terms used by the invoicing party. This
        may have been requested of the payer by the payee to accompany
        its remittance.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass> <ns1:PropertyTermQualifier>Invoicing
        Party</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reference</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar settlement_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Settlement_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which settlement may occur.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Settlement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar penalty_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Penalty_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which penalties may apply.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Penalty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar exchange_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Exchange
        Rate</ns1:DictionaryEntryName> <ns1:Definition>The currency
        exchange rate for purposes of these payment
        terms.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Exchange Rate</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Exchange
        Rate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Exchange Rate</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Terms. Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which these payment terms are valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_means_id: list[PaymentMeansId] = field(
        default_factory=list,
        metadata={
            "name": "PaymentMeansID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    prepaid_payment_reference_id: Optional[PrepaidPaymentReferenceId] = field(
        default=None,
        metadata={
            "name": "PrepaidPaymentReferenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reference_event_code: Optional[ReferenceEventCode] = field(
        default=None,
        metadata={
            "name": "ReferenceEventCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    settlement_discount_percent: Optional[SettlementDiscountPercent] = field(
        default=None,
        metadata={
            "name": "SettlementDiscountPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    penalty_surcharge_percent: Optional[PenaltySurchargePercent] = field(
        default=None,
        metadata={
            "name": "PenaltySurchargePercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_percent: Optional[PaymentPercent] = field(
        default=None,
        metadata={
            "name": "PaymentPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    settlement_discount_amount: Optional[SettlementDiscountAmount] = field(
        default=None,
        metadata={
            "name": "SettlementDiscountAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    penalty_amount: Optional[PenaltyAmount] = field(
        default=None,
        metadata={
            "name": "PenaltyAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_terms_details_uri: Optional[PaymentTermsDetailsUri] = field(
        default=None,
        metadata={
            "name": "PaymentTermsDetailsURI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_due_date: Optional[PaymentDueDate] = field(
        default=None,
        metadata={
            "name": "PaymentDueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    installment_due_date: Optional[InstallmentDueDate] = field(
        default=None,
        metadata={
            "name": "InstallmentDueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    invoicing_party_reference: Optional[InvoicingPartyReference] = field(
        default=None,
        metadata={
            "name": "InvoicingPartyReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    settlement_period: Optional[SettlementPeriod] = field(
        default=None,
        metadata={
            "name": "SettlementPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    penalty_period: Optional[PenaltyPeriod] = field(
        default=None,
        metadata={
            "name": "PenaltyPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    exchange_rate: Optional[ExchangeRate] = field(
        default=None,
        metadata={
            "name": "ExchangeRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    validity_period: Optional[ValidityPeriod] = field(
        default=None,
        metadata={
            "name": "ValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PersonType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Person.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a person.</ns1:Definition>
    <ns1:ObjectClass>Person</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this person.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar first_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. First_ Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>This person's
        given name.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>First</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar family_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Family_ Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>This person's
        family name.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Family</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar title: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Title.
        Text</ns1:DictionaryEntryName> <ns1:Definition>This person's
        title of address (e.g., Mr, Ms, Dr, Sir).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTerm>Title</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar middle_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Middle_ Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>This person's
        middle name(s) or initials.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Middle</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar other_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Other_ Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>This person's
        second family name.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Other</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Delivery
        Dock </ns1:Examples> </ns1:Component>
    :ivar name_suffix: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Name Suffix.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A suffix to this
        person's name (e.g., PhD, OBE, Jr).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass> <ns1:PropertyTerm>Name
        Suffix</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar job_title: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Job Title.
        Text</ns1:DictionaryEntryName> <ns1:Definition>This person's job
        title (for a particular role) within an
        organization.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass> <ns1:PropertyTerm>Job
        Title</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar nationality_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Nationality.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this person's nationality.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTerm>Nationality</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar gender_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Gender Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code (e.g., ISO
        5218) signifying the gender of this person.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTerm>Gender Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar birth_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Birth Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>This person's
        date of birth.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTerm>Birth Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar birthplace_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Birthplace Name.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        place where this person was born, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTerm>Birthplace Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar organization_department: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Organization_ Department.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The department or
        subdivision of an organization that this person belongs to (in a
        particular role).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Organization</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Department</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>Contact
        information for this person.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar financial_account: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Financial
        Account</ns1:DictionaryEntryName> <ns1:Definition>The financial
        account associated with this person.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTerm>Financial Account</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Financial
        Account</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Financial
        Account</ns1:RepresentationTerm> </ns1:Component>
    :ivar identity_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Identity_ Document Reference.
        Document Reference</ns1:DictionaryEntryName> <ns1:Definition>A
        reference to a document that can precisely identify this person
        (e.g., a driver's license).</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Identity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar residence_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Person. Residence_ Address.
        Address</ns1:DictionaryEntryName> <ns1:Definition>This person's
        address of residence.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Person</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Residence</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    first_name: Optional[FirstName] = field(
        default=None,
        metadata={
            "name": "FirstName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    family_name: Optional[FamilyName] = field(
        default=None,
        metadata={
            "name": "FamilyName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    title: Optional[Title] = field(
        default=None,
        metadata={
            "name": "Title",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    middle_name: Optional[MiddleName] = field(
        default=None,
        metadata={
            "name": "MiddleName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    other_name: Optional[OtherName] = field(
        default=None,
        metadata={
            "name": "OtherName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name_suffix: Optional[NameSuffix] = field(
        default=None,
        metadata={
            "name": "NameSuffix",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    job_title: Optional[JobTitle] = field(
        default=None,
        metadata={
            "name": "JobTitle",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    nationality_id: Optional[NationalityId] = field(
        default=None,
        metadata={
            "name": "NationalityID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gender_code: Optional[GenderCode] = field(
        default=None,
        metadata={
            "name": "GenderCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    birth_date: Optional[BirthDate] = field(
        default=None,
        metadata={
            "name": "BirthDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    birthplace_name: Optional[BirthplaceName] = field(
        default=None,
        metadata={
            "name": "BirthplaceName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    organization_department: Optional[OrganizationDepartment] = field(
        default=None,
        metadata={
            "name": "OrganizationDepartment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contact: Optional[Contact] = field(
        default=None,
        metadata={
            "name": "Contact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    financial_account: Optional[FinancialAccount] = field(
        default=None,
        metadata={
            "name": "FinancialAccount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    identity_document_reference: list[IdentityDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "IdentityDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    residence_address: Optional[ResidenceAddress] = field(
        default=None,
        metadata={
            "name": "ResidenceAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TaxTotalType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tax Total.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the total tax for a particular taxation
    scheme.</ns1:Definition> <ns1:ObjectClass>Tax
    Total</ns1:ObjectClass> </ns1:Component>

    :ivar tax_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Total. Tax Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total tax
        amount for a particular taxation scheme, e.g., VAT; the sum of
        the tax subtotals for each tax category within the taxation
        scheme.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Tax Total</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar rounding_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Total. Rounding Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The rounding
        amount (positive or negative) added to the calculated tax total
        to produce the rounded TaxAmount.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Total</ns1:ObjectClass> <ns1:PropertyTerm>Rounding
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_evidence_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Total. Tax Evidence_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this total is recognized as legal evidence for taxation
        purposes (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Total</ns1:ObjectClass> <ns1:PropertyTermQualifier>Tax
        Evidence</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar tax_included_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Total. Tax Included_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that tax is included in the calculation (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tax
        Total</ns1:ObjectClass> <ns1:PropertyTermQualifier>Tax
        Included</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar tax_subtotal: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tax Total. Tax
        Subtotal</ns1:DictionaryEntryName> <ns1:Definition>One of the
        subtotals the sum of which equals the total tax amount for a
        particular taxation scheme.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tax
        Total</ns1:ObjectClass> <ns1:PropertyTerm>Tax
        Subtotal</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Tax
        Subtotal</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Subtotal</ns1:RepresentationTerm> </ns1:Component>
    """

    tax_amount: Optional[TaxAmount] = field(
        default=None,
        metadata={
            "name": "TaxAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    rounding_amount: Optional[RoundingAmount] = field(
        default=None,
        metadata={
            "name": "RoundingAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_evidence_indicator: Optional[TaxEvidenceIndicator] = field(
        default=None,
        metadata={
            "name": "TaxEvidenceIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_included_indicator: Optional[TaxIncludedIndicator] = field(
        default=None,
        metadata={
            "name": "TaxIncludedIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_subtotal: list[TaxSubtotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxSubtotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class BonusPaymentTerms(PaymentTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CollectPaymentTerms(PaymentTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CommissionPaymentTerms(PaymentTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CrewMemberPerson(PersonType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DisbursementPaymentTerms(PaymentTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DriverPerson(PersonType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MasterPerson(PersonType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PassengerPerson(PersonType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PaymentTerms(PaymentTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PenaltyPaymentTerms(PaymentTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Person(PersonType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PrepaidPaymentTerms(PaymentTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReportingPerson(PersonType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SecurityOfficerPerson(PersonType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ServiceChargePaymentTerms(PaymentTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ShipsSurgeonPerson(PersonType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TaxTotal(TaxTotalType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TechnicalCommitteePerson(PersonType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class WithholdingTaxTotal(TaxTotalType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AwardingTermsType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Awarding
    Terms.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    the terms for awarding a contract.</ns1:Definition>
    <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass> </ns1:Component>

    :ivar weighting_algorithm_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Weighting Algorithm
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the weighting algorithm for awarding criteria. When
        multiple awarding criteria is used, different weighting and
        choices management algorithms based upon scores and weights of
        all award criteria can be used. An algorithm for weighting
        criteria shall be reported in the call for tenders document. It
        is used to determine how to perform the final management of
        tenders based on the results in each of the established award
        criteria</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Weighting Algorithm Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        terms under which the contract is to be
        awarded.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar technical_committee_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Technical Committee_
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing the committee of experts evaluating the subjective
        criteria for awarding the contract.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Technical
        Committee</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar low_tenders_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Low Tenders_
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing the exclusion criterion for abnormally low
        tenders.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Low
        Tenders</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar prize_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Prize Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>Indicates
        whether a prize will be awarded (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Prize Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar prize_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Prize Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Number and value
        of the prizes to be awarded.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Prize Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar payment_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Payment Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Details of
        payments to all participants.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar followup_contract_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Followup Contract
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>Indicates if any service contract following the
        contest will be awarded to the winner or one of the winners of
        the contest (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Followup Contract Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar binding_on_buyer_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Binding On Buyer
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>Indicates if the decision is binding on the
        buyer (true) or not (false). </ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Binding On Buyer Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar awarding_criterion: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Awarding
        Criterion</ns1:DictionaryEntryName> <ns1:Definition>Defines a
        criterion for awarding this tender.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Awarding Criterion</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Awarding
        Criterion</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Awarding
        Criterion</ns1:RepresentationTerm> </ns1:Component>
    :ivar technical_committee_person: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Awarding Terms. Technical Committee_
        Person. Person</ns1:DictionaryEntryName> <ns1:Definition>A
        member of a committee of experts evaluating the subjective
        criteria for awarding the contract.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Awarding Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Technical
        Committee</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Person</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Person</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Person</ns1:RepresentationTerm>
        </ns1:Component>
    """

    weighting_algorithm_code: Optional[WeightingAlgorithmCode] = field(
        default=None,
        metadata={
            "name": "WeightingAlgorithmCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    technical_committee_description: list[TechnicalCommitteeDescription] = (
        field(
            default_factory=list,
            metadata={
                "name": "TechnicalCommitteeDescription",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    low_tenders_description: list[LowTendersDescription] = field(
        default_factory=list,
        metadata={
            "name": "LowTendersDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    prize_indicator: Optional[PrizeIndicator] = field(
        default=None,
        metadata={
            "name": "PrizeIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    prize_description: list[PrizeDescription] = field(
        default_factory=list,
        metadata={
            "name": "PrizeDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_description: list[PaymentDescription] = field(
        default_factory=list,
        metadata={
            "name": "PaymentDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    followup_contract_indicator: Optional[FollowupContractIndicator] = field(
        default=None,
        metadata={
            "name": "FollowupContractIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    binding_on_buyer_indicator: Optional[BindingOnBuyerIndicator] = field(
        default=None,
        metadata={
            "name": "BindingOnBuyerIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    awarding_criterion: list[AwardingCriterion] = field(
        default_factory=list,
        metadata={
            "name": "AwardingCriterion",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    technical_committee_person: list[TechnicalCommitteePerson] = field(
        default_factory=list,
        metadata={
            "name": "TechnicalCommitteePerson",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class OnAccountPaymentType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>On Account
    Payment.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A scheduled
    prepayment (on-account payment) for a estimated utility
    consumption</ns1:Definition> <ns1:ObjectClass>On Account
    Payment</ns1:ObjectClass> </ns1:Component>

    :ivar estimated_consumed_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>On Account Payment. Estimated_ Consumed
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        estimated consumed quantity covered by the
        payment.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>On Account Payment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Consumed Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>On Account Payment. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>On
        Account Payment</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>We make a
        reservation for price regulations. You will receive you next
        yearly statement about one year from today.</ns1:Examples>
        </ns1:Component>
    :ivar payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>On Account Payment. Payment
        Terms</ns1:DictionaryEntryName> <ns1:Definition>A specification
        of payment terms associated with this payment.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality> <ns1:ObjectClass>On
        Account Payment</ns1:ObjectClass> <ns1:PropertyTerm>Payment
        Terms</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    """

    estimated_consumed_quantity: Optional[EstimatedConsumedQuantity] = field(
        default=None,
        metadata={
            "name": "EstimatedConsumedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_terms: list[PaymentTerms] = field(
        default_factory=list,
        metadata={
            "name": "PaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )


@dataclass
class PartyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Party.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an organization, sub-organization, or individual fulfilling
    a role in a business process.</ns1:Definition>
    <ns1:ObjectClass>Party</ns1:ObjectClass> </ns1:Component>

    :ivar mark_care_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Mark Care_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this party is "care of" (c/o) (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Mark Care</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar mark_attention_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Mark Attention_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this party is "for the attention of" (FAO) (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Mark
        Attention</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar website_uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Website_ URI.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The Uniform
        Resource Identifier (URI) that identifies this party's web site;
        i.e., the web site's Uniform Resource Locator
        (URL).</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Website</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar logo_reference_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Logo Reference.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this party's logo.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass> <ns1:PropertyTerm>Logo
        Reference</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>http://www2.coca-
        cola.com/images/logo.gif</ns1:Examples> </ns1:Component>
    :ivar endpoint_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Endpoint Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the end point of the routing service (e.g., EAN
        Location Number, GLN).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Endpoint Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>5790002221134</ns1:Examples> </ns1:Component>
    :ivar industry_classification_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Industry Classification Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>This party's
        Industry Classification Code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Industry Classification
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Public
        authority , NAIC codes</ns1:Examples> </ns1:Component>
    :ivar party_identification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Party
        Identification</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this party.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass> <ns1:PropertyTerm>Party
        Identification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party
        Identification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party
        Identification</ns1:RepresentationTerm> </ns1:Component>
    :ivar party_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Party
        Name</ns1:DictionaryEntryName> <ns1:Definition>A name for this
        party.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass> <ns1:PropertyTerm>Party
        Name</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Party
        Name</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Party
        Name</ns1:RepresentationTerm> </ns1:Component>
    :ivar language: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party.
        Language</ns1:DictionaryEntryName> <ns1:Definition>The language
        associated with this party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Language</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Language</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Language</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar postal_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Postal_ Address.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The party's
        postal address.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Postal</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar physical_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Physical_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The physical
        location of this party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Physical</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar party_tax_scheme: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Party Tax
        Scheme</ns1:DictionaryEntryName> <ns1:Definition>A tax scheme
        applying to this party.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass> <ns1:PropertyTerm>Party
        Tax Scheme</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Party
        Tax Scheme</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party Tax
        Scheme</ns1:RepresentationTerm> </ns1:Component>
    :ivar party_legal_entity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Party Legal
        Entity</ns1:DictionaryEntryName> <ns1:Definition>A description
        of this party as a legal entity.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass> <ns1:PropertyTerm>Party
        Legal Entity</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Party
        Legal Entity</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party Legal
        Entity</ns1:RepresentationTerm> </ns1:Component>
    :ivar contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>The primary
        contact for this party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar person: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Person</ns1:DictionaryEntryName>
        <ns1:Definition>A person associated with this
        party.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Person</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Person</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Person</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar agent_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Agent_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>A party who acts
        as an agent for this party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Agent</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:Examples>Customs Broker</ns1:Examples> </ns1:Component>
    :ivar service_provider_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Service Provider
        Party</ns1:DictionaryEntryName> <ns1:Definition>A party
        providing a service to this party.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Service Provider Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Service Provider
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Service Provider
        Party</ns1:RepresentationTerm> </ns1:Component>
    :ivar power_of_attorney: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Power Of
        Attorney</ns1:DictionaryEntryName> <ns1:Definition>A power of
        attorney associated with this party.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass> <ns1:PropertyTerm>Power
        Of Attorney</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Power
        Of Attorney</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Power Of
        Attorney</ns1:RepresentationTerm> </ns1:Component>
    :ivar financial_account: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party. Financial
        Account</ns1:DictionaryEntryName> <ns1:Definition>The financial
        account associated with this party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Financial Account</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Financial
        Account</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Financial
        Account</ns1:RepresentationTerm> </ns1:Component>
    """

    mark_care_indicator: Optional[MarkCareIndicator] = field(
        default=None,
        metadata={
            "name": "MarkCareIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    mark_attention_indicator: Optional[MarkAttentionIndicator] = field(
        default=None,
        metadata={
            "name": "MarkAttentionIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    website_uri: Optional[WebsiteUri] = field(
        default=None,
        metadata={
            "name": "WebsiteURI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    logo_reference_id: Optional[LogoReferenceId] = field(
        default=None,
        metadata={
            "name": "LogoReferenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    endpoint_id: Optional[EndpointId] = field(
        default=None,
        metadata={
            "name": "EndpointID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    industry_classification_code: Optional[IndustryClassificationCode] = field(
        default=None,
        metadata={
            "name": "IndustryClassificationCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    party_identification: list[PartyIdentification] = field(
        default_factory=list,
        metadata={
            "name": "PartyIdentification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    party_name: list[PartyName] = field(
        default_factory=list,
        metadata={
            "name": "PartyName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    language: Optional[Language] = field(
        default=None,
        metadata={
            "name": "Language",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    postal_address: Optional[PostalAddress] = field(
        default=None,
        metadata={
            "name": "PostalAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    physical_location: Optional[PhysicalLocation] = field(
        default=None,
        metadata={
            "name": "PhysicalLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    party_tax_scheme: list[PartyTaxScheme] = field(
        default_factory=list,
        metadata={
            "name": "PartyTaxScheme",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    party_legal_entity: list["PartyLegalEntity"] = field(
        default_factory=list,
        metadata={
            "name": "PartyLegalEntity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contact: Optional[Contact] = field(
        default=None,
        metadata={
            "name": "Contact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    person: list[Person] = field(
        default_factory=list,
        metadata={
            "name": "Person",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    agent_party: Optional["AgentParty"] = field(
        default=None,
        metadata={
            "name": "AgentParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    service_provider_party: list["ServiceProviderParty"] = field(
        default_factory=list,
        metadata={
            "name": "ServiceProviderParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    power_of_attorney: list["PowerOfAttorney"] = field(
        default_factory=list,
        metadata={
            "name": "PowerOfAttorney",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    financial_account: Optional[FinancialAccount] = field(
        default=None,
        metadata={
            "name": "FinancialAccount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PriceExtensionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Price
    Extension.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a price extension, calculated by multiplying the price per
    unit by the quantity of items.</ns1:Definition>
    <ns1:ObjectClass>Price Extension</ns1:ObjectClass> </ns1:Component>

    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price Extension.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount of
        this price extension.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Price
        Extension</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price Extension. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>A total amount
        of taxes of a particular kind applicable to this price
        extension.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Price
        Extension</ns1:ObjectClass> <ns1:PropertyTerm>Tax
        Total</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Tax
        Total</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Total</ns1:RepresentationTerm> </ns1:Component>
    """

    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    tax_total: list[TaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class AdditionalInformationParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AgentParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AppealInformationParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AppealReceiverParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AwardingTerms(AwardingTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BeneficiaryParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BillOfLadingHolderParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BillToParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CarrierParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConsigneeParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConsignorParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContactParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractResponsibleParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CustomsAgentParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DeliveryParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DespatchParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DocumentProviderParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EvidenceIssuingParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ExporterParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinalDeliveryParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinancingParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FreightForwarderParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class GuarantorParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class HazardousItemNotificationParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class HeadOfficeParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ImporterParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InformationContentProviderParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InsuranceParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InterestedParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InventoryReportingParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class IssuerParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemPriceExtension(PriceExtensionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LoadingProofParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LogisticsOperatorParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MainOnAccountPayment(OnAccountPaymentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ManufacturerParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MediationParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MortgageHolderParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class NotaryParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class NotifyParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OnAccountPayment(OnAccountPaymentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OperatingParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OriginalDespatchParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OriginatorParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OwnerParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Party(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PayeeParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PayerParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PerformingCarrierParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PickupParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PreSelectedParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PreparationParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PriceExtension(PriceExtensionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ProviderParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReceiverParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RecipientParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ResponsibleTransportServiceProviderParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SenderParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SignatoryParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SourceIssuerParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubcontractorParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubscriberParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubstituteCarrierParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TaxRepresentativeParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderEvaluationParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderRecipientParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TendererParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TerminalOperatorParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportAdvisorParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportServiceProviderParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportUserParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UtilityCustomerParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UtilitySupplierParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class WarrantyParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class WitnessParty(PartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AppealTermsType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Appeal
    Terms.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the terms and conditions, set by the contracting authority,
    under which an appeal can be lodged for a tender
    award.</ns1:Definition> <ns1:ObjectClass>Appeal
    Terms</ns1:ObjectClass> </ns1:Component>

    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Appeal Terms. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the terms of an appeal.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Appeal
        Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar presentation_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Appeal Terms. Presentation_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which an appeal can be presented.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Appeal
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Presentation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar appeal_information_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Appeal Terms. Appeal Information_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        presenting the information for an appeal.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Appeal
        Terms</ns1:ObjectClass> <ns1:PropertyTermQualifier>Appeal
        Information</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar appeal_receiver_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Appeal Terms. Appeal Receiver_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party to
        whom an appeal should be presented.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Appeal
        Terms</ns1:ObjectClass> <ns1:PropertyTermQualifier>Appeal
        Receiver</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar mediation_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Appeal Terms. Mediation_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party that
        has been appointed to mediate any appeal.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Appeal
        Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Mediation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    presentation_period: Optional[PresentationPeriod] = field(
        default=None,
        metadata={
            "name": "PresentationPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    appeal_information_party: Optional[AppealInformationParty] = field(
        default=None,
        metadata={
            "name": "AppealInformationParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    appeal_receiver_party: Optional[AppealReceiverParty] = field(
        default=None,
        metadata={
            "name": "AppealReceiverParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    mediation_party: Optional[MediationParty] = field(
        default=None,
        metadata={
            "name": "MediationParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ContractingPartyType1:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Contracting Party.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an individual, a group, or a body having a procurement role
    in a tendering process.</ns1:Definition>
    <ns1:ObjectClass>Contracting Party</ns1:ObjectClass>
    </ns1:Component>

    :ivar buyer_profile_uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contracting Party. Buyer Profile_ URI.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The buyer
        profile is typically located on a web site where the contracting
        party publishes its procurement opportunities</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Contracting Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Buyer
        Profile</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Buyer
        Profile</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar contracting_party_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contracting Party. Contracting Party
        Type</ns1:DictionaryEntryName> <ns1:Definition>The type of
        contracting party that is independent of its
        role.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contracting Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Contracting Party Type</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contracting Party
        Type</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contracting Party
        Type</ns1:RepresentationTerm> </ns1:Component>
    :ivar contracting_activity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contracting Party. Contracting
        Activity</ns1:DictionaryEntryName> <ns1:Definition>The nature of
        the type of business of the organization</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Contracting Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Contracting Activity</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contracting
        Activity</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contracting
        Activity</ns1:RepresentationTerm> </ns1:Component>
    :ivar party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Contracting Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The contracting
        party itself.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Contracting Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    class Meta:
        name = "ContractingPartyType"

    buyer_profile_uri: Optional[BuyerProfileUri] = field(
        default=None,
        metadata={
            "name": "BuyerProfileURI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contracting_party_type: list[ContractingPartyType] = field(
        default_factory=list,
        metadata={
            "name": "ContractingPartyType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contracting_activity: list[ContractingActivity] = field(
        default_factory=list,
        metadata={
            "name": "ContractingActivity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    party: Optional[Party] = field(
        default=None,
        metadata={
            "name": "Party",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class CustomerPartyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Customer
    Party.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a customer party.</ns1:Definition>
    <ns1:ObjectClass>Customer Party</ns1:ObjectClass> </ns1:Component>

    :ivar customer_assigned_account_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Customer Party. Customer Assigned_
        Account Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the customer's account,
        assigned by the customer itself.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Customer Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Customer
        Assigned</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Account
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar supplier_assigned_account_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Customer Party. Supplier Assigned_
        Account Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the customer's account,
        assigned by the supplier.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Customer Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Supplier
        Assigned</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Account
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar additional_account_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Customer Party. Additional_ Account
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the customer's account,
        assigned by a third party.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Customer Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Account Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Customer Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The customer
        party itself.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Customer Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery_contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Customer Party. Delivery_ Contact.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>A customer
        contact for deliveries.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Customer Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar accounting_contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Customer Party. Accounting_ Contact.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>A customer
        contact for accounting.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Customer Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Accounting</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar buyer_contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Customer Party. Buyer_ Contact.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>A customer
        contact for purchasing.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Customer Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Buyer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    """

    customer_assigned_account_id: Optional[CustomerAssignedAccountId] = field(
        default=None,
        metadata={
            "name": "CustomerAssignedAccountID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    supplier_assigned_account_id: Optional[SupplierAssignedAccountId] = field(
        default=None,
        metadata={
            "name": "SupplierAssignedAccountID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    additional_account_id: list[AdditionalAccountId] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalAccountID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    party: Optional[Party] = field(
        default=None,
        metadata={
            "name": "Party",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_contact: Optional[DeliveryContact] = field(
        default=None,
        metadata={
            "name": "DeliveryContact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    accounting_contact: Optional[AccountingContact] = field(
        default=None,
        metadata={
            "name": "AccountingContact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    buyer_contact: Optional[BuyerContact] = field(
        default=None,
        metadata={
            "name": "BuyerContact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class CustomsDeclarationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Customs
    Declaration.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class describing
    identifiers or references relating to customs
    procedures.</ns1:Definition> <ns1:ObjectClass>Customs
    Declaration</ns1:ObjectClass> <ns1:Examples>Movement Reference
    Number, Local Reference Number</ns1:Examples> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Customs Declaration.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier associated with customs related
        procedures.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Customs
        Declaration</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>CUST001 3333-44-123 </ns1:Examples>
        </ns1:Component>
    :ivar issuer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Customs Declaration. Issuer_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>Describes the
        party issuing the customs declaration.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Customs
        Declaration</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Issuer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    issuer_party: Optional[IssuerParty] = field(
        default=None,
        metadata={
            "name": "IssuerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class DespatchType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Despatch.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the despatching of goods (their pickup for
    delivery).</ns1:Definition>
    <ns1:ObjectClass>Despatch</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this despatch event.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar requested_despatch_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Requested_ Despatch Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The despatch
        (pickup) date requested, normally by the buyer.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Requested</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Despatch Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar requested_despatch_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Requested_ Despatch Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The despatch
        (pickup) time requested, normally by the buyer.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Requested</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Despatch Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar estimated_despatch_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Estimated_ Despatch Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The estimated
        despatch (pickup) date.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Despatch Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar estimated_despatch_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Estimated_ Despatch Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The estimated
        despatch (pickup) time.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Despatch Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar actual_despatch_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Actual_ Despatch Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The actual
        despatch (pickup) date.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Despatch Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar actual_despatch_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Actual_ Despatch Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The actual
        despatch (pickup) time.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Despatch Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar guaranteed_despatch_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Guaranteed_ Despatch Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date
        guaranteed for the despatch (pickup).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Guaranteed</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Despatch Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar guaranteed_despatch_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Guaranteed_ Despatch Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time
        guaranteed for the despatch (pickup).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Guaranteed</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Despatch Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar release_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Release.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the release of the despatch used as security
        control or cargo control (pick-up).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTerm>Release</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Instructions.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        any special instructions applying to the despatch
        (pickup).</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar despatch_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Despatch_ Address.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The address of
        the despatch (pickup).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar despatch_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Despatch_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The location
        of the despatch (pickup).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar despatch_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Despatch_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        despatching the goods.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar carrier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Carrier_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        carrying the goods.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Carrier</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar notify_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Notify_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>A party to be
        notified of this despatch (pickup).</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Notify</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>The primary
        contact for this despatch (pickup).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar estimated_despatch_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Estimated Despatch_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        estimated for the despatch (pickup) of goods.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated
        Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar requested_despatch_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch. Requested Despatch_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        requested for the despatch (pickup) of goods.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Requested
        Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    requested_despatch_date: Optional[RequestedDespatchDate] = field(
        default=None,
        metadata={
            "name": "RequestedDespatchDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    requested_despatch_time: Optional[RequestedDespatchTime] = field(
        default=None,
        metadata={
            "name": "RequestedDespatchTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    estimated_despatch_date: Optional[EstimatedDespatchDate] = field(
        default=None,
        metadata={
            "name": "EstimatedDespatchDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    estimated_despatch_time: Optional[EstimatedDespatchTime] = field(
        default=None,
        metadata={
            "name": "EstimatedDespatchTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    actual_despatch_date: Optional[ActualDespatchDate] = field(
        default=None,
        metadata={
            "name": "ActualDespatchDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    actual_despatch_time: Optional[ActualDespatchTime] = field(
        default=None,
        metadata={
            "name": "ActualDespatchTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    guaranteed_despatch_date: Optional[GuaranteedDespatchDate] = field(
        default=None,
        metadata={
            "name": "GuaranteedDespatchDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    guaranteed_despatch_time: Optional[GuaranteedDespatchTime] = field(
        default=None,
        metadata={
            "name": "GuaranteedDespatchTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    release_id: Optional[ReleaseId] = field(
        default=None,
        metadata={
            "name": "ReleaseID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    instructions: list[Instructions] = field(
        default_factory=list,
        metadata={
            "name": "Instructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    despatch_address: Optional[DespatchAddress] = field(
        default=None,
        metadata={
            "name": "DespatchAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch_location: Optional[DespatchLocation] = field(
        default=None,
        metadata={
            "name": "DespatchLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch_party: Optional[DespatchParty] = field(
        default=None,
        metadata={
            "name": "DespatchParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    carrier_party: Optional[CarrierParty] = field(
        default=None,
        metadata={
            "name": "CarrierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    notify_party: list[NotifyParty] = field(
        default_factory=list,
        metadata={
            "name": "NotifyParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contact: Optional[Contact] = field(
        default=None,
        metadata={
            "name": "Contact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    estimated_despatch_period: Optional[EstimatedDespatchPeriod] = field(
        default=None,
        metadata={
            "name": "EstimatedDespatchPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    requested_despatch_period: Optional[RequestedDespatchPeriod] = field(
        default=None,
        metadata={
            "name": "RequestedDespatchPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class DocumentDistributionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Document
    Distribution.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the distribution of a document to an interested
    party.</ns1:Definition> <ns1:ObjectClass>Document
    Distribution</ns1:ObjectClass> </ns1:Component>

    :ivar print_qualifier: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Distribution. Print_
        Qualifier. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing the interested party's distribution
        rights.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Document Distribution</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Print</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Qualifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_copies_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Distribution. Maximum_ Copies.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        number of printed copies of the document that the interested
        party is allowed to make.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Document
        Distribution</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Copies</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Distribution.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The interested
        party to which the document should be
        distributed.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Document
        Distribution</ns1:ObjectClass>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    print_qualifier: Optional[PrintQualifier] = field(
        default=None,
        metadata={
            "name": "PrintQualifier",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    maximum_copies_numeric: Optional[MaximumCopiesNumeric] = field(
        default=None,
        metadata={
            "name": "MaximumCopiesNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    party: Optional[Party] = field(
        default=None,
        metadata={
            "name": "Party",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class DocumentResponseType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Document
    Response.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an application-level response to a
    document.</ns1:Definition> <ns1:ObjectClass>Document
    Response</ns1:ObjectClass> </ns1:Component>

    :ivar response: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Response.
        Response</ns1:DictionaryEntryName> <ns1:Definition>A response to
        the document as a whole.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Document
        Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Response</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Response</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Response</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Response. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A referenced
        document.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Document Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar issuer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Response. Issuer_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party that
        issued the document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Response</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Issuer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar recipient_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Response. Recipient_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party for
        which the document is intended.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Document Response</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Recipient</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar line_response: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Document Response. Line
        Response</ns1:DictionaryEntryName> <ns1:Definition>A response to
        a particular line in the document.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Document Response</ns1:ObjectClass>
        <ns1:PropertyTerm>Line Response</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Response</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Response</ns1:RepresentationTerm>
        </ns1:Component>
    """

    response: Optional[Response] = field(
        default=None,
        metadata={
            "name": "Response",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )
    issuer_party: Optional[IssuerParty] = field(
        default=None,
        metadata={
            "name": "IssuerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    recipient_party: Optional[RecipientParty] = field(
        default=None,
        metadata={
            "name": "RecipientParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    line_response: list[LineResponse] = field(
        default_factory=list,
        metadata={
            "name": "LineResponse",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class EconomicOperatorShortListType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Economic
    Operator Short List.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to provide
    information about the preselection of a short list of economic
    operators for consideration as possible candidates in a tendering
    process.</ns1:Definition> <ns1:ObjectClass>Economic Operator Short
    List</ns1:ObjectClass> </ns1:Component>

    :ivar limitation_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Economic Operator Short List.
        Limitation_ Description. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Text describing the criteria used to restrict
        the number of candidates.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Economic Operator Short List</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Limitation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar expected_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Economic Operator Short List. Expected_
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        number of economic operators expected to be on the short
        list.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Economic Operator Short List</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Expected</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Economic Operator Short List. Maximum_
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        maximum number of economic operators on the short
        list.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Economic Operator Short List</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Economic Operator Short List. Minimum_
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        minimum number of economic operators on the short
        list.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Economic Operator Short List</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar pre_selected_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Economic Operator Short List. Pre
        Selected_ Party. Party</ns1:DictionaryEntryName>
        <ns1:Definition>The parties pre-selected allowed to submit
        tenders in a negotiated procedure. Negotiated procedure is a
        type of procedure where the contracting authorities can set the
        parties to be invited in the procurement
        project</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Economic Operator Short List</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Pre
        Selected</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    limitation_description: list[LimitationDescription] = field(
        default_factory=list,
        metadata={
            "name": "LimitationDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    expected_quantity: Optional[ExpectedQuantity] = field(
        default=None,
        metadata={
            "name": "ExpectedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_quantity: Optional[MaximumQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_quantity: Optional[MinimumQuantity] = field(
        default=None,
        metadata={
            "name": "MinimumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pre_selected_party: list[PreSelectedParty] = field(
        default_factory=list,
        metadata={
            "name": "PreSelectedParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class EndorserPartyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Endorser
    Party.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the party endorsing a document.</ns1:Definition>
    <ns1:ObjectClass>Endorser Party</ns1:ObjectClass> </ns1:Component>

    :ivar role_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Endorser Party. Role Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code specifying
        the role of the party providing the endorsement (e.g., issuer,
        embassy, insurance, etc.).</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Endorser
        Party</ns1:ObjectClass> <ns1:PropertyTerm>Role
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar sequence_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Endorser Party. Sequence.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>A number
        indicating the order of the endorsement provided by this party
        in the sequence in which endorsements are to be
        applied.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Endorser Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Sequence</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Endorser Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        endorsing the application.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Endorser
        Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar signatory_contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Endorser Party. Signatory_ Contact.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>The individual
        representing the exporter who signs the Certificate of Origin
        application before submitting it to the issuer
        party.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Endorser Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Signatory</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    """

    role_code: Optional[RoleCode] = field(
        default=None,
        metadata={
            "name": "RoleCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    sequence_numeric: Optional[SequenceNumeric] = field(
        default=None,
        metadata={
            "name": "SequenceNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    party: Optional[Party] = field(
        default=None,
        metadata={
            "name": "Party",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    signatory_contact: Optional[SignatoryContact] = field(
        default=None,
        metadata={
            "name": "SignatoryContact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class EvidenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Evidence.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an item of evidentiary support for representations of
    capabilities or the ability to meet tendering requirements, which an
    economic operator must provide for acceptance into a tendering
    process.</ns1:Definition>
    <ns1:ObjectClass>Evidence</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evidence.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this item of evidentiary
        support.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Evidence</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar evidence_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evidence. Evidence Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of evidence.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Evidence</ns1:ObjectClass>
        <ns1:PropertyTerm>Evidence Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evidence. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The textual
        description for this Evidence.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Evidence</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar candidate_statement: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evidence. Candidate_ Statement.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Information about
        a candidate statement that the contracting authority accepts as
        a sufficient response.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Evidence</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Candidate</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Statement</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar evidence_issuing_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evidence. Evidence Issuing_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>A class to
        describe a party issuing an evidentiary
        document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Evidence</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Evidence
        Issuing</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evidence. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to the evidentiary document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Evidence</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar language: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evidence.
        Language</ns1:DictionaryEntryName> <ns1:Definition>Information
        about a required translation to be part of the response, i.e.
        the language.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Evidence</ns1:ObjectClass>
        <ns1:PropertyTerm>Language</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Language</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Language</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    evidence_type_code: Optional[EvidenceTypeCode] = field(
        default=None,
        metadata={
            "name": "EvidenceTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    candidate_statement: list[CandidateStatement] = field(
        default_factory=list,
        metadata={
            "name": "CandidateStatement",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    evidence_issuing_party: Optional[EvidenceIssuingParty] = field(
        default=None,
        metadata={
            "name": "EvidenceIssuingParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: Optional[DocumentReference] = field(
        default=None,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    language: Optional[Language] = field(
        default=None,
        metadata={
            "name": "Language",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class HazardousItemType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Hazardous
    Item.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a hazardous item.</ns1:Definition>
    <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this hazardous item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>Round Up </ns1:Examples> </ns1:Component>
    :ivar placard_notation: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Placard Notation.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text of the
        placard notation corresponding to the hazard class of this
        hazardous item. Can also be the hazard identification number of
        the orange placard (upper part) required on the means of
        transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Placard Notation</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>5.1
        </ns1:Examples> </ns1:Component>
    :ivar placard_endorsement: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Placard Endorsement.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text of the
        placard endorsement that is to be shown on the shipping papers
        for this hazardous item. Can also be used for the number of the
        orange placard (lower part) required on the means of
        transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Placard Endorsement</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>2
        </ns1:Examples> </ns1:Component>
    :ivar additional_information: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Additional_
        Information. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        providing further information about the hazardous
        substance.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Information</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Must be
        stored away from flammable materials N.O.S. or a Waste
        Characteristics Code in conjunction with an EPA Waste Stream
        code </ns1:Examples> </ns1:Component>
    :ivar undgcode: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. UNDG Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The UN code for
        this kind of hazardous item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>UNDG Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>UN
        Code</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar emergency_procedures_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Emergency Procedures
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the emergency procedures for this hazardous
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Emergency Procedures Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>EMG code, EMS Page
        Number</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar medical_first_aid_guide_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Medical First Aid Guide
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying a medical first aid guide appropriate to this
        hazardous item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Medical First Aid Guide
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>MFAG page
        number</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar technical_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Technical_ Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The full
        technical name of a specific hazardous substance contained in
        this goods item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Technical</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Granular
        Sodium Chlorate WeedKiller </ns1:Examples> </ns1:Component>
    :ivar category_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Category.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        category of hazard that applies to the Item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Category</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar hazardous_category_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Hazardous Category
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying a kind of hazard for a material.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Hazardous Category Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Hazardous material class
        code</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar upper_orange_hazard_placard_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Upper_ Orange Hazard
        Placard Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>The number for the upper part of the orange
        hazard placard required on the means of
        transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Upper</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Orange Hazard Placard
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Hazard identification number
        (upper part)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar lower_orange_hazard_placard_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Lower_ Orange Hazard
        Placard Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>The number for the lower part of the orange
        hazard placard required on the means of
        transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Lower</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Orange Hazard Placard
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Substance identification number
        (lower part)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar marking_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Marking Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier to the marking of the Hazardous Item</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Marking Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Dangerous goods label
        marking</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar hazard_class_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Hazard Class
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the hazard class applicable to
        this hazardous item as defined by the relevant regulation
        authority (e.g., the IMDG Class Number of the SOLAS Convention
        of IMO and the ADR/RID Class Number for the road/rail
        environment).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Hazard Class Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>IMDG Class Number, ADR/RID Class
        Number</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar net_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Net_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The net weight
        of this hazardous item, excluding packaging.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar net_volume_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Net_ Volume.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The volume of
        this hazardous item, excluding packaging and transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Volume</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of goods items in this hazardous item that are
        hazardous.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar contact_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Contact_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The individual,
        group, or body to be contacted in case of a hazardous incident
        associated with this item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contact</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar secondary_hazard: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Secondary
        Hazard</ns1:DictionaryEntryName> <ns1:Definition>A secondary
        hazard associated with this hazardous item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Secondary Hazard</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Secondary
        Hazard</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Secondary
        Hazard</ns1:RepresentationTerm> </ns1:Component>
    :ivar hazardous_goods_transit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Hazardous Goods
        Transit</ns1:DictionaryEntryName> <ns1:Definition>Information
        related to the transit of this kind of hazardous
        goods.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Hazardous Goods Transit</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Hazardous Goods
        Transit</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Hazardous Goods
        Transit</ns1:RepresentationTerm> </ns1:Component>
    :ivar emergency_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Emergency_ Temperature.
        Temperature</ns1:DictionaryEntryName> <ns1:Definition>The
        threshold temperature at which emergency procedures apply in the
        handling of temperature-controlled goods.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Emergency</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar flashpoint_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Flashpoint_
        Temperature. Temperature</ns1:DictionaryEntryName>
        <ns1:Definition>The flashpoint temperature of this hazardous
        item; i.e., the lowest temperature at which vapors above a
        volatile combustible substance ignite in air when exposed to
        flame.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Flashpoint</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar additional_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Hazardous Item. Additional_
        Temperature. Temperature</ns1:DictionaryEntryName>
        <ns1:Definition>Another temperature relevant to the handling of
        this hazardous item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Hazardous Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    placard_notation: Optional[PlacardNotation] = field(
        default=None,
        metadata={
            "name": "PlacardNotation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    placard_endorsement: Optional[PlacardEndorsement] = field(
        default=None,
        metadata={
            "name": "PlacardEndorsement",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    additional_information: list[AdditionalInformation] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalInformation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    undgcode: Optional[Undgcode] = field(
        default=None,
        metadata={
            "name": "UNDGCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    emergency_procedures_code: Optional[EmergencyProceduresCode] = field(
        default=None,
        metadata={
            "name": "EmergencyProceduresCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    medical_first_aid_guide_code: Optional[MedicalFirstAidGuideCode] = field(
        default=None,
        metadata={
            "name": "MedicalFirstAidGuideCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    technical_name: Optional[TechnicalName] = field(
        default=None,
        metadata={
            "name": "TechnicalName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    category_name: Optional[CategoryName] = field(
        default=None,
        metadata={
            "name": "CategoryName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    hazardous_category_code: Optional[HazardousCategoryCode] = field(
        default=None,
        metadata={
            "name": "HazardousCategoryCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    upper_orange_hazard_placard_id: Optional[UpperOrangeHazardPlacardId] = (
        field(
            default=None,
            metadata={
                "name": "UpperOrangeHazardPlacardID",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    lower_orange_hazard_placard_id: Optional[LowerOrangeHazardPlacardId] = (
        field(
            default=None,
            metadata={
                "name": "LowerOrangeHazardPlacardID",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    marking_id: Optional[MarkingId] = field(
        default=None,
        metadata={
            "name": "MarkingID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    hazard_class_id: Optional[HazardClassId] = field(
        default=None,
        metadata={
            "name": "HazardClassID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_weight_measure: Optional[NetWeightMeasure] = field(
        default=None,
        metadata={
            "name": "NetWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_volume_measure: Optional[NetVolumeMeasure] = field(
        default=None,
        metadata={
            "name": "NetVolumeMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contact_party: Optional[ContactParty] = field(
        default=None,
        metadata={
            "name": "ContactParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    secondary_hazard: list[SecondaryHazard] = field(
        default_factory=list,
        metadata={
            "name": "SecondaryHazard",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    hazardous_goods_transit: list[HazardousGoodsTransit] = field(
        default_factory=list,
        metadata={
            "name": "HazardousGoodsTransit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    emergency_temperature: Optional[EmergencyTemperature] = field(
        default=None,
        metadata={
            "name": "EmergencyTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    flashpoint_temperature: Optional[FlashpointTemperature] = field(
        default=None,
        metadata={
            "name": "FlashpointTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    additional_temperature: list[AdditionalTemperature] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ImmobilizedSecurityType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Immobilized Security.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an immobilized security to be used as a
    guarantee.</ns1:Definition> <ns1:ObjectClass>Immobilized
    Security</ns1:ObjectClass> </ns1:Component>

    :ivar immobilization_certificate_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Immobilized Security. Immobilization
        Certificate Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the certificate of this
        immobilized security.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Immobilized Security</ns1:ObjectClass>
        <ns1:PropertyTerm>Immobilization Certificate
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar security_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Immobilized Security. Security
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the security being
        immobilized.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Immobilized Security</ns1:ObjectClass>
        <ns1:PropertyTerm>Security Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Immobilized Security. Issue Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this immobilized security was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Immobilized Security</ns1:ObjectClass>
        <ns1:PropertyTerm>Issue Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar face_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Immobilized Security. Face Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The value of
        the security on the day it was immobilized.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Immobilized Security</ns1:ObjectClass>
        <ns1:PropertyTerm>Face Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar market_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Immobilized Security. Market Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The current
        market value of the immobilized security.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Immobilized Security</ns1:ObjectClass>
        <ns1:PropertyTerm>Market Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar shares_number_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Immobilized Security. Shares Number.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The number of
        shares immobilized.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Immobilized Security</ns1:ObjectClass>
        <ns1:PropertyTerm>Shares Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar issuer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Immobilized Security. Issuer_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        issuing the immobilized security certificate.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Immobilized Security</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Issuer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    immobilization_certificate_id: Optional[ImmobilizationCertificateId] = (
        field(
            default=None,
            metadata={
                "name": "ImmobilizationCertificateID",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    security_id: Optional[SecurityId] = field(
        default=None,
        metadata={
            "name": "SecurityID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_date: Optional[IssueDate] = field(
        default=None,
        metadata={
            "name": "IssueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    face_value_amount: Optional[FaceValueAmount] = field(
        default=None,
        metadata={
            "name": "FaceValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    market_value_amount: Optional[MarketValueAmount] = field(
        default=None,
        metadata={
            "name": "MarketValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    shares_number_quantity: Optional[SharesNumberQuantity] = field(
        default=None,
        metadata={
            "name": "SharesNumberQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issuer_party: Optional[IssuerParty] = field(
        default=None,
        metadata={
            "name": "IssuerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ItemIdentificationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Item
    Identification.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class for
    assigning identifying information to an item.</ns1:Definition>
    <ns1:ObjectClass>Item Identification</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Identification.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the item.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Item
        Identification</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>CUST001 3333-44-123 </ns1:Examples>
        </ns1:Component>
    :ivar extended_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Identification. Extended_
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An extended identifier for the item that
        identifies the item with specific properties, e.g., Item 123 =
        Chair / Item 123 Ext 45 = brown chair. Two chairs can have the
        same item number, but one is brown. The other is
        white.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item Identification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Extended</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar barcode_symbology_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Identification. Barcode_ Symbology
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for a system of
        barcodes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Identification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Barcode</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Symbology Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar physical_attribute: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Identification. Physical
        Attribute</ns1:DictionaryEntryName> <ns1:Definition>A physical
        attribute of the item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Identification</ns1:ObjectClass> <ns1:PropertyTerm>Physical
        Attribute</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Physical
        Attribute</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Physical
        Attribute</ns1:RepresentationTerm> </ns1:Component>
    :ivar measurement_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Identification. Measurement_
        Dimension. Dimension</ns1:DictionaryEntryName> <ns1:Definition>A
        measurable dimension (length, mass, weight, or volume) of the
        item.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item Identification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Measurement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar issuer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Identification. Issuer_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party that
        issued this item identification.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Identification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Issuer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    extended_id: Optional[ExtendedId] = field(
        default=None,
        metadata={
            "name": "ExtendedID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    barcode_symbology_id: Optional[BarcodeSymbologyId] = field(
        default=None,
        metadata={
            "name": "BarcodeSymbologyID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    physical_attribute: list[PhysicalAttribute] = field(
        default_factory=list,
        metadata={
            "name": "PhysicalAttribute",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    measurement_dimension: list[MeasurementDimension] = field(
        default_factory=list,
        metadata={
            "name": "MeasurementDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    issuer_party: Optional[IssuerParty] = field(
        default=None,
        metadata={
            "name": "IssuerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class NotificationRequirementType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Notification Requirement.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a notification requirement.</ns1:Definition>
    <ns1:ObjectClass>Notification Requirement</ns1:ObjectClass>
    </ns1:Component>

    :ivar notification_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Notification Requirement. Notification
        Type Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of notification (e.g., pickup
        status).</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Notification Requirement</ns1:ObjectClass>
        <ns1:PropertyTerm>Notification Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar post_event_notification_duration_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Notification Requirement. Post Event
        Notification Duration. Measure</ns1:DictionaryEntryName>
        <ns1:Definition>The length of time between the occurrence of a
        given event and the issuance of a notification.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Notification Requirement</ns1:ObjectClass>
        <ns1:PropertyTerm>Post Event Notification
        Duration</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar pre_event_notification_duration_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Notification Requirement. Pre Event
        Notification Duration. Measure</ns1:DictionaryEntryName>
        <ns1:Definition>The length of time to elapse between the
        issuance of a notification and the occurrence of the event it
        relates to.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Notification Requirement</ns1:ObjectClass>
        <ns1:PropertyTerm>Pre Event Notification
        Duration</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar notify_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Notification Requirement. Notify_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>A party
        to be notified.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Notification Requirement</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Notify</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar notification_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Notification Requirement. Notification_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>A
        period during which a notification should be
        issued.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Notification Requirement</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Notification</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar notification_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Notification Requirement. Notification_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>A
        location at which a notification should be
        issued.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Notification Requirement</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Notification</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    """

    notification_type_code: Optional[NotificationTypeCode] = field(
        default=None,
        metadata={
            "name": "NotificationTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    post_event_notification_duration_measure: Optional[
        PostEventNotificationDurationMeasure
    ] = field(
        default=None,
        metadata={
            "name": "PostEventNotificationDurationMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pre_event_notification_duration_measure: Optional[
        PreEventNotificationDurationMeasure
    ] = field(
        default=None,
        metadata={
            "name": "PreEventNotificationDurationMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    notify_party: list[NotifyParty] = field(
        default_factory=list,
        metadata={
            "name": "NotifyParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    notification_period: list[NotificationPeriod] = field(
        default_factory=list,
        metadata={
            "name": "NotificationPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    notification_location: list[NotificationLocation] = field(
        default_factory=list,
        metadata={
            "name": "NotificationLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PaymentMandateType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Payment
    Mandate.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a payment mandate.</ns1:Definition>
    <ns1:ObjectClass>Payment Mandate</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Mandate.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this payment mandate.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Mandate</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar mandate_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Mandate. Mandate Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of this payment mandate.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Mandate</ns1:ObjectClass> <ns1:PropertyTerm>Mandate Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_payment_instructions_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Mandate. Maximum Payment
        Instructions. Numeric</ns1:DictionaryEntryName>
        <ns1:Definition>The number of maximum payment instructions
        allowed within the validity period.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Mandate</ns1:ObjectClass> <ns1:PropertyTerm>Maximum Payment
        Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_paid_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Mandate. Maximum_ Paid Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        amount to be paid within a single instruction.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Mandate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Paid Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar signature_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Mandate. Signature Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for a signature applied by a signatory
        party.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Payment Mandate</ns1:ObjectClass>
        <ns1:PropertyTerm>Signature Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar payer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Mandate. Payer_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The payer party
        (if different from the debtor).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Mandate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Payer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar payer_financial_account: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Mandate. Payer_ Financial
        Account. Financial Account</ns1:DictionaryEntryName>
        <ns1:Definition>The payer's financial account.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Mandate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Payer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Financial Account</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Financial
        Account</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Financial
        Account</ns1:RepresentationTerm> </ns1:Component>
    :ivar validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Mandate. Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which this mandate is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Mandate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar payment_reversal_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Mandate. Payment Reversal_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period of the reverse payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Mandate</ns1:ObjectClass> <ns1:PropertyTermQualifier>Payment
        Reversal</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar clause: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Mandate.
        Clause</ns1:DictionaryEntryName> <ns1:Definition>A clause
        applicable to this payment mandate.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Payment
        Mandate</ns1:ObjectClass>
        <ns1:PropertyTerm>Clause</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Clause</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Clause</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    mandate_type_code: Optional[MandateTypeCode] = field(
        default=None,
        metadata={
            "name": "MandateTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_payment_instructions_numeric: Optional[
        MaximumPaymentInstructionsNumeric
    ] = field(
        default=None,
        metadata={
            "name": "MaximumPaymentInstructionsNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_paid_amount: Optional[MaximumPaidAmount] = field(
        default=None,
        metadata={
            "name": "MaximumPaidAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    signature_id: Optional[SignatureId] = field(
        default=None,
        metadata={
            "name": "SignatureID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payer_party: Optional[PayerParty] = field(
        default=None,
        metadata={
            "name": "PayerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payer_financial_account: Optional[PayerFinancialAccount] = field(
        default=None,
        metadata={
            "name": "PayerFinancialAccount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    validity_period: Optional[ValidityPeriod] = field(
        default=None,
        metadata={
            "name": "ValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payment_reversal_period: Optional[PaymentReversalPeriod] = field(
        default=None,
        metadata={
            "name": "PaymentReversalPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    clause: list[Clause] = field(
        default_factory=list,
        metadata={
            "name": "Clause",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PickupType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Pickup.

    Details</ns1:DictionaryEntryName>
    <ns1:Definition>A class to describe a pickup for delivery.</ns1:Definition>
    <ns1:ObjectClass>Pickup</ns1:ObjectClass>
    <ns1:AlternativeBusinessTerms>Collection</ns1:AlternativeBusinessTerms>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pickup.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this pickup.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Pickup</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar actual_pickup_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pickup. Actual_ Pickup Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The actual pickup
        date.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Pickup</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Pickup Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar actual_pickup_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pickup. Actual_ Pickup Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The actual pickup
        time.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Pickup</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Pickup Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar earliest_pickup_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pickup. Earliest_ Pickup Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The earliest
        pickup date.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Pickup</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Earliest</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Pickup Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar earliest_pickup_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pickup. Earliest_ Pickup Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The earliest
        pickup time.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Pickup</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Earliest</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Pickup Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar latest_pickup_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pickup. Latest_ Pickup Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The latest pickup
        date.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Pickup</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latest</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Pickup Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar latest_pickup_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pickup. Latest_ Pickup Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The latest pickup
        time.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Pickup</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latest</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Pickup Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar pickup_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pickup. Pickup_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The pickup
        location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Pickup</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Pickup</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar pickup_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pickup. Pickup_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        responsible for picking up a delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Pickup</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Pickup</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    actual_pickup_date: Optional[ActualPickupDate] = field(
        default=None,
        metadata={
            "name": "ActualPickupDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    actual_pickup_time: Optional[ActualPickupTime] = field(
        default=None,
        metadata={
            "name": "ActualPickupTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    earliest_pickup_date: Optional[EarliestPickupDate] = field(
        default=None,
        metadata={
            "name": "EarliestPickupDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    earliest_pickup_time: Optional[EarliestPickupTime] = field(
        default=None,
        metadata={
            "name": "EarliestPickupTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latest_pickup_date: Optional[LatestPickupDate] = field(
        default=None,
        metadata={
            "name": "LatestPickupDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latest_pickup_time: Optional[LatestPickupTime] = field(
        default=None,
        metadata={
            "name": "LatestPickupTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pickup_location: Optional[PickupLocation] = field(
        default=None,
        metadata={
            "name": "PickupLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pickup_party: Optional[PickupParty] = field(
        default=None,
        metadata={
            "name": "PickupParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PowerOfAttorneyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Power Of
    Attorney.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a power of attorney.</ns1:Definition>
    <ns1:ObjectClass>Power Of Attorney</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Power Of Attorney.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this power of attorney.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Power
        Of Attorney</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Power Of Attorney. Issue Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this power of attorney was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Power
        Of Attorney</ns1:ObjectClass> <ns1:PropertyTerm>Issue
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar issue_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Power Of Attorney. Issue Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        this power of attorney was issued.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Power
        Of Attorney</ns1:ObjectClass> <ns1:PropertyTerm>Issue
        Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Power Of Attorney. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this power of attorney.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Power
        Of Attorney</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar notary_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Power Of Attorney. Notary_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        notarizing this power of attorney.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Power
        Of Attorney</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Notary</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar agent_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Power Of Attorney. Agent_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party who
        acts as an agent or fiduciary for the principal and who holds
        this power of attorney on behalf of the
        principal.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Power Of Attorney</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Agent</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar witness_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Power Of Attorney. Witness_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>An association
        to a WitnessParty.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Power
        Of Attorney</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Witness</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar mandate_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Power Of Attorney. Mandate_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a mandate associated with this
        power of attorney.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Power
        Of Attorney</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Mandate</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_date: Optional[IssueDate] = field(
        default=None,
        metadata={
            "name": "IssueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issue_time: Optional[IssueTime] = field(
        default=None,
        metadata={
            "name": "IssueTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    notary_party: Optional[NotaryParty] = field(
        default=None,
        metadata={
            "name": "NotaryParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    agent_party: Optional[AgentParty] = field(
        default=None,
        metadata={
            "name": "AgentParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    witness_party: list[WitnessParty] = field(
        default_factory=list,
        metadata={
            "name": "WitnessParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    mandate_document_reference: list[MandateDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "MandateDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ResultOfVerificationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Result Of
    Verification.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the result of an attempt to verify a
    signature.</ns1:Definition> <ns1:ObjectClass>Result Of
    Verification</ns1:ObjectClass> </ns1:Component>

    :ivar validator_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Result Of Verification. Validator.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the organization, person, service, or server that
        verified the signature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Result
        Of Verification</ns1:ObjectClass>
        <ns1:PropertyTerm>Validator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar validation_result_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Result Of Verification. Validation_
        Result Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying the result of the verification.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Result
        Of Verification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Result Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar validation_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Result Of Verification. Validation
        Date. Date</ns1:DictionaryEntryName> <ns1:Definition>The date
        upon which verification took place.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Result
        Of Verification</ns1:ObjectClass> <ns1:PropertyTerm>Validation
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar validation_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Result Of Verification. Validation
        Time. Time</ns1:DictionaryEntryName> <ns1:Definition>The time at
        which verification took place.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Result
        Of Verification</ns1:ObjectClass> <ns1:PropertyTerm>Validation
        Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar validate_process: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Result Of Verification. Validate_
        Process. Text</ns1:DictionaryEntryName> <ns1:Definition>The
        verification process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Result
        Of Verification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validate</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Process</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar validate_tool: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Result Of Verification. Validate_ Tool.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The tool used to
        verify the signature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Result
        Of Verification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validate</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tool</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar validate_tool_version: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Result Of Verification. Validate_ Tool
        Version. Text</ns1:DictionaryEntryName> <ns1:Definition>The
        version of the tool used to verify the
        signature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Result
        Of Verification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validate</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tool Version</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar signatory_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Result Of Verification. Signatory_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The
        signing party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Result
        Of Verification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Signatory</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    validator_id: Optional[ValidatorId] = field(
        default=None,
        metadata={
            "name": "ValidatorID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validation_result_code: Optional[ValidationResultCode] = field(
        default=None,
        metadata={
            "name": "ValidationResultCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validation_date: Optional[ValidationDate] = field(
        default=None,
        metadata={
            "name": "ValidationDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validation_time: Optional[ValidationTime] = field(
        default=None,
        metadata={
            "name": "ValidationTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validate_process: Optional[ValidateProcess] = field(
        default=None,
        metadata={
            "name": "ValidateProcess",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validate_tool: Optional[ValidateTool] = field(
        default=None,
        metadata={
            "name": "ValidateTool",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validate_tool_version: Optional[ValidateToolVersion] = field(
        default=None,
        metadata={
            "name": "ValidateToolVersion",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    signatory_party: Optional[SignatoryParty] = field(
        default=None,
        metadata={
            "name": "SignatoryParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ServiceProviderPartyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Service
    Provider Party.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a party contracting to provide services, such as
    transportation, finance, etc.</ns1:Definition>
    <ns1:ObjectClass>Service Provider Party</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Service Provider Party.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this service provider.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Service
        Provider Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar service_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Service Provider Party. Service Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The type of
        service provided, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Service
        Provider Party</ns1:ObjectClass> <ns1:PropertyTerm>Service Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar service_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Service Provider Party. Service Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of
        service provided, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Service
        Provider Party</ns1:ObjectClass> <ns1:PropertyTerm>Service
        Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Service Provider Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        providing the service.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Service
        Provider Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar seller_contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Service Provider Party. Seller_
        Contact. Contact</ns1:DictionaryEntryName> <ns1:Definition>The
        contact for the service provider.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Service
        Provider Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Seller</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    service_type_code: Optional[ServiceTypeCode] = field(
        default=None,
        metadata={
            "name": "ServiceTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    service_type: list[ServiceType] = field(
        default_factory=list,
        metadata={
            "name": "ServiceType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    party: Optional[Party] = field(
        default=None,
        metadata={
            "name": "Party",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    seller_contact: Optional[SellerContact] = field(
        default=None,
        metadata={
            "name": "SellerContact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ShareholderPartyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Shareholder Party.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a shareholder party.</ns1:Definition>
    <ns1:ObjectClass>Shareholder Party</ns1:ObjectClass>
    </ns1:Component>

    :ivar partecipation_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shareholder Party. Partecipation.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The
        shareholder participation, expressed as a
        percentage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shareholder Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Partecipation</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shareholder Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The shareholder
        party.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shareholder Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    partecipation_percent: Optional[PartecipationPercent] = field(
        default=None,
        metadata={
            "name": "PartecipationPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    party: Optional[Party] = field(
        default=None,
        metadata={
            "name": "Party",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class SignatureType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Signature.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a signature.</ns1:Definition>
    <ns1:ObjectClass>Signature</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Signature.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this signature.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Signature</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Signature. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures; in particular, information regarding the
        circumstances in which the signature is being
        used.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Signature</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar validation_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Signature. Validation Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date upon
        which this signature was verified.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Signature</ns1:ObjectClass>
        <ns1:PropertyTerm>Validation Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar validation_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Signature. Validation Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        this signature was verified.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Signature</ns1:ObjectClass>
        <ns1:PropertyTerm>Validation Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar validator_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Signature. Validator.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the organization, person, service, or server that
        verified this signature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Signature</ns1:ObjectClass>
        <ns1:PropertyTerm>Validator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar canonicalization_method: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Signature. Canonicalization Method.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The method used
        to perform XML canonicalization of this
        signature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Signature</ns1:ObjectClass>
        <ns1:PropertyTerm>Canonicalization Method</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar signature_method: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Signature. Signature Method.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the method of signature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Signature</ns1:ObjectClass>
        <ns1:PropertyTerm>Signature Method</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar signatory_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Signature. Signatory_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The signing
        party.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Signature</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Signatory</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar digital_signature_attachment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Signature. Digital Signature_
        Attachment. Attachment</ns1:DictionaryEntryName>
        <ns1:Definition>The actual encoded signature (e.g., in XMLDsig
        format).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Signature</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Digital
        Signature</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Attachment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Attachment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Attachment</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar original_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Signature. Original_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to the document that the signature
        applies to. For evidentiary purposes, this may be the document
        image that the signatory party saw when applying their
        signature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Signature</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Original</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validation_date: Optional[ValidationDate] = field(
        default=None,
        metadata={
            "name": "ValidationDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validation_time: Optional[ValidationTime] = field(
        default=None,
        metadata={
            "name": "ValidationTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validator_id: Optional[ValidatorId] = field(
        default=None,
        metadata={
            "name": "ValidatorID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    canonicalization_method: Optional[CanonicalizationMethod] = field(
        default=None,
        metadata={
            "name": "CanonicalizationMethod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    signature_method: Optional[SignatureMethod] = field(
        default=None,
        metadata={
            "name": "SignatureMethod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    signatory_party: Optional[SignatoryParty] = field(
        default=None,
        metadata={
            "name": "SignatoryParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    digital_signature_attachment: Optional[DigitalSignatureAttachment] = field(
        default=None,
        metadata={
            "name": "DigitalSignatureAttachment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    original_document_reference: Optional[OriginalDocumentReference] = field(
        default=None,
        metadata={
            "name": "OriginalDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class SupplierPartyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Supplier
    Party.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a supplier party.</ns1:Definition>
    <ns1:ObjectClass>Supplier Party</ns1:ObjectClass> </ns1:Component>

    :ivar customer_assigned_account_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Party. Customer Assigned_
        Account Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this supplier party, assigned
        by the customer.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Customer
        Assigned</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Account
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar additional_account_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Party. Additional_ Account
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An additional identifier for this supplier
        party.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Account Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar data_sending_capability: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Party. Data Sending
        Capability. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing the supplier's ability to send invoice data via a
        purchase card provider (e.g., VISA, MasterCard, American
        Express).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Data Sending Capability</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The supplier
        party itself.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar despatch_contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Party. Despatch_ Contact.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>A contact at
        this supplier party for despatches (pickups).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar accounting_contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Party. Accounting_ Contact.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>A contact at
        this supplier party for accounting.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Accounting</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar seller_contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Party. Seller_ Contact.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>The primary
        contact for this supplier party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Seller</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    """

    customer_assigned_account_id: Optional[CustomerAssignedAccountId] = field(
        default=None,
        metadata={
            "name": "CustomerAssignedAccountID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    additional_account_id: list[AdditionalAccountId] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalAccountID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    data_sending_capability: Optional[DataSendingCapability] = field(
        default=None,
        metadata={
            "name": "DataSendingCapability",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    party: Optional[Party] = field(
        default=None,
        metadata={
            "name": "Party",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch_contact: Optional[DespatchContact] = field(
        default=None,
        metadata={
            "name": "DespatchContact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    accounting_contact: Optional[AccountingContact] = field(
        default=None,
        metadata={
            "name": "AccountingContact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    seller_contact: Optional[SellerContact] = field(
        default=None,
        metadata={
            "name": "SellerContact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TradeFinancingType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Trade
    Financing.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a trade financing instrument.</ns1:Definition>
    <ns1:ObjectClass>Trade Financing</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Trade Financing.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this trade financing instrument.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Trade
        Financing</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar financing_instrument_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Trade Financing. Financing Instrument
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of this financing
        instrument.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Trade
        Financing</ns1:ObjectClass> <ns1:PropertyTerm>Financing
        Instrument Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Factoring
        , Invoice Financing , Pre-shipment Financing , Letter of Credit
        , Irrevocable Letter of Credit . </ns1:Examples>
        </ns1:Component>
    :ivar contract_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Trade Financing. Contract_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a contract
        document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Trade
        Financing</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contract</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Trade Financing. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this trade financing
        instrument.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Trade
        Financing</ns1:ObjectClass> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar financing_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Trade Financing. Financing_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The financing
        party (bank or other enabled party).</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Trade
        Financing</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Financing</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar financing_financial_account: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Trade Financing. Financing_ Financial
        Account. Financial Account</ns1:DictionaryEntryName>
        <ns1:Definition>An internal bank account used by the bank or its
        first agent to manage the line of credit granted to the
        financing requester.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Trade
        Financing</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Financing</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Financial Account</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Financial
        Account</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Financial
        Account</ns1:RepresentationTerm> </ns1:Component>
    :ivar clause: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Trade Financing.
        Clause</ns1:DictionaryEntryName> <ns1:Definition>A clause
        applicable to this trade financing instrument.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Trade
        Financing</ns1:ObjectClass>
        <ns1:PropertyTerm>Clause</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Clause</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Clause</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    financing_instrument_code: Optional[FinancingInstrumentCode] = field(
        default=None,
        metadata={
            "name": "FinancingInstrumentCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contract_document_reference: Optional[ContractDocumentReference] = field(
        default=None,
        metadata={
            "name": "ContractDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    financing_party: Optional[FinancingParty] = field(
        default=None,
        metadata={
            "name": "FinancingParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    financing_financial_account: Optional[FinancingFinancialAccount] = field(
        default=None,
        metadata={
            "name": "FinancingFinancialAccount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    clause: list[Clause] = field(
        default_factory=list,
        metadata={
            "name": "Clause",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TransportMeansType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Transport
    Means.

    Details</ns1:DictionaryEntryName>
    <ns1:Definition>A class to describe a particular vehicle or vessel used for the conveyance of goods or persons.</ns1:Definition>
    <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
    <ns1:AlternativeBusinessTerms>Conveyance</ns1:AlternativeBusinessTerms>
    </ns1:Component>

    :ivar journey_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Journey Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the regular service schedule of this means of
        transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTerm>Journey Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Voyage Number, Scheduled
        Conveyance Identifier (WCO ID 205), Flight
        Number</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar registration_nationality_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Registration_
        Nationality Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the country in which this
        means of transport is registered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Registration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Nationality Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Nationality of Means of Transport
        (WCO 175, 178 and 179)</ns1:AlternativeBusinessTerms>
        <ns1:Examples>LIB </ns1:Examples> </ns1:Component>
    :ivar registration_nationality: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Registration_
        Nationality. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing the country in which this means of transport is
        registered.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Registration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Nationality</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Flag of Vessel, Nationality of
        Ship</ns1:AlternativeBusinessTerms>
        <ns1:Examples>Liberia</ns1:Examples> </ns1:Component>
    :ivar direction_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Direction Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the direction of this means of transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTerm>Direction Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Transit
        Direction</ns1:AlternativeBusinessTerms> <ns1:Examples>North ,
        East </ns1:Examples> </ns1:Component>
    :ivar transport_means_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Transport Means Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of this means of transport (truck, vessel,
        etc.).</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Means Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar trade_service_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Trade Service Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the service regularly provided by the carrier operating this
        means of transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTerm>Trade Service Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar stowage: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means.
        Stowage</ns1:DictionaryEntryName> <ns1:Definition>The location
        within the means of transport where goods are to be or have been
        stowed.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTerm>Stowage</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Stowage</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Stowage</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar air_transport: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Air
        Transport</ns1:DictionaryEntryName> <ns1:Definition>An aircraft
        used for transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTerm>Air Transport</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Air
        Transport</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Air Transport</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar road_transport: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Road
        Transport</ns1:DictionaryEntryName> <ns1:Definition>A vehicle
        used for road transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTerm>Road Transport</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Road
        Transport</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Road Transport</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar rail_transport: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Rail
        Transport</ns1:DictionaryEntryName> <ns1:Definition>Equipment
        used for rail transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTerm>Rail Transport</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Rail
        Transport</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Rail Transport</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar maritime_transport: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Maritime
        Transport</ns1:DictionaryEntryName> <ns1:Definition>A vessel
        used for transport by water (not only by sea).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTerm>Maritime Transport</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Maritime
        Transport</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Maritime
        Transport</ns1:RepresentationTerm> </ns1:Component>
    :ivar owner_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Owner_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party that
        owns this means of transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Owner</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar measurement_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Means. Measurement_
        Dimension. Dimension</ns1:DictionaryEntryName> <ns1:Definition>A
        measurable dimension (length, mass, weight, or volume) of this
        means of transport.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Means</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Measurement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    """

    journey_id: Optional[JourneyId] = field(
        default=None,
        metadata={
            "name": "JourneyID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    registration_nationality_id: Optional[RegistrationNationalityId] = field(
        default=None,
        metadata={
            "name": "RegistrationNationalityID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    registration_nationality: list[RegistrationNationality] = field(
        default_factory=list,
        metadata={
            "name": "RegistrationNationality",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    direction_code: Optional[DirectionCode] = field(
        default=None,
        metadata={
            "name": "DirectionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transport_means_type_code: Optional[TransportMeansTypeCode] = field(
        default=None,
        metadata={
            "name": "TransportMeansTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    trade_service_code: Optional[TradeServiceCode] = field(
        default=None,
        metadata={
            "name": "TradeServiceCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    stowage: Optional[Stowage] = field(
        default=None,
        metadata={
            "name": "Stowage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    air_transport: Optional[AirTransport] = field(
        default=None,
        metadata={
            "name": "AirTransport",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    road_transport: Optional[RoadTransport] = field(
        default=None,
        metadata={
            "name": "RoadTransport",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    rail_transport: Optional[RailTransport] = field(
        default=None,
        metadata={
            "name": "RailTransport",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    maritime_transport: Optional[MaritimeTransport] = field(
        default=None,
        metadata={
            "name": "MaritimeTransport",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    owner_party: Optional[OwnerParty] = field(
        default=None,
        metadata={
            "name": "OwnerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    measurement_dimension: list[MeasurementDimension] = field(
        default_factory=list,
        metadata={
            "name": "MeasurementDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class WinningPartyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Winning
    Party.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A party that is
    identified as the awarded by a tender result.</ns1:Definition>
    <ns1:ObjectClass>Winning Party</ns1:ObjectClass> </ns1:Component>

    :ivar rank: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Winning Party. Rank.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Indicates the
        rank obtained in the award.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Winning
        Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Rank</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Winning Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>Information
        about an organization, sub-organization, or individual
        fulfilling a role in a business process.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Winning
        Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    rank: Optional[Rank] = field(
        default=None,
        metadata={
            "name": "Rank",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    party: Optional[Party] = field(
        default=None,
        metadata={
            "name": "Party",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class AccountingCustomerParty(CustomerPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AccountingSupplierParty(SupplierPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AdditionalDocumentResponse(DocumentResponseType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AdditionalItemIdentification(ItemIdentificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AppealTerms(AppealTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ApplicableTransportMeans(TransportMeansType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BuyerCustomerParty(CustomerPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BuyersItemIdentification(ItemIdentificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CatalogueItemIdentification(ItemIdentificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractingParty(ContractingPartyType1):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractorCustomerParty(CustomerPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CustomerParty(CustomerPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CustomsDeclaration(CustomsDeclarationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DeliveryCustomerParty(CustomerPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Despatch(DespatchType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DespatchSupplierParty(SupplierPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DocumentDistribution(DocumentDistributionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DocumentResponse(DocumentResponseType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EconomicOperatorShortList(EconomicOperatorShortListType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EndorserParty(EndorserPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Evidence(EvidenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class HazardousItem(HazardousItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ImmobilizedSecurity(ImmobilizedSecurityType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemIdentification(ItemIdentificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ManufacturersItemIdentification(ItemIdentificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class NotificationRequirement(NotificationRequirementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OriginatorCustomerParty(CustomerPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PaymentMandate(PaymentMandateType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Pickup(PickupType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PowerOfAttorney(PowerOfAttorneyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RecipientCustomerParty(CustomerPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ResultOfVerification(ResultOfVerificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RetailerCustomerParty(CustomerPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SellerSupplierParty(SupplierPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SellersItemIdentification(ItemIdentificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ServiceProviderParty(ServiceProviderPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ShareholderParty(ShareholderPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Signature(SignatureType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class StandardItemIdentification(ItemIdentificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SuggestedEvidence(EvidenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SupplierParty(SupplierPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TradeFinancing(TradeFinancingType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportMeans(TransportMeansType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class WinningParty(WinningPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CertificateType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Certificate.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a certificate applied to the item. Certificated can be a requirement
    to sell goods or services in a jurisdiction.</ns1:Definition>
    <ns1:ObjectClass>Certificate</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this certificate.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar certificate_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate. Certificate Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The type of this
        certificate, expressed as a code. The type specifies what array
        it belongs to, e.g.. Environmental, security, health improvement
        etc.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate</ns1:ObjectClass>
        <ns1:PropertyTerm>Certificate Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar certificate_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate. Certificate Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of this
        certificate, expressed as a code. The type specifies what array
        it belongs to, e.g.. Environmental, security, health improvement
        etc.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate</ns1:ObjectClass>
        <ns1:PropertyTerm>Certificate Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar remarks: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate. Remarks.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Remarks by the
        applicant for this certificate.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Certificate</ns1:ObjectClass>
        <ns1:PropertyTerm>Remarks</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar issuer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate. Issuer_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The authorized
        organization that issued this certificate, the provider of the
        certificate.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Issuer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document relevant to this certificate or an application for
        this certificate.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Certificate</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar signature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate.
        Signature</ns1:DictionaryEntryName> <ns1:Definition>A signature
        applied to this certificate.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Certificate</ns1:ObjectClass>
        <ns1:PropertyTerm>Signature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Signature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Signature</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    certificate_type_code: Optional[CertificateTypeCode] = field(
        default=None,
        metadata={
            "name": "CertificateTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    certificate_type: Optional[UblCommonBasicComponents21CertificateType] = (
        field(
            default=None,
            metadata={
                "name": "CertificateType",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
                "required": True,
            },
        )
    )
    remarks: list[Remarks] = field(
        default_factory=list,
        metadata={
            "name": "Remarks",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    issuer_party: Optional[IssuerParty] = field(
        default=None,
        metadata={
            "name": "IssuerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    signature: list[Signature] = field(
        default_factory=list,
        metadata={
            "name": "Signature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class CompletedTaskType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Completed
    Task.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the completion of a specific task in the tendering
    process.</ns1:Definition> <ns1:ObjectClass>Completed
    Task</ns1:ObjectClass> </ns1:Component>

    :ivar annual_average_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Completed Task. Annual_ Average.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The average
        monetary amount of a task such as this completed
        task.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Completed Task</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Annual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Average</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar total_task_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Completed Task. Total Task.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The actual
        total monetary amount of this completed task.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Completed Task</ns1:ObjectClass>
        <ns1:PropertyTerm>Total Task</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar party_capacity_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Completed Task. Party Capacity.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>A monetary
        amount corresponding to the financial capacity of the party that
        carried out this completed task.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Completed Task</ns1:ObjectClass>
        <ns1:PropertyTerm>Party Capacity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Completed Task. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this completed task.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Completed Task</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar evidence_supplied: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Completed Task. Evidence
        Supplied</ns1:DictionaryEntryName> <ns1:Definition>The evidence
        justifying a designation of "complete" for this
        task.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Completed Task</ns1:ObjectClass>
        <ns1:PropertyTerm>Evidence Supplied</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Evidence
        Supplied</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Evidence
        Supplied</ns1:RepresentationTerm> </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Completed Task.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period in
        which this completed task was performed.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Completed Task</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar recipient_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Completed Task. Recipient_ Customer
        Party. Customer Party</ns1:DictionaryEntryName>
        <ns1:Definition>The original customer for this completed
        task.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Completed Task</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Recipient</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    annual_average_amount: Optional[AnnualAverageAmount] = field(
        default=None,
        metadata={
            "name": "AnnualAverageAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_task_amount: Optional[TotalTaskAmount] = field(
        default=None,
        metadata={
            "name": "TotalTaskAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    party_capacity_amount: Optional[PartyCapacityAmount] = field(
        default=None,
        metadata={
            "name": "PartyCapacityAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    evidence_supplied: list[EvidenceSupplied] = field(
        default_factory=list,
        metadata={
            "name": "EvidenceSupplied",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    period: Optional[Period] = field(
        default=None,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    recipient_customer_party: Optional[RecipientCustomerParty] = field(
        default=None,
        metadata={
            "name": "RecipientCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class EndorsementType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Endorsement.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an endorsement of a document.</ns1:Definition>
    <ns1:ObjectClass>Endorsement</ns1:ObjectClass> </ns1:Component>

    :ivar document_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Endorsement. Document.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this endorsement.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Endorsement</ns1:ObjectClass>
        <ns1:PropertyTerm>Document</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar approval_status: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Endorsement. Approval Status.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The status of
        this endorsement.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Endorsement</ns1:ObjectClass>
        <ns1:PropertyTerm>Approval Status</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Authentication
        Code</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar remarks: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Endorsement. Remarks.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Remarks provided
        by the endorsing party.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Endorsement</ns1:ObjectClass>
        <ns1:PropertyTerm>Remarks</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar endorser_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Endorsement. Endorser
        Party</ns1:DictionaryEntryName> <ns1:Definition>The type of
        party providing this endorsement.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Endorsement</ns1:ObjectClass>
        <ns1:PropertyTerm>Endorser Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Endorser
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Endorser Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar signature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Endorsement.
        Signature</ns1:DictionaryEntryName> <ns1:Definition>A signature
        applied to this endorsement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Endorsement</ns1:ObjectClass>
        <ns1:PropertyTerm>Signature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Signature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Signature</ns1:RepresentationTerm>
        </ns1:Component>
    """

    document_id: Optional[DocumentId] = field(
        default=None,
        metadata={
            "name": "DocumentID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    approval_status: Optional[ApprovalStatus] = field(
        default=None,
        metadata={
            "name": "ApprovalStatus",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    remarks: list[Remarks] = field(
        default_factory=list,
        metadata={
            "name": "Remarks",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    endorser_party: Optional[EndorserParty] = field(
        default=None,
        metadata={
            "name": "EndorserParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    signature: list[Signature] = field(
        default_factory=list,
        metadata={
            "name": "Signature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class EvaluationCriterionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Evaluation
    Criterion.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class defining
    the required criterion for a tenderer to be elligible in a tendering
    process. </ns1:Definition> <ns1:ObjectClass>Evaluation
    Criterion</ns1:ObjectClass> </ns1:Component>

    :ivar evaluation_criterion_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evaluation Criterion. Evaluation
        Criterion Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code that specifies the criterion; it may be
        financial, technical or organizational.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Evaluation Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Evaluation Criterion Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evaluation Criterion. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A description of
        the criterion.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Evaluation Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar threshold_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evaluation Criterion. Threshold_
        Amount. Amount</ns1:DictionaryEntryName>
        <ns1:Definition>Estimated monetary amount of the threshold for
        the criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Evaluation Criterion</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Threshold</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar threshold_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evaluation Criterion. Threshold_
        Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>Estimated quantity of the threshold for the
        criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Evaluation Criterion</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Threshold</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar expression_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evaluation Criterion. Expression Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        identifying the expression that will be used to evaluate the
        criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Evaluation Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Expression Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar expression: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evaluation Criterion. Expression.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The expression
        that will be used to evaluate the criterion.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Evaluation Criterion</ns1:ObjectClass>
        <ns1:PropertyTerm>Expression</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar duration_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evaluation Criterion. Duration_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>Describes the
        period for which the evaluation criterion is
        valid.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Evaluation Criterion</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Duration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar suggested_evidence: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Evaluation Criterion. Suggested_
        Evidence. Evidence</ns1:DictionaryEntryName>
        <ns1:Definition>Describes any evidences that should be used to
        satisfy the criterion. </ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Evaluation Criterion</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Suggested</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Evidence</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Evidence</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Evidence</ns1:RepresentationTerm>
        </ns1:Component>
    """

    evaluation_criterion_type_code: Optional[EvaluationCriterionTypeCode] = (
        field(
            default=None,
            metadata={
                "name": "EvaluationCriterionTypeCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    threshold_amount: Optional[ThresholdAmount] = field(
        default=None,
        metadata={
            "name": "ThresholdAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    threshold_quantity: Optional[ThresholdQuantity] = field(
        default=None,
        metadata={
            "name": "ThresholdQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    expression_code: Optional[ExpressionCode] = field(
        default=None,
        metadata={
            "name": "ExpressionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    expression: list[Expression] = field(
        default_factory=list,
        metadata={
            "name": "Expression",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    duration_period: Optional[DurationPeriod] = field(
        default=None,
        metadata={
            "name": "DurationPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    suggested_evidence: list[SuggestedEvidence] = field(
        default_factory=list,
        metadata={
            "name": "SuggestedEvidence",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PartyLegalEntityType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Party
    Legal Entity.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a party as a legal entity.</ns1:Definition>
    <ns1:ObjectClass>Party Legal Entity</ns1:ObjectClass>
    </ns1:Component>

    :ivar registration_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Registration_ Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of the
        party as registered with the relevant legal
        authority.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Registration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Microsoft
        Corporation </ns1:Examples> </ns1:Component>
    :ivar company_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Company Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the party as registered within a company
        registration scheme.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass> <ns1:PropertyTerm>Company
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Business Registration Number,
        Company Number</ns1:AlternativeBusinessTerms>
        <ns1:Examples>3556625 </ns1:Examples> </ns1:Component>
    :ivar registration_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Registration_ Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The registration
        date of the CompanyID.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Registration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar registration_expiration_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Registration
        Expiration_ Date. Date</ns1:DictionaryEntryName>
        <ns1:Definition>The date upon which a registration expires
        (e.g., registration for an import/export
        license).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Registration
        Expiration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar company_legal_form_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Company Legal Form
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the party's legal status.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass> <ns1:PropertyTerm>Company Legal
        Form Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Legal
        Status</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar company_legal_form: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Company Legal Form.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The company legal
        status, expressed as a text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass> <ns1:PropertyTerm>Company Legal
        Form</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar sole_proprietorship_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Sole Proprietorship
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that the company is owned and
        controlled by one person (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass> <ns1:PropertyTerm>Sole
        Proprietorship Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar company_liquidation_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Company Liquidation
        Status Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying the party's liquidation status.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass> <ns1:PropertyTerm>Company
        Liquidation Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar corporate_stock_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Corporate Stock_
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        number of shares in the capital stock of a
        corporation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Corporate
        Stock</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar fully_paid_shares_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Fully Paid Shares
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that all shares of corporate stock
        have been paid by shareholders (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass> <ns1:PropertyTerm>Fully Paid
        Shares Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar registration_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Registration_
        Address. Address</ns1:DictionaryEntryName> <ns1:Definition>The
        registered address of the party within a corporate registration
        scheme.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Party Legal Entity</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Registration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar corporate_registration_scheme: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Corporate
        Registration Scheme</ns1:DictionaryEntryName>
        <ns1:Definition>The corporate registration scheme used to
        register the party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass> <ns1:PropertyTerm>Corporate
        Registration Scheme</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Corporate Registration
        Scheme</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Corporate Registration
        Scheme</ns1:RepresentationTerm> </ns1:Component>
    :ivar head_office_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Head Office_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The head office
        of the legal entity</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass> <ns1:PropertyTermQualifier>Head
        Office</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar shareholder_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Party Legal Entity. Shareholder
        Party</ns1:DictionaryEntryName> <ns1:Definition>A party owning
        shares in this legal entity.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Party
        Legal Entity</ns1:ObjectClass> <ns1:PropertyTerm>Shareholder
        Party</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Shareholder
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shareholder
        Party</ns1:RepresentationTerm> </ns1:Component>
    """

    registration_name: Optional[RegistrationName] = field(
        default=None,
        metadata={
            "name": "RegistrationName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    company_id: Optional[CompanyId] = field(
        default=None,
        metadata={
            "name": "CompanyID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    registration_date: Optional[RegistrationDate] = field(
        default=None,
        metadata={
            "name": "RegistrationDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    registration_expiration_date: Optional[RegistrationExpirationDate] = field(
        default=None,
        metadata={
            "name": "RegistrationExpirationDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    company_legal_form_code: Optional[CompanyLegalFormCode] = field(
        default=None,
        metadata={
            "name": "CompanyLegalFormCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    company_legal_form: Optional[CompanyLegalForm] = field(
        default=None,
        metadata={
            "name": "CompanyLegalForm",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    sole_proprietorship_indicator: Optional[SoleProprietorshipIndicator] = (
        field(
            default=None,
            metadata={
                "name": "SoleProprietorshipIndicator",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    company_liquidation_status_code: Optional[CompanyLiquidationStatusCode] = (
        field(
            default=None,
            metadata={
                "name": "CompanyLiquidationStatusCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    corporate_stock_amount: Optional[CorporateStockAmount] = field(
        default=None,
        metadata={
            "name": "CorporateStockAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    fully_paid_shares_indicator: Optional[FullyPaidSharesIndicator] = field(
        default=None,
        metadata={
            "name": "FullyPaidSharesIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    registration_address: Optional[RegistrationAddress] = field(
        default=None,
        metadata={
            "name": "RegistrationAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    corporate_registration_scheme: Optional[CorporateRegistrationScheme] = (
        field(
            default=None,
            metadata={
                "name": "CorporateRegistrationScheme",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    head_office_party: Optional[HeadOfficeParty] = field(
        default=None,
        metadata={
            "name": "HeadOfficeParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    shareholder_party: list[ShareholderParty] = field(
        default_factory=list,
        metadata={
            "name": "ShareholderParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PaymentMeansType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Payment
    Means.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a means of payment.</ns1:Definition>
    <ns1:ObjectClass>Payment Means</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this means of payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar payment_means_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Payment Means Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of this means of payment.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass> <ns1:PropertyTerm>Payment Means
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Payment Means</ns1:DataTypeQualifier>
        <ns1:DataType>Payment Means_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar payment_due_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Payment Due Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        payment is due for this means of payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass> <ns1:PropertyTerm>Payment Due
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar payment_channel_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Payment Channel Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the payment channel for this means of payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass> <ns1:PropertyTerm>Payment Channel
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar instruction_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Instruction Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the payment instruction.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass> <ns1:PropertyTerm>Instruction
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar instruction_note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Instruction_ Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Instruction</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar payment_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Payment Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for a payment made using this means of
        payment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass> <ns1:PropertyTerm>Payment
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar card_account: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Card
        Account</ns1:DictionaryEntryName> <ns1:Definition>A credit card,
        debit card, or charge card account that constitutes this means
        of payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass> <ns1:PropertyTerm>Card
        Account</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Card
        Account</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Card
        Account</ns1:RepresentationTerm> </ns1:Component>
    :ivar payer_financial_account: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Payer_ Financial
        Account. Financial Account</ns1:DictionaryEntryName>
        <ns1:Definition>The payer's financial account.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Payer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Financial Account</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Financial
        Account</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Financial
        Account</ns1:RepresentationTerm> </ns1:Component>
    :ivar payee_financial_account: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Payee_ Financial
        Account. Financial Account</ns1:DictionaryEntryName>
        <ns1:Definition>The payee's financial account.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Payee</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Financial Account</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Financial
        Account</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Financial
        Account</ns1:RepresentationTerm> </ns1:Component>
    :ivar credit_account: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Credit
        Account</ns1:DictionaryEntryName> <ns1:Definition>A credit
        account associated with this means of payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass> <ns1:PropertyTerm>Credit
        Account</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Credit
        Account</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Credit Account</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar payment_mandate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Payment
        Mandate</ns1:DictionaryEntryName> <ns1:Definition>The payment
        mandate associated with this means of payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass> <ns1:PropertyTerm>Payment
        Mandate</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Payment
        Mandate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Mandate</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar trade_financing: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Payment Means. Trade
        Financing</ns1:DictionaryEntryName> <ns1:Definition>A trade
        finance agreement applicable to this means of
        payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Payment
        Means</ns1:ObjectClass> <ns1:PropertyTerm>Trade
        Financing</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Trade
        Financing</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Trade Financing</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_means_code: Optional[PaymentMeansCode] = field(
        default=None,
        metadata={
            "name": "PaymentMeansCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    payment_due_date: Optional[PaymentDueDate] = field(
        default=None,
        metadata={
            "name": "PaymentDueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_channel_code: Optional[PaymentChannelCode] = field(
        default=None,
        metadata={
            "name": "PaymentChannelCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    instruction_id: Optional[InstructionId] = field(
        default=None,
        metadata={
            "name": "InstructionID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    instruction_note: list[InstructionNote] = field(
        default_factory=list,
        metadata={
            "name": "InstructionNote",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_id: list[PaymentId] = field(
        default_factory=list,
        metadata={
            "name": "PaymentID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    card_account: Optional[CardAccount] = field(
        default=None,
        metadata={
            "name": "CardAccount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payer_financial_account: Optional[PayerFinancialAccount] = field(
        default=None,
        metadata={
            "name": "PayerFinancialAccount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payee_financial_account: Optional[PayeeFinancialAccount] = field(
        default=None,
        metadata={
            "name": "PayeeFinancialAccount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    credit_account: Optional[CreditAccount] = field(
        default=None,
        metadata={
            "name": "CreditAccount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payment_mandate: Optional[PaymentMandate] = field(
        default=None,
        metadata={
            "name": "PaymentMandate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    trade_financing: Optional[TradeFinancing] = field(
        default=None,
        metadata={
            "name": "TradeFinancing",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TendererRequirementType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tenderer
    Requirement.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an action or statement required of an economic operator
    participating in a tendering process.</ns1:Definition>
    <ns1:ObjectClass>Tenderer Requirement</ns1:ObjectClass>
    </ns1:Component>

    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Requirement.
        Name</ns1:DictionaryEntryName> <ns1:Definition>A name of this
        tenderer requirement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Requirement</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar tenderer_requirement_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Requirement. Tenderer
        Requirement_ Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying this
        requirement.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Requirement</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Tenderer
        Requirement</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Requirement. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this requirement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Requirement</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar legal_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Requirement. Legal Reference.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The legal
        reference of the exclusion criterion.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Requirement</ns1:ObjectClass>
        <ns1:PropertyTerm>Legal Reference</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Art. 45 2
        b</ns1:Examples> </ns1:Component>
    :ivar suggested_evidence: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Requirement. Suggested_
        Evidence. Evidence</ns1:DictionaryEntryName> <ns1:Definition>An
        item of evidence that should be submitted to satisfy this
        requirement.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Requirement</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Suggested</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Evidence</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Evidence</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Evidence</ns1:RepresentationTerm>
        </ns1:Component>
    """

    name: list[Name] = field(
        default_factory=list,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tenderer_requirement_type_code: Optional[TendererRequirementTypeCode] = (
        field(
            default=None,
            metadata={
                "name": "TendererRequirementTypeCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    legal_reference: Optional[LegalReference] = field(
        default=None,
        metadata={
            "name": "LegalReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    suggested_evidence: list[SuggestedEvidence] = field(
        default_factory=list,
        metadata={
            "name": "SuggestedEvidence",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TenderingProcessType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tendering
    Process.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the process of a formal offer and response to execute work
    or supply goods at a stated price.</ns1:Definition>
    <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar original_contracting_system_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Original_
        Contracting System. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>When reopening a tendering process, the
        identifier of the original framework agreement or dynamic
        purchasing system.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Original</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contracting System</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the tendering process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar negotiation_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Negotiation_
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing the negotiation to be followed during the tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Negotiation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar procedure_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Procedure Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of this tendering procedure.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Procedure Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Open,
        Restricted, Negotiated</ns1:Examples> </ns1:Component>
    :ivar urgency_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Urgency Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the urgency of this tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Urgency Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Urgent,
        Normal, Emergency</ns1:Examples> </ns1:Component>
    :ivar expense_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Expense Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of expense for this tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Expense Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Normal,
        Anticipated</ns1:Examples> </ns1:Component>
    :ivar part_presentation_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Part Presentation
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of presentation of tenders required (e.g.,
        one lot, multiple lots, or all the lots).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Part Presentation Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>One Lot,
        Multiple Lots, All Lots</ns1:Examples> </ns1:Component>
    :ivar contracting_system_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Contracting System
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of contracting system (e.g., framework
        agreement, dynamic purchasing system). If the procedure is
        individual (nonrepetitive), this code should be
        omitted.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Contracting System Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Framework
        Agreement, Dynamic Purchasing System</ns1:Examples>
        </ns1:Component>
    :ivar submission_method_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Submission Method
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the method to be followed in submitting
        tenders.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Submission Method Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Manual,
        Electronically, etc.</ns1:Examples> </ns1:Component>
    :ivar candidate_reduction_constraint_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Candidate Reduction_
        Constraint. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that the number of candidates
        participating in this process has been reduced (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Candidate
        Reduction</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Constraint</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar government_agreement_constraint_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Government
        Agreement_ Constraint. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that the project associated with
        this tendering process is constrained by a government
        procurement agreement (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Government
        Agreement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Constraint</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar document_availability_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Document
        Availability_ Period. Period</ns1:DictionaryEntryName>
        <ns1:Definition>The period during which documents relating to
        this tendering process must be completed.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Document
        Availability</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tender_submission_deadline_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Tender Submission
        Deadline_ Period. Period</ns1:DictionaryEntryName>
        <ns1:Definition>The period during which tenders must be
        delivered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Tender Submission
        Deadline</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar invitation_submission_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Invitation
        Submission_ Period. Period</ns1:DictionaryEntryName>
        <ns1:Definition>The period during which invitations to tender
        must be completed and delivered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Invitation
        Submission</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar participation_request_reception_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Participation
        Request Reception_ Period. Period</ns1:DictionaryEntryName>
        <ns1:Definition>The period during which requests for
        participation must be completed and delivered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Participation Request
        Reception</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar notice_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Notice_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a notice pertaining to this
        tendering process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Notice</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar additional_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Additional_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to an additional
        document.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar process_justification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Process
        Justification</ns1:DictionaryEntryName> <ns1:Definition>A
        justification for the selection of this tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Process Justification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Process
        Justification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Process
        Justification</ns1:RepresentationTerm> </ns1:Component>
    :ivar economic_operator_short_list: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Economic Operator
        Short List</ns1:DictionaryEntryName> <ns1:Definition>A set of
        criteria used to create a short list of
        candidates.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Economic Operator Short
        List</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Economic
        Operator Short List</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Economic Operator Short
        List</ns1:RepresentationTerm> </ns1:Component>
    :ivar open_tender_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Open Tender_ Event.
        Event</ns1:DictionaryEntryName> <ns1:Definition>Textual
        description of the legal form required for potential
        tenderers.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Open
        Tender</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar auction_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Auction
        Terms</ns1:DictionaryEntryName> <ns1:Definition>The terms to be
        fulfilled by tenderers if an auction is to be executed before
        the awarding of a tender.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Auction Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Auction
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Auction Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar framework_agreement: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Process. Framework
        Agreement</ns1:DictionaryEntryName> <ns1:Definition>A tendering
        framework agreement.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Process</ns1:ObjectClass>
        <ns1:PropertyTerm>Framework Agreement</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Framework
        Agreement</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Framework
        Agreement</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    original_contracting_system_id: Optional[OriginalContractingSystemId] = (
        field(
            default=None,
            metadata={
                "name": "OriginalContractingSystemID",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    negotiation_description: list[NegotiationDescription] = field(
        default_factory=list,
        metadata={
            "name": "NegotiationDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    procedure_code: Optional[ProcedureCode] = field(
        default=None,
        metadata={
            "name": "ProcedureCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    urgency_code: Optional[UrgencyCode] = field(
        default=None,
        metadata={
            "name": "UrgencyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    expense_code: Optional[ExpenseCode] = field(
        default=None,
        metadata={
            "name": "ExpenseCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    part_presentation_code: Optional[PartPresentationCode] = field(
        default=None,
        metadata={
            "name": "PartPresentationCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contracting_system_code: Optional[ContractingSystemCode] = field(
        default=None,
        metadata={
            "name": "ContractingSystemCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    submission_method_code: Optional[SubmissionMethodCode] = field(
        default=None,
        metadata={
            "name": "SubmissionMethodCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    candidate_reduction_constraint_indicator: Optional[
        CandidateReductionConstraintIndicator
    ] = field(
        default=None,
        metadata={
            "name": "CandidateReductionConstraintIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    government_agreement_constraint_indicator: Optional[
        GovernmentAgreementConstraintIndicator
    ] = field(
        default=None,
        metadata={
            "name": "GovernmentAgreementConstraintIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_availability_period: Optional[DocumentAvailabilityPeriod] = field(
        default=None,
        metadata={
            "name": "DocumentAvailabilityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tender_submission_deadline_period: Optional[
        TenderSubmissionDeadlinePeriod
    ] = field(
        default=None,
        metadata={
            "name": "TenderSubmissionDeadlinePeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    invitation_submission_period: Optional[InvitationSubmissionPeriod] = field(
        default=None,
        metadata={
            "name": "InvitationSubmissionPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    participation_request_reception_period: Optional[
        ParticipationRequestReceptionPeriod
    ] = field(
        default=None,
        metadata={
            "name": "ParticipationRequestReceptionPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    notice_document_reference: list[NoticeDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "NoticeDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    additional_document_reference: list[AdditionalDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    process_justification: list[ProcessJustification] = field(
        default_factory=list,
        metadata={
            "name": "ProcessJustification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    economic_operator_short_list: Optional[EconomicOperatorShortList] = field(
        default=None,
        metadata={
            "name": "EconomicOperatorShortList",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    open_tender_event: list[OpenTenderEvent] = field(
        default_factory=list,
        metadata={
            "name": "OpenTenderEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    auction_terms: Optional[AuctionTerms] = field(
        default=None,
        metadata={
            "name": "AuctionTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    framework_agreement: Optional[FrameworkAgreement] = field(
        default=None,
        metadata={
            "name": "FrameworkAgreement",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class Certificate(CertificateType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CompletedTask(CompletedTaskType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EmbassyEndorsement(EndorsementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Endorsement(EndorsementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EvaluationCriterion(EvaluationCriterionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinancialEvaluationCriterion(EvaluationCriterionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InsuranceEndorsement(EndorsementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class IssuerEndorsement(EndorsementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PartyLegalEntity(PartyLegalEntityType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PaymentMeans(PaymentMeansType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SpecificTendererRequirement(TendererRequirementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TechnicalEvaluationCriterion(EvaluationCriterionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TendererRequirement(TendererRequirementType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderingProcess(TenderingProcessType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AllowanceChargeType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Allowance
    Charge.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe information about a charge or discount as applied to a
    price component.</ns1:Definition> <ns1:ObjectClass>Allowance
    Charge</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this allowance or charge.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar charge_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Charge_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this AllowanceCharge describes a charge (true) or a
        discount (false).</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Allowance
        Charge</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Charge</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar allowance_charge_reason_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Allowance Charge
        Reason Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        mutually agreed code signifying the reason for this allowance or
        charge.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTerm>Allowance Charge Reason
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Allowance Charge
        Reason</ns1:DataTypeQualifier> <ns1:DataType>Allowance Charge
        Reason_ Code. Type</ns1:DataType> </ns1:Component>
    :ivar allowance_charge_reason: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Allowance Charge_
        Reason. Text</ns1:DictionaryEntryName> <ns1:Definition>The
        reason for this allowance or charge.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Allowance
        Charge</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reason</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar multiplier_factor_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Multiplier_ Factor.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>A number by
        which the base amount is multiplied to calculate the actual
        amount of this allowance or charge.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Multiplier</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Factor</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType>
        <ns1:Examples>0.20</ns1:Examples> </ns1:Component>
    :ivar prepaid_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Prepaid_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this allowance or charge is prepaid (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Prepaid</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar sequence_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Sequence.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>A number
        indicating the order of this allowance or charge in the sequence
        of calculations applied when there are multiple allowances or
        charges.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTerm>Sequence</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> <ns1:Examples>1, 2,
        3, 4, etc.</ns1:Examples> </ns1:Component>
    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount of this allowance or charge to be
        applied.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:Examples>35,23</ns1:Examples> </ns1:Component>
    :ivar base_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Base_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount to which the multiplier factor is applied in calculating
        the amount of this allowance or charge.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Base</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Accounting Cost Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The accounting
        cost centre used by the buyer to account for this allowance or
        charge, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Accounting Cost.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The accounting
        cost centre used by the buyer to account for this allowance or
        charge, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar per_unit_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Per Unit_ Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The allowance
        or charge per item; the total allowance or charge is calculated
        by multiplying the per unit amount by the quantity of items,
        either at the level of the individual transaction line or for
        the total number of items in the document, depending on the
        context in which it appears.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Per Unit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_category: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Tax
        Category</ns1:DictionaryEntryName> <ns1:Definition>A tax
        category applicable to this allowance or
        charge.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Category</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax
        Category</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Category</ns1:RepresentationTerm> </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>The total of all
        the taxes applicable to this allowance or
        charge.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tax Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar payment_means: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Allowance Charge. Payment
        Means</ns1:DictionaryEntryName> <ns1:Definition>A means of
        payment for this allowance or charge.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Allowance Charge</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Means</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Means</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Means</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    charge_indicator: Optional[ChargeIndicator] = field(
        default=None,
        metadata={
            "name": "ChargeIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    allowance_charge_reason_code: Optional[AllowanceChargeReasonCode] = field(
        default=None,
        metadata={
            "name": "AllowanceChargeReasonCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    allowance_charge_reason: list[AllowanceChargeReason] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceChargeReason",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    multiplier_factor_numeric: Optional[MultiplierFactorNumeric] = field(
        default=None,
        metadata={
            "name": "MultiplierFactorNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    prepaid_indicator: Optional[PrepaidIndicator] = field(
        default=None,
        metadata={
            "name": "PrepaidIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    sequence_numeric: Optional[SequenceNumeric] = field(
        default=None,
        metadata={
            "name": "SequenceNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    base_amount: Optional[BaseAmount] = field(
        default=None,
        metadata={
            "name": "BaseAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost_code: Optional[AccountingCostCode] = field(
        default=None,
        metadata={
            "name": "AccountingCostCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost: Optional[AccountingCost] = field(
        default=None,
        metadata={
            "name": "AccountingCost",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    per_unit_amount: Optional[PerUnitAmount] = field(
        default=None,
        metadata={
            "name": "PerUnitAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_category: list[TaxCategory] = field(
        default_factory=list,
        metadata={
            "name": "TaxCategory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_total: Optional[TaxTotal] = field(
        default=None,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payment_means: list[PaymentMeans] = field(
        default_factory=list,
        metadata={
            "name": "PaymentMeans",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ItemType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Item.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an item of trade. It includes a generic description
    applicable to all examples of the item together with optional
    subsidiary descriptions of any number of actual instances of the
    type.</ns1:Definition> <ns1:ObjectClass>Item</ns1:ObjectClass>
    <ns1:AlternativeBusinessTerms>article, product, goods
    item</ns1:AlternativeBusinessTerms> </ns1:Component>

    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar pack_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Pack Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The unit
        packaging quantity; the number of subunits making up this
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass> <ns1:PropertyTerm>Pack
        Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar pack_size_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Pack Size.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>The number of
        items in a pack of this item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass> <ns1:PropertyTerm>Pack
        Size</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar catalogue_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Catalogue_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this item was ordered from a catalogue (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Catalogue</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Name</ns1:DictionaryEntryName>
        <ns1:Definition>A short name optionally given to this item, such
        as a name from a catalogue, as distinct from a
        description.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar hazardous_risk_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Hazardous Risk_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An
        indication that the transported item, as delivered, is subject
        to an international regulation concerning the carriage of
        dangerous goods (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Hazardous
        Risk</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>Default is negative</ns1:Examples>
        </ns1:Component>
    :ivar additional_information: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Additional_ Information.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Further details
        regarding this item (e.g., the URL of a relevant web
        page).</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Information</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar keyword: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Keyword.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A keyword (search
        string) for this item, assigned by the seller party. Can also be
        a synonym for the name of the item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Keyword</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar brand_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Brand Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>A brand name of
        this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass> <ns1:PropertyTerm>Brand
        Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>Coca-
        Cola</ns1:Examples> </ns1:Component>
    :ivar model_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Model Name.
        Name</ns1:DictionaryEntryName> <ns1:Definition>A model name of
        this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass> <ns1:PropertyTerm>Model
        Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> <ns1:Examples>VW Beetle
        </ns1:Examples> </ns1:Component>
    :ivar buyers_item_identification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Buyers_ Item Identification. Item
        Identification</ns1:DictionaryEntryName>
        <ns1:Definition>Identifying information for this item, assigned
        by the buyer.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Buyers</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Identification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Identification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item
        Identification</ns1:RepresentationTerm> </ns1:Component>
    :ivar sellers_item_identification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Sellers_ Item Identification.
        Item Identification</ns1:DictionaryEntryName>
        <ns1:Definition>Identifying information for this item, assigned
        by the seller.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Sellers</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Identification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Identification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item
        Identification</ns1:RepresentationTerm> </ns1:Component>
    :ivar manufacturers_item_identification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Manufacturers_ Item
        Identification. Item Identification</ns1:DictionaryEntryName>
        <ns1:Definition>Identifying information for this item, assigned
        by the manufacturer.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Manufacturers</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Identification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Identification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item
        Identification</ns1:RepresentationTerm> </ns1:Component>
    :ivar standard_item_identification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Standard_ Item Identification.
        Item Identification</ns1:DictionaryEntryName>
        <ns1:Definition>Identifying information for this item, assigned
        according to a standard system.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Standard</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Identification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Identification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item
        Identification</ns1:RepresentationTerm> </ns1:Component>
    :ivar catalogue_item_identification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Catalogue_ Item Identification.
        Item Identification</ns1:DictionaryEntryName>
        <ns1:Definition>Identifying information for this item, assigned
        according to a cataloguing system.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Catalogue</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Identification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Identification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item
        Identification</ns1:RepresentationTerm> </ns1:Component>
    :ivar additional_item_identification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Additional_ Item Identification.
        Item Identification</ns1:DictionaryEntryName> <ns1:Definition>An
        additional identifier for this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Identification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Identification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item
        Identification</ns1:RepresentationTerm> </ns1:Component>
    :ivar catalogue_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Catalogue_ Document Reference.
        Document Reference</ns1:DictionaryEntryName> <ns1:Definition>A
        reference to the catalogue in which this item
        appears.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Catalogue</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar item_specification_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Item Specification_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a specification document for this
        item.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Item
        Specification</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar origin_country: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Origin_ Country.
        Country</ns1:DictionaryEntryName> <ns1:Definition>The country of
        origin of this item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Origin</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Country</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Country</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Country</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar commodity_classification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Commodity
        Classification</ns1:DictionaryEntryName> <ns1:Definition>A
        classification of this item according to a specific system for
        classifying commodities.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Commodity Classification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Commodity
        Classification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Commodity
        Classification</ns1:RepresentationTerm> </ns1:Component>
    :ivar transaction_conditions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Transaction
        Conditions</ns1:DictionaryEntryName> <ns1:Definition>A set of
        sales conditions applying to this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Transaction Conditions</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transaction
        Conditions</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transaction
        Conditions</ns1:RepresentationTerm> </ns1:Component>
    :ivar hazardous_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Hazardous
        Item</ns1:DictionaryEntryName> <ns1:Definition>Information
        pertaining to this item as a hazardous item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Hazardous Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Hazardous
        Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Hazardous Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar classified_tax_category: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Classified_ Tax Category. Tax
        Category</ns1:DictionaryEntryName> <ns1:Definition>A tax
        category applicable to this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Classified</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tax Category</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax
        Category</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Category</ns1:RepresentationTerm> </ns1:Component>
    :ivar additional_item_property: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Additional_ Item Property. Item
        Property</ns1:DictionaryEntryName> <ns1:Definition>An additional
        property of this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Property</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Property</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Property</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar manufacturer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Manufacturer_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The manufacturer
        of this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Manufacturer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar information_content_provider_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Information Content Provider_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        responsible for specification of this item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Information Content
        Provider</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar origin_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Origin_ Address.
        Address</ns1:DictionaryEntryName> <ns1:Definition>A region (not
        country) of origin of this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Origin</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item_instance: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item. Item
        Instance</ns1:DictionaryEntryName> <ns1:Definition>A trackable,
        unique instantiation of this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass> <ns1:PropertyTerm>Item
        Instance</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Item
        Instance</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Instance</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar certificate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item.
        Certificate</ns1:DictionaryEntryName> <ns1:Definition>A
        certificate associated with this item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Certificate</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Certificate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Certificate</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item.
        Dimension</ns1:DictionaryEntryName> <ns1:Definition>One of the
        measurable dimensions (length, mass, weight, or volume) of this
        item.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    """

    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pack_quantity: Optional[PackQuantity] = field(
        default=None,
        metadata={
            "name": "PackQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pack_size_numeric: Optional[PackSizeNumeric] = field(
        default=None,
        metadata={
            "name": "PackSizeNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    catalogue_indicator: Optional[CatalogueIndicator] = field(
        default=None,
        metadata={
            "name": "CatalogueIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    hazardous_risk_indicator: Optional[HazardousRiskIndicator] = field(
        default=None,
        metadata={
            "name": "HazardousRiskIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    additional_information: list[AdditionalInformation] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalInformation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    keyword: list[Keyword] = field(
        default_factory=list,
        metadata={
            "name": "Keyword",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    brand_name: list[BrandName] = field(
        default_factory=list,
        metadata={
            "name": "BrandName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    model_name: list[ModelName] = field(
        default_factory=list,
        metadata={
            "name": "ModelName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    buyers_item_identification: Optional[BuyersItemIdentification] = field(
        default=None,
        metadata={
            "name": "BuyersItemIdentification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    sellers_item_identification: Optional[SellersItemIdentification] = field(
        default=None,
        metadata={
            "name": "SellersItemIdentification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    manufacturers_item_identification: list[
        ManufacturersItemIdentification
    ] = field(
        default_factory=list,
        metadata={
            "name": "ManufacturersItemIdentification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    standard_item_identification: Optional[StandardItemIdentification] = field(
        default=None,
        metadata={
            "name": "StandardItemIdentification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    catalogue_item_identification: Optional[CatalogueItemIdentification] = (
        field(
            default=None,
            metadata={
                "name": "CatalogueItemIdentification",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    additional_item_identification: list[AdditionalItemIdentification] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalItemIdentification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    catalogue_document_reference: Optional[CatalogueDocumentReference] = field(
        default=None,
        metadata={
            "name": "CatalogueDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item_specification_document_reference: list[
        ItemSpecificationDocumentReference
    ] = field(
        default_factory=list,
        metadata={
            "name": "ItemSpecificationDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    origin_country: Optional[OriginCountry] = field(
        default=None,
        metadata={
            "name": "OriginCountry",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    commodity_classification: list[CommodityClassification] = field(
        default_factory=list,
        metadata={
            "name": "CommodityClassification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transaction_conditions: list[TransactionConditions] = field(
        default_factory=list,
        metadata={
            "name": "TransactionConditions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    hazardous_item: list[HazardousItem] = field(
        default_factory=list,
        metadata={
            "name": "HazardousItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    classified_tax_category: list[ClassifiedTaxCategory] = field(
        default_factory=list,
        metadata={
            "name": "ClassifiedTaxCategory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    additional_item_property: list[AdditionalItemProperty] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalItemProperty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    manufacturer_party: list[ManufacturerParty] = field(
        default_factory=list,
        metadata={
            "name": "ManufacturerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    information_content_provider_party: Optional[
        InformationContentProviderParty
    ] = field(
        default=None,
        metadata={
            "name": "InformationContentProviderParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    origin_address: list[OriginAddress] = field(
        default_factory=list,
        metadata={
            "name": "OriginAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item_instance: list[ItemInstance] = field(
        default_factory=list,
        metadata={
            "name": "ItemInstance",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    certificate: list[Certificate] = field(
        default_factory=list,
        metadata={
            "name": "Certificate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    dimension: list[Dimension] = field(
        default_factory=list,
        metadata={
            "name": "Dimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class QualifyingPartyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Qualifying
    Party.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the distinctive features or characteristics qualifying an
    economic operator to be a party in a tendering process (e.g., number
    of employees, number of operating units, type of business, technical
    and financial capabilities, completed projects).</ns1:Definition>
    <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass> </ns1:Component>

    :ivar participation_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Participation.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The extent to
        which this party is expected to participate in the tendering
        process, expressed as a percentage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Participation</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar personal_situation: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Personal Situation.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the personal situation of the qualifying party.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Personal Situation</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar operating_years_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Operating Years.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The number of
        years that this qualifying party has been in
        operation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Operating Years</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar employee_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Employee.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The number of
        people employed by this qualifying party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Employee</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar business_classification_evidence_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Business
        Classification Evidence. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for an item of evidence to support
        the classification of this qualifying party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Business Classification
        Evidence</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar business_identity_evidence_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Business Identity
        Evidence. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for an item of evidence to support
        the business identity of this qualifying party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Business Identity Evidence</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar tenderer_role_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Tenderer Role Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code stating
        the Tenderer Role.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Tenderer Role Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar business_classification_scheme: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Business_
        Classification Scheme. Classification
        Scheme</ns1:DictionaryEntryName> <ns1:Definition>The
        classification scheme used for the business
        profile.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Business</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Classification Scheme</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Classification
        Scheme</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Classification
        Scheme</ns1:RepresentationTerm> </ns1:Component>
    :ivar technical_capability: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Technical_
        Capability. Capability</ns1:DictionaryEntryName>
        <ns1:Definition>A technical capability of this qualifying
        party.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Technical</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Capability</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Capability</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Capability</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar financial_capability: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Financial_
        Capability. Capability</ns1:DictionaryEntryName>
        <ns1:Definition>A financial capability of this qualifying
        party.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Financial</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Capability</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Capability</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Capability</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar completed_task: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Completed
        Task</ns1:DictionaryEntryName> <ns1:Definition>A former task
        completed by this qualifying party.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Completed Task</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Completed
        Task</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Completed Task</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar declaration: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party.
        Declaration</ns1:DictionaryEntryName> <ns1:Definition>A
        declaration by this qualifying party. of certain characteristics
        or capabilities in fulfilment of requirements specified in a
        call for tenders.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Declaration</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Declaration</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Declaration</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The qualifying
        party itself.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar economic_operator_role: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualifying Party. Economic Operator
        Role</ns1:DictionaryEntryName> <ns1:Definition>A class to
        describe the tenderer contracting role.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualifying Party</ns1:ObjectClass>
        <ns1:PropertyTerm>Economic Operator Role</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Economic Operator
        Role</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Economic Operator
        Role</ns1:RepresentationTerm> </ns1:Component>
    """

    participation_percent: Optional[ParticipationPercent] = field(
        default=None,
        metadata={
            "name": "ParticipationPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    personal_situation: list[PersonalSituation] = field(
        default_factory=list,
        metadata={
            "name": "PersonalSituation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    operating_years_quantity: Optional[OperatingYearsQuantity] = field(
        default=None,
        metadata={
            "name": "OperatingYearsQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    employee_quantity: Optional[EmployeeQuantity] = field(
        default=None,
        metadata={
            "name": "EmployeeQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    business_classification_evidence_id: Optional[
        BusinessClassificationEvidenceId
    ] = field(
        default=None,
        metadata={
            "name": "BusinessClassificationEvidenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    business_identity_evidence_id: Optional[BusinessIdentityEvidenceId] = (
        field(
            default=None,
            metadata={
                "name": "BusinessIdentityEvidenceID",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    tenderer_role_code: Optional[TendererRoleCode] = field(
        default=None,
        metadata={
            "name": "TendererRoleCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    business_classification_scheme: Optional[BusinessClassificationScheme] = (
        field(
            default=None,
            metadata={
                "name": "BusinessClassificationScheme",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    technical_capability: list[TechnicalCapability] = field(
        default_factory=list,
        metadata={
            "name": "TechnicalCapability",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    financial_capability: list[FinancialCapability] = field(
        default_factory=list,
        metadata={
            "name": "FinancialCapability",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    completed_task: list[CompletedTask] = field(
        default_factory=list,
        metadata={
            "name": "CompletedTask",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    declaration: list[Declaration] = field(
        default_factory=list,
        metadata={
            "name": "Declaration",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    party: Optional[Party] = field(
        default=None,
        metadata={
            "name": "Party",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    economic_operator_role: Optional[EconomicOperatorRole] = field(
        default=None,
        metadata={
            "name": "EconomicOperatorRole",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TendererQualificationRequestType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tenderer
    Qualification Request.

    Details</ns1:DictionaryEntryName> <ns1:Definition>The evaluation
    that the Contracting Authority party requests to fulfill to the
    tenderers.</ns1:Definition> <ns1:ObjectClass>Tenderer Qualification
    Request</ns1:ObjectClass> </ns1:Component>

    :ivar company_legal_form_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request. Company
        Legal Form Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>The legal status requested for potential
        tenderers, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass> <ns1:PropertyTerm>Company Legal Form
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar company_legal_form: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request. Company
        Legal Form. Text</ns1:DictionaryEntryName> <ns1:Definition>The
        legal status requested for potential tenderers, expressed as
        text</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass> <ns1:PropertyTerm>Company Legal
        Form</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar personal_situation: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request.
        Personal Situation. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Text describing the personal situation of the
        economic operators in this tendering process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass> <ns1:PropertyTerm>Personal
        Situation</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar operating_years_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request.
        Operating Years. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>Textual description of the legal form required
        for potential tenderers.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass> <ns1:PropertyTerm>Operating
        Years</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar employee_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request.
        Employee. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>Textual description of the legal form required
        for potential tenderers.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass>
        <ns1:PropertyTerm>Employee</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request.
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing the evaluation requirements for this
        tenderer.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar required_business_classification_scheme: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request.
        Required Business_ Classification Scheme. Classification
        Scheme</ns1:DictionaryEntryName> <ns1:Definition>A
        classification scheme for the business profile.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass> <ns1:PropertyTermQualifier>Required
        Business</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Classification Scheme</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Classification
        Scheme</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Classification
        Scheme</ns1:RepresentationTerm> </ns1:Component>
    :ivar technical_evaluation_criterion: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request.
        Technical_ Evaluation Criterion. Evaluation
        Criterion</ns1:DictionaryEntryName> <ns1:Definition>A technical
        evaluation criterion required for an economic operator in a
        tendering process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Technical</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Evaluation Criterion</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Evaluation
        Criterion</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Evaluation
        Criterion</ns1:RepresentationTerm> </ns1:Component>
    :ivar financial_evaluation_criterion: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request.
        Financial_ Evaluation Criterion. Evaluation
        Criterion</ns1:DictionaryEntryName> <ns1:Definition>A financial
        evaluation criterion required for an economic operator in a
        tendering process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Financial</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Evaluation Criterion</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Evaluation
        Criterion</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Evaluation
        Criterion</ns1:RepresentationTerm> </ns1:Component>
    :ivar specific_tenderer_requirement: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request.
        Specific_ Tenderer Requirement. Tenderer
        Requirement</ns1:DictionaryEntryName> <ns1:Definition>A
        requirement to be met by a tenderer.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Specific</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tenderer Requirement</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tenderer
        Requirement</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tenderer
        Requirement</ns1:RepresentationTerm>
        <ns1:Examples>Preregistration in a Business
        Registry</ns1:Examples> </ns1:Component>
    :ivar economic_operator_role: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Qualification Request.
        Economic Operator Role</ns1:DictionaryEntryName>
        <ns1:Definition>A class to describe the tenderer contracting
        role.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Qualification
        Request</ns1:ObjectClass> <ns1:PropertyTerm>Economic Operator
        Role</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Economic
        Operator Role</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Economic Operator
        Role</ns1:RepresentationTerm> </ns1:Component>
    """

    company_legal_form_code: Optional[CompanyLegalFormCode] = field(
        default=None,
        metadata={
            "name": "CompanyLegalFormCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    company_legal_form: Optional[CompanyLegalForm] = field(
        default=None,
        metadata={
            "name": "CompanyLegalForm",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    personal_situation: list[PersonalSituation] = field(
        default_factory=list,
        metadata={
            "name": "PersonalSituation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    operating_years_quantity: Optional[OperatingYearsQuantity] = field(
        default=None,
        metadata={
            "name": "OperatingYearsQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    employee_quantity: Optional[EmployeeQuantity] = field(
        default=None,
        metadata={
            "name": "EmployeeQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    required_business_classification_scheme: list[
        RequiredBusinessClassificationScheme
    ] = field(
        default_factory=list,
        metadata={
            "name": "RequiredBusinessClassificationScheme",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    technical_evaluation_criterion: list[TechnicalEvaluationCriterion] = field(
        default_factory=list,
        metadata={
            "name": "TechnicalEvaluationCriterion",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    financial_evaluation_criterion: list[FinancialEvaluationCriterion] = field(
        default_factory=list,
        metadata={
            "name": "FinancialEvaluationCriterion",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    specific_tenderer_requirement: list[SpecificTendererRequirement] = field(
        default_factory=list,
        metadata={
            "name": "SpecificTendererRequirement",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    economic_operator_role: list[EconomicOperatorRole] = field(
        default_factory=list,
        metadata={
            "name": "EconomicOperatorRole",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class AdditionalQualifyingParty(QualifyingPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AllowanceCharge(AllowanceChargeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ExtraAllowanceCharge(AllowanceChargeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FreightAllowanceCharge(AllowanceChargeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Item(ItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MainQualifyingParty(QualifyingPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class QualifyingParty(QualifyingPartyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ServiceAllowanceCharge(AllowanceChargeType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SupplyItem(ItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TendererQualificationRequest(TendererQualificationRequestType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BillingReferenceLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Billing
    Reference Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a reference to a transaction line in a billing
    document.</ns1:Definition> <ns1:ObjectClass>Billing Reference
    Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this transaction line in a billing
        document.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Billing Reference Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference Line.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount of the transaction line, including any allowances and
        charges but excluding taxes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Billing
        Reference Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference Line. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charge applicable to the transaction line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Billing
        Reference Line</ns1:ObjectClass> <ns1:PropertyTerm>Allowance
        Charge</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class CatalogueItemSpecificationUpdateLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Catalogue
    Item Specification Update Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line describing the transaction that updates the specification of
    an item in a catalogue.</ns1:Definition> <ns1:ObjectClass>Catalogue
    Item Specification Update Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Item Specification Update
        Line. Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the line to be updated in a
        catalogue.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Item Specification Update
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>1
        </ns1:Examples> </ns1:Component>
    :ivar contractor_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Item Specification Update
        Line. Contractor_ Customer Party. Customer
        Party</ns1:DictionaryEntryName> <ns1:Definition>The customer
        responsible for the contract associated with the catalogue
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Item Specification Update
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contractor</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar seller_supplier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Item Specification Update
        Line. Seller_ Supplier Party. Supplier
        Party</ns1:DictionaryEntryName> <ns1:Definition>The
        seller/supplier responsible for the contract associated with the
        catalogue item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Item Specification Update
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Seller</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Supplier Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Supplier
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Supplier Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Item Specification Update
        Line. Item</ns1:DictionaryEntryName> <ns1:Definition>The
        catalogue item to be updated.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Catalogue
        Item Specification Update Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    contractor_customer_party: Optional[ContractorCustomerParty] = field(
        default=None,
        metadata={
            "name": "ContractorCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    seller_supplier_party: Optional[SellerSupplierParty] = field(
        default=None,
        metadata={
            "name": "SellerSupplierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class DeliveryTermsType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Delivery
    Terms.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class for
    describing the terms and conditions applying to the delivery of
    goods.</ns1:Definition> <ns1:ObjectClass>Delivery
    Terms</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery Terms.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this description of delivery
        terms.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>CIF,
        FOB, or EXW from the INCOTERMS Terms of Delivery. (2000 version
        preferred.)</ns1:Examples> </ns1:Component>
    :ivar special_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery Terms. Special_ Terms.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A description of
        any terms or conditions relating to the delivery
        items.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Delivery Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Special</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Terms</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar loss_risk_responsibility_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery Terms. Loss Risk
        Responsibility Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code that identifies one of various
        responsibilities for loss risk in the execution of the
        delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Loss Risk Responsibility
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar loss_risk: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery Terms. Loss Risk.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A description of
        responsibility for risk of loss in execution of the delivery,
        expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Delivery Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Loss Risk</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery Terms.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount covered by these delivery terms.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar delivery_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery Terms. Delivery_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The location
        for the contracted delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery Terms. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charge covered by these delivery terms.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    special_terms: list[SpecialTerms] = field(
        default_factory=list,
        metadata={
            "name": "SpecialTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    loss_risk_responsibility_code: Optional[LossRiskResponsibilityCode] = (
        field(
            default=None,
            metadata={
                "name": "LossRiskResponsibilityCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    loss_risk: list[LossRisk] = field(
        default_factory=list,
        metadata={
            "name": "LossRisk",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    delivery_location: Optional[DeliveryLocation] = field(
        default=None,
        metadata={
            "name": "DeliveryLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: Optional[AllowanceCharge] = field(
        default=None,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class DespatchLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Despatch
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Despatch Advice.</ns1:Definition>
    <ns1:ObjectClass>Despatch Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this despatch line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Despatch
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this despatch
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar line_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. Line Status Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the status of this despatch line with respect to its original
        state.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Line Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Line Status</ns1:DataTypeQualifier>
        <ns1:DataType>Line Status_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar delivered_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. Delivered_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        despatched (picked up).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivered</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar backorder_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. Backorder_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        on back order at the supplier.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Backorder</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar backorder_reason: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. Backorder_ Reason.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The reason for
        the back order.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Backorder</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reason</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar outstanding_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. Outstanding_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        outstanding (which will follow in a later
        despatch).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Outstanding</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar outstanding_reason: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. Outstanding_ Reason.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The reason for
        the outstanding quantity.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Outstanding</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reason</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar oversupply_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. Oversupply_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        over-supplied, i.e., the quantity over and above that
        ordered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Oversupply</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar order_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. Order Line
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to an order line associated with this despatch
        line.</ns1:Definition> <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Order Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Order Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Order Line
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this despatch
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item
        associated with this despatch line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Despatch
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar shipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Despatch Line.
        Shipment</ns1:DictionaryEntryName> <ns1:Definition>A shipment
        associated with this despatch line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Despatch Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Shipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_status_code: Optional[LineStatusCode] = field(
        default=None,
        metadata={
            "name": "LineStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    delivered_quantity: Optional[DeliveredQuantity] = field(
        default=None,
        metadata={
            "name": "DeliveredQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    backorder_quantity: Optional[BackorderQuantity] = field(
        default=None,
        metadata={
            "name": "BackorderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    backorder_reason: list[BackorderReason] = field(
        default_factory=list,
        metadata={
            "name": "BackorderReason",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    outstanding_quantity: Optional[OutstandingQuantity] = field(
        default=None,
        metadata={
            "name": "OutstandingQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    outstanding_reason: list[OutstandingReason] = field(
        default_factory=list,
        metadata={
            "name": "OutstandingReason",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    oversupply_quantity: Optional[OversupplyQuantity] = field(
        default=None,
        metadata={
            "name": "OversupplyQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    order_line_reference: list[OrderLineReference] = field(
        default_factory=list,
        metadata={
            "name": "OrderLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    shipment: list["Shipment"] = field(
        default_factory=list,
        metadata={
            "name": "Shipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class EventLineItemType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Event Line
    Item.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line item describing the expected impacts associated with a retail
    event involving a specific product at a specific
    location.</ns1:Definition> <ns1:ObjectClass>Event Line
    Item</ns1:ObjectClass> </ns1:Component>

    :ivar line_number_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Line Item. Line Number.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>The number of
        this event line item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Line Item</ns1:ObjectClass> <ns1:PropertyTerm>Line
        Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar participating_locations_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Line Item. Participating
        Locations_ Location. Location</ns1:DictionaryEntryName>
        <ns1:Definition>The location of the stores involved in the event
        described in this line item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Event
        Line Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Participating
        Locations</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar retail_planned_impact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Line Item. Retail Planned
        Impact</ns1:DictionaryEntryName> <ns1:Definition>A planned
        impact of the event described in this line
        item.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Event Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Retail Planned Impact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Retail Planned
        Impact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Retail Planned
        Impact</ns1:RepresentationTerm> </ns1:Component>
    :ivar supply_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Event Line Item. Supply_ Item.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The product with
        which the event is associated.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Event Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Supply</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    """

    line_number_numeric: Optional[LineNumberNumeric] = field(
        default=None,
        metadata={
            "name": "LineNumberNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    participating_locations_location: Optional[
        ParticipatingLocationsLocation
    ] = field(
        default=None,
        metadata={
            "name": "ParticipatingLocationsLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    retail_planned_impact: list[RetailPlannedImpact] = field(
        default_factory=list,
        metadata={
            "name": "RetailPlannedImpact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    supply_item: Optional[SupplyItem] = field(
        default=None,
        metadata={
            "name": "SupplyItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class ExceptionCriteriaLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Exception
    Criteria Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in an ExceptionCriteria document that specifies a threshold
    for forecast variance, product activity, or performance history, the
    exceeding of which should trigger an exception
    message.</ns1:Definition> <ns1:ObjectClass>Exception Criteria
    Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this exception criteria line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Exception
        Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Exception Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar threshold_value_comparison_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Threshold
        Value Comparison Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>Type of comparison to be carried out in
        reference to the set threshold." Allowed values are:
        EXCEEDS_EXCEPTION_VALUE
        FALLS_BELOW_EXCEPTION_VALUE</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Exception
        Criteria Line</ns1:ObjectClass> <ns1:PropertyTerm>Threshold
        Value Comparison Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar threshold_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Threshold_
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>A
        quantity beyond which an exception will be
        triggered.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Threshold</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar exception_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Exception
        Status Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying status specific to a shipment
        exception.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Exception Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar collaboration_priority_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Collaboration_
        Priority Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        collaboratively assigned code signifying priority of the
        Exception. Possible values are: HIGH, LOW,
        MEDIUM</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Collaboration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Priority Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar exception_resolution_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Exception_
        Resolution Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>Coded representation of possible resolution
        methods". Possible values are:
        DEFAULT_TO_AVERAGE_OF_COMPARED_VALUES DEFAULT_TO_BUYERS_VALUE
        DEFAULT_TO_HIGH_VALUE DEFAULT_TO_LOW_VALUE
        DEFAULT_TO_SELLERS_VALUE MANUAL_RESOLUTION
        MUTUALLY_DEFINED</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Exception</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Resolution Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar supply_chain_activity_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Supply Chain
        Activity Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>Establishes the criterion for one of the three
        types of exceptions. There can be three types of exception
        criteria: Operational, Metric and Forecast Exceptions. This will
        be set if this Exception is about an Operational Exception.
        Description could be: A code used to identify an operational
        exception. Possible values are: CANCELED_ORDERS EMERGENCY_ORDERS
        ON_HAND ORDERS RECEIPTS SALES SHIPMENTS</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Supply Chain Activity Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar performance_metric_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Performance
        Metric Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying a measure of
        performance.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Performance Metric Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar effective_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Effective_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period during which this exception criteria line is in
        effect.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Effective</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar supply_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Supply_ Item.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The Trade Item
        that is the subject of the Exception Criterion.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Exception Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Supply</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar forecast_exception_criterion_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Criteria Line. Forecast
        Exception Criterion Line</ns1:DictionaryEntryName>
        <ns1:Definition>Establishes the criterion for one of the three
        types of exceptions. This class provides the criterion for the
        kind of forecast exception, the identification of the purpose of
        the forecast, the source of data and the time basis criterion
        for the exception.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Criteria Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Forecast Exception Criterion
        Line</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Forecast
        Exception Criterion Line</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Forecast Exception Criterion
        Line</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    threshold_value_comparison_code: Optional[ThresholdValueComparisonCode] = (
        field(
            default=None,
            metadata={
                "name": "ThresholdValueComparisonCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
                "required": True,
            },
        )
    )
    threshold_quantity: Optional[ThresholdQuantity] = field(
        default=None,
        metadata={
            "name": "ThresholdQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    exception_status_code: Optional[ExceptionStatusCode] = field(
        default=None,
        metadata={
            "name": "ExceptionStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    collaboration_priority_code: Optional[CollaborationPriorityCode] = field(
        default=None,
        metadata={
            "name": "CollaborationPriorityCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    exception_resolution_code: Optional[ExceptionResolutionCode] = field(
        default=None,
        metadata={
            "name": "ExceptionResolutionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    supply_chain_activity_type_code: Optional[SupplyChainActivityTypeCode] = (
        field(
            default=None,
            metadata={
                "name": "SupplyChainActivityTypeCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    performance_metric_type_code: Optional[PerformanceMetricTypeCode] = field(
        default=None,
        metadata={
            "name": "PerformanceMetricTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    effective_period: Optional[EffectivePeriod] = field(
        default=None,
        metadata={
            "name": "EffectivePeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    supply_item: list[SupplyItem] = field(
        default_factory=list,
        metadata={
            "name": "SupplyItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )
    forecast_exception_criterion_line: Optional[
        ForecastExceptionCriterionLine
    ] = field(
        default=None,
        metadata={
            "name": "ForecastExceptionCriterionLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ExceptionNotificationLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Exception
    Notification Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in an Exception Notification.</ns1:Definition>
    <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this exception notification
        line.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line.
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing the exception.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar exception_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Exception
        Status Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying status specific to a shipment
        exception.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Exception Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar collaboration_priority_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line.
        Collaboration_ Priority Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>Priority of Exception.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Collaboration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Priority Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar resolution_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Resolution
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>Coded
        representation of possible resolution methods". Possible values
        are: DEFAULT_TO_AVERAGE_OF_COMPARED_VALUES
        DEFAULT_TO_BUYERS_VALUE DEFAULT_TO_HIGH_VALUE
        DEFAULT_TO_LOW_VALUE DEFAULT_TO_SELLERS_VALUE MANUAL_RESOLUTION
        MUTUALLY_DEFINED</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Resolution Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar compared_value_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Compared
        Value. Measure</ns1:DictionaryEntryName> <ns1:Definition>The
        value that was compared with the source value that resulted in
        the exception</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Exception
        Notification Line</ns1:ObjectClass> <ns1:PropertyTerm>Compared
        Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar source_value_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Source
        Value. Measure</ns1:DictionaryEntryName> <ns1:Definition>The
        value used as the basis of comparison</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Exception
        Notification Line</ns1:ObjectClass> <ns1:PropertyTerm>Source
        Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar variance_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Variance.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The variance
        of a data item from an expected value during a particular time
        interval.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Variance</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar supply_chain_activity_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Supply
        Chain Activity Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>Establishes the criterion for one of the three
        types of exceptions: Operational, performance metric and
        forecast. This reports an exception notification about an
        operational exception. Description could be: A code used to
        identify an operational exception. Possible values are:
        CANCELED_ORDERS EMERGENCY_ORDERS ON_HAND ORDERS RECEIPTS SALES
        SHIPMENTS</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Supply Chain Activity Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar performance_metric_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line.
        Performance Metric Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code used to identify a measure of
        performance. It defines the type of the Performance Metric on
        which an exception criteria is being defined</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Performance Metric Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar exception_observation_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Exception
        Observation_ Period. Period</ns1:DictionaryEntryName>
        <ns1:Definition>The period (start-end date) when this exception
        is observed</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Exception
        Observation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to Exception Criteria document can be provided.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar forecast_exception: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Forecast
        Exception</ns1:DictionaryEntryName> <ns1:Definition>A forecast
        accuracy or comparison exception.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Forecast Exception</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Forecast
        Exception</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Forecast
        Exception</ns1:RepresentationTerm> </ns1:Component>
    :ivar supply_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Exception Notification Line. Supply_
        Item. Item</ns1:DictionaryEntryName> <ns1:Definition>The product
        associated with this exception notification
        line.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Exception Notification Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Supply</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    exception_status_code: Optional[ExceptionStatusCode] = field(
        default=None,
        metadata={
            "name": "ExceptionStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    collaboration_priority_code: Optional[CollaborationPriorityCode] = field(
        default=None,
        metadata={
            "name": "CollaborationPriorityCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    resolution_code: Optional[ResolutionCode] = field(
        default=None,
        metadata={
            "name": "ResolutionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    compared_value_measure: Optional[ComparedValueMeasure] = field(
        default=None,
        metadata={
            "name": "ComparedValueMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    source_value_measure: Optional[SourceValueMeasure] = field(
        default=None,
        metadata={
            "name": "SourceValueMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    variance_quantity: Optional[VarianceQuantity] = field(
        default=None,
        metadata={
            "name": "VarianceQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    supply_chain_activity_type_code: Optional[SupplyChainActivityTypeCode] = (
        field(
            default=None,
            metadata={
                "name": "SupplyChainActivityTypeCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    performance_metric_type_code: Optional[PerformanceMetricTypeCode] = field(
        default=None,
        metadata={
            "name": "PerformanceMetricTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    exception_observation_period: Optional[ExceptionObservationPeriod] = field(
        default=None,
        metadata={
            "name": "ExceptionObservationPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    forecast_exception: Optional[ForecastException] = field(
        default=None,
        metadata={
            "name": "ForecastException",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    supply_item: Optional[SupplyItem] = field(
        default=None,
        metadata={
            "name": "SupplyItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class InstructionForReturnsLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Instruction For Returns Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in an Instruction for Returns.</ns1:Definition>
    <ns1:ObjectClass>Instruction For Returns Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Instruction For Returns Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this instruction for returns
        line.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Instruction For Returns Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Instruction For Returns Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Instruction For Returns Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Instruction For Returns Line.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of goods being returned.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Instruction For Returns Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar manufacturer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Instruction For Returns Line.
        Manufacturer_ Party. Party</ns1:DictionaryEntryName>
        <ns1:Definition>The manufacturer of the goods being
        returned.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Instruction For Returns Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Manufacturer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Instruction For Returns Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>A description of
        the item being returned.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Instruction For Returns Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    manufacturer_party: Optional[ManufacturerParty] = field(
        default=None,
        metadata={
            "name": "ManufacturerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class InventoryReportLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Inventory
    Report Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in an Inventory Report.</ns1:Definition>
    <ns1:ObjectClass>Inventory Report Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Inventory Report Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this inventory report line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Inventory
        Report Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Inventory Report Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Inventory Report Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Inventory Report Line.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of the item reported that is currently in
        stock.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Inventory Report Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar inventory_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Inventory Report Line. Inventory_
        Value. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        value of the quantity of the item reported that is currently in
        stock.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Inventory Report Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Inventory</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar availability_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Inventory Report Line. Availability
        Date. Date</ns1:DictionaryEntryName> <ns1:Definition>The date
        from which the goods will be available. If not present, the
        goods are available now.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Inventory Report Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Availability Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar availability_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Inventory Report Line. Availability
        Status Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying the item's level of
        availability.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Inventory Report Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Availability Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Inventory Report Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item
        associated with this inventory report line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Inventory
        Report Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar inventory_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Inventory Report Line. Inventory_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>The
        location of the reported quantity of goods.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Inventory Report Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Inventory</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    inventory_value_amount: Optional[InventoryValueAmount] = field(
        default=None,
        metadata={
            "name": "InventoryValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    availability_date: Optional[AvailabilityDate] = field(
        default=None,
        metadata={
            "name": "AvailabilityDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    availability_status_code: Optional[AvailabilityStatusCode] = field(
        default=None,
        metadata={
            "name": "AvailabilityStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    inventory_location: Optional[InventoryLocation] = field(
        default=None,
        metadata={
            "name": "InventoryLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PerformanceDataLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Performance Data Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Performance History.</ns1:Definition>
    <ns1:ObjectClass>Performance Data Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Performance Data Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this performance data line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Performance Data Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Performance Data Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Performance Data Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar performance_value_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Performance Data Line. Performance
        Value. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        value of the reported attribute.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Performance Data Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Performance Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar performance_metric_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Performance Data Line. Performance
        Metric Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the measure of performance
        applicable to the reported attribute.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Performance Data Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Performance Metric Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Performance Data Line.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period to
        which this performance data line applies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Performance Data Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Performance Data Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item whose
        performance is reported in this data line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Performance Data Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    performance_value_quantity: Optional[PerformanceValueQuantity] = field(
        default=None,
        metadata={
            "name": "PerformanceValueQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    performance_metric_type_code: Optional[PerformanceMetricTypeCode] = field(
        default=None,
        metadata={
            "name": "PerformanceMetricTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    period: Optional[Period] = field(
        default=None,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PriceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Price.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a price, expressed in a data structure containing multiple
    properties (compare with UnstructuredPrice).</ns1:Definition>
    <ns1:ObjectClass>Price</ns1:ObjectClass> </ns1:Component>

    :ivar price_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price. Price Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount of
        the price.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Price</ns1:ObjectClass> <ns1:PropertyTerm>Price
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>unit
        price</ns1:AlternativeBusinessTerms>
        <ns1:Examples>23.45</ns1:Examples> </ns1:Component>
    :ivar base_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price. Base_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        at which this price applies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Price</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Base</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar price_change_reason: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price. Price Change_ Reason.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A reason for a
        price change.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Price</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Price
        Change</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reason</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Clearance
        of old stock , New contract applies </ns1:Examples>
        </ns1:Component>
    :ivar price_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price. Price Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The type of
        price, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Price</ns1:ObjectClass> <ns1:PropertyTerm>Price
        Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar price_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price. Price Type.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The type of
        price, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Price</ns1:ObjectClass> <ns1:PropertyTerm>Price
        Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>retail,
        wholesale, discount, contract</ns1:Examples> </ns1:Component>
    :ivar orderable_unit_factor_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price. Orderable Unit Factor.
        Rate</ns1:DictionaryEntryName> <ns1:Definition>The factor by
        which the base price unit can be converted to the orderable
        unit.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Price</ns1:ObjectClass>
        <ns1:PropertyTerm>Orderable Unit Factor</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Rate</ns1:RepresentationTerm>
        <ns1:DataType>Rate. Type</ns1:DataType> <ns1:Examples>Nails are
        priced by weight but ordered by quantity. So this would say how
        many nails per kilo</ns1:Examples> </ns1:Component>
    :ivar validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price. Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>A period during
        which this price is valid.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Price</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar price_list: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price. Price
        List</ns1:DictionaryEntryName> <ns1:Definition>Information about
        a price list applicable to this price.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Price</ns1:ObjectClass> <ns1:PropertyTerm>Price
        List</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Price
        List</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Price
        List</ns1:RepresentationTerm> </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charge associated with this price.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Price</ns1:ObjectClass>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar pricing_exchange_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Price. Pricing_ Exchange Rate. Exchange
        Rate</ns1:DictionaryEntryName> <ns1:Definition>The exchange rate
        applicable to this price, if it differs from the exchange rate
        applicable to the document as a whole.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Price</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Pricing</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Exchange Rate</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Exchange
        Rate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Exchange Rate</ns1:RepresentationTerm>
        </ns1:Component>
    """

    price_amount: Optional[PriceAmount] = field(
        default=None,
        metadata={
            "name": "PriceAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    base_quantity: Optional[BaseQuantity] = field(
        default=None,
        metadata={
            "name": "BaseQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    price_change_reason: list[PriceChangeReason] = field(
        default_factory=list,
        metadata={
            "name": "PriceChangeReason",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    price_type_code: Optional[PriceTypeCode] = field(
        default=None,
        metadata={
            "name": "PriceTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    price_type: Optional[UblCommonBasicComponents21PriceType] = field(
        default=None,
        metadata={
            "name": "PriceType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    orderable_unit_factor_rate: Optional[OrderableUnitFactorRate] = field(
        default=None,
        metadata={
            "name": "OrderableUnitFactorRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    validity_period: list[ValidityPeriod] = field(
        default_factory=list,
        metadata={
            "name": "ValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    price_list: Optional[PriceList] = field(
        default=None,
        metadata={
            "name": "PriceList",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pricing_exchange_rate: Optional[PricingExchangeRate] = field(
        default=None,
        metadata={
            "name": "PricingExchangeRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ReceiptLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Receipt
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Receipt Advice.</ns1:Definition>
    <ns1:ObjectClass>Receipt Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this receipt line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this receipt
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Receipt Line</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar received_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Received_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        received.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Received</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar short_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Short_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        received short; the difference between the quantity reported
        despatched and the quantity actually received.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Short</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar shortage_action_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Shortage Action Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the action that the delivery party wishes the despatch party to
        take as the result of a shortage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Shortage Action
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar rejected_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Rejected_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        rejected.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Rejected</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar reject_reason_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Reject Reason Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The reason for a
        rejection, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Reject Reason
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar reject_reason: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Reject_ Reason.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The reason for a
        rejection, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Reject</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reason</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar reject_action_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Reject Action Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the action that the delivery party wishes the despatch party to
        take as the result of a rejection.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Reject Action
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar quantity_discrepancy_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Quantity Discrepancy
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of a discrepancy in
        quantity.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Quantity Discrepancy
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar oversupply_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Oversupply_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        over-supplied, i.e., the quantity over and above the quantity
        ordered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Oversupply</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar received_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Received_ Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        the goods or services were received.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Received</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar timing_complaint_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Timing Complaint Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A complaint about
        the timing of delivery, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Timing Complaint
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar timing_complaint: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Timing Complaint.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A complaint about
        the timing of delivery, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Timing
        Complaint</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar order_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Order Line
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to the order line associated with this receipt
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Receipt Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Order Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Order Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Order Line
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar despatch_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Despatch_ Line Reference.
        Line Reference</ns1:DictionaryEntryName> <ns1:Definition>A
        reference to a despatch line associated with this receipt
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Receipt Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this receipt
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Receipt Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>An item
        associated with this receipt line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar shipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Receipt Line.
        Shipment</ns1:DictionaryEntryName> <ns1:Definition>A shipment
        associated with this receipt line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Receipt
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Shipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    received_quantity: Optional[ReceivedQuantity] = field(
        default=None,
        metadata={
            "name": "ReceivedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    short_quantity: Optional[ShortQuantity] = field(
        default=None,
        metadata={
            "name": "ShortQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    shortage_action_code: Optional[ShortageActionCode] = field(
        default=None,
        metadata={
            "name": "ShortageActionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    rejected_quantity: Optional[RejectedQuantity] = field(
        default=None,
        metadata={
            "name": "RejectedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reject_reason_code: Optional[RejectReasonCode] = field(
        default=None,
        metadata={
            "name": "RejectReasonCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reject_reason: list[RejectReason] = field(
        default_factory=list,
        metadata={
            "name": "RejectReason",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reject_action_code: Optional[RejectActionCode] = field(
        default=None,
        metadata={
            "name": "RejectActionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity_discrepancy_code: Optional[QuantityDiscrepancyCode] = field(
        default=None,
        metadata={
            "name": "QuantityDiscrepancyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    oversupply_quantity: Optional[OversupplyQuantity] = field(
        default=None,
        metadata={
            "name": "OversupplyQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    received_date: Optional[ReceivedDate] = field(
        default=None,
        metadata={
            "name": "ReceivedDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    timing_complaint_code: Optional[TimingComplaintCode] = field(
        default=None,
        metadata={
            "name": "TimingComplaintCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    timing_complaint: Optional[TimingComplaint] = field(
        default=None,
        metadata={
            "name": "TimingComplaint",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    order_line_reference: Optional[OrderLineReference] = field(
        default=None,
        metadata={
            "name": "OrderLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch_line_reference: list[DespatchLineReference] = field(
        default_factory=list,
        metadata={
            "name": "DespatchLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: list[Item] = field(
        default_factory=list,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    shipment: list["Shipment"] = field(
        default_factory=list,
        metadata={
            "name": "Shipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class StockAvailabilityReportLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Stock
    Availability Report Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Stock Availability Report describing the availability of
    an item of sale.</ns1:Definition> <ns1:ObjectClass>Stock
    Availability Report Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Stock Availability Report Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this stock availability line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Stock
        Availability Report Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Stock Availability Report Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Stock
        Availability Report Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Stock Availability Report Line.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of the item currently in stock.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Stock
        Availability Report Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Stock Availability Report Line. Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        value of the quantity of the item currently in
        stock.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Stock Availability Report
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar availability_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Stock Availability Report Line.
        Availability Date. Date</ns1:DictionaryEntryName>
        <ns1:Definition>The date from which the item will be available.
        A date identical to or earlier than the IssueDate of the Stock
        Availability Report means that the item is available
        now</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Stock Availability Report
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Availability
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar availability_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Stock Availability Report Line.
        Availability Status Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the level of availability of
        the item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Stock
        Availability Report Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Availability Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Stock Availability Report Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item
        associated with this stock availability report
        line.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Stock Availability Report
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    value_amount: Optional[ValueAmount] = field(
        default=None,
        metadata={
            "name": "ValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    availability_date: Optional[AvailabilityDate] = field(
        default=None,
        metadata={
            "name": "AvailabilityDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    availability_status_code: Optional[AvailabilityStatusCode] = field(
        default=None,
        metadata={
            "name": "AvailabilityStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class AlternativeConditionPrice(PriceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BillingReferenceLine(BillingReferenceLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CatalogueItemSpecificationUpdateLine(
    CatalogueItemSpecificationUpdateLineType
):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DeliveryTerms(DeliveryTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DespatchLine(DespatchLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EventLineItem(EventLineItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ExceptionCriteriaLine(ExceptionCriteriaLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ExceptionNotificationLine(ExceptionNotificationLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class HandlingUnitDespatchLine(DespatchLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InstructionForReturnsLine(InstructionForReturnsLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InventoryReportLine(InventoryReportLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PerformanceDataLine(PerformanceDataLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Price(PriceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReceiptLine(ReceiptLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReceivedHandlingUnitReceiptLine(ReceiptLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class StockAvailabilityReportLine(StockAvailabilityReportLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TaxExclusivePrice(PriceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TaxInclusivePrice(PriceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BillingReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Billing
    Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a reference to a billing document.</ns1:Definition>
    <ns1:ObjectClass>Billing Reference</ns1:ObjectClass>
    </ns1:Component>

    :ivar invoice_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference. Invoice_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to an invoice.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Billing
        Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Invoice</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar self_billed_invoice_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference. Self Billed Invoice_
        Document Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a self billed
        invoice.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Billing
        Reference</ns1:ObjectClass> <ns1:PropertyTermQualifier>Self
        Billed Invoice</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar credit_note_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference. Credit Note_
        Document Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a credit note.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Billing
        Reference</ns1:ObjectClass> <ns1:PropertyTermQualifier>Credit
        Note</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar self_billed_credit_note_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference. Self Billed Credit
        Note_ Document Reference. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a self billed credit note.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Billing
        Reference</ns1:ObjectClass> <ns1:PropertyTermQualifier>Self
        Billed Credit Note</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar debit_note_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference. Debit Note_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a debit note.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Billing
        Reference</ns1:ObjectClass> <ns1:PropertyTermQualifier>Debit
        Note</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar reminder_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference. Reminder_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a billing
        reminder.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Billing
        Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Reminder</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar additional_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference. Additional_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to an additional
        document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Billing
        Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar billing_reference_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Billing Reference. Billing Reference
        Line</ns1:DictionaryEntryName> <ns1:Definition>A reference to a
        transaction line in the billing document.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Billing
        Reference</ns1:ObjectClass> <ns1:PropertyTerm>Billing Reference
        Line</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Billing
        Reference Line</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Billing Reference
        Line</ns1:RepresentationTerm> </ns1:Component>
    """

    invoice_document_reference: Optional[InvoiceDocumentReference] = field(
        default=None,
        metadata={
            "name": "InvoiceDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    self_billed_invoice_document_reference: Optional[
        SelfBilledInvoiceDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "SelfBilledInvoiceDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    credit_note_document_reference: Optional[CreditNoteDocumentReference] = (
        field(
            default=None,
            metadata={
                "name": "CreditNoteDocumentReference",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    self_billed_credit_note_document_reference: Optional[
        SelfBilledCreditNoteDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "SelfBilledCreditNoteDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    debit_note_document_reference: Optional[DebitNoteDocumentReference] = (
        field(
            default=None,
            metadata={
                "name": "DebitNoteDocumentReference",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    reminder_document_reference: Optional[ReminderDocumentReference] = field(
        default=None,
        metadata={
            "name": "ReminderDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    additional_document_reference: Optional[AdditionalDocumentReference] = (
        field(
            default=None,
            metadata={
                "name": "AdditionalDocumentReference",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    billing_reference_line: list[BillingReferenceLine] = field(
        default_factory=list,
        metadata={
            "name": "BillingReferenceLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ConsignmentType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Consignment.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an identifiable collection of one or more goods items to be
    transported between the consignor and the consignee. This
    information may be defined within a transport contract. A
    consignment may comprise more than one shipment (e.g., when
    consolidated by a freight forwarder).</ns1:Definition>
    <ns1:ObjectClass>Consignment</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier assigned to a collection of goods for both import and
        export.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Unique consignment reference
        number (UCR)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar carrier_assigned_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Carrier Assigned_
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this consignment, assigned by
        the carrier.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Carrier
        Assigned</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar consignee_assigned_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Consignee Assigned_
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this consignment, assigned by
        the consignee.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consignee
        Assigned</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar consignor_assigned_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Consignor Assigned_
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this consignment, assigned by
        the consignor.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consignor
        Assigned</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar freight_forwarder_assigned_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Freight Forwarder
        Assigned_ Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this consignment, assigned by
        the freight forwarder.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Freight Forwarder
        Assigned</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar broker_assigned_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Broker Assigned_
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this consignment, assigned by
        the broker.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Broker
        Assigned</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar contracted_carrier_assigned_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Contracted Carrier
        Assigned_ Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this consignment, assigned by
        the contracted carrier.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contracted Carrier
        Assigned</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar performing_carrier_assigned_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Performing Carrier
        Assigned_ Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this consignment, assigned by
        the performing carrier.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Performing Carrier
        Assigned</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar summary_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Summary_ Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A textual summary
        description of the consignment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Summary</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar total_invoice_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Total_ Invoice Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total of
        all invoice amounts declared in this
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Invoice Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar declared_customs_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Declared Customs_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        declared value for customs purposes of all the goods in this
        consignment, regardless of whether they are subject to the same
        customs procedure, tariff/statistical categorization, country
        information, or duty regime.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Declared
        Customs</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tariff_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Tariff Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the tariff applied to this consignment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Tariff Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar tariff_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Tariff Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the tariff applied to this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Tariff Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Tariff code number (WCO ID
        145)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar insurance_premium_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Insurance Premium Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount of
        the premium payable to an insurance company for insuring the
        goods contained in this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Insurance Premium Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Insurance
        Cost</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar gross_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Gross_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total
        declared weight of the goods in this consignment, including
        packaging but excluding the carrier's
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Gross</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Total gross weight (WCO ID
        131)</ns1:AlternativeBusinessTerms> <ns1:Examples>Total cube of
        all goods items referred to as one consignment.</ns1:Examples>
        </ns1:Component>
    :ivar net_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Net_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total net
        weight of all the goods items referred to as one
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar net_net_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Net Net_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total net
        weight of the goods in this consignment, exclusive of
        packaging.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Net Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar chargeable_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Chargeable_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The weight
        upon which a charge is to be based.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Chargeable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Chargeable Weight.
        Basis.Measure</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar gross_volume_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Gross_ Volume.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total
        volume of the goods referred to as one
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Gross</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Volume</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Cube</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar net_volume_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Net_ Volume.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total net
        volume of all goods items referred to as one
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Volume</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar loading_length_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Loading_ Length.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total
        length in a means of transport or a piece of transport equipment
        which, given the width and height of the transport means, will
        accommodate all of the consignments in a single
        consolidation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Loading</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Length</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar remarks: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Remarks.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Remarks
        concerning the complete consignment, to be printed on the
        transport document.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Remarks</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar hazardous_risk_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Hazardous Risk_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An
        indication that the transported goods in this consignment are
        subject to an international regulation concerning the carriage
        of dangerous goods (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Hazardous
        Risk</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Dangerous Goods RID
        Indicator</ns1:AlternativeBusinessTerms> <ns1:Examples>default
        is negative</ns1:Examples> </ns1:Component>
    :ivar animal_food_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Animal_ Food Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An
        indication that the transported goods in this consignment are
        animal foodstuffs (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Animal</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Food Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar human_food_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Human_ Food Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An
        indication that the transported goods in this consignment are
        for human consumption (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Human</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Food Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar livestock_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Livestock_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An
        indication that the transported goods are livestock (true) or
        not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Livestock</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar bulk_cargo_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Bulk Cargo_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An
        indication that the transported goods in this consignment are
        bulk cargoes (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Bulk
        Cargo</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar containerized_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Containerized_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An
        indication that the transported goods in this consignment are
        containerized cargoes (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Containerized</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar general_cargo_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. General Cargo_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An
        indication that the transported goods in this consignment are
        general cargoes (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>General
        Cargo</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar special_security_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Special_ Security
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indication that the transported goods in this
        consignment require special security (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Special</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Security Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar third_party_payer_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Third Party Payer_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indication that this consignment will be paid
        for by a third party (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Third Party
        Payer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar carrier_service_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Carrier Service_
        Instructions. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Service instructions to the carrier, expressed
        as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Carrier
        Service</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar customs_clearance_service_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Customs Clearance Service_
        Instructions. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Service instructions for customs clearance,
        expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Customs Clearance
        Service</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar forwarder_service_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Forwarder Service_
        Instructions. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Service instructions for the forwarder,
        expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Forwarder
        Service</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar special_service_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Special Service_
        Instructions. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Special service instructions, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Special
        Service</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar sequence_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Sequence Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A sequence
        identifier for this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Sequence Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar shipping_priority_level_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Shipping Priority Level
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the priority or level of service required for this
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Shipping Priority Level
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar handling_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Handling Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The handling
        required for this consignment, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Handling Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Special
        Handling</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar handling_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Handling_ Instructions.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The handling
        required for this consignment, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Handling</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar information: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Information.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        pertinent to this consignment, conveying information that is not
        contained explicitly in other structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Information</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar total_goods_item_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Total_ Goods Item
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        total number of goods items in this
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Goods Item Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar total_transport_handling_unit_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Total_ Transport Handling
        Unit Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>The number of pieces of transport handling
        equipment (pallets, boxes, cases, etc.) in this
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Handling Unit
        Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Number of
        THUs</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar insurance_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Insurance_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount
        covered by insurance for this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Insurance</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Value
        Insured</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar declared_for_carriage_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Declared For Carriage_
        Value. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        value of this consignment, declared by the shipper or his agent
        solely for the purpose of varying the carrier's level of
        liability from that provided in the contract of carriage, in
        case of loss or damage to goods or delayed
        delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Declared For
        Carriage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Declared value for carriage,
        Interest in delivery</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar declared_statistics_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Declared Statistics_
        Value. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        value, declared for statistical purposes, of those goods in this
        consignment that have the same statistical
        heading.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Declared
        Statistics</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Statistical
        Value</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar free_on_board_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Free On Board_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount that has to be or has been paid as calculated under the
        applicable trade delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Free On
        Board</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>FOB
        Value</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar special_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Special_ Instructions.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Special
        instructions relating to this consignment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Special</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar split_consignment_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Split Consignment_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this consignment has been
        split in transit (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Split
        Consignment</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar delivery_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Delivery_ Instructions.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A set of delivery
        instructions relating to this consignment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar consignment_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Consignment_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The count in
        this consignment considering goods items, child consignments,
        shipments</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consignment</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar consolidatable_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Consolidatable_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this consignment can be consolidated (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consolidatable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar haulage_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Haulage_ Instructions.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Instructions
        regarding haulage of this consignment, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Haulage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar loading_sequence_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Loading_ Sequence
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the loading sequence of this
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Loading</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Sequence Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar child_consignment_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Child Consignment
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        quantity of (consolidated) child consignments</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Child Consignment Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar total_packages_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Total_ Packages Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The total
        number of packages associated with a
        Consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Packages Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar consolidated_shipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Consolidated_ Shipment.
        Shipment</ns1:DictionaryEntryName> <ns1:Definition>A
        consolidated shipment (a shipment created by an act of
        consolidation).</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consolidated</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Shipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar customs_declaration: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Customs
        Declaration</ns1:DictionaryEntryName> <ns1:Definition>A class
        describing identifiers or references relating to customs
        procedures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Customs Declaration</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customs
        Declaration</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customs
        Declaration</ns1:RepresentationTerm> </ns1:Component>
    :ivar requested_pickup_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Requested Pickup_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The pickup of this consignment requested by the
        party requesting a transportation service (the transport
        user).</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Requested
        Pickup</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar requested_delivery_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Requested Delivery_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The delivery of this consignment requested by
        the party requesting a transportation service (the transport
        user).</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Requested
        Delivery</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar planned_pickup_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Planned Pickup_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The pickup of this consignment planned by the
        party responsible for providing the transportation service (the
        transport service provider).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Planned
        Pickup</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar planned_delivery_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Planned Delivery_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The delivery of this consignment planned by the
        party responsible for providing the transportation service (the
        transport service provider).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Planned
        Delivery</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar status: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment.
        Status</ns1:DictionaryEntryName> <ns1:Definition>The status of a
        particular condition associated with this
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Status</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Status</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Status</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar child_consignment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Child_ Consignment.
        Consignment</ns1:DictionaryEntryName> <ns1:Definition>One of the
        child consignments of which a consolidated consignment is
        composed.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Child</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Consignment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consignment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consignment</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar consignee_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Consignee_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>A party to which
        goods are consigned.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consignee</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Consignee (WCO ID 51 and
        52)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar exporter_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Exporter_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party that
        makes the export declaration, or on behalf of which the export
        declaration is made, and that is the owner of the goods in this
        consignment or has similar right of disposal over them at the
        time when the declaration is accepted.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Exporter</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Exporter (WCO ID 41 and
        42)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar consignor_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Consignor_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        consigning goods, as stipulated in the transport contract by the
        party ordering transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consignor</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Consignor (WCO ID 71 and
        72)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar importer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Importer_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party that
        makes an import declaration regarding this consignment, or on
        behalf of which a customs clearing agent or other authorized
        person makes an import declaration regarding this consignment.
        This may include a person who has possession of the goods or to
        whom the goods are consigned.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Importer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Importer (WCO ID 39 and
        40)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar carrier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Carrier_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        providing the transport of goods in this consignment between
        named points.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Carrier</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Transport Company, Shipping Line,
        NVOCC, Airline, Haulier, Courier, Carrier (WCO ID 49 and
        50)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar freight_forwarder_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Freight Forwarder_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        combining individual smaller consignments into a single larger
        shipment (the consolidated shipment), which is sent to a
        counterpart that mirrors the consolidator's activity by dividing
        the consolidated consignment into its original
        components.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Freight
        Forwarder</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Consolidator (WCO ID 192 AND
        193)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar notify_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Notify_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party to be
        notified upon arrival of goods and when special occurrences
        (usually pre-defined) take place during a transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Notify</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>WCO ID 57 and
        58</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar original_despatch_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Original Despatch_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The original
        despatch (sender) party for this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Original
        Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar final_delivery_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Final Delivery_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The final
        delivery party for this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Final
        Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar performing_carrier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Performing Carrier_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        performing the carriage of this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Performing
        Carrier</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar substitute_carrier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Substitute Carrier_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>A substitute
        party performing the carriage of this
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Substitute
        Carrier</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar logistics_operator_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Logistics Operator_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The logistics
        operator party for this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Logistics
        Operator</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar transport_advisor_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Transport Advisor_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        providing transport advice this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Transport
        Advisor</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar hazardous_item_notification_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Hazardous Item
        Notification_ Party. Party</ns1:DictionaryEntryName>
        <ns1:Definition>The party that would be notified of a hazardous
        item in this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Hazardous Item
        Notification</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar insurance_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Insurance_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        holding the insurance for this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Insurance</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar mortgage_holder_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Mortgage Holder_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        holding the mortgage for this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Mortgage
        Holder</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar bill_of_lading_holder_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Bill Of Lading Holder_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        holding the bill of lading for this
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Bill Of Lading
        Holder</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar original_departure_country: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Original Departure_
        Country. Country</ns1:DictionaryEntryName> <ns1:Definition>The
        country from which the goods in this consignment were originally
        exported, without any commercial transaction taking place in
        intermediate countries.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Original
        Departure</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Country</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Country</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Country</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Country of origin (WCO ID
        062)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar final_destination_country: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Final Destination_
        Country. Country</ns1:DictionaryEntryName> <ns1:Definition>The
        country in which the goods in this consignment are to be
        delivered to the final consignee or buyer.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Final
        Destination</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Country</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Country</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Country</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Ultimate Destination Country,
        Country of Final Arrival, Country of
        Destination</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar transit_country: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Transit_ Country.
        Country</ns1:DictionaryEntryName> <ns1:Definition>One of the
        countries through which goods or passengers in this consignment
        are routed between the country of original departure and the
        country of final destination.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Transit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Country</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Country</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Country</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Country(ies) of routing (WCO ID
        064)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar transport_contract: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Transport_ Contract.
        Contract</ns1:DictionaryEntryName> <ns1:Definition>A transport
        contract relating to this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Transport</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Contract</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contract</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contract</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Transport
        Event</ns1:DictionaryEntryName> <ns1:Definition>A class
        describing a significant occurrence or happening related to the
        transportation of goods.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar original_despatch_transportation_service: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Original Despatch_
        Transportation Service. Transportation
        Service</ns1:DictionaryEntryName> <ns1:Definition>The service
        for pickup from the consignor under the transport contract for
        this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Original
        Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transportation Service</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transportation
        Service</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transportation
        Service</ns1:RepresentationTerm> <ns1:Examples>Door-to-door ,
        Pier-to-door </ns1:Examples> </ns1:Component>
    :ivar final_delivery_transportation_service: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Final Delivery_
        Transportation Service. Transportation
        Service</ns1:DictionaryEntryName> <ns1:Definition>The service
        for delivery to the consignee under the transport contract for
        this consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Final
        Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transportation Service</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transportation
        Service</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transportation
        Service</ns1:RepresentationTerm> <ns1:Examples>Door-to-door ,
        Pier-to-door </ns1:Examples> </ns1:Component>
    :ivar delivery_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Delivery
        Terms</ns1:DictionaryEntryName> <ns1:Definition>The conditions
        agreed upon between a seller and a buyer with regard to the
        delivery of goods and/or services (e.g., CIF, FOB, or EXW from
        the INCOTERMS Terms of Delivery).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery Terms</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Trade Terms,
        INCOTERMS</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Payment
        Terms</ns1:DictionaryEntryName> <ns1:Definition>The terms of
        payment between the parties (such as logistics service client,
        logistics service provider) in a transaction.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar collect_payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Collect_ Payment Terms.
        Payment Terms</ns1:DictionaryEntryName> <ns1:Definition>The
        terms of payment that apply to the collection of this
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Collect</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar disbursement_payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Disbursement_ Payment
        Terms. Payment Terms</ns1:DictionaryEntryName>
        <ns1:Definition>The terms of payment for
        disbursement.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Disbursement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar prepaid_payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Prepaid_ Payment Terms.
        Payment Terms</ns1:DictionaryEntryName> <ns1:Definition>The
        terms of payment for prepayment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Prepaid</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar freight_allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Freight_ Allowance Charge.
        Allowance Charge</ns1:DictionaryEntryName> <ns1:Definition>A
        cost incurred by the shipper in moving goods, by whatever means,
        from one place to another under the terms of the contract of
        carriage for this consignment. In addition to transport costs,
        this may include such elements as packing, documentation,
        loading, unloading, and insurance to the extent that they relate
        to the freight costs.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Freight</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Freight
        Costs</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar extra_allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Extra_ Allowance Charge.
        Allowance Charge</ns1:DictionaryEntryName> <ns1:Definition>A
        charge for extra allowance.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Extra</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar main_carriage_shipment_stage: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Main Carriage_ Shipment
        Stage. Shipment Stage</ns1:DictionaryEntryName>
        <ns1:Definition>A shipment stage during main
        carriage.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Main
        Carriage</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Shipment
        Stage</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Shipment
        Stage</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment Stage</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar pre_carriage_shipment_stage: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Pre Carriage_ Shipment
        Stage. Shipment Stage</ns1:DictionaryEntryName>
        <ns1:Definition>A shipment stage during precarriage (usually
        refers to movement activity that takes place prior to the
        container being loaded at a port of loading).</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Pre
        Carriage</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Shipment
        Stage</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Shipment
        Stage</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment Stage</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar on_carriage_shipment_stage: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. On Carriage_ Shipment
        Stage. Shipment Stage</ns1:DictionaryEntryName>
        <ns1:Definition>A shipment stage during on-carriage (usually
        refers to movement activity that takes place after the container
        is discharged at a port of discharge).</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>On
        Carriage</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Shipment
        Stage</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Shipment
        Stage</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment Stage</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar transport_handling_unit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Transport Handling
        Unit</ns1:DictionaryEntryName> <ns1:Definition>A transport
        handling unit used for loose and containerized
        goods.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Handling Unit</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport Handling
        Unit</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Handling
        Unit</ns1:RepresentationTerm> </ns1:Component>
    :ivar first_arrival_port_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. First Arrival Port_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>The
        first arrival location in a transport. This would be a port for
        sea, an airport for air, a terminal for rail, or a border post
        for land crossing.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>First Arrival
        Port</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar last_exit_port_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consignment. Last Exit Port_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The final
        exporting location in a transport. This would be a port for sea,
        an airport for air, a terminal for rail, or a border post for
        land crossing.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consignment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Last Exit
        Port</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    carrier_assigned_id: Optional[CarrierAssignedId] = field(
        default=None,
        metadata={
            "name": "CarrierAssignedID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consignee_assigned_id: Optional[ConsigneeAssignedId] = field(
        default=None,
        metadata={
            "name": "ConsigneeAssignedID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consignor_assigned_id: Optional[ConsignorAssignedId] = field(
        default=None,
        metadata={
            "name": "ConsignorAssignedID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    freight_forwarder_assigned_id: Optional[FreightForwarderAssignedId] = (
        field(
            default=None,
            metadata={
                "name": "FreightForwarderAssignedID",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    broker_assigned_id: Optional[BrokerAssignedId] = field(
        default=None,
        metadata={
            "name": "BrokerAssignedID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contracted_carrier_assigned_id: Optional[ContractedCarrierAssignedId] = (
        field(
            default=None,
            metadata={
                "name": "ContractedCarrierAssignedID",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    performing_carrier_assigned_id: Optional[PerformingCarrierAssignedId] = (
        field(
            default=None,
            metadata={
                "name": "PerformingCarrierAssignedID",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    summary_description: list[SummaryDescription] = field(
        default_factory=list,
        metadata={
            "name": "SummaryDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_invoice_amount: Optional[TotalInvoiceAmount] = field(
        default=None,
        metadata={
            "name": "TotalInvoiceAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    declared_customs_value_amount: Optional[DeclaredCustomsValueAmount] = (
        field(
            default=None,
            metadata={
                "name": "DeclaredCustomsValueAmount",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    tariff_description: list[TariffDescription] = field(
        default_factory=list,
        metadata={
            "name": "TariffDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tariff_code: Optional[TariffCode] = field(
        default=None,
        metadata={
            "name": "TariffCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    insurance_premium_amount: Optional[InsurancePremiumAmount] = field(
        default=None,
        metadata={
            "name": "InsurancePremiumAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gross_weight_measure: Optional[GrossWeightMeasure] = field(
        default=None,
        metadata={
            "name": "GrossWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_weight_measure: Optional[NetWeightMeasure] = field(
        default=None,
        metadata={
            "name": "NetWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_net_weight_measure: Optional[NetNetWeightMeasure] = field(
        default=None,
        metadata={
            "name": "NetNetWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    chargeable_weight_measure: Optional[ChargeableWeightMeasure] = field(
        default=None,
        metadata={
            "name": "ChargeableWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gross_volume_measure: Optional[GrossVolumeMeasure] = field(
        default=None,
        metadata={
            "name": "GrossVolumeMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_volume_measure: Optional[NetVolumeMeasure] = field(
        default=None,
        metadata={
            "name": "NetVolumeMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    loading_length_measure: Optional[LoadingLengthMeasure] = field(
        default=None,
        metadata={
            "name": "LoadingLengthMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    remarks: list[Remarks] = field(
        default_factory=list,
        metadata={
            "name": "Remarks",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    hazardous_risk_indicator: Optional[HazardousRiskIndicator] = field(
        default=None,
        metadata={
            "name": "HazardousRiskIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    animal_food_indicator: Optional[AnimalFoodIndicator] = field(
        default=None,
        metadata={
            "name": "AnimalFoodIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    human_food_indicator: Optional[HumanFoodIndicator] = field(
        default=None,
        metadata={
            "name": "HumanFoodIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    livestock_indicator: Optional[LivestockIndicator] = field(
        default=None,
        metadata={
            "name": "LivestockIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    bulk_cargo_indicator: Optional[BulkCargoIndicator] = field(
        default=None,
        metadata={
            "name": "BulkCargoIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    containerized_indicator: Optional[ContainerizedIndicator] = field(
        default=None,
        metadata={
            "name": "ContainerizedIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    general_cargo_indicator: Optional[GeneralCargoIndicator] = field(
        default=None,
        metadata={
            "name": "GeneralCargoIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    special_security_indicator: Optional[SpecialSecurityIndicator] = field(
        default=None,
        metadata={
            "name": "SpecialSecurityIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    third_party_payer_indicator: Optional[ThirdPartyPayerIndicator] = field(
        default=None,
        metadata={
            "name": "ThirdPartyPayerIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    carrier_service_instructions: list[CarrierServiceInstructions] = field(
        default_factory=list,
        metadata={
            "name": "CarrierServiceInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    customs_clearance_service_instructions: list[
        CustomsClearanceServiceInstructions
    ] = field(
        default_factory=list,
        metadata={
            "name": "CustomsClearanceServiceInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    forwarder_service_instructions: list[ForwarderServiceInstructions] = field(
        default_factory=list,
        metadata={
            "name": "ForwarderServiceInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    special_service_instructions: list[SpecialServiceInstructions] = field(
        default_factory=list,
        metadata={
            "name": "SpecialServiceInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    sequence_id: Optional[SequenceId] = field(
        default=None,
        metadata={
            "name": "SequenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    shipping_priority_level_code: Optional[ShippingPriorityLevelCode] = field(
        default=None,
        metadata={
            "name": "ShippingPriorityLevelCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    handling_code: Optional[HandlingCode] = field(
        default=None,
        metadata={
            "name": "HandlingCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    handling_instructions: list[HandlingInstructions] = field(
        default_factory=list,
        metadata={
            "name": "HandlingInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    information: list[Information] = field(
        default_factory=list,
        metadata={
            "name": "Information",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_goods_item_quantity: Optional[TotalGoodsItemQuantity] = field(
        default=None,
        metadata={
            "name": "TotalGoodsItemQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_transport_handling_unit_quantity: Optional[
        TotalTransportHandlingUnitQuantity
    ] = field(
        default=None,
        metadata={
            "name": "TotalTransportHandlingUnitQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    insurance_value_amount: Optional[InsuranceValueAmount] = field(
        default=None,
        metadata={
            "name": "InsuranceValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    declared_for_carriage_value_amount: Optional[
        DeclaredForCarriageValueAmount
    ] = field(
        default=None,
        metadata={
            "name": "DeclaredForCarriageValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    declared_statistics_value_amount: Optional[
        DeclaredStatisticsValueAmount
    ] = field(
        default=None,
        metadata={
            "name": "DeclaredStatisticsValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    free_on_board_value_amount: Optional[FreeOnBoardValueAmount] = field(
        default=None,
        metadata={
            "name": "FreeOnBoardValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    special_instructions: list[SpecialInstructions] = field(
        default_factory=list,
        metadata={
            "name": "SpecialInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    split_consignment_indicator: Optional[SplitConsignmentIndicator] = field(
        default=None,
        metadata={
            "name": "SplitConsignmentIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    delivery_instructions: list[DeliveryInstructions] = field(
        default_factory=list,
        metadata={
            "name": "DeliveryInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consignment_quantity: Optional[ConsignmentQuantity] = field(
        default=None,
        metadata={
            "name": "ConsignmentQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consolidatable_indicator: Optional[ConsolidatableIndicator] = field(
        default=None,
        metadata={
            "name": "ConsolidatableIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    haulage_instructions: list[HaulageInstructions] = field(
        default_factory=list,
        metadata={
            "name": "HaulageInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    loading_sequence_id: Optional[LoadingSequenceId] = field(
        default=None,
        metadata={
            "name": "LoadingSequenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    child_consignment_quantity: Optional[ChildConsignmentQuantity] = field(
        default=None,
        metadata={
            "name": "ChildConsignmentQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_packages_quantity: Optional[TotalPackagesQuantity] = field(
        default=None,
        metadata={
            "name": "TotalPackagesQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consolidated_shipment: list["ConsolidatedShipment"] = field(
        default_factory=list,
        metadata={
            "name": "ConsolidatedShipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    customs_declaration: list[CustomsDeclaration] = field(
        default_factory=list,
        metadata={
            "name": "CustomsDeclaration",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    requested_pickup_transport_event: Optional[
        "RequestedPickupTransportEvent"
    ] = field(
        default=None,
        metadata={
            "name": "RequestedPickupTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    requested_delivery_transport_event: Optional[
        "RequestedDeliveryTransportEvent"
    ] = field(
        default=None,
        metadata={
            "name": "RequestedDeliveryTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    planned_pickup_transport_event: Optional["PlannedPickupTransportEvent"] = (
        field(
            default=None,
            metadata={
                "name": "PlannedPickupTransportEvent",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    planned_delivery_transport_event: Optional[
        "PlannedDeliveryTransportEvent"
    ] = field(
        default=None,
        metadata={
            "name": "PlannedDeliveryTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    status: list[Status] = field(
        default_factory=list,
        metadata={
            "name": "Status",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    child_consignment: list["ChildConsignment"] = field(
        default_factory=list,
        metadata={
            "name": "ChildConsignment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    consignee_party: Optional[ConsigneeParty] = field(
        default=None,
        metadata={
            "name": "ConsigneeParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    exporter_party: Optional[ExporterParty] = field(
        default=None,
        metadata={
            "name": "ExporterParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    consignor_party: Optional[ConsignorParty] = field(
        default=None,
        metadata={
            "name": "ConsignorParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    importer_party: Optional[ImporterParty] = field(
        default=None,
        metadata={
            "name": "ImporterParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    carrier_party: Optional[CarrierParty] = field(
        default=None,
        metadata={
            "name": "CarrierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    freight_forwarder_party: Optional[FreightForwarderParty] = field(
        default=None,
        metadata={
            "name": "FreightForwarderParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    notify_party: Optional[NotifyParty] = field(
        default=None,
        metadata={
            "name": "NotifyParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    original_despatch_party: Optional[OriginalDespatchParty] = field(
        default=None,
        metadata={
            "name": "OriginalDespatchParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    final_delivery_party: Optional[FinalDeliveryParty] = field(
        default=None,
        metadata={
            "name": "FinalDeliveryParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    performing_carrier_party: Optional[PerformingCarrierParty] = field(
        default=None,
        metadata={
            "name": "PerformingCarrierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    substitute_carrier_party: Optional[SubstituteCarrierParty] = field(
        default=None,
        metadata={
            "name": "SubstituteCarrierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    logistics_operator_party: Optional[LogisticsOperatorParty] = field(
        default=None,
        metadata={
            "name": "LogisticsOperatorParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_advisor_party: Optional[TransportAdvisorParty] = field(
        default=None,
        metadata={
            "name": "TransportAdvisorParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    hazardous_item_notification_party: Optional[
        HazardousItemNotificationParty
    ] = field(
        default=None,
        metadata={
            "name": "HazardousItemNotificationParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    insurance_party: Optional[InsuranceParty] = field(
        default=None,
        metadata={
            "name": "InsuranceParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    mortgage_holder_party: Optional[MortgageHolderParty] = field(
        default=None,
        metadata={
            "name": "MortgageHolderParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    bill_of_lading_holder_party: Optional[BillOfLadingHolderParty] = field(
        default=None,
        metadata={
            "name": "BillOfLadingHolderParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    original_departure_country: Optional[OriginalDepartureCountry] = field(
        default=None,
        metadata={
            "name": "OriginalDepartureCountry",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    final_destination_country: Optional[FinalDestinationCountry] = field(
        default=None,
        metadata={
            "name": "FinalDestinationCountry",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transit_country: list[TransitCountry] = field(
        default_factory=list,
        metadata={
            "name": "TransitCountry",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_contract: Optional["TransportContract"] = field(
        default=None,
        metadata={
            "name": "TransportContract",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_event: list["TransportEvent"] = field(
        default_factory=list,
        metadata={
            "name": "TransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    original_despatch_transportation_service: Optional[
        "OriginalDespatchTransportationService"
    ] = field(
        default=None,
        metadata={
            "name": "OriginalDespatchTransportationService",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    final_delivery_transportation_service: Optional[
        "FinalDeliveryTransportationService"
    ] = field(
        default=None,
        metadata={
            "name": "FinalDeliveryTransportationService",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_terms: Optional[DeliveryTerms] = field(
        default=None,
        metadata={
            "name": "DeliveryTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payment_terms: Optional["PaymentTerms"] = field(
        default=None,
        metadata={
            "name": "PaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    collect_payment_terms: Optional["CollectPaymentTerms"] = field(
        default=None,
        metadata={
            "name": "CollectPaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    disbursement_payment_terms: Optional["DisbursementPaymentTerms"] = field(
        default=None,
        metadata={
            "name": "DisbursementPaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    prepaid_payment_terms: Optional["PrepaidPaymentTerms"] = field(
        default=None,
        metadata={
            "name": "PrepaidPaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    freight_allowance_charge: list[FreightAllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "FreightAllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    extra_allowance_charge: list[ExtraAllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "ExtraAllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    main_carriage_shipment_stage: list["MainCarriageShipmentStage"] = field(
        default_factory=list,
        metadata={
            "name": "MainCarriageShipmentStage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pre_carriage_shipment_stage: list["PreCarriageShipmentStage"] = field(
        default_factory=list,
        metadata={
            "name": "PreCarriageShipmentStage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    on_carriage_shipment_stage: list["OnCarriageShipmentStage"] = field(
        default_factory=list,
        metadata={
            "name": "OnCarriageShipmentStage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_handling_unit: list["TransportHandlingUnit"] = field(
        default_factory=list,
        metadata={
            "name": "TransportHandlingUnit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    first_arrival_port_location: Optional[FirstArrivalPortLocation] = field(
        default=None,
        metadata={
            "name": "FirstArrivalPortLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    last_exit_port_location: Optional[LastExitPortLocation] = field(
        default=None,
        metadata={
            "name": "LastExitPortLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class DeliveryType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Delivery.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a delivery.</ns1:Definition>
    <ns1:ObjectClass>Delivery</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of items, child consignments, shipments in this
        delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Minimum_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The minimum
        quantity of items, child consignments, shipments in this
        delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Maximum_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        quantity of items, child consignments, shipments in this
        delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar actual_delivery_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Actual_ Delivery Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The actual date
        of delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar actual_delivery_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Actual_ Delivery Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The actual time
        of delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar latest_delivery_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Latest_ Delivery Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The latest date
        of delivery allowed by the buyer.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latest</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar latest_delivery_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Latest_ Delivery Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The latest time
        of delivery allowed by the buyer.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latest</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar release_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Release.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier used for approval of access to delivery locations
        (e.g., port terminals).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTerm>Release</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar tracking_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Tracking Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>The
        delivery Tracking ID (for transport tracking).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTerm>Tracking Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar delivery_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Delivery_ Address.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The delivery
        address.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Delivery_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The delivery
        location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar alternative_delivery_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Alternative Delivery_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>An
        alternative delivery location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Alternative
        Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar requested_delivery_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Requested Delivery_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        requested for delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Requested
        Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar promised_delivery_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Promised Delivery_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        promised for delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Promised
        Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar estimated_delivery_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Estimated Delivery_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        estimated for delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated
        Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar carrier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Carrier_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        responsible for delivering the goods.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Carrier</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Delivery_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party to
        whom the goods are delivered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar notify_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Notify_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>A party to be
        notified of this delivery.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Notify</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar despatch: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery.
        Despatch</ns1:DictionaryEntryName> <ns1:Definition>The despatch
        (pickup) associated with this delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTerm>Despatch</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Despatch</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Despatch</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Delivery
        Terms</ns1:DictionaryEntryName> <ns1:Definition>Terms and
        conditions relating to the delivery.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar minimum_delivery_unit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Minimum_ Delivery Unit.
        Delivery Unit</ns1:DictionaryEntryName> <ns1:Definition>The
        minimum delivery unit for this delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Unit</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery
        Unit</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery Unit</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar maximum_delivery_unit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery. Maximum_ Delivery Unit.
        Delivery Unit</ns1:DictionaryEntryName> <ns1:Definition>The
        maximum delivery unit for this delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Unit</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery
        Unit</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery Unit</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar shipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Delivery.
        Shipment</ns1:DictionaryEntryName> <ns1:Definition>The shipment
        being delivered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Delivery</ns1:ObjectClass>
        <ns1:PropertyTerm>Shipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_quantity: Optional[MinimumQuantity] = field(
        default=None,
        metadata={
            "name": "MinimumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_quantity: Optional[MaximumQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    actual_delivery_date: Optional[ActualDeliveryDate] = field(
        default=None,
        metadata={
            "name": "ActualDeliveryDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    actual_delivery_time: Optional[ActualDeliveryTime] = field(
        default=None,
        metadata={
            "name": "ActualDeliveryTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latest_delivery_date: Optional[LatestDeliveryDate] = field(
        default=None,
        metadata={
            "name": "LatestDeliveryDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latest_delivery_time: Optional[LatestDeliveryTime] = field(
        default=None,
        metadata={
            "name": "LatestDeliveryTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    release_id: Optional[ReleaseId] = field(
        default=None,
        metadata={
            "name": "ReleaseID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tracking_id: Optional[TrackingId] = field(
        default=None,
        metadata={
            "name": "TrackingID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    delivery_address: Optional[DeliveryAddress] = field(
        default=None,
        metadata={
            "name": "DeliveryAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_location: Optional[DeliveryLocation] = field(
        default=None,
        metadata={
            "name": "DeliveryLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    alternative_delivery_location: Optional[AlternativeDeliveryLocation] = (
        field(
            default=None,
            metadata={
                "name": "AlternativeDeliveryLocation",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    requested_delivery_period: Optional[RequestedDeliveryPeriod] = field(
        default=None,
        metadata={
            "name": "RequestedDeliveryPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    promised_delivery_period: Optional[PromisedDeliveryPeriod] = field(
        default=None,
        metadata={
            "name": "PromisedDeliveryPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    estimated_delivery_period: Optional[EstimatedDeliveryPeriod] = field(
        default=None,
        metadata={
            "name": "EstimatedDeliveryPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    carrier_party: Optional[CarrierParty] = field(
        default=None,
        metadata={
            "name": "CarrierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_party: Optional[DeliveryParty] = field(
        default=None,
        metadata={
            "name": "DeliveryParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    notify_party: list[NotifyParty] = field(
        default_factory=list,
        metadata={
            "name": "NotifyParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch: Optional[Despatch] = field(
        default=None,
        metadata={
            "name": "Despatch",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_terms: list[DeliveryTerms] = field(
        default_factory=list,
        metadata={
            "name": "DeliveryTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    minimum_delivery_unit: Optional[MinimumDeliveryUnit] = field(
        default=None,
        metadata={
            "name": "MinimumDeliveryUnit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    maximum_delivery_unit: Optional[MaximumDeliveryUnit] = field(
        default=None,
        metadata={
            "name": "MaximumDeliveryUnit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    shipment: Optional["Shipment"] = field(
        default=None,
        metadata={
            "name": "Shipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class MiscellaneousEventType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Miscellaneous Event.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a miscellaneous event associated with a retail
    event.</ns1:Definition> <ns1:ObjectClass>Miscellaneous
    Event</ns1:ObjectClass> </ns1:Component>

    :ivar miscellaneous_event_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Miscellaneous Event. Miscellaneous
        Event Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the type of this miscellaneous
        event. Examples are: ASSORTMENT_CHARGE DISASTER
        FORECAST_DECREASE FORECAST_INCREASE FREIGHT_FLOW_ALLOCATION
        INVENTORY_POLICY_CHANGE LOCATION_CLOSING LOCATION_OPENING OTHER
        OUT_OF_STOCK PACKAGING_LABELING_CHANGE PRICE_DECREASE
        PRICE_INCREASE STORE_FORMAT_OR_PLANOGRAM_CHANGE TEST_MARKET
        WEATHER</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Miscellaneous Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Miscellaneous Event Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar event_line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Miscellaneous Event. Event Line
        Item</ns1:DictionaryEntryName> <ns1:Definition>An event line
        item for this miscellaneous retail event.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Miscellaneous Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Event Line Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Event Line
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Event
        Line Item</ns1:RepresentationTerm> </ns1:Component>
    """

    miscellaneous_event_type_code: Optional[MiscellaneousEventTypeCode] = (
        field(
            default=None,
            metadata={
                "name": "MiscellaneousEventTypeCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
                "required": True,
            },
        )
    )
    event_line_item: list[EventLineItem] = field(
        default_factory=list,
        metadata={
            "name": "EventLineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )


@dataclass
class PromotionalEventLineItemType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Promotional Event Line Item.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a line item associated with a promotional
    event.</ns1:Definition> <ns1:ObjectClass>Promotional Event Line
    Item</ns1:ObjectClass> </ns1:Component>

    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Promotional Event Line Item.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount
        associated with this promotional event line
        item.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Promotional Event Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar event_line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Promotional Event Line Item. Event Line
        Item</ns1:DictionaryEntryName> <ns1:Definition>A line item
        describing the expected impacts associated with this promotional
        event for a specific product at a specific
        location.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Promotional Event Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Event Line Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Event Line
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Event
        Line Item</ns1:RepresentationTerm> </ns1:Component>
    """

    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    event_line_item: Optional[EventLineItem] = field(
        default=None,
        metadata={
            "name": "EventLineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class SalesItemType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Sales
    Item.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe information related to an item in a sales
    context</ns1:Definition> <ns1:ObjectClass>Sales
    Item</ns1:ObjectClass> </ns1:Component>

    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Sales Item.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        the given information are related to</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Sales
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar activity_property: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Sales Item. Activity
        Property</ns1:DictionaryEntryName> <ns1:Definition>A class to
        describe the activity (for example "sales", "movement", ...)
        related to the item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Sales
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Activity
        Property</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Activity
        Property</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Activity
        Property</ns1:RepresentationTerm> </ns1:Component>
    :ivar tax_exclusive_price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Sales Item. Tax Exclusive_ Price.
        Price</ns1:DictionaryEntryName> <ns1:Definition>A price for this
        sales item, exclusive of tax.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Sales
        Item</ns1:ObjectClass> <ns1:PropertyTermQualifier>Tax
        Exclusive</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tax_inclusive_price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Sales Item. Tax Inclusive_ Price.
        Price</ns1:DictionaryEntryName> <ns1:Definition>A price for this
        sales item, including tax.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Sales
        Item</ns1:ObjectClass> <ns1:PropertyTermQualifier>Tax
        Inclusive</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Sales Item.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The sales item
        itself.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Sales Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    """

    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    activity_property: list[ActivityProperty] = field(
        default_factory=list,
        metadata={
            "name": "ActivityProperty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_exclusive_price: list[TaxExclusivePrice] = field(
        default_factory=list,
        metadata={
            "name": "TaxExclusivePrice",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_inclusive_price: list[TaxInclusivePrice] = field(
        default_factory=list,
        metadata={
            "name": "TaxInclusivePrice",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class TelecommunicationsServiceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Telecommunications Service.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a telecommunications service (e.g., a telephone call or a
    video on demand service).</ns1:Definition>
    <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this telecommunications service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar call_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Call_ Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>In the case of a
        telephone call, the date of the call.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Call</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType>
        <ns1:Examples>2008-01-01</ns1:Examples> </ns1:Component>
    :ivar call_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Call_ Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>In the case of a
        telephone call, the time of the call.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Call</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType>
        <ns1:Examples>00:01:00</ns1:Examples> </ns1:Component>
    :ivar service_number_called: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Service
        Number Called. Text</ns1:DictionaryEntryName> <ns1:Definition>In
        the case of a telephone call, the phone number
        called.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Service Number Called</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>12345679</ns1:Examples> </ns1:Component>
    :ivar telecommunications_service_category: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service.
        Telecommunications Service Category.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The
        telecommunications category, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Telecommunications Service
        Category</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Subscription</ns1:Examples> </ns1:Component>
    :ivar telecommunications_service_category_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service.
        Telecommunications Service Category Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The
        telecommunications category, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Telecommunications Service Category
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Subscription</ns1:Examples> </ns1:Component>
    :ivar movie_title: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Movie
        Title. Text</ns1:DictionaryEntryName> <ns1:Definition>The title
        of a movie delivered via this telecommunications
        service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Movie Title</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>The
        Matrix</ns1:Examples> </ns1:Component>
    :ivar roaming_partner_name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Roaming
        Partner Name. Name</ns1:DictionaryEntryName>
        <ns1:Definition>Statement of the roaming partner
        name.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Roaming Partner Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar pay_per_view: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Pay Per
        View. Text</ns1:DictionaryEntryName> <ns1:Definition>A pay-per-
        view delivered via this telecommunications
        service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Pay Per View</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The number of
        calls.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>5761</ns1:Examples> </ns1:Component>
    :ivar telecommunications_service_call: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service.
        Telecommunications Service Call. Text</ns1:DictionaryEntryName>
        <ns1:Definition>The telecommunications call described as a
        text</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Telecommunications Service
        Call</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>CallAttempt</ns1:Examples> </ns1:Component>
    :ivar telecommunications_service_call_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service.
        Telecommunications Service Call Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The
        telecommunications call described as a code</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Telecommunications Service Call
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>CallAttempt</ns1:Examples> </ns1:Component>
    :ivar call_base_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Call Base_
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        amount to be payed as the base for one call</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Call Base</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar call_extension_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Call
        Extension_ Amount. Amount</ns1:DictionaryEntryName>
        <ns1:Definition>The amount to be payed for the
        call</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Call
        Extension</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:Examples>542.44</ns1:Examples> </ns1:Component>
    :ivar price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service.
        Price</ns1:DictionaryEntryName> <ns1:Definition>The price for
        using the telecommunication service</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar country: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service.
        Country</ns1:DictionaryEntryName> <ns1:Definition>The country to
        which the service is provided. In case of a telephone call it is
        the country where the receiver is located.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Country</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Country</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Country</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar exchange_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Exchange
        Rate</ns1:DictionaryEntryName> <ns1:Definition>A exchanges rates
        used in the pricing e.g.. when phone calls has crossed border
        lines.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Exchange Rate</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Exchange
        Rate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Exchange Rate</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charge that applies to the UtilityStatement as a
        whole.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>A total amount
        of taxes of a particular kind applicable to this
        telecommunications service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tax Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar call_duty: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Call_ Duty.
        Duty</ns1:DictionaryEntryName> <ns1:Definition>In the case of a
        telephone call, a duty on this call.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Call</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Duty</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Duty</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Duty</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar time_duty: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Service. Time_ Duty.
        Duty</ns1:DictionaryEntryName> <ns1:Definition>A duty on a
        consumption of time.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Time</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Duty</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Duty</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Duty</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    call_date: Optional[CallDate] = field(
        default=None,
        metadata={
            "name": "CallDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    call_time: Optional[CallTime] = field(
        default=None,
        metadata={
            "name": "CallTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    service_number_called: Optional[ServiceNumberCalled] = field(
        default=None,
        metadata={
            "name": "ServiceNumberCalled",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    telecommunications_service_category: Optional[
        TelecommunicationsServiceCategory
    ] = field(
        default=None,
        metadata={
            "name": "TelecommunicationsServiceCategory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    telecommunications_service_category_code: Optional[
        TelecommunicationsServiceCategoryCode
    ] = field(
        default=None,
        metadata={
            "name": "TelecommunicationsServiceCategoryCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    movie_title: Optional[MovieTitle] = field(
        default=None,
        metadata={
            "name": "MovieTitle",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    roaming_partner_name: Optional[RoamingPartnerName] = field(
        default=None,
        metadata={
            "name": "RoamingPartnerName",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pay_per_view: Optional[PayPerView] = field(
        default=None,
        metadata={
            "name": "PayPerView",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    telecommunications_service_call: Optional[
        TelecommunicationsServiceCall
    ] = field(
        default=None,
        metadata={
            "name": "TelecommunicationsServiceCall",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    telecommunications_service_call_code: Optional[
        TelecommunicationsServiceCallCode
    ] = field(
        default=None,
        metadata={
            "name": "TelecommunicationsServiceCallCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    call_base_amount: Optional[CallBaseAmount] = field(
        default=None,
        metadata={
            "name": "CallBaseAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    call_extension_amount: Optional[CallExtensionAmount] = field(
        default=None,
        metadata={
            "name": "CallExtensionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    price: Optional[Price] = field(
        default=None,
        metadata={
            "name": "Price",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    country: Optional[Country] = field(
        default=None,
        metadata={
            "name": "Country",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    exchange_rate: list[ExchangeRate] = field(
        default_factory=list,
        metadata={
            "name": "ExchangeRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_total: list[TaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    call_duty: list[CallDuty] = field(
        default_factory=list,
        metadata={
            "name": "CallDuty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    time_duty: list[TimeDuty] = field(
        default_factory=list,
        metadata={
            "name": "TimeDuty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TransportExecutionTermsType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Transport
    Execution Terms.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe terms applying to a transport execution
    plan.</ns1:Definition> <ns1:ObjectClass>Transport Execution
    Terms</ns1:ObjectClass> </ns1:Component>

    :ivar transport_user_special_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms. Transport
        User_ Special Terms. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Text describing special terms specified by the
        transport user.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Transport
        User</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Special
        Terms</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar transport_service_provider_special_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms. Transport
        Service Provider_ Special Terms. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Text describing special terms specified by the
        transport service provider.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Transport Service
        Provider</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Special
        Terms</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar change_conditions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms. Change
        Conditions. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing conditions applying to a change of these transport
        execution terms.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Change Conditions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms. Payment
        Terms</ns1:DictionaryEntryName> <ns1:Definition>Payment terms
        associated with the transportation service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms. Delivery
        Terms</ns1:DictionaryEntryName> <ns1:Definition>Delivery terms
        (e.g., Incoterms) associated with the transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar bonus_payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms. Bonus_
        Payment Terms. Payment Terms</ns1:DictionaryEntryName>
        <ns1:Definition>Terms relating to payment of applicable bonuses
        associated with the transport service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Bonus</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar commission_payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms. Commission_
        Payment Terms. Payment Terms</ns1:DictionaryEntryName>
        <ns1:Definition>Terms of payment applying to a commission
        specified in the transport execution plan.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Commission</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar penalty_payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms. Penalty_
        Payment Terms. Payment Terms</ns1:DictionaryEntryName>
        <ns1:Definition>Terms of payment applying to a penalty specified
        in the transport execution plan.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Penalty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar environmental_emission: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms.
        Environmental Emission</ns1:DictionaryEntryName>
        <ns1:Definition>An environmental emission resulting from the
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Environmental Emission</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Environmental
        Emission</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Environmental
        Emission</ns1:RepresentationTerm> </ns1:Component>
    :ivar notification_requirement: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms. Notification
        Requirement</ns1:DictionaryEntryName> <ns1:Definition>A
        notification requirement related to the transportation service;
        e.g., a requirement that the transport user should be notified
        when goods are ready for pickup.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Notification Requirement</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Notification
        Requirement</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Notification
        Requirement</ns1:RepresentationTerm> </ns1:Component>
    :ivar service_charge_payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Execution Terms. Service
        Charge_ Payment Terms. Payment Terms</ns1:DictionaryEntryName>
        <ns1:Definition>Payment terms for the service charge associated
        with the transport service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Execution Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Service
        Charge</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Payment
        Terms</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    """

    transport_user_special_terms: list[TransportUserSpecialTerms] = field(
        default_factory=list,
        metadata={
            "name": "TransportUserSpecialTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transport_service_provider_special_terms: list[
        TransportServiceProviderSpecialTerms
    ] = field(
        default_factory=list,
        metadata={
            "name": "TransportServiceProviderSpecialTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    change_conditions: list[ChangeConditions] = field(
        default_factory=list,
        metadata={
            "name": "ChangeConditions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_terms: list[PaymentTerms] = field(
        default_factory=list,
        metadata={
            "name": "PaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_terms: list[DeliveryTerms] = field(
        default_factory=list,
        metadata={
            "name": "DeliveryTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    bonus_payment_terms: Optional[BonusPaymentTerms] = field(
        default=None,
        metadata={
            "name": "BonusPaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    commission_payment_terms: Optional[CommissionPaymentTerms] = field(
        default=None,
        metadata={
            "name": "CommissionPaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    penalty_payment_terms: Optional[PenaltyPaymentTerms] = field(
        default=None,
        metadata={
            "name": "PenaltyPaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    environmental_emission: list[EnvironmentalEmission] = field(
        default_factory=list,
        metadata={
            "name": "EnvironmentalEmission",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    notification_requirement: list[NotificationRequirement] = field(
        default_factory=list,
        metadata={
            "name": "NotificationRequirement",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    service_charge_payment_terms: Optional[ServiceChargePaymentTerms] = field(
        default=None,
        metadata={
            "name": "ServiceChargePaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class BillingReference(BillingReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ChildConsignment(ConsignmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Consignment(ConsignmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContractualDelivery(DeliveryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Delivery(DeliveryType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MiscellaneousEvent(MiscellaneousEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PromotionalEventLineItem(PromotionalEventLineItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReferencedConsignment(ConsignmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SalesItem(SalesItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TelecommunicationsService(TelecommunicationsServiceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportExecutionTerms(TransportExecutionTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ActivityDataLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Activity
    Data Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    associate a time period and locations (activity data) with an item
    for inventory planning purposes.</ns1:Definition>
    <ns1:ObjectClass>Activity Data Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Activity Data Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this activity data line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Activity
        Data Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar supply_chain_activity_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Activity Data Line. Supply Chain
        Activity Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the type of supply chain
        activity.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Activity Data Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Supply Chain Activity Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar buyer_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Activity Data Line. Buyer_ Customer
        Party. Customer Party</ns1:DictionaryEntryName>
        <ns1:Definition>The buyer of the item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Activity Data Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Buyer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar seller_supplier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Activity Data Line. Seller_ Supplier
        Party. Supplier Party</ns1:DictionaryEntryName>
        <ns1:Definition>The seller of the item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Activity Data Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Seller</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Supplier Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Supplier
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Supplier Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar activity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Activity Data Line. Activity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which the activity is realized.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Activity Data Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Activity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar activity_origin_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Activity Data Line. Activity Origin_
        Location. Location</ns1:DictionaryEntryName>
        <ns1:Definition>Either the location where the movement of goods
        is observed or the location from which the goods are
        moved.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Activity Data Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Activity
        Origin</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar activity_final_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Activity Data Line. Activity Final_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>The
        location to which the goods are moved.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Activity Data Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Activity
        Final</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar sales_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Activity Data Line. Sales
        Item</ns1:DictionaryEntryName> <ns1:Definition>Sales information
        for an item to which this line applies.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Activity Data Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Sales Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Sales
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Sales
        Item</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    supply_chain_activity_type_code: Optional[SupplyChainActivityTypeCode] = (
        field(
            default=None,
            metadata={
                "name": "SupplyChainActivityTypeCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
                "required": True,
            },
        )
    )
    buyer_customer_party: Optional[BuyerCustomerParty] = field(
        default=None,
        metadata={
            "name": "BuyerCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    seller_supplier_party: Optional[SellerSupplierParty] = field(
        default=None,
        metadata={
            "name": "SellerSupplierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    activity_period: Optional[ActivityPeriod] = field(
        default=None,
        metadata={
            "name": "ActivityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    activity_origin_location: Optional[ActivityOriginLocation] = field(
        default=None,
        metadata={
            "name": "ActivityOriginLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    activity_final_location: Optional[ActivityFinalLocation] = field(
        default=None,
        metadata={
            "name": "ActivityFinalLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    sales_item: list[SalesItem] = field(
        default_factory=list,
        metadata={
            "name": "SalesItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )


@dataclass
class ConsumptionLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Consumption Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a line item for utility consumption. To specify more than
    one utility item, use separate consumption lines.</ns1:Definition>
    <ns1:ObjectClass>Consumption Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this consumption line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>1</ns1:Examples> </ns1:Component>
    :ivar parent_document_line_reference_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line. Parent_ Document Line
        Reference Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the transaction line on a
        related document (such as an invoice) that covers this
        consumption line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Parent</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Line Reference
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>Consumption</ns1:Examples> </ns1:Component>
    :ivar invoiced_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line. Invoiced_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        invoiced.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Invoiced</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar line_extension_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line. Line Extension
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        monetary amount, including discount, to be charged for this
        consumption line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Line Extension Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period of
        time covered by this consumption line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line.
        Delivery</ns1:DictionaryEntryName> <ns1:Definition>A delivery of
        the utility item on this consumption line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charge that applies to this consumption line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>A total amount
        of taxes of a particular kind applicable to this consumption
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tax Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar utility_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line. Utility
        Item</ns1:DictionaryEntryName> <ns1:Definition>The utility item
        consumed.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Utility Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Utility
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Utility
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line.
        Price</ns1:DictionaryEntryName> <ns1:Definition>The price
        associated with this consumption line, expressed in a data
        structure containing multiple properties.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar unstructured_price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption Line. Unstructured
        Price</ns1:DictionaryEntryName> <ns1:Definition>The price
        associated with this consumption line expressed in a less
        structured form that includes just the amount and the time of
        use.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Unstructured Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Unstructured
        Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Unstructured
        Price</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    parent_document_line_reference_id: Optional[
        ParentDocumentLineReferenceId
    ] = field(
        default=None,
        metadata={
            "name": "ParentDocumentLineReferenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    invoiced_quantity: Optional[InvoicedQuantity] = field(
        default=None,
        metadata={
            "name": "InvoicedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    line_extension_amount: Optional[LineExtensionAmount] = field(
        default=None,
        metadata={
            "name": "LineExtensionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    period: Optional[Period] = field(
        default=None,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery: list[Delivery] = field(
        default_factory=list,
        metadata={
            "name": "Delivery",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_total: list[TaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    utility_item: Optional[UtilityItem] = field(
        default=None,
        metadata={
            "name": "UtilityItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    price: Optional[Price] = field(
        default=None,
        metadata={
            "name": "Price",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    unstructured_price: Optional[UnstructuredPrice] = field(
        default=None,
        metadata={
            "name": "UnstructuredPrice",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ForecastLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Forecast
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>Detailed
    information about a particular Forecast Line within a Forecast
    Document</ns1:Definition> <ns1:ObjectClass>Forecast
    Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this forecast line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Forecast
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar frozen_document_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Line. Frozen Document
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that the status of the forecast is
        modifiable (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Frozen Document Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar forecast_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Line. Forecast Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of forecast. Examples: BASE PROMOTIONAL SEASONAL
        TOTAL</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Forecast Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>seasonal,
        total</ns1:Examples> </ns1:Component>
    :ivar forecast_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Line. Forecast_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period to
        which the forecast applies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Forecast</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar sales_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Line. Sales
        Item</ns1:DictionaryEntryName> <ns1:Definition>Sales information
        for the item to which this line applies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Sales Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Sales
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Sales
        Item</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    frozen_document_indicator: Optional[FrozenDocumentIndicator] = field(
        default=None,
        metadata={
            "name": "FrozenDocumentIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    forecast_type_code: Optional[ForecastTypeCode] = field(
        default=None,
        metadata={
            "name": "ForecastTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    forecast_period: Optional[ForecastPeriod] = field(
        default=None,
        metadata={
            "name": "ForecastPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    sales_item: Optional[SalesItem] = field(
        default=None,
        metadata={
            "name": "SalesItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ForecastRevisionLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Forecast
    Revision Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Forecast Revision describing a revision to a line in a
    Forecast.</ns1:Definition> <ns1:ObjectClass>Forecast Revision
    Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Revision Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this forecast revision line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Forecast
        Revision Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Revision Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Revision Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Revision Line. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the revision to this line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Revision Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar revised_forecast_line_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Revision Line. Revised_
        Forecast Line Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the revised forecast
        line.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Revision Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Revised</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Forecast Line Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar source_forecast_issue_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Revision Line. Source
        Forecast_ Issue Date. Date</ns1:DictionaryEntryName>
        <ns1:Definition>The date on which the forecast modified by this
        revision was generated or created.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Forecast
        Revision Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Source
        Forecast</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Issue
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar source_forecast_issue_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Revision Line. Source
        Forecast_ Issue Time. Time</ns1:DictionaryEntryName>
        <ns1:Definition>The time at which the forecast modified by this
        revision was generated or created.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Forecast
        Revision Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Source
        Forecast</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Issue
        Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar adjustment_reason_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Revision Line. Adjustment
        Reason Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying the reason for the adjustment specified in this
        forecast revision line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Revision Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Adjustment Reason Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar forecast_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Revision Line. Forecast_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period to which this forecast revision line
        applies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Revision Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Forecast</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar sales_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Forecast Revision Line. Sales
        Item</ns1:DictionaryEntryName> <ns1:Definition>Sales information
        for the item to which this line applies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Forecast Revision Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Sales Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Sales
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Sales
        Item</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    revised_forecast_line_id: Optional[RevisedForecastLineId] = field(
        default=None,
        metadata={
            "name": "RevisedForecastLineID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    source_forecast_issue_date: Optional[SourceForecastIssueDate] = field(
        default=None,
        metadata={
            "name": "SourceForecastIssueDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    source_forecast_issue_time: Optional[SourceForecastIssueTime] = field(
        default=None,
        metadata={
            "name": "SourceForecastIssueTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    adjustment_reason_code: Optional[AdjustmentReasonCode] = field(
        default=None,
        metadata={
            "name": "AdjustmentReasonCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    forecast_period: Optional[ForecastPeriod] = field(
        default=None,
        metadata={
            "name": "ForecastPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    sales_item: Optional[SalesItem] = field(
        default=None,
        metadata={
            "name": "SalesItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class GoodsItemType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Goods
    Item.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a separately identifiable quantity of goods of a single
    product type.</ns1:Definition> <ns1:ObjectClass>Goods
    Item</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this goods item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar sequence_number_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Sequence Number.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A sequence
        number differentiating a specific goods item within a
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Sequence
        Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this goods item to identify it for customs, statistical, or
        transport purposes.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Description of goods (WCO ID
        137)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar hazardous_risk_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Hazardous Risk_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An
        indication that the transported goods item is subject to an
        international regulation concerning the carriage of dangerous
        goods (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTermQualifier>Hazardous
        Risk</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>default is negative</ns1:Examples>
        </ns1:Component>
    :ivar declared_customs_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Declared Customs_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        declared value for customs purposes of the goods
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Goods Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Declared
        Customs</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>For Customs Value (WCO ID
        108)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar declared_for_carriage_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Declared For Carriage_
        Value. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        value of this goods item, declared by the shipper or his agent
        solely for the purpose of varying the carrier's level of
        liability from that provided in the contract of carriage, in
        case of loss or damage to goods or delayed
        delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTermQualifier>Declared For
        Carriage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Interest in delivery, declared
        value for carriage</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar declared_statistics_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Declared Statistics_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        declared value of all the goods items in the same consignment
        with this goods item that have the same statistical
        heading.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTermQualifier>Declared
        Statistics</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Statistical Value (WCO ID
        114)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar free_on_board_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Free On Board_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount that has to be or has been paid as calculated under the
        applicable trade delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTermQualifier>Free On
        Board</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>FOB
        Value</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar insurance_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Insurance_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount
        covered by insurance for this goods item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Insurance</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Value
        Insured</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount on
        which a duty, tax, or fee will be assessed.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar gross_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Gross_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The weight of
        this goods item, including packing and packaging but excluding
        the carrier's equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Gross</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Actual Gross
        Weight</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar net_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Net_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The weight of
        this goods item, excluding packing but including packaging that
        normally accompanies the goods.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar net_net_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Net Net_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total
        weight of this goods item, excluding all packing and
        packaging.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTermQualifier>Net
        Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Customs Weight (WCO ID
        128)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar chargeable_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Chargeable_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The weight on
        which a charge is to be based.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Chargeable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar gross_volume_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Gross_ Volume.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The volume of
        this goods item, normally calculated by multiplying its maximum
        length, width, and height.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Gross</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Volume</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Volume, Gross Measurement Cube
        (GMC), Cube (WCO ID 134)</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar net_volume_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Net_ Volume.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The volume
        contained by a goods item, excluding the volume of any packaging
        material.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Volume</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The number of
        units making up this goods item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar preference_criterion_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Preference Criterion Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the treatment preference for this goods item according to
        international trading agreements.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Preference Criterion
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Preference
        Criterion is used in the following manner in the paper CO of
        another country (e.g.): A - The good is wholly obtained or
        produced entirely in the territory of one or more of the NAFTA
        countries as reference in Article 415. Note: The purchase of a
        good in the territory does not necessarily render it wholly
        obtained or produced . If the good is an agricultural good, see
        also criterion F and Annex 703.2. (Reference: Article 401(a),
        415). B - ... C - ... D - ... E - ... F - The good is an
        originating agricultural good under preference criterion A,B, or
        C above and is not subjected to quantitative restriction in the
        importing NAFTA country because.... Thus, the column Preference
        Criterion will indicate either A, B, C,...</ns1:Examples>
        </ns1:Component>
    :ivar required_customs_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Required_ Customs
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for a set of tariff codes required
        to specify a type of goods for customs, transport, statistical,
        or other regulatory purposes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customs Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Tariff code extensions (WCO ID
        255)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar customs_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Customs Status Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code assigned
        by customs to signify the status of this goods
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Goods Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Customs Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Customs status of goods (WCO ID
        094)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar customs_tariff_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Customs Tariff Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>Quantity of
        the units in this goods item as required by customs for tariff,
        statistical, or fiscal purposes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Customs Tariff
        Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar customs_import_classified_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Customs Import_ Classified
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this goods item has been
        classified for import by customs (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTermQualifier>Customs
        Import</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Classified
        Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar chargeable_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Chargeable_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The number of
        units in the goods item to which charges apply.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Chargeable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar returnable_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Returnable_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The number of
        units in the goods item that may be returned.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Returnable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar trace_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Trace_ Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for use in tracing this goods item, such as the EPC
        number used in RFID.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Trace</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item.
        Item</ns1:DictionaryEntryName> <ns1:Definition>Product
        information relating to a goods item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar goods_item_container: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Goods Item
        Container</ns1:DictionaryEntryName> <ns1:Definition>The
        transporting of a goods item in a unit of transport equipment
        (e.g., container).</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Goods Item
        Container</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Goods
        Item Container</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Goods Item
        Container</ns1:RepresentationTerm> </ns1:Component>
    :ivar freight_allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Freight_ Allowance Charge.
        Allowance Charge</ns1:DictionaryEntryName> <ns1:Definition>A
        cost incurred by the shipper in moving goods, by whatever means,
        from one place to another under the terms of the contract of
        carriage. In addition to transport costs, this may include such
        elements as packing, documentation, loading, unloading, and
        insurance to the extent that they relate to the freight
        costs.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Goods Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Freight</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Freight
        Costs</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar invoice_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Invoice
        Line</ns1:DictionaryEntryName> <ns1:Definition>Information about
        an invoice line relating to this goods item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Invoice
        Line</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Invoice
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Invoice
        Line</ns1:RepresentationTerm> </ns1:Component>
    :ivar temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item.
        Temperature</ns1:DictionaryEntryName> <ns1:Definition>The
        temperature of the goods item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        <ns1:Examples>maximum, storage, minimum</ns1:Examples>
        </ns1:Component>
    :ivar contained_goods_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Contained_ Goods Item.
        Goods Item</ns1:DictionaryEntryName> <ns1:Definition>A goods
        item contained in this goods item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contained</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Goods Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Goods
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Goods
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar origin_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Origin_ Address.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The region in
        which the goods have been produced or manufactured, according to
        criteria laid down for the purposes of application of the
        customs tariff, or of quantitative restrictions, or of any other
        measure related to trade.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Origin</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Region of origin (WCO ID
        066)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar delivery: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item.
        Delivery</ns1:DictionaryEntryName> <ns1:Definition>The delivery
        of this goods item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar pickup: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item.
        Pickup</ns1:DictionaryEntryName> <ns1:Definition>The pickup of
        this goods item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Pickup</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Pickup</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Pickup</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar despatch: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item.
        Despatch</ns1:DictionaryEntryName> <ns1:Definition>The despatch
        of this goods item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Despatch</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Despatch</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Despatch</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar measurement_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Measurement_ Dimension.
        Dimension</ns1:DictionaryEntryName> <ns1:Definition>A measurable
        dimension (length, mass, weight, or volume) of this goods
        item.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Goods Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Measurement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar containing_package: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Containing_ Package.
        Package</ns1:DictionaryEntryName> <ns1:Definition>A package
        containing this goods item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Containing</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Package</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Package</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Package</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar shipment_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Shipment_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a shipping document associated
        with this goods item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Shipment</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar minimum_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Minimum_ Temperature.
        Temperature</ns1:DictionaryEntryName>
        <ns1:Definition>Information about minimum
        temperature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar maximum_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item. Maximum_ Temperature.
        Temperature</ns1:DictionaryEntryName>
        <ns1:Definition>Information about maximum
        temperature.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    sequence_number_id: Optional[SequenceNumberId] = field(
        default=None,
        metadata={
            "name": "SequenceNumberID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    hazardous_risk_indicator: Optional[HazardousRiskIndicator] = field(
        default=None,
        metadata={
            "name": "HazardousRiskIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    declared_customs_value_amount: Optional[DeclaredCustomsValueAmount] = (
        field(
            default=None,
            metadata={
                "name": "DeclaredCustomsValueAmount",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    declared_for_carriage_value_amount: Optional[
        DeclaredForCarriageValueAmount
    ] = field(
        default=None,
        metadata={
            "name": "DeclaredForCarriageValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    declared_statistics_value_amount: Optional[
        DeclaredStatisticsValueAmount
    ] = field(
        default=None,
        metadata={
            "name": "DeclaredStatisticsValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    free_on_board_value_amount: Optional[FreeOnBoardValueAmount] = field(
        default=None,
        metadata={
            "name": "FreeOnBoardValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    insurance_value_amount: Optional[InsuranceValueAmount] = field(
        default=None,
        metadata={
            "name": "InsuranceValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    value_amount: Optional[ValueAmount] = field(
        default=None,
        metadata={
            "name": "ValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gross_weight_measure: Optional[GrossWeightMeasure] = field(
        default=None,
        metadata={
            "name": "GrossWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_weight_measure: Optional[NetWeightMeasure] = field(
        default=None,
        metadata={
            "name": "NetWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_net_weight_measure: Optional[NetNetWeightMeasure] = field(
        default=None,
        metadata={
            "name": "NetNetWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    chargeable_weight_measure: Optional[ChargeableWeightMeasure] = field(
        default=None,
        metadata={
            "name": "ChargeableWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gross_volume_measure: Optional[GrossVolumeMeasure] = field(
        default=None,
        metadata={
            "name": "GrossVolumeMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_volume_measure: Optional[NetVolumeMeasure] = field(
        default=None,
        metadata={
            "name": "NetVolumeMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    preference_criterion_code: Optional[PreferenceCriterionCode] = field(
        default=None,
        metadata={
            "name": "PreferenceCriterionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    required_customs_id: Optional[RequiredCustomsId] = field(
        default=None,
        metadata={
            "name": "RequiredCustomsID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    customs_status_code: Optional[CustomsStatusCode] = field(
        default=None,
        metadata={
            "name": "CustomsStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    customs_tariff_quantity: Optional[CustomsTariffQuantity] = field(
        default=None,
        metadata={
            "name": "CustomsTariffQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    customs_import_classified_indicator: Optional[
        CustomsImportClassifiedIndicator
    ] = field(
        default=None,
        metadata={
            "name": "CustomsImportClassifiedIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    chargeable_quantity: Optional[ChargeableQuantity] = field(
        default=None,
        metadata={
            "name": "ChargeableQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    returnable_quantity: Optional[ReturnableQuantity] = field(
        default=None,
        metadata={
            "name": "ReturnableQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    trace_id: Optional[TraceId] = field(
        default=None,
        metadata={
            "name": "TraceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    item: list[Item] = field(
        default_factory=list,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    goods_item_container: list["GoodsItemContainer"] = field(
        default_factory=list,
        metadata={
            "name": "GoodsItemContainer",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    freight_allowance_charge: list[FreightAllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "FreightAllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    invoice_line: list["InvoiceLine"] = field(
        default_factory=list,
        metadata={
            "name": "InvoiceLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    temperature: list[Temperature] = field(
        default_factory=list,
        metadata={
            "name": "Temperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contained_goods_item: list["ContainedGoodsItem"] = field(
        default_factory=list,
        metadata={
            "name": "ContainedGoodsItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    origin_address: Optional[OriginAddress] = field(
        default=None,
        metadata={
            "name": "OriginAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery: Optional[Delivery] = field(
        default=None,
        metadata={
            "name": "Delivery",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pickup: Optional[Pickup] = field(
        default=None,
        metadata={
            "name": "Pickup",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch: Optional[Despatch] = field(
        default=None,
        metadata={
            "name": "Despatch",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    measurement_dimension: list[MeasurementDimension] = field(
        default_factory=list,
        metadata={
            "name": "MeasurementDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    containing_package: list["ContainingPackage"] = field(
        default_factory=list,
        metadata={
            "name": "ContainingPackage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    shipment_document_reference: Optional[ShipmentDocumentReference] = field(
        default=None,
        metadata={
            "name": "ShipmentDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    minimum_temperature: Optional[MinimumTemperature] = field(
        default=None,
        metadata={
            "name": "MinimumTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    maximum_temperature: Optional[MaximumTemperature] = field(
        default=None,
        metadata={
            "name": "MaximumTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ItemInformationRequestLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Item
    Information Request Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in an Item Information Request asking a trading partner for
    item information.</ns1:Definition> <ns1:ObjectClass>Item Information
    Request Line</ns1:ObjectClass> </ns1:Component>

    :ivar time_frequency_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Information Request Line. Time
        Frequency Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying the frequency with which item information should
        be sent to the requester.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Information Request Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Time Frequency Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar supply_chain_activity_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Information Request Line. Supply
        Chain Activity Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code used to identify the type of supply chain
        activity about which information request is issued. Examples:
        CANCELED_ORDERS EMERGENCY_ORDERS ON_HAND ORDERS</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Information Request Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Supply Chain Activity Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar forecast_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Information Request Line. Forecast
        Type Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The
        information request can be either about supply chain activity or
        about forecasts or about performance metrics, so it should be
        optional</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Information Request Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Forecast Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar performance_metric_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Information Request Line.
        Performance Metric Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying a measure of
        performance.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Information Request Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Performance Metric Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Information Request Line.
        Period</ns1:DictionaryEntryName> <ns1:Definition>A period for
        which this information is requested.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Information Request Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar sales_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Information Request Line. Sales
        Item</ns1:DictionaryEntryName> <ns1:Definition>Sales information
        for the item to which this line applies.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Information Request Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Sales Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Sales
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Sales
        Item</ns1:RepresentationTerm> </ns1:Component>
    """

    time_frequency_code: Optional[TimeFrequencyCode] = field(
        default=None,
        metadata={
            "name": "TimeFrequencyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    supply_chain_activity_type_code: Optional[SupplyChainActivityTypeCode] = (
        field(
            default=None,
            metadata={
                "name": "SupplyChainActivityTypeCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    forecast_type_code: Optional[ForecastTypeCode] = field(
        default=None,
        metadata={
            "name": "ForecastTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    performance_metric_type_code: Optional[PerformanceMetricTypeCode] = field(
        default=None,
        metadata={
            "name": "PerformanceMetricTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    period: list[Period] = field(
        default_factory=list,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )
    sales_item: list[SalesItem] = field(
        default_factory=list,
        metadata={
            "name": "SalesItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )


@dataclass
class PromotionalSpecificationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Promotional Specification.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a promotional event as a set of item locations that share a
    set of promotional tactics.</ns1:Definition>
    <ns1:ObjectClass>Promotional Specification</ns1:ObjectClass>
    </ns1:Component>

    :ivar specification_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Promotional Specification.
        Specification Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for this promotional
        specification.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Promotional Specification</ns1:ObjectClass>
        <ns1:PropertyTerm>Specification Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar promotional_event_line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Promotional Specification. Promotional
        Event Line Item</ns1:DictionaryEntryName> <ns1:Definition>A line
        item for a promotional event involving a specific product at a
        specific location; it describes the expected impacts associated
        with the event and specifies the promotional price of the
        item."</ns1:Definition> <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Promotional Specification</ns1:ObjectClass>
        <ns1:PropertyTerm>Promotional Event Line Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Promotional Event Line
        Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Promotional Event Line
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar event_tactic: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Promotional Specification. Event
        Tactic</ns1:DictionaryEntryName> <ns1:Definition>An event tactic
        associated with this promotion.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Promotional Specification</ns1:ObjectClass>
        <ns1:PropertyTerm>Event Tactic</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Event
        Tactic</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Event
        Tactic</ns1:RepresentationTerm> </ns1:Component>
    """

    specification_id: Optional[SpecificationId] = field(
        default=None,
        metadata={
            "name": "SpecificationID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    promotional_event_line_item: list[PromotionalEventLineItem] = field(
        default_factory=list,
        metadata={
            "name": "PromotionalEventLineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )
    event_tactic: list[EventTactic] = field(
        default_factory=list,
        metadata={
            "name": "EventTactic",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ReminderLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Reminder
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Reminder document.</ns1:Definition>
    <ns1:ObjectClass>Reminder Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this reminder line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Reminder
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this reminder
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar balance_brought_forward_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Balance Brought Forward_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indication that this reminder line contains a
        balance brought forward (true) or does not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Balance Brought
        Forward</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar debit_line_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Debit_ Line Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount
        debited on this reminder line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Debit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar credit_line_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Credit_ Line Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount
        credited on this reminder line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Credit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Accounting Cost Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The buyer's
        accounting cost centre for this reminder line, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Accounting Cost.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The buyer's
        accounting cost centre for this reminder line, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar penalty_surcharge_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Penalty_ Surcharge
        Percent. Percent</ns1:DictionaryEntryName> <ns1:Definition>The
        penalty for late payment, expressed as a
        percentage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Penalty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Surcharge Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount on
        this reminder line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar payment_purpose_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Payment Purpose Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the business purpose for this payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Purpose Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar reminder_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Reminder_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>A period to
        which this reminder line applies.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Reminder</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar billing_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Billing
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a billing document associated with this reminder
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Billing Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Billing
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Billing
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar exchange_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Reminder Line. Exchange
        Rate</ns1:DictionaryEntryName> <ns1:Definition>The rate of
        exchange between the currency of the Reminder and the currency
        of the document described in the
        BillingReference.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Reminder Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Exchange Rate</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Exchange
        Rate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Exchange Rate</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    balance_brought_forward_indicator: Optional[
        BalanceBroughtForwardIndicator
    ] = field(
        default=None,
        metadata={
            "name": "BalanceBroughtForwardIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    debit_line_amount: Optional[DebitLineAmount] = field(
        default=None,
        metadata={
            "name": "DebitLineAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    credit_line_amount: Optional[CreditLineAmount] = field(
        default=None,
        metadata={
            "name": "CreditLineAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost_code: Optional[AccountingCostCode] = field(
        default=None,
        metadata={
            "name": "AccountingCostCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost: Optional[AccountingCost] = field(
        default=None,
        metadata={
            "name": "AccountingCost",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    penalty_surcharge_percent: Optional[PenaltySurchargePercent] = field(
        default=None,
        metadata={
            "name": "PenaltySurchargePercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    amount: Optional[Amount] = field(
        default=None,
        metadata={
            "name": "Amount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_purpose_code: Optional[PaymentPurposeCode] = field(
        default=None,
        metadata={
            "name": "PaymentPurposeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reminder_period: list[ReminderPeriod] = field(
        default_factory=list,
        metadata={
            "name": "ReminderPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    billing_reference: list[BillingReference] = field(
        default_factory=list,
        metadata={
            "name": "BillingReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    exchange_rate: Optional[ExchangeRate] = field(
        default=None,
        metadata={
            "name": "ExchangeRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class RemittanceAdviceLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Remittance
    Advice Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Remittance Advice.</ns1:Definition>
    <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this remittance advice line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Remittance
        Advice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this remittance advice
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar debit_line_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Debit_ Line
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        amount debited on this remittance advice line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Debit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar credit_line_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Credit_ Line
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        amount credited on this remittance advice line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Credit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar balance_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Balance Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        balance associated with this remittance advice
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Balance Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar payment_purpose_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Payment Purpose
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the business purpose for this
        payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Purpose Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar invoicing_party_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Invoicing
        Party_ Reference. Text</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to the order for payment used by the
        invoicing party. This may have been requested of the payer by
        the payee to accompany its remittance.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Invoicing
        Party</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Reference</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_supplier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Accounting_
        Supplier Party. Supplier Party</ns1:DictionaryEntryName>
        <ns1:Definition>The Accounting Supplier Party related to the
        remittance information reported on this Remittance Advice
        Line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Accounting</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Supplier Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Supplier
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Supplier Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar accounting_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Accounting_
        Customer Party. Customer Party</ns1:DictionaryEntryName>
        <ns1:Definition>The Accounting Customer Party related to the
        remittance information reported on this Remittance Advice
        Line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Accounting</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar buyer_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Buyer_ Customer
        Party. Customer Party</ns1:DictionaryEntryName>
        <ns1:Definition>The buyer associated with this remittance advice
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Buyer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar seller_supplier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Seller_
        Supplier Party. Supplier Party</ns1:DictionaryEntryName>
        <ns1:Definition>The seller/supplier associated with this
        remittance advice line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Seller</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Supplier Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Supplier
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Supplier Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar originator_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Originator_
        Customer Party. Customer Party</ns1:DictionaryEntryName>
        <ns1:Definition>The originating party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Originator</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar payee_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Payee_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The
        payee.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Payee</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar invoice_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Invoice_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>An
        invoice period to which this remittance advice line
        applies.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Invoice</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar billing_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Billing
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a billing document associated with this remittance advice
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Billing Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Billing
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Billing
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this remittance advice
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar exchange_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Remittance Advice Line. Exchange
        Rate</ns1:DictionaryEntryName> <ns1:Definition>The rate of
        exchange between the currency of the Remittance Advice and the
        currency of the document described in the
        BillingReference.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Remittance Advice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Exchange Rate</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Exchange
        Rate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Exchange Rate</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    debit_line_amount: Optional[DebitLineAmount] = field(
        default=None,
        metadata={
            "name": "DebitLineAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    credit_line_amount: Optional[CreditLineAmount] = field(
        default=None,
        metadata={
            "name": "CreditLineAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    balance_amount: Optional[BalanceAmount] = field(
        default=None,
        metadata={
            "name": "BalanceAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_purpose_code: Optional[PaymentPurposeCode] = field(
        default=None,
        metadata={
            "name": "PaymentPurposeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    invoicing_party_reference: Optional[InvoicingPartyReference] = field(
        default=None,
        metadata={
            "name": "InvoicingPartyReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_supplier_party: Optional[AccountingSupplierParty] = field(
        default=None,
        metadata={
            "name": "AccountingSupplierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    accounting_customer_party: Optional[AccountingCustomerParty] = field(
        default=None,
        metadata={
            "name": "AccountingCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    buyer_customer_party: Optional[BuyerCustomerParty] = field(
        default=None,
        metadata={
            "name": "BuyerCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    seller_supplier_party: Optional[SellerSupplierParty] = field(
        default=None,
        metadata={
            "name": "SellerSupplierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    originator_customer_party: Optional[OriginatorCustomerParty] = field(
        default=None,
        metadata={
            "name": "OriginatorCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payee_party: Optional[PayeeParty] = field(
        default=None,
        metadata={
            "name": "PayeeParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    invoice_period: list[InvoicePeriod] = field(
        default_factory=list,
        metadata={
            "name": "InvoicePeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    billing_reference: list[BillingReference] = field(
        default_factory=list,
        metadata={
            "name": "BillingReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    exchange_rate: Optional[ExchangeRate] = field(
        default=None,
        metadata={
            "name": "ExchangeRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class StatementLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Statement
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Statement of account.</ns1:Definition>
    <ns1:ObjectClass>Statement Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this statement line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Statement
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this statement
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar balance_brought_forward_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Balance Brought
        Forward_ Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indication that this statement line contains
        an outstanding balance from the previous bill(s) (true) or does
        not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Balance Brought
        Forward</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar debit_line_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Debit_ Line Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount
        debited on this statement line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Debit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar credit_line_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Credit_ Line Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount
        credited on this statement line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Credit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar balance_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Balance Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The balance
        amount on this statement line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Balance Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar payment_purpose_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Payment Purpose Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the business purpose for this payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Purpose Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar payment_means: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Payment
        Means</ns1:DictionaryEntryName> <ns1:Definition>A means of
        payment associated with this statement line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Means</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Means</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Means</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Payment
        Terms</ns1:DictionaryEntryName> <ns1:Definition>A specification
        of payment terms associated with this statement
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar buyer_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Buyer_ Customer Party.
        Customer Party</ns1:DictionaryEntryName> <ns1:Definition>The
        buyer associated with this statement line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Buyer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar seller_supplier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Seller_ Supplier Party.
        Supplier Party</ns1:DictionaryEntryName> <ns1:Definition>The
        seller/supplier associated with this statement
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Seller</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Supplier Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Supplier
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Supplier Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar originator_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Originator_ Customer
        Party. Customer Party</ns1:DictionaryEntryName>
        <ns1:Definition>The originating party.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Originator</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar accounting_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Accounting_ Customer
        Party. Customer Party</ns1:DictionaryEntryName>
        <ns1:Definition>The Accounting Customer Party related to the
        statement information reported on this Statement
        Line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Accounting</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar accounting_supplier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Accounting_ Supplier
        Party. Supplier Party</ns1:DictionaryEntryName>
        <ns1:Definition>The Accounting Supplier Party related to the
        statement information reported on this Statement
        Line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Accounting</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Supplier Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Supplier
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Supplier Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar payee_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Payee_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The
        payee.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Payee</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar invoice_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Invoice_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>An invoice
        period to which this statement line applies.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Invoice</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar billing_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Billing
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a billing document associated with this statement
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Billing Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Billing
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Billing
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this statement
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar exchange_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Exchange
        Rate</ns1:DictionaryEntryName> <ns1:Definition>The rate of
        exchange between the currency of the Statement and the currency
        of the document described in the
        BillingReference.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Exchange Rate</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Exchange
        Rate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Exchange Rate</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>A charge or
        discount price component associated with this statement
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar collected_payment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Statement Line. Collected_ Payment.
        Payment</ns1:DictionaryEntryName> <ns1:Definition>A collected
        payment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Statement Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Collected</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Payment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    balance_brought_forward_indicator: Optional[
        BalanceBroughtForwardIndicator
    ] = field(
        default=None,
        metadata={
            "name": "BalanceBroughtForwardIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    debit_line_amount: Optional[DebitLineAmount] = field(
        default=None,
        metadata={
            "name": "DebitLineAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    credit_line_amount: Optional[CreditLineAmount] = field(
        default=None,
        metadata={
            "name": "CreditLineAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    balance_amount: Optional[BalanceAmount] = field(
        default=None,
        metadata={
            "name": "BalanceAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_purpose_code: Optional[PaymentPurposeCode] = field(
        default=None,
        metadata={
            "name": "PaymentPurposeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_means: Optional[PaymentMeans] = field(
        default=None,
        metadata={
            "name": "PaymentMeans",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payment_terms: list[PaymentTerms] = field(
        default_factory=list,
        metadata={
            "name": "PaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    buyer_customer_party: Optional[BuyerCustomerParty] = field(
        default=None,
        metadata={
            "name": "BuyerCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    seller_supplier_party: Optional[SellerSupplierParty] = field(
        default=None,
        metadata={
            "name": "SellerSupplierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    originator_customer_party: Optional[OriginatorCustomerParty] = field(
        default=None,
        metadata={
            "name": "OriginatorCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    accounting_customer_party: Optional[AccountingCustomerParty] = field(
        default=None,
        metadata={
            "name": "AccountingCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    accounting_supplier_party: Optional[AccountingSupplierParty] = field(
        default=None,
        metadata={
            "name": "AccountingSupplierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payee_party: Optional[PayeeParty] = field(
        default=None,
        metadata={
            "name": "PayeeParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    invoice_period: list[InvoicePeriod] = field(
        default_factory=list,
        metadata={
            "name": "InvoicePeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    billing_reference: list[BillingReference] = field(
        default_factory=list,
        metadata={
            "name": "BillingReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    exchange_rate: Optional[ExchangeRate] = field(
        default=None,
        metadata={
            "name": "ExchangeRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    collected_payment: list[CollectedPayment] = field(
        default_factory=list,
        metadata={
            "name": "CollectedPayment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TelecommunicationsSupplyLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Telecommunications Supply Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class that
    outlines the telecommunication supply in details</ns1:Definition>
    <ns1:ObjectClass>Telecommunications Supply Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this telecommunications supply
        line.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:Examples>1</ns1:Examples> </ns1:Component>
    :ivar phone_number: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply Line. Phone
        Number. Text</ns1:DictionaryEntryName> <ns1:Definition>The phone
        number used for this telecommunication supply
        line</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Phone
        Number</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>12345678</ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply Line.
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>The
        description of the telecommunication supply
        line</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Additional
        informations</ns1:Examples> </ns1:Component>
    :ivar line_extension_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply Line. Line
        Extension Amount. Amount</ns1:DictionaryEntryName>
        <ns1:Definition>An amount specifying the cost of this
        telecommunication line</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Line Extension
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar exchange_rate: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply Line.
        Exchange Rate</ns1:DictionaryEntryName>
        <ns1:Definition>Exchanges rates used to calculate the amount for
        this line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Exchange
        Rate</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Exchange
        Rate</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Exchange Rate</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply Line.
        Allowance Charge</ns1:DictionaryEntryName> <ns1:Definition>An
        allowance or charge that applies to this telecommunication
        supply line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Allowance
        Charge</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply Line. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>A total amount
        of taxes of a particular kind applicable to this
        telecommunications supply line</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Tax
        Total</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Tax
        Total</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Total</ns1:RepresentationTerm> </ns1:Component>
    :ivar telecommunications_service: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply Line.
        Telecommunications Service</ns1:DictionaryEntryName>
        <ns1:Definition>A telecommunications service (e.g., a telephone
        call).</ns1:Definition> <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Telecommunications
        Service</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Telecommunications
        Service</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Telecommunications
        Service</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    phone_number: Optional[PhoneNumber] = field(
        default=None,
        metadata={
            "name": "PhoneNumber",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_extension_amount: Optional[LineExtensionAmount] = field(
        default=None,
        metadata={
            "name": "LineExtensionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    exchange_rate: list[ExchangeRate] = field(
        default_factory=list,
        metadata={
            "name": "ExchangeRate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_total: list[TaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    telecommunications_service: list[TelecommunicationsService] = field(
        default_factory=list,
        metadata={
            "name": "TelecommunicationsService",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )


@dataclass
class ActivityDataLine(ActivityDataLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConsumptionLine(ConsumptionLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContainedGoodsItem(GoodsItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ForecastLine(ForecastLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ForecastRevisionLine(ForecastRevisionLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class GoodsItem(GoodsItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemInformationRequestLine(ItemInformationRequestLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PromotionalSpecification(PromotionalSpecificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReferencedGoodsItem(GoodsItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReminderLine(ReminderLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RemittanceAdviceLine(RemittanceAdviceLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class StatementLine(StatementLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SupplyChainActivityDataLine(ActivityDataLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TelecommunicationsSupplyLine(TelecommunicationsSupplyLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PackageType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Package.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a package.</ns1:Definition>
    <ns1:ObjectClass>Package</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this package.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of items contained in this package.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar returnable_material_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package. Returnable Material_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that the packaging material is
        returnable (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Returnable
        Material</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar package_level_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package. Package Level Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        a level of packaging.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTerm>Package Level Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar packaging_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package. Packaging Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        a type of packaging.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTerm>Packaging Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Packaging Type</ns1:DataTypeQualifier>
        <ns1:DataType>Packaging Type_ Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Package classification
        code</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar packing_material: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package. Packing Material.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the packaging material.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTerm>Packing Material</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar trace_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package. Trace_ Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for use in tracing this package, such as the EPC
        number used in RFID.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Trace</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar contained_package: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package. Contained_ Package.
        Package</ns1:DictionaryEntryName> <ns1:Definition>A package
        contained within this package.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contained</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Package</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Package</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Package</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar containing_transport_equipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package. Containing_ Transport
        Equipment. Transport Equipment</ns1:DictionaryEntryName>
        <ns1:Definition>The piece of transport equipment containing this
        package.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Containing</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Equipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Equipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport
        Equipment</ns1:RepresentationTerm> </ns1:Component>
    :ivar goods_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package. Goods
        Item</ns1:DictionaryEntryName> <ns1:Definition>A goods item
        included in this package.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTerm>Goods Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Goods
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Goods
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar measurement_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package. Measurement_ Dimension.
        Dimension</ns1:DictionaryEntryName> <ns1:Definition>A measurable
        dimension (length, mass, weight, or volume) of this
        package.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Measurement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery_unit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package. Delivery
        Unit</ns1:DictionaryEntryName> <ns1:Definition>A delivery unit
        within this package.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery Unit</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery
        Unit</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery Unit</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package.
        Delivery</ns1:DictionaryEntryName> <ns1:Definition>The delivery
        of this package.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar pickup: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package.
        Pickup</ns1:DictionaryEntryName> <ns1:Definition>The pickup of
        this package.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTerm>Pickup</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Pickup</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Pickup</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar despatch: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Package.
        Despatch</ns1:DictionaryEntryName> <ns1:Definition>The despatch
        of this package.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Package</ns1:ObjectClass>
        <ns1:PropertyTerm>Despatch</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Despatch</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Despatch</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    returnable_material_indicator: Optional[ReturnableMaterialIndicator] = (
        field(
            default=None,
            metadata={
                "name": "ReturnableMaterialIndicator",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    package_level_code: Optional[PackageLevelCode] = field(
        default=None,
        metadata={
            "name": "PackageLevelCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    packaging_type_code: Optional[PackagingTypeCode] = field(
        default=None,
        metadata={
            "name": "PackagingTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    packing_material: list[PackingMaterial] = field(
        default_factory=list,
        metadata={
            "name": "PackingMaterial",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    trace_id: Optional[TraceId] = field(
        default=None,
        metadata={
            "name": "TraceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contained_package: list["ContainedPackage"] = field(
        default_factory=list,
        metadata={
            "name": "ContainedPackage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    containing_transport_equipment: Optional[
        "ContainingTransportEquipment"
    ] = field(
        default=None,
        metadata={
            "name": "ContainingTransportEquipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    goods_item: list[GoodsItem] = field(
        default_factory=list,
        metadata={
            "name": "GoodsItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    measurement_dimension: list[MeasurementDimension] = field(
        default_factory=list,
        metadata={
            "name": "MeasurementDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_unit: list[DeliveryUnit] = field(
        default_factory=list,
        metadata={
            "name": "DeliveryUnit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery: Optional[Delivery] = field(
        default=None,
        metadata={
            "name": "Delivery",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pickup: Optional[Pickup] = field(
        default=None,
        metadata={
            "name": "Pickup",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch: Optional[Despatch] = field(
        default=None,
        metadata={
            "name": "Despatch",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PromotionalEventType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Promotional Event.

    Details</ns1:DictionaryEntryName> <ns1:Definition>Agree can be
    renamed as PromotionalEvents</ns1:Definition>
    <ns1:ObjectClass>Promotional Event</ns1:ObjectClass>
    </ns1:Component>

    :ivar promotional_event_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Promotional Event. Promotional Event
        Type Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of this promotional event. Examples can be:
        Holiday, Seasonal Event, Store Closing, Trade Item
        Introduction</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Promotional Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Promotional Event Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar submission_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Promotional Event. Submission.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        a proposal for this promotional event was
        submitted.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Promotional Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Submission</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar first_shipment_availibility_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Promotional Event. First Shipment
        Availibility Date. Date</ns1:DictionaryEntryName>
        <ns1:Definition>The first day that products will be available to
        ship from buyer to seller if the proposal for this promotional
        event is accepted.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Promotional Event</ns1:ObjectClass>
        <ns1:PropertyTerm>First Shipment Availibility
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar latest_proposal_acceptance_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Promotional Event. Latest_ Proposal
        Acceptance Date. Date</ns1:DictionaryEntryName>
        <ns1:Definition>The deadline for acceptance of this promotional
        event.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Promotional Event</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latest</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Proposal Acceptance Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar promotional_specification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Promotional Event. Promotional
        Specification</ns1:DictionaryEntryName> <ns1:Definition>A
        specification for a promotional event.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Promotional Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Promotional Specification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Promotional
        Specification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Promotional
        Specification</ns1:RepresentationTerm> </ns1:Component>
    """

    promotional_event_type_code: Optional[PromotionalEventTypeCode] = field(
        default=None,
        metadata={
            "name": "PromotionalEventTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    submission_date: Optional[SubmissionDate] = field(
        default=None,
        metadata={
            "name": "SubmissionDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    first_shipment_availibility_date: Optional[
        FirstShipmentAvailibilityDate
    ] = field(
        default=None,
        metadata={
            "name": "FirstShipmentAvailibilityDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latest_proposal_acceptance_date: Optional[LatestProposalAcceptanceDate] = (
        field(
            default=None,
            metadata={
                "name": "LatestProposalAcceptanceDate",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    promotional_specification: list[PromotionalSpecification] = field(
        default_factory=list,
        metadata={
            "name": "PromotionalSpecification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )


@dataclass
class ShipmentType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Shipment.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class defining
    an identifiable collection of one or more goods items to be
    transported between the seller party and the buyer party. This
    information may be defined within a commercial contract. A shipment
    can be transported in different consignments (e.g., split for
    logistical purposes).</ns1:Definition>
    <ns1:ObjectClass>Shipment</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this shipment.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Waybill
        Number</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar shipping_priority_level_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Shipping Priority Level Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the priority or level of service required for this
        shipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Shipping Priority Level
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Service Level, Service
        Priority</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar handling_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Handling Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The handling
        required for this shipment, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Handling Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Special
        Handling</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar handling_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Handling_ Instructions.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The handling
        required for this shipment, expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Handling</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar information: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Information.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        pertinent to this shipment, conveying information that is not
        contained explicitly in other structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Information</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar gross_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Gross_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total
        gross weight of a shipment; the weight of the goods plus
        packaging plus transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Gross</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar net_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Net_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The net weight
        of this shipment, excluding packaging.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar net_net_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Net Net_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total net
        weight of this shipment, excluding packaging and transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Net Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar gross_volume_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Gross_ Volume.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total
        volume of the goods in this shipment, including
        packaging.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Gross</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Volume</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar net_volume_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Net_ Volume.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The total
        volume of the goods in this shipment, excluding packaging and
        transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Net</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Volume</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar total_goods_item_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Total_ Goods Item Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The total
        number of goods items in this shipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Goods Item Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar total_transport_handling_unit_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Total_ Transport Handling
        Unit Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>The number of pieces of transport handling
        equipment (pallets, boxes, cases, etc.) in this
        shipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Handling Unit
        Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Number of
        THUs</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar insurance_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Insurance_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount
        covered by insurance for this shipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Insurance</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Value
        Insured</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar declared_customs_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Declared Customs_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        declared value for customs purposes of those goods in this
        shipment that are subject to the same customs procedure and have
        the same tariff/statistical heading, country information, and
        duty regime.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Declared
        Customs</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar declared_for_carriage_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Declared For Carriage_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The value of
        this shipment, declared by the shipper or his agent solely for
        the purpose of varying the carrier's level of liability from
        that provided in the contract of carriage, in case of loss or
        damage to goods or delayed delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Declared For
        Carriage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Declared value for carriage,
        Interest in delivery</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar declared_statistics_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Declared Statistics_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The value,
        declared for statistical purposes, of those goods in this
        shipment that have the same statistical
        heading.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Declared
        Statistics</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Statistical
        Value</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar free_on_board_value_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Free On Board_ Value.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        amount that has to be or has been paid as calculated under the
        applicable trade delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Free On
        Board</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Value</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>FOB
        Value</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar special_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Special_ Instructions.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Special
        instructions relating to this shipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Special</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar delivery_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Delivery_ Instructions.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Delivery
        instructions relating to this shipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar split_consignment_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Split Consignment_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that the consignment has been split in transit (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Split
        Consignment</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar consignment_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Consignment_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The total
        number of consignments within this shipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Consignment</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar consignment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment.
        Consignment</ns1:DictionaryEntryName> <ns1:Definition>A
        consignment covering this shipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Consignment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consignment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consignment</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar goods_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Goods
        Item</ns1:DictionaryEntryName> <ns1:Definition>A goods item
        included in this shipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Goods Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Goods
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Goods
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar shipment_stage: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Shipment
        Stage</ns1:DictionaryEntryName> <ns1:Definition>A stage in the
        transport movement of this shipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Shipment Stage</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment
        Stage</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment Stage</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment.
        Delivery</ns1:DictionaryEntryName> <ns1:Definition>The delivery
        of this shipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar transport_handling_unit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Transport Handling
        Unit</ns1:DictionaryEntryName> <ns1:Definition>A transport
        handling unit associated with this shipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Handling Unit</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport Handling
        Unit</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Handling
        Unit</ns1:RepresentationTerm> </ns1:Component>
    :ivar return_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Return_ Address.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The address to
        which a shipment should be returned.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Return</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar origin_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Origin_ Address.
        Address</ns1:DictionaryEntryName> <ns1:Definition>The region in
        which the goods have been produced or manufactured, according to
        criteria laid down for the purposes of application of the
        customs tariff, or of quantitative restrictions, or of any other
        measure related to trade.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Origin</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar first_arrival_port_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. First Arrival Port_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The first
        arrival location of a shipment. This would be a port for sea, an
        airport for air, a terminal for rail, or a border post for land
        crossing.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>First Arrival
        Port</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar last_exit_port_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Last Exit Port_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The final
        exporting location for a shipment. This would be a port for sea,
        an airport for air, a terminal for rail, or a border post for
        land crossing.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Last Exit
        Port</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar export_country: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Export_ Country.
        Country</ns1:DictionaryEntryName> <ns1:Definition>The country
        from which the goods were originally exported, without any
        commercial transaction taking place in intermediate
        countries.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Export</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Country</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Country</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Country</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Country of exportation (WCO ID
        062)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar freight_allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment. Freight_ Allowance Charge.
        Allowance Charge</ns1:DictionaryEntryName> <ns1:Definition>A
        cost incurred by the shipper in moving goods, by whatever means,
        from one place to another under the terms of the contract of
        carriage. In addition to transport costs, this may include such
        elements as packing, documentation, loading, unloading, and
        insurance to the extent that they relate to the freight
        costs.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Freight</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Freight
        Costs</ns1:AlternativeBusinessTerms> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    shipping_priority_level_code: Optional[ShippingPriorityLevelCode] = field(
        default=None,
        metadata={
            "name": "ShippingPriorityLevelCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    handling_code: Optional[HandlingCode] = field(
        default=None,
        metadata={
            "name": "HandlingCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    handling_instructions: list[HandlingInstructions] = field(
        default_factory=list,
        metadata={
            "name": "HandlingInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    information: list[Information] = field(
        default_factory=list,
        metadata={
            "name": "Information",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gross_weight_measure: Optional[GrossWeightMeasure] = field(
        default=None,
        metadata={
            "name": "GrossWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_weight_measure: Optional[NetWeightMeasure] = field(
        default=None,
        metadata={
            "name": "NetWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_net_weight_measure: Optional[NetNetWeightMeasure] = field(
        default=None,
        metadata={
            "name": "NetNetWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gross_volume_measure: Optional[GrossVolumeMeasure] = field(
        default=None,
        metadata={
            "name": "GrossVolumeMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    net_volume_measure: Optional[NetVolumeMeasure] = field(
        default=None,
        metadata={
            "name": "NetVolumeMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_goods_item_quantity: Optional[TotalGoodsItemQuantity] = field(
        default=None,
        metadata={
            "name": "TotalGoodsItemQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_transport_handling_unit_quantity: Optional[
        TotalTransportHandlingUnitQuantity
    ] = field(
        default=None,
        metadata={
            "name": "TotalTransportHandlingUnitQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    insurance_value_amount: Optional[InsuranceValueAmount] = field(
        default=None,
        metadata={
            "name": "InsuranceValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    declared_customs_value_amount: Optional[DeclaredCustomsValueAmount] = (
        field(
            default=None,
            metadata={
                "name": "DeclaredCustomsValueAmount",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    declared_for_carriage_value_amount: Optional[
        DeclaredForCarriageValueAmount
    ] = field(
        default=None,
        metadata={
            "name": "DeclaredForCarriageValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    declared_statistics_value_amount: Optional[
        DeclaredStatisticsValueAmount
    ] = field(
        default=None,
        metadata={
            "name": "DeclaredStatisticsValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    free_on_board_value_amount: Optional[FreeOnBoardValueAmount] = field(
        default=None,
        metadata={
            "name": "FreeOnBoardValueAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    special_instructions: list[SpecialInstructions] = field(
        default_factory=list,
        metadata={
            "name": "SpecialInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    delivery_instructions: list[DeliveryInstructions] = field(
        default_factory=list,
        metadata={
            "name": "DeliveryInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    split_consignment_indicator: Optional[SplitConsignmentIndicator] = field(
        default=None,
        metadata={
            "name": "SplitConsignmentIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consignment_quantity: Optional[ConsignmentQuantity] = field(
        default=None,
        metadata={
            "name": "ConsignmentQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    consignment: list[Consignment] = field(
        default_factory=list,
        metadata={
            "name": "Consignment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    goods_item: list[GoodsItem] = field(
        default_factory=list,
        metadata={
            "name": "GoodsItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    shipment_stage: list["ShipmentStage"] = field(
        default_factory=list,
        metadata={
            "name": "ShipmentStage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery: Optional[Delivery] = field(
        default=None,
        metadata={
            "name": "Delivery",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_handling_unit: list["TransportHandlingUnit"] = field(
        default_factory=list,
        metadata={
            "name": "TransportHandlingUnit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    return_address: Optional[ReturnAddress] = field(
        default=None,
        metadata={
            "name": "ReturnAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    origin_address: Optional[OriginAddress] = field(
        default=None,
        metadata={
            "name": "OriginAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    first_arrival_port_location: Optional[FirstArrivalPortLocation] = field(
        default=None,
        metadata={
            "name": "FirstArrivalPortLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    last_exit_port_location: Optional[LastExitPortLocation] = field(
        default=None,
        metadata={
            "name": "LastExitPortLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    export_country: Optional[ExportCountry] = field(
        default=None,
        metadata={
            "name": "ExportCountry",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    freight_allowance_charge: list[FreightAllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "FreightAllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TelecommunicationsSupplyType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Telecommunications Supply.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class describing
    the supply of a telecommunication service, e.g., providing telephone
    calls.</ns1:Definition> <ns1:ObjectClass>Telecommunications
    Supply</ns1:ObjectClass> </ns1:Component>

    :ivar telecommunications_supply_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply.
        Telecommunications Supply Type. Text</ns1:DictionaryEntryName>
        <ns1:Definition>The type of telecommunications supply, expressed
        as text.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply</ns1:ObjectClass>
        <ns1:PropertyTerm>Telecommunications Supply
        Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Itemized
        tele Statement</ns1:Examples> </ns1:Component>
    :ivar telecommunications_supply_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply.
        Telecommunications Supply Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The type of
        telecommunications supply, expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply</ns1:ObjectClass>
        <ns1:PropertyTerm>Telecommunications Supply Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>TeleExtended</ns1:Examples> </ns1:Component>
    :ivar privacy_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply. Privacy
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the level of confidentiality of this information for
        this telecommunication supply.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply</ns1:ObjectClass>
        <ns1:PropertyTerm>Privacy Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>CompanyLevel</ns1:Examples> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the telecommunications supply.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Extended
        conversation Statement January quarter 2008.</ns1:Examples>
        </ns1:Component>
    :ivar total_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply. Total_
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        total amount associated with this telecommunications
        supply.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar telecommunications_supply_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Telecommunications Supply.
        Telecommunications Supply Line</ns1:DictionaryEntryName>
        <ns1:Definition>Outlines the provided telecommunication
        supply</ns1:Definition> <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Telecommunications Supply</ns1:ObjectClass>
        <ns1:PropertyTerm>Telecommunications Supply
        Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Telecommunications Supply
        Line</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Telecommunications Supply
        Line</ns1:RepresentationTerm> </ns1:Component>
    """

    telecommunications_supply_type: Optional[
        UblCommonBasicComponents21TelecommunicationsSupplyType
    ] = field(
        default=None,
        metadata={
            "name": "TelecommunicationsSupplyType",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    telecommunications_supply_type_code: Optional[
        TelecommunicationsSupplyTypeCode
    ] = field(
        default=None,
        metadata={
            "name": "TelecommunicationsSupplyTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    privacy_code: Optional[PrivacyCode] = field(
        default=None,
        metadata={
            "name": "PrivacyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_amount: Optional[TotalAmount] = field(
        default=None,
        metadata={
            "name": "TotalAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    telecommunications_supply_line: list[TelecommunicationsSupplyLine] = field(
        default_factory=list,
        metadata={
            "name": "TelecommunicationsSupplyLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )


@dataclass
class ActualPackage(PackageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ConsolidatedShipment(ShipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContainedPackage(PackageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContainingPackage(PackageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Package(PackageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PromotionalEvent(PromotionalEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReferencedPackage(PackageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReferencedShipment(ShipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReportedShipment(ShipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Shipment(ShipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TelecommunicationsSupply(TelecommunicationsSupplyType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CertificateOfOriginApplicationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Certificate Of Origin Application.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    an application for a Certificate of Origin (CoO).</ns1:Definition>
    <ns1:ObjectClass>Certificate Of Origin Application</ns1:ObjectClass>
    </ns1:Component>

    :ivar reference_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Reference. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for a reference as part of the CoO
        application.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTerm>Reference</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar certificate_type: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Certificate Type. Text</ns1:DictionaryEntryName>
        <ns1:Definition>The type of CoO being applied for (Ordinary, Re-
        export, Commonwealth Preferential, etc.).</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass> <ns1:PropertyTerm>Certificate
        Type</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar application_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Application Status Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the status of the application
        (revision, replacement, etc.).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass> <ns1:PropertyTerm>Application
        Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar original_job_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Original_ Job Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>The latest job number given to the CoO
        application. This is used by the system to keep track of
        amendments to or cancellation of any earlier
        applications.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Original</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Job Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar previous_job_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Previous_ Job Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the previous job used in case
        the application requires query or change.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Previous</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Job Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar remarks: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Remarks. Text</ns1:DictionaryEntryName> <ns1:Definition>Remarks
        by the applicant for the CoO.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTerm>Remarks</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar shipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Shipment</ns1:DictionaryEntryName> <ns1:Definition>The shipment
        of goods covered by the CoO.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTerm>Shipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar endorser_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Endorser Party</ns1:DictionaryEntryName> <ns1:Definition>A party
        providing an endorsement to the CoO.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass> <ns1:PropertyTerm>Endorser
        Party</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Endorser
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Endorser Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar preparation_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Preparation_ Party. Party</ns1:DictionaryEntryName>
        <ns1:Definition>The party (individual, group, or body) that
        prepared this CoO application.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Preparation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar issuer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Issuer_ Party. Party</ns1:DictionaryEntryName>
        <ns1:Definition>The organization authorized to issue the CoO
        requested by this application.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Issuer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar exporter_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Exporter_ Party. Party</ns1:DictionaryEntryName>
        <ns1:Definition>The party making an export declaration, or on
        behalf of which the export declaration is made, and that is the
        owner of the goods or has similar right of disposal over them at
        the time when the declaration is accepted.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Exporter</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Exporter (WCO ID 41 and
        42)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar importer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Importer_ Party. Party</ns1:DictionaryEntryName>
        <ns1:Definition>The party making an import declaration, or on
        behalf of which a customs clearing agent or other authorized
        person makes an import declaration. This may include a person
        who has possession of the goods or to whom the goods are
        consigned.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Importer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Importer (WCO ID 39 and
        40)</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar issuing_country: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Issuing_ Country. Country</ns1:DictionaryEntryName>
        <ns1:Definition>The country where the requested CoO will be
        issued.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Issuing</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Country</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Country</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Country</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar document_distribution: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Document Distribution</ns1:DictionaryEntryName>
        <ns1:Definition>An interested party to which the CoO is to be
        distributed.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass> <ns1:PropertyTerm>Document
        Distribution</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Distribution</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Distribution</ns1:RepresentationTerm> </ns1:Component>
    :ivar supporting_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Supporting_ Document Reference. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document supporting this application.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Supporting</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar signature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Certificate Of Origin Application.
        Signature</ns1:DictionaryEntryName> <ns1:Definition>A signature
        applied to this application.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Certificate Of Origin
        Application</ns1:ObjectClass>
        <ns1:PropertyTerm>Signature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Signature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Signature</ns1:RepresentationTerm>
        </ns1:Component>
    """

    reference_id: Optional[ReferenceId] = field(
        default=None,
        metadata={
            "name": "ReferenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    certificate_type: Optional[UblCommonBasicComponents21CertificateType] = (
        field(
            default=None,
            metadata={
                "name": "CertificateType",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
                "required": True,
            },
        )
    )
    application_status_code: Optional[ApplicationStatusCode] = field(
        default=None,
        metadata={
            "name": "ApplicationStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    original_job_id: Optional[OriginalJobId] = field(
        default=None,
        metadata={
            "name": "OriginalJobID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    previous_job_id: Optional[PreviousJobId] = field(
        default=None,
        metadata={
            "name": "PreviousJobID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    remarks: list[Remarks] = field(
        default_factory=list,
        metadata={
            "name": "Remarks",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    shipment: Optional[Shipment] = field(
        default=None,
        metadata={
            "name": "Shipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    endorser_party: list[EndorserParty] = field(
        default_factory=list,
        metadata={
            "name": "EndorserParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )
    preparation_party: Optional[PreparationParty] = field(
        default=None,
        metadata={
            "name": "PreparationParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    issuer_party: Optional[IssuerParty] = field(
        default=None,
        metadata={
            "name": "IssuerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    exporter_party: Optional[ExporterParty] = field(
        default=None,
        metadata={
            "name": "ExporterParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    importer_party: Optional[ImporterParty] = field(
        default=None,
        metadata={
            "name": "ImporterParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    issuing_country: Optional[IssuingCountry] = field(
        default=None,
        metadata={
            "name": "IssuingCountry",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    document_distribution: list[DocumentDistribution] = field(
        default_factory=list,
        metadata={
            "name": "DocumentDistribution",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    supporting_document_reference: list[SupportingDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "SupportingDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    signature: list[Signature] = field(
        default_factory=list,
        metadata={
            "name": "Signature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ConsumptionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Consumption.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the consumption of a utility.</ns1:Definition>
    <ns1:ObjectClass>Consumption</ns1:ObjectClass> </ns1:Component>

    :ivar utility_statement_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption. Utility Statement Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        identifying the type of the Utility Statement required for this
        consumption. Explains the kind of utility the statement is
        about, e.g.. "gas", "electricity", "telephone"</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Utility Statement Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:Examples>Electricity</ns1:Examples> </ns1:Component>
    :ivar main_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption. Main_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period of
        consumption.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Main</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charges that may apply with this consumption.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>The total of
        taxes for each tax type covering the
        consumption.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tax Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar energy_water_supply: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption. Energy Water
        Supply</ns1:DictionaryEntryName> <ns1:Definition>The details of
        any energy or water consumption.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Energy Water Supply</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Energy Water
        Supply</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Energy Water
        Supply</ns1:RepresentationTerm> </ns1:Component>
    :ivar telecommunications_supply: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption. Telecommunications
        Supply</ns1:DictionaryEntryName> <ns1:Definition>The details of
        any telecommunications consumption.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Telecommunications Supply</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Telecommunications
        Supply</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Telecommunications
        Supply</ns1:RepresentationTerm> </ns1:Component>
    :ivar legal_monetary_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Consumption. Legal_ Monetary Total.
        Monetary Total</ns1:DictionaryEntryName> <ns1:Definition>The
        total amount payable on this consumption, including any
        allowances, charges, or taxes.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Consumption</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Legal</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Monetary Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Monetary
        Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Monetary Total</ns1:RepresentationTerm>
        </ns1:Component>
    """

    utility_statement_type_code: Optional[UtilityStatementTypeCode] = field(
        default=None,
        metadata={
            "name": "UtilityStatementTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    main_period: Optional[MainPeriod] = field(
        default=None,
        metadata={
            "name": "MainPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_total: list[TaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    energy_water_supply: Optional[EnergyWaterSupply] = field(
        default=None,
        metadata={
            "name": "EnergyWaterSupply",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    telecommunications_supply: Optional[TelecommunicationsSupply] = field(
        default=None,
        metadata={
            "name": "TelecommunicationsSupply",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    legal_monetary_total: Optional[LegalMonetaryTotal] = field(
        default=None,
        metadata={
            "name": "LegalMonetaryTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class ItemLocationQuantityType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Item
    Location Quantity.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class for
    information about pricing structure, lead time, and location
    associated with an item.</ns1:Definition> <ns1:ObjectClass>Item
    Location Quantity</ns1:ObjectClass> </ns1:Component>

    :ivar lead_time_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity. Lead Time.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The lead time,
        i.e., the time taken from the time at which an item is ordered
        to the time of its delivery.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Location Quantity</ns1:ObjectClass> <ns1:PropertyTerm>Lead
        Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> <ns1:Examples>2 days
        , 24 hours </ns1:Examples> </ns1:Component>
    :ivar minimum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity. Minimum_
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        minimum quantity that can be ordered to qualify for a specific
        price.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item Location Quantity</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>10
        boxes , 1 carton , 1000 sheets </ns1:Examples> </ns1:Component>
    :ivar maximum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity. Maximum_
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        maximum quantity that can be ordered to qualify for a specific
        price.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item Location Quantity</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>10
        boxes , 1 carton , 1000 sheets </ns1:Examples> </ns1:Component>
    :ivar hazardous_risk_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity. Hazardous Risk_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indication that the transported item, as
        delivered, in the stated quantity to the stated location, is
        subject to an international regulation concerning the carriage
        of dangerous goods (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Location Quantity</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Hazardous
        Risk</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>Default is negative</ns1:Examples>
        </ns1:Component>
    :ivar trading_restrictions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity. Trading
        Restrictions. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Text describing trade restrictions on the
        quantity of this item or on the item itself.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Location Quantity</ns1:ObjectClass> <ns1:PropertyTerm>Trading
        Restrictions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>not for
        export </ns1:Examples> </ns1:Component>
    :ivar applicable_territory_address: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity. Applicable
        Territory_ Address. Address</ns1:DictionaryEntryName>
        <ns1:Definition>The applicable sales territory.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Location Quantity</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Applicable
        Territory</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Address</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Address</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Address</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity.
        Price</ns1:DictionaryEntryName> <ns1:Definition>The price
        associated with the given location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Location Quantity</ns1:ObjectClass>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery_unit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity. Delivery
        Unit</ns1:DictionaryEntryName> <ns1:Definition>A delivery unit
        in which the item is located.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Location Quantity</ns1:ObjectClass> <ns1:PropertyTerm>Delivery
        Unit</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Delivery
        Unit</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery Unit</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar applicable_tax_category: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity. Applicable_ Tax
        Category. Tax Category</ns1:DictionaryEntryName>
        <ns1:Definition>A tax category applicable to this item location
        quantity.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Location Quantity</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Applicable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tax Category</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax
        Category</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tax
        Category</ns1:RepresentationTerm> </ns1:Component>
    :ivar package: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity.
        Package</ns1:DictionaryEntryName> <ns1:Definition>The package to
        which this price applies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Location Quantity</ns1:ObjectClass>
        <ns1:PropertyTerm>Package</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Package</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Package</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charge associated with this item location
        quantity.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Location Quantity</ns1:ObjectClass> <ns1:PropertyTerm>Allowance
        Charge</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar dependent_price_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Location Quantity. Dependent Price
        Reference</ns1:DictionaryEntryName> <ns1:Definition>The price of
        the item as a percentage of the price of some other
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item Location Quantity</ns1:ObjectClass>
        <ns1:PropertyTerm>Dependent Price Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dependent Price
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dependent Price
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    lead_time_measure: Optional[LeadTimeMeasure] = field(
        default=None,
        metadata={
            "name": "LeadTimeMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_quantity: Optional[MinimumQuantity] = field(
        default=None,
        metadata={
            "name": "MinimumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_quantity: Optional[MaximumQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    hazardous_risk_indicator: Optional[HazardousRiskIndicator] = field(
        default=None,
        metadata={
            "name": "HazardousRiskIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    trading_restrictions: list[TradingRestrictions] = field(
        default_factory=list,
        metadata={
            "name": "TradingRestrictions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    applicable_territory_address: list[ApplicableTerritoryAddress] = field(
        default_factory=list,
        metadata={
            "name": "ApplicableTerritoryAddress",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    price: Optional[Price] = field(
        default=None,
        metadata={
            "name": "Price",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_unit: list[DeliveryUnit] = field(
        default_factory=list,
        metadata={
            "name": "DeliveryUnit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    applicable_tax_category: list[ApplicableTaxCategory] = field(
        default_factory=list,
        metadata={
            "name": "ApplicableTaxCategory",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    package: Optional[Package] = field(
        default=None,
        metadata={
            "name": "Package",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    dependent_price_reference: Optional[DependentPriceReference] = field(
        default=None,
        metadata={
            "name": "DependentPriceReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class OrderedShipmentType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Ordered
    Shipment.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe an ordered shipment.</ns1:Definition>
    <ns1:ObjectClass>Ordered Shipment</ns1:ObjectClass> </ns1:Component>

    :ivar shipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Ordered Shipment.
        Shipment</ns1:DictionaryEntryName> <ns1:Definition>The ordered
        shipment.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Ordered Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Shipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar package: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Ordered Shipment.
        Package</ns1:DictionaryEntryName> <ns1:Definition>A package in
        this ordered shipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Ordered
        Shipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Package</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Package</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Package</ns1:RepresentationTerm>
        </ns1:Component>
    """

    shipment: Optional[Shipment] = field(
        default=None,
        metadata={
            "name": "Shipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    package: list[Package] = field(
        default_factory=list,
        metadata={
            "name": "Package",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TransportEventType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Transport
    Event.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a significant occurrence or happening related to the
    transportation of goods.</ns1:Definition> <ns1:ObjectClass>Transport
    Event</ns1:ObjectClass> </ns1:Component>

    :ivar identification_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event. Identification.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this transport event within an agreed event
        identification scheme.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Identification</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar occurrence_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event. Occurrence Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date of this
        transport event.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Occurrence Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar occurrence_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event. Occurrence Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time of this
        transport event.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Occurrence Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar transport_event_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event. Transport Event Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of this transport event.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Event Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this transport event.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar completion_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event. Completion_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this transport event has been completed (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Completion</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar reported_shipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event. Reported_ Shipment.
        Shipment</ns1:DictionaryEntryName> <ns1:Definition>The shipment
        involved in this transport event.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Reported</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Shipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar current_status: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event. Current_ Status.
        Status</ns1:DictionaryEntryName> <ns1:Definition>The current
        status of this transport event.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Current</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Status</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Status</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Status</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar contact: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event.
        Contact</ns1:DictionaryEntryName> <ns1:Definition>A contact
        associated with this transport event.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Contact</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contact</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contact</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The location
        associated with this transport event.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar signature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event.
        Signature</ns1:DictionaryEntryName> <ns1:Definition>A signature
        that can be used to sign for an entry or an exit at a transport
        location (e.g., port terminal).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Signature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Signature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Signature</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Event.
        Period</ns1:DictionaryEntryName> <ns1:Definition>A period of
        time associated with this transport event.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Event</ns1:ObjectClass>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    """

    identification_id: Optional[IdentificationId] = field(
        default=None,
        metadata={
            "name": "IdentificationID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    occurrence_date: Optional[OccurrenceDate] = field(
        default=None,
        metadata={
            "name": "OccurrenceDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    occurrence_time: Optional[OccurrenceTime] = field(
        default=None,
        metadata={
            "name": "OccurrenceTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transport_event_type_code: Optional[TransportEventTypeCode] = field(
        default=None,
        metadata={
            "name": "TransportEventTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    completion_indicator: Optional[CompletionIndicator] = field(
        default=None,
        metadata={
            "name": "CompletionIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reported_shipment: Optional[ReportedShipment] = field(
        default=None,
        metadata={
            "name": "ReportedShipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    current_status: list[CurrentStatus] = field(
        default_factory=list,
        metadata={
            "name": "CurrentStatus",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contact: list[Contact] = field(
        default_factory=list,
        metadata={
            "name": "Contact",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    location: Optional[Location] = field(
        default=None,
        metadata={
            "name": "Location",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    signature: Optional[Signature] = field(
        default=None,
        metadata={
            "name": "Signature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    period: list[Period] = field(
        default_factory=list,
        metadata={
            "name": "Period",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class AcceptanceTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ActualArrivalTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ActualDepartureTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ActualPickupTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ActualWaypointTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AvailabilityTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CertificateOfOriginApplication(CertificateOfOriginApplicationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class Consumption(ConsumptionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DeliveryTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DetentionTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DischargeTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DropoffTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EstimatedArrivalTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class EstimatedDepartureTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ExaminationTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ExportationTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class HandlingTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemLocationQuantity(ItemLocationQuantityType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LoadingTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OfferedItemLocationQuantity(ItemLocationQuantityType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OptionalTakeoverTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OrderedShipment(OrderedShipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OriginalItemLocationQuantity(ItemLocationQuantityType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PickupTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PlannedArrivalTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PlannedDeliveryTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PlannedDepartureTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PlannedPickupTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PlannedWaypointTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PositioningTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class QuarantineTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReceiptTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedArrivalTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedDeliveryTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedDepartureTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedPickupTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestedWaypointTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequiredItemLocationQuantity(ItemLocationQuantityType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class StorageTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TakeoverTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UpdatedDeliveryTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UpdatedPickupTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class WarehousingTransportEvent(TransportEventType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CatalogueLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Catalogue
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Catalogue describing a purchasable
    item.</ns1:Definition> <ns1:ObjectClass>Catalogue
    Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the line in the catalogue.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Catalogue
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>1
        </ns1:Examples> </ns1:Component>
    :ivar action_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Action Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the action required to synchronize this catalogue line.
        Recommend codes (delete, update, add)</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Action Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Replace ,
        Update , Delete , Add </ns1:Examples> </ns1:Component>
    :ivar life_cycle_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Life Cycle Status Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the life cycle status of this catalogue line. Examples are pre-
        order, end of production</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Life Cycle Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>new -
        announcement only , new and available , deleted - announcement
        only </ns1:Examples> </ns1:Component>
    :ivar contract_subdivision: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Contract Subdivision.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A subdivision of
        a contract or tender covering this catalogue
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Contract Subdivision</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Installation , Phase One , Support and Maintenance
        </ns1:Examples> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar orderable_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Orderable_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this catalogue line describes an orderable item (true) or
        is included for reference purposes only
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Orderable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> <ns1:Examples>TRUE
        means orderable, FALSE means not orderable</ns1:Examples>
        </ns1:Component>
    :ivar orderable_unit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Orderable_ Unit.
        Text</ns1:DictionaryEntryName> <ns1:Definition>A textual
        description of the units in which the item described in this
        catalogue line can be ordered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Orderable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Unit</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar content_unit_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Content Unit.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The numeric
        quantity of the ordering unit (and units of measure) of the
        catalogue line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Content Unit</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>If
        order unit measure identifier is each , then content unit
        quantity is 1 .</ns1:Examples> </ns1:Component>
    :ivar order_quantity_increment_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Order Quantity
        Increment. Numeric</ns1:DictionaryEntryName> <ns1:Definition>The
        number of items that can set the order quantity
        increments.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Order Quantity Increment</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_order_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Minimum_ Order
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        minimum amount of the item described in this catalogue line that
        can be ordered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Order Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>10
        boxes </ns1:Examples> </ns1:Component>
    :ivar maximum_order_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Maximum_ Order
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        maximum amount of the item described in this catalogue line that
        can be ordered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Order Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>1
        tonne </ns1:Examples> </ns1:Component>
    :ivar warranty_information: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Warranty_ Information.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text about a
        warranty (provided by WarrantyParty) for the good or service
        described in this catalogue line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warranty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Information</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Unless
        specified otherwise and in addition to any rights the Customer
        may have under statute, Dell warrants to the Customer that Dell
        branded Products (excluding third party products and software),
        will be free from defects in materials and workmanship affecting
        normal use for a period of one year from invoice date ( Standard
        Warranty ). </ns1:Examples> </ns1:Component>
    :ivar pack_level_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Pack Level Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A mutually agreed
        code signifying the level of packaging associated with the item
        described in this catalogue line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Pack Level Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Consumer Unit, Trading
        Unit</ns1:AlternativeBusinessTerms> <ns1:Examples>level 2 ,
        Group 4 </ns1:Examples> </ns1:Component>
    :ivar contractor_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Contractor_ Customer
        Party. Customer Party</ns1:DictionaryEntryName>
        <ns1:Definition>The customer responsible for the contract with
        which this catalogue line is associated.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contractor</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar seller_supplier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Seller_ Supplier Party.
        Supplier Party</ns1:DictionaryEntryName> <ns1:Definition>The
        seller/supplier responsible for the contract with which this
        catalogue line is associated.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Seller</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Supplier Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Supplier
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Supplier Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar warranty_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Warranty_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        responsible for any warranty associated with the item described
        in this catalogue line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warranty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar warranty_validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Warranty Validity_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period for which a warranty associated with the item in this
        catalogue line is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warranty
        Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar line_validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Line Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period for
        which the information in this catalogue line is
        valid.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Line
        Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item_comparison: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Item
        Comparison</ns1:DictionaryEntryName> <ns1:Definition>A
        combination of price and quantity used to provide price
        comparisons based on different sizes of order.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Item Comparison</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Comparison</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Comparison</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar component_related_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Component_ Related
        Item. Related Item</ns1:DictionaryEntryName> <ns1:Definition>An
        item that may be a component of the item in this catalogue
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Component</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Related Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Related
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Related
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar accessory_related_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Accessory_ Related
        Item. Related Item</ns1:DictionaryEntryName> <ns1:Definition>An
        item that may be an optional accessory of the item in this
        catalogue line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Accessory</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Related Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Related
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Related
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar required_related_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Required_ Related Item.
        Related Item</ns1:DictionaryEntryName> <ns1:Definition>An item
        that may be required for the item in this catalogue
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Related Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Related
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Related
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar replacement_related_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Replacement_ Related
        Item. Related Item</ns1:DictionaryEntryName> <ns1:Definition>An
        item that may be a replacement for the item in this catalogue
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Replacement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Related Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Related
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Related
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar complementary_related_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Complementary_ Related
        Item. Related Item</ns1:DictionaryEntryName> <ns1:Definition>An
        item that may complement the item in this catalogue
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Complementary</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Related Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Related
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Related
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar replaced_related_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Replaced_ Related Item.
        Related Item</ns1:DictionaryEntryName> <ns1:Definition>An item
        in an existing catalogue that is being replaced by the item in
        this catalogue line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Replaced</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Related Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Related
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Related
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar required_item_location_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Required_ Item Location
        Quantity. Item Location Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>Properties of the item in this catalogue line
        that are dependent on location and quantity.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Location Quantity</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item Location
        Quantity</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Location
        Quantity</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this catalogue
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>A specification
        of the item itself.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Catalogue
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar keyword_item_property: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Keyword_ Item Property.
        Item Property</ns1:DictionaryEntryName> <ns1:Definition>A
        property of the item in this catalogue line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Keyword</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Property</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item
        Property</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Property</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar call_for_tenders_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Call For Tenders_ Line
        Reference. Line Reference</ns1:DictionaryEntryName>
        <ns1:Definition>Reference to a Line on a Call For Tenders
        document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Call For
        Tenders</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Line
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar call_for_tenders_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Line. Call For Tenders_
        Document Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A class defining references to a Call For
        Tenders document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Call For
        Tenders</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    action_code: Optional[ActionCode] = field(
        default=None,
        metadata={
            "name": "ActionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    life_cycle_status_code: Optional[LifeCycleStatusCode] = field(
        default=None,
        metadata={
            "name": "LifeCycleStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contract_subdivision: Optional[ContractSubdivision] = field(
        default=None,
        metadata={
            "name": "ContractSubdivision",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    orderable_indicator: Optional[OrderableIndicator] = field(
        default=None,
        metadata={
            "name": "OrderableIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    orderable_unit: Optional[OrderableUnit] = field(
        default=None,
        metadata={
            "name": "OrderableUnit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    content_unit_quantity: Optional[ContentUnitQuantity] = field(
        default=None,
        metadata={
            "name": "ContentUnitQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    order_quantity_increment_numeric: Optional[
        OrderQuantityIncrementNumeric
    ] = field(
        default=None,
        metadata={
            "name": "OrderQuantityIncrementNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_order_quantity: Optional[MinimumOrderQuantity] = field(
        default=None,
        metadata={
            "name": "MinimumOrderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_order_quantity: Optional[MaximumOrderQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumOrderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    warranty_information: list[WarrantyInformation] = field(
        default_factory=list,
        metadata={
            "name": "WarrantyInformation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pack_level_code: Optional[PackLevelCode] = field(
        default=None,
        metadata={
            "name": "PackLevelCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contractor_customer_party: Optional[ContractorCustomerParty] = field(
        default=None,
        metadata={
            "name": "ContractorCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    seller_supplier_party: Optional[SellerSupplierParty] = field(
        default=None,
        metadata={
            "name": "SellerSupplierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    warranty_party: Optional[WarrantyParty] = field(
        default=None,
        metadata={
            "name": "WarrantyParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    warranty_validity_period: Optional[WarrantyValidityPeriod] = field(
        default=None,
        metadata={
            "name": "WarrantyValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    line_validity_period: Optional[LineValidityPeriod] = field(
        default=None,
        metadata={
            "name": "LineValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item_comparison: list[ItemComparison] = field(
        default_factory=list,
        metadata={
            "name": "ItemComparison",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    component_related_item: list[ComponentRelatedItem] = field(
        default_factory=list,
        metadata={
            "name": "ComponentRelatedItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    accessory_related_item: list[AccessoryRelatedItem] = field(
        default_factory=list,
        metadata={
            "name": "AccessoryRelatedItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    required_related_item: list[RequiredRelatedItem] = field(
        default_factory=list,
        metadata={
            "name": "RequiredRelatedItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    replacement_related_item: list[ReplacementRelatedItem] = field(
        default_factory=list,
        metadata={
            "name": "ReplacementRelatedItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    complementary_related_item: list[ComplementaryRelatedItem] = field(
        default_factory=list,
        metadata={
            "name": "ComplementaryRelatedItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    replaced_related_item: list[ReplacedRelatedItem] = field(
        default_factory=list,
        metadata={
            "name": "ReplacedRelatedItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    required_item_location_quantity: list[RequiredItemLocationQuantity] = (
        field(
            default_factory=list,
            metadata={
                "name": "RequiredItemLocationQuantity",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    keyword_item_property: list[KeywordItemProperty] = field(
        default_factory=list,
        metadata={
            "name": "KeywordItemProperty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    call_for_tenders_line_reference: Optional[CallForTendersLineReference] = (
        field(
            default=None,
            metadata={
                "name": "CallForTendersLineReference",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    call_for_tenders_document_reference: Optional[
        CallForTendersDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "CallForTendersDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class CataloguePricingUpdateLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Catalogue
    Pricing Update Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line describing a pricing update to a catalogue
    line.</ns1:Definition> <ns1:ObjectClass>Catalogue Pricing Update
    Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Pricing Update Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the catalogue line to be
        updated.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Pricing Update Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>1
        </ns1:Examples> </ns1:Component>
    :ivar contractor_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Pricing Update Line.
        Contractor_ Customer Party. Customer
        Party</ns1:DictionaryEntryName> <ns1:Definition>The customer
        responsible for the contract associated with the catalogue line
        being updated.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Pricing Update Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contractor</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Customer Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customer
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customer Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar seller_supplier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Pricing Update Line. Seller_
        Supplier Party. Supplier Party</ns1:DictionaryEntryName>
        <ns1:Definition>The seller/supplier responsible for the contract
        associated with the catalogue line being
        updated.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Pricing Update Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Seller</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Supplier Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Supplier
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Supplier Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar required_item_location_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Pricing Update Line.
        Required_ Item Location Quantity. Item Location
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>Updated
        properties of the item in this catalogue line that are dependent
        on location and quantity.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Pricing Update Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Location Quantity</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item Location
        Quantity</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Location
        Quantity</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    contractor_customer_party: Optional[ContractorCustomerParty] = field(
        default=None,
        metadata={
            "name": "ContractorCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    seller_supplier_party: Optional[SellerSupplierParty] = field(
        default=None,
        metadata={
            "name": "SellerSupplierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    required_item_location_quantity: list[RequiredItemLocationQuantity] = (
        field(
            default_factory=list,
            metadata={
                "name": "RequiredItemLocationQuantity",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )


@dataclass
class CatalogueRequestLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Catalogue
    Request Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line describing a request for a catalogue line.</ns1:Definition>
    <ns1:ObjectClass>Catalogue Request Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Request Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for the requested catalogue line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Catalogue
        Request Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>1
        </ns1:Examples> </ns1:Component>
    :ivar contract_subdivision: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Request Line. Contract
        Subdivision. Text</ns1:DictionaryEntryName> <ns1:Definition>A
        subdivision of a contract or tender covering the line being
        requested.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Request Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Contract Subdivision</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:Examples>Installation , Phase One , Support and Maintenance
        </ns1:Examples> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Request Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Request Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar line_validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Request Line. Line Validity_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period for which the information in the requested catalogue line
        is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Request Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Line
        Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar required_item_location_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Request Line. Required_ Item
        Location Quantity. Item Location
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>Properties of
        the item in the requested catalogue line that are dependent on
        location and quantity.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Catalogue Request Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Location Quantity</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item Location
        Quantity</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Location
        Quantity</ns1:RepresentationTerm> </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Catalogue Request Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item
        associated with the requested catalogue line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Catalogue
        Request Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    contract_subdivision: Optional[ContractSubdivision] = field(
        default=None,
        metadata={
            "name": "ContractSubdivision",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_validity_period: Optional[LineValidityPeriod] = field(
        default=None,
        metadata={
            "name": "LineValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    required_item_location_quantity: list[RequiredItemLocationQuantity] = (
        field(
            default_factory=list,
            metadata={
                "name": "RequiredItemLocationQuantity",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class ItemManagementProfileType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Item
    Management Profile.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a management profile for an item.</ns1:Definition>
    <ns1:ObjectClass>Item Management Profile</ns1:ObjectClass>
    </ns1:Component>

    :ivar frozen_period_days_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Management Profile. Frozen Period
        Days. Numeric</ns1:DictionaryEntryName> <ns1:Definition>The
        number of days in the future that an order forecast quantity
        automatically becomes a confirmed order for a
        product.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Management Profile</ns1:ObjectClass> <ns1:PropertyTerm>Frozen
        Period Days</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_inventory_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Management Profile. Minimum_
        Inventory Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>The quantity of the item that should trigger a
        replenishment order to avoid depleting the safety
        stock.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Item Management Profile</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Inventory Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar multiple_order_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Management Profile. Multiple_
        Order Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>The order quantity multiples in which the
        product may be ordered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Management Profile</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Multiple</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Order Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar order_interval_days_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Management Profile. Order Interval
        Days. Numeric</ns1:DictionaryEntryName> <ns1:Definition>The
        number of days between regular replenishment orders for the
        product.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Management Profile</ns1:ObjectClass> <ns1:PropertyTerm>Order
        Interval Days</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar replenishment_owner_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Management Profile. Replenishment
        Owner Description. Text</ns1:DictionaryEntryName>
        <ns1:Definition>The trading partner maintaining this item
        management profile.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Item
        Management Profile</ns1:ObjectClass>
        <ns1:PropertyTerm>Replenishment Owner
        Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar target_service_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Management Profile. Target Service
        Percent. Percent</ns1:DictionaryEntryName> <ns1:Definition>The
        Unit Service Level the trading partners expect to be maintained,
        expressed as a percentage. Unite Service Level (USL) is a term
        used in Inventory Management, which is sometimes known as "fill
        rate", counts the average number of units short expressed as the
        percentage of the order quantity.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Management Profile</ns1:ObjectClass> <ns1:PropertyTerm>Target
        Service Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar target_inventory_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Management Profile. Target_
        Inventory Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>The target inventory quantity.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Management Profile</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Target</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Inventory Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar effective_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Management Profile. Effective_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period during which this profile is effective.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Item
        Management Profile</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Effective</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Management Profile.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item
        associated with this item management profile.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Item
        Management Profile</ns1:ObjectClass>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item_location_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Item Management Profile. Item Location
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>A set of
        location-specific properties (e.g., price and quantity)
        associated with the item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Item
        Management Profile</ns1:ObjectClass> <ns1:PropertyTerm>Item
        Location Quantity</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item Location
        Quantity</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Location
        Quantity</ns1:RepresentationTerm> </ns1:Component>
    """

    frozen_period_days_numeric: Optional[FrozenPeriodDaysNumeric] = field(
        default=None,
        metadata={
            "name": "FrozenPeriodDaysNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_inventory_quantity: Optional[MinimumInventoryQuantity] = field(
        default=None,
        metadata={
            "name": "MinimumInventoryQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    multiple_order_quantity: Optional[MultipleOrderQuantity] = field(
        default=None,
        metadata={
            "name": "MultipleOrderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    order_interval_days_numeric: Optional[OrderIntervalDaysNumeric] = field(
        default=None,
        metadata={
            "name": "OrderIntervalDaysNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    replenishment_owner_description: list[ReplenishmentOwnerDescription] = (
        field(
            default_factory=list,
            metadata={
                "name": "ReplenishmentOwnerDescription",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    target_service_percent: Optional[TargetServicePercent] = field(
        default=None,
        metadata={
            "name": "TargetServicePercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    target_inventory_quantity: Optional[TargetInventoryQuantity] = field(
        default=None,
        metadata={
            "name": "TargetInventoryQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    effective_period: Optional[EffectivePeriod] = field(
        default=None,
        metadata={
            "name": "EffectivePeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    item_location_quantity: Optional[ItemLocationQuantity] = field(
        default=None,
        metadata={
            "name": "ItemLocationQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class PricingReferenceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Pricing
    Reference.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A reference to the
    basis for pricing. This may be based on a catalogue or a quoted
    amount from a price list and include some alternative pricing
    conditions.</ns1:Definition> <ns1:ObjectClass>Pricing
    Reference</ns1:ObjectClass> </ns1:Component>

    :ivar original_item_location_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pricing Reference. Original_ Item
        Location Quantity. Item Location
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>An original
        set of location-specific properties (e.g., price and quantity)
        associated with this item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Pricing
        Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Original</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Location Quantity</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item Location
        Quantity</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Location
        Quantity</ns1:RepresentationTerm> </ns1:Component>
    :ivar alternative_condition_price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Pricing Reference. Alternative
        Condition_ Price. Price</ns1:DictionaryEntryName>
        <ns1:Definition>The price expressed in terms other than the
        actual price, e.g., the list price v. the contracted price, or
        the price in bags v. the price in kilos, or the list price in
        bags v. the contracted price in kilos.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Pricing
        Reference</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Alternative
        Condition</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price</ns1:RepresentationTerm>
        </ns1:Component>
    """

    original_item_location_quantity: Optional[OriginalItemLocationQuantity] = (
        field(
            default=None,
            metadata={
                "name": "OriginalItemLocationQuantity",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    alternative_condition_price: list[AlternativeConditionPrice] = field(
        default_factory=list,
        metadata={
            "name": "AlternativeConditionPrice",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class RequestForTenderLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Request
    For Tender Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Request for Tender describing an item of goods or a
    service solicited in the Request for Tender.</ns1:Definition>
    <ns1:ObjectClass>Request For Tender Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this request for tender line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this request for tender
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Request For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of the item for which a tender is requested in this
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Request For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Minimum_
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        minimum quantity of the item associated with this request for
        tender line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Maximum_
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        maximum quantity of the item associated with this request for
        tender line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar tax_included_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Tax Included_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>Indicates whether the amounts are taxes included
        (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass> <ns1:PropertyTermQualifier>Tax
        Included</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Minimum_
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        minimum amount allowed for this deliverable.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Maximum_
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        maximum amount allowed for this deliverable.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar estimated_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Estimated_
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        estimated total amount of the deliverable.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this request for tender
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Request For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar delivery_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Delivery_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>An
        applicable period for the deliverable or set of deliverables in
        this tendering process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar required_item_location_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Required_ Item
        Location Quantity. Item Location
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>Properties of
        the item specified in this request for tender line that are
        dependent on location and quantity.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Location Quantity</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item Location
        Quantity</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Location
        Quantity</ns1:RepresentationTerm> </ns1:Component>
    :ivar warranty_validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Warranty
        Validity_ Period. Period</ns1:DictionaryEntryName>
        <ns1:Definition>The period during which a warranty to be
        associated with this request for tender line must
        apply.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Request For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warranty
        Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>An item for which
        a tender is requested.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar sub_request_for_tender_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Tender Line. Sub_ Request
        For Tender Line. Request For Tender
        Line</ns1:DictionaryEntryName> <ns1:Definition>A subsidiary
        request for tender line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Request
        For Tender Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Sub</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Request For Tender Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Request For Tender
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Request
        For Tender Line</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_quantity: Optional[MinimumQuantity] = field(
        default=None,
        metadata={
            "name": "MinimumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_quantity: Optional[MaximumQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_included_indicator: Optional[TaxIncludedIndicator] = field(
        default=None,
        metadata={
            "name": "TaxIncludedIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_amount: Optional[MinimumAmount] = field(
        default=None,
        metadata={
            "name": "MinimumAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_amount: Optional[MaximumAmount] = field(
        default=None,
        metadata={
            "name": "MaximumAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    estimated_amount: Optional[EstimatedAmount] = field(
        default=None,
        metadata={
            "name": "EstimatedAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_period: list[DeliveryPeriod] = field(
        default_factory=list,
        metadata={
            "name": "DeliveryPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    required_item_location_quantity: list[RequiredItemLocationQuantity] = (
        field(
            default_factory=list,
            metadata={
                "name": "RequiredItemLocationQuantity",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    warranty_validity_period: Optional[WarrantyValidityPeriod] = field(
        default=None,
        metadata={
            "name": "WarrantyValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    sub_request_for_tender_line: list["SubRequestForTenderLine"] = field(
        default_factory=list,
        metadata={
            "name": "SubRequestForTenderLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ShipmentStageType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Shipment
    Stage.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe one stage of movement in a transport of
    goods.</ns1:Definition> <ns1:ObjectClass>Shipment
    Stage</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>1 ,
        2 , etc..</ns1:Examples> </ns1:Component>
    :ivar transport_mode_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Transport Mode Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the method of transport used for this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Mode Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Transport Mode</ns1:DataTypeQualifier>
        <ns1:DataType>Transport Mode_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar transport_means_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Transport Means Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the kind of transport means (truck, vessel, etc.)
        used for this shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Means Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar transit_direction_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Transit_ Direction
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the direction of transit in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Transit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Direction Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar pre_carriage_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Pre Carriage_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this stage takes place before
        the main carriage of the shipment (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Pre
        Carriage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> <ns1:Examples>Truck
        delivery to wharf</ns1:Examples> </ns1:Component>
    :ivar on_carriage_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. On Carriage_ Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this stage takes place after the main carriage of the
        shipment (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>On
        Carriage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> <ns1:Examples>Truck
        delivery from wharf</ns1:Examples> </ns1:Component>
    :ivar estimated_delivery_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Estimated_ Delivery
        Date. Date</ns1:DictionaryEntryName> <ns1:Definition>The
        estimated date of delivery in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar estimated_delivery_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Estimated_ Delivery
        Time. Time</ns1:DictionaryEntryName> <ns1:Definition>The
        estimated time of delivery in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar required_delivery_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Required_ Delivery
        Date. Date</ns1:DictionaryEntryName> <ns1:Definition>The
        delivery date required by the buyer in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar required_delivery_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Required_ Delivery
        Time. Time</ns1:DictionaryEntryName> <ns1:Definition>The
        delivery time required by the buyer in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar loading_sequence_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Loading_ Sequence
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the loading sequence (of
        consignments) associated with this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Loading</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Sequence Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar successive_sequence_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Successive_ Sequence
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>Identifies the successive loading sequence (of
        consignments) associated with a shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Successive</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Sequence Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Instructions.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text of
        instructions applicable to a shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar demurrage_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Demurrage_
        Instructions. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Text of instructions relating to demurrage (the
        case in which a vessel is prevented from loading or discharging
        cargo within the stipulated laytime).</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Demurrage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar crew_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Crew Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The total
        number of crew aboard a transport means.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTerm>Crew Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar passenger_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Passenger Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The total
        number of passengers aboard a transport means.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTerm>Passenger Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar transit_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Transit_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which this shipment stage actually took
        place.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Transit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar carrier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Carrier_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>A carrier party
        responsible for this shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Carrier</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar transport_means: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Transport
        Means</ns1:DictionaryEntryName> <ns1:Definition>The means of
        transport used in this shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Means</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Means</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Means</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar loading_port_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Loading Port_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The location
        of loading for a shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Loading
        Port</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar unloading_port_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Unloading Port_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>The
        location of unloading for a shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Unloading
        Port</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar transship_port_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Transship Port_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>The
        location of transshipment relating to a shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Transship
        Port</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar loading_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Loading_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The loading of goods in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Loading</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar examination_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Examination_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The examination of shipments in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Examination</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar availability_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Availability_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The making available of shipments in this
        shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Availability</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar exportation_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Exportation_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The export event associated with this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Exportation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar discharge_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Discharge_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The discharge event associated with this
        shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Discharge</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar warehousing_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Warehousing_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The warehousing event associated with this
        shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warehousing</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar takeover_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Takeover_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The receiver's takeover of the goods in this
        shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Takeover</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar optional_takeover_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Optional Takeover_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The optional takeover of the goods in this
        shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Optional
        Takeover</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar dropoff_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Dropoff_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The dropping off of goods in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Dropoff</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar actual_pickup_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Actual Pickup_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The pickup of goods in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual
        Pickup</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Delivery_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The delivery of goods in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar receipt_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Receipt_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The receipt of goods in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Receipt</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar storage_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Storage_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The storage of goods in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Storage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar acceptance_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Acceptance_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The acceptance of goods in this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Acceptance</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar terminal_operator_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Terminal Operator_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>A
        terminal operator associated with this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Terminal
        Operator</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar customs_agent_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Customs Agent_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>A customs agent
        associated with this shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Customs
        Agent</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar estimated_transit_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Estimated Transit_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        estimated transit period of this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated
        Transit</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar freight_allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Freight_ Allowance
        Charge. Allowance Charge</ns1:DictionaryEntryName>
        <ns1:Definition>A freight allowance charge for this shipment
        stage.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Freight</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar freight_charge_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Freight Charge_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>The
        location associated with a freight charge related to this
        shipment stage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Freight
        Charge</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar detention_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Detention_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The detention of a transport means during
        loading and unloading operations.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Detention</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar requested_departure_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Requested Departure_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The departure requested by the party requesting
        a transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Requested
        Departure</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar requested_arrival_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Requested Arrival_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The arrival requested by the party requesting a
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Requested
        Arrival</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar requested_waypoint_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Requested Waypoint_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>A waypoint requested by the party requesting a
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Requested
        Waypoint</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar planned_departure_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Planned Departure_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The departure planned by the party providing a
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Planned
        Departure</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar planned_arrival_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Planned Arrival_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The arrival planned by the party providing a
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Planned
        Arrival</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar planned_waypoint_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Planned Waypoint_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>A waypoint planned by the party providing a
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Planned
        Waypoint</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar actual_departure_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Actual Departure_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The actual departure from a specific location
        during a transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual
        Departure</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar actual_waypoint_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Actual Waypoint_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The location of an actual waypoint during a
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual
        Waypoint</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar actual_arrival_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Actual Arrival_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The actual arrival at a specific location during
        a transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual
        Arrival</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Transport
        Event</ns1:DictionaryEntryName> <ns1:Definition>A significant
        occurrence in the course of this shipment of
        goods.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar estimated_departure_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Estimated Departure_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>Describes an estimated departure at a location
        during a transport service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated
        Departure</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar estimated_arrival_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Estimated Arrival_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>Describes an estimated arrival at a location
        during a transport service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated
        Arrival</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar passenger_person: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Passenger_ Person.
        Person</ns1:DictionaryEntryName> <ns1:Definition>A person who
        travels in a conveyance without participating in its
        operation.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Passenger</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Person</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Person</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Person</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar driver_person: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Driver_ Person.
        Person</ns1:DictionaryEntryName> <ns1:Definition>Describes a
        person responsible for driving the transport
        means.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Driver</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Person</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Person</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Person</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar reporting_person: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Reporting_ Person.
        Person</ns1:DictionaryEntryName> <ns1:Definition>Describes a
        person being responsible for providing the required
        administrative reporting relating to a
        transport.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Reporting</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Person</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Person</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Person</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar crew_member_person: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Crew Member_ Person.
        Person</ns1:DictionaryEntryName> <ns1:Definition>A person
        operating or serving aboard a transport means.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Crew
        Member</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Person</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Person</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Person</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar security_officer_person: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Security Officer_
        Person. Person</ns1:DictionaryEntryName> <ns1:Definition>The
        person on board the vessel, accountable to the master,
        designated by the company as responsible for the security of the
        ship, including implementation and maintenance of the ship
        security plan and for the liaison with the company security
        officer and the port facility security
        officers.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Security
        Officer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Person</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Person</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Person</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar master_person: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Master_ Person.
        Person</ns1:DictionaryEntryName> <ns1:Definition>The person
        responsible for the ship's safe and efficient operation,
        including cargo operations, navigation, crew management and for
        ensuring that the vessel complies with local and international
        laws, as well as company and flag state
        policies.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Master</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Person</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Person</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Person</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar ships_surgeon_person: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Shipment Stage. Ships Surgeon_ Person.
        Person</ns1:DictionaryEntryName> <ns1:Definition>The person
        responsible for the health of the people aboard a ship at
        sea.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Shipment Stage</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Ships
        Surgeon</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Person</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Person</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Person</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transport_mode_code: Optional[TransportModeCode] = field(
        default=None,
        metadata={
            "name": "TransportModeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transport_means_type_code: Optional[TransportMeansTypeCode] = field(
        default=None,
        metadata={
            "name": "TransportMeansTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transit_direction_code: Optional[TransitDirectionCode] = field(
        default=None,
        metadata={
            "name": "TransitDirectionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pre_carriage_indicator: Optional[PreCarriageIndicator] = field(
        default=None,
        metadata={
            "name": "PreCarriageIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    on_carriage_indicator: Optional[OnCarriageIndicator] = field(
        default=None,
        metadata={
            "name": "OnCarriageIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    estimated_delivery_date: Optional[EstimatedDeliveryDate] = field(
        default=None,
        metadata={
            "name": "EstimatedDeliveryDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    estimated_delivery_time: Optional[EstimatedDeliveryTime] = field(
        default=None,
        metadata={
            "name": "EstimatedDeliveryTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    required_delivery_date: Optional[RequiredDeliveryDate] = field(
        default=None,
        metadata={
            "name": "RequiredDeliveryDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    required_delivery_time: Optional[RequiredDeliveryTime] = field(
        default=None,
        metadata={
            "name": "RequiredDeliveryTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    loading_sequence_id: Optional[LoadingSequenceId] = field(
        default=None,
        metadata={
            "name": "LoadingSequenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    successive_sequence_id: Optional[SuccessiveSequenceId] = field(
        default=None,
        metadata={
            "name": "SuccessiveSequenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    instructions: list[Instructions] = field(
        default_factory=list,
        metadata={
            "name": "Instructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    demurrage_instructions: list[DemurrageInstructions] = field(
        default_factory=list,
        metadata={
            "name": "DemurrageInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    crew_quantity: Optional[CrewQuantity] = field(
        default=None,
        metadata={
            "name": "CrewQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    passenger_quantity: Optional[PassengerQuantity] = field(
        default=None,
        metadata={
            "name": "PassengerQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transit_period: Optional[TransitPeriod] = field(
        default=None,
        metadata={
            "name": "TransitPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    carrier_party: list[CarrierParty] = field(
        default_factory=list,
        metadata={
            "name": "CarrierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_means: Optional[TransportMeans] = field(
        default=None,
        metadata={
            "name": "TransportMeans",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    loading_port_location: Optional[LoadingPortLocation] = field(
        default=None,
        metadata={
            "name": "LoadingPortLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    unloading_port_location: Optional[UnloadingPortLocation] = field(
        default=None,
        metadata={
            "name": "UnloadingPortLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transship_port_location: Optional[TransshipPortLocation] = field(
        default=None,
        metadata={
            "name": "TransshipPortLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    loading_transport_event: Optional[LoadingTransportEvent] = field(
        default=None,
        metadata={
            "name": "LoadingTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    examination_transport_event: Optional[ExaminationTransportEvent] = field(
        default=None,
        metadata={
            "name": "ExaminationTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    availability_transport_event: Optional[AvailabilityTransportEvent] = field(
        default=None,
        metadata={
            "name": "AvailabilityTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    exportation_transport_event: Optional[ExportationTransportEvent] = field(
        default=None,
        metadata={
            "name": "ExportationTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    discharge_transport_event: Optional[DischargeTransportEvent] = field(
        default=None,
        metadata={
            "name": "DischargeTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    warehousing_transport_event: Optional[WarehousingTransportEvent] = field(
        default=None,
        metadata={
            "name": "WarehousingTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    takeover_transport_event: Optional[TakeoverTransportEvent] = field(
        default=None,
        metadata={
            "name": "TakeoverTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    optional_takeover_transport_event: Optional[
        OptionalTakeoverTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "OptionalTakeoverTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    dropoff_transport_event: Optional[DropoffTransportEvent] = field(
        default=None,
        metadata={
            "name": "DropoffTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    actual_pickup_transport_event: Optional[ActualPickupTransportEvent] = (
        field(
            default=None,
            metadata={
                "name": "ActualPickupTransportEvent",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    delivery_transport_event: Optional[DeliveryTransportEvent] = field(
        default=None,
        metadata={
            "name": "DeliveryTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    receipt_transport_event: Optional[ReceiptTransportEvent] = field(
        default=None,
        metadata={
            "name": "ReceiptTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    storage_transport_event: Optional[StorageTransportEvent] = field(
        default=None,
        metadata={
            "name": "StorageTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    acceptance_transport_event: Optional[AcceptanceTransportEvent] = field(
        default=None,
        metadata={
            "name": "AcceptanceTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    terminal_operator_party: Optional[TerminalOperatorParty] = field(
        default=None,
        metadata={
            "name": "TerminalOperatorParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    customs_agent_party: Optional[CustomsAgentParty] = field(
        default=None,
        metadata={
            "name": "CustomsAgentParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    estimated_transit_period: Optional[EstimatedTransitPeriod] = field(
        default=None,
        metadata={
            "name": "EstimatedTransitPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    freight_allowance_charge: list[FreightAllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "FreightAllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    freight_charge_location: Optional[FreightChargeLocation] = field(
        default=None,
        metadata={
            "name": "FreightChargeLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    detention_transport_event: list[DetentionTransportEvent] = field(
        default_factory=list,
        metadata={
            "name": "DetentionTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    requested_departure_transport_event: Optional[
        RequestedDepartureTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "RequestedDepartureTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    requested_arrival_transport_event: Optional[
        RequestedArrivalTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "RequestedArrivalTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    requested_waypoint_transport_event: list[
        RequestedWaypointTransportEvent
    ] = field(
        default_factory=list,
        metadata={
            "name": "RequestedWaypointTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    planned_departure_transport_event: Optional[
        PlannedDepartureTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "PlannedDepartureTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    planned_arrival_transport_event: Optional[PlannedArrivalTransportEvent] = (
        field(
            default=None,
            metadata={
                "name": "PlannedArrivalTransportEvent",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    planned_waypoint_transport_event: list[PlannedWaypointTransportEvent] = (
        field(
            default_factory=list,
            metadata={
                "name": "PlannedWaypointTransportEvent",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    actual_departure_transport_event: Optional[
        ActualDepartureTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "ActualDepartureTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    actual_waypoint_transport_event: Optional[ActualWaypointTransportEvent] = (
        field(
            default=None,
            metadata={
                "name": "ActualWaypointTransportEvent",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    actual_arrival_transport_event: Optional[ActualArrivalTransportEvent] = (
        field(
            default=None,
            metadata={
                "name": "ActualArrivalTransportEvent",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    transport_event: list[TransportEvent] = field(
        default_factory=list,
        metadata={
            "name": "TransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    estimated_departure_transport_event: Optional[
        EstimatedDepartureTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "EstimatedDepartureTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    estimated_arrival_transport_event: Optional[
        EstimatedArrivalTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "EstimatedArrivalTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    passenger_person: list[PassengerPerson] = field(
        default_factory=list,
        metadata={
            "name": "PassengerPerson",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    driver_person: list[DriverPerson] = field(
        default_factory=list,
        metadata={
            "name": "DriverPerson",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    reporting_person: Optional[ReportingPerson] = field(
        default=None,
        metadata={
            "name": "ReportingPerson",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    crew_member_person: list[CrewMemberPerson] = field(
        default_factory=list,
        metadata={
            "name": "CrewMemberPerson",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    security_officer_person: Optional[SecurityOfficerPerson] = field(
        default=None,
        metadata={
            "name": "SecurityOfficerPerson",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    master_person: Optional[MasterPerson] = field(
        default=None,
        metadata={
            "name": "MasterPerson",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    ships_surgeon_person: Optional[ShipsSurgeonPerson] = field(
        default=None,
        metadata={
            "name": "ShipsSurgeonPerson",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class SupplierConsumptionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Supplier
    Consumption.

    Details</ns1:DictionaryEntryName> <ns1:Definition>The consumption in
    case the consumption is for one and only one
    supplier.</ns1:Definition> <ns1:ObjectClass>Supplier
    Consumption</ns1:ObjectClass> </ns1:Component>

    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Consumption. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>This is
        what you pay for electricity to DONG Energy North
        Utility</ns1:Examples> </ns1:Component>
    :ivar utility_supplier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Consumption. Utility Supplier_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        supplying the utility.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Consumption</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Utility
        Supplier</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar utility_customer_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Consumption. Utility Customer_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The
        utility customer.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Consumption</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Utility
        Customer</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar consumption: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Consumption.
        Consumption</ns1:DictionaryEntryName> <ns1:Definition>The
        consumption regarding this supplier</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Supplier
        Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consumption</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consumption</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar contract: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Consumption.
        Contract</ns1:DictionaryEntryName> <ns1:Definition>A contract
        setting forth conditions regulating the
        consumption.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Contract</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contract</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contract</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar consumption_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Supplier Consumption. Consumption
        Line</ns1:DictionaryEntryName> <ns1:Definition>The consumption
        of a utility product.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Supplier Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consumption
        Line</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consumption
        Line</ns1:RepresentationTerm> </ns1:Component>
    """

    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    utility_supplier_party: Optional[UtilitySupplierParty] = field(
        default=None,
        metadata={
            "name": "UtilitySupplierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    utility_customer_party: Optional[UtilityCustomerParty] = field(
        default=None,
        metadata={
            "name": "UtilityCustomerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    consumption: Optional[Consumption] = field(
        default=None,
        metadata={
            "name": "Consumption",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    contract: Optional[Contract] = field(
        default=None,
        metadata={
            "name": "Contract",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    consumption_line: list[ConsumptionLine] = field(
        default_factory=list,
        metadata={
            "name": "ConsumptionLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "min_occurs": 1,
        },
    )


@dataclass
class TenderLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tender
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Tender.</ns1:Definition> <ns1:ObjectClass>Tender
    Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this tender line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of the item quoted in this tender line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar line_extension_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Line Extension Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        amount for this tender line, including allowance charges but net
        of taxes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Line Extension
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar total_tax_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Total_ Tax Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total tax
        amount for this tender line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tax Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar orderable_unit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Orderable_ Unit.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing a
        unit in which the item described in this tender line can be
        ordered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Orderable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Unit</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar content_unit_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Content Unit.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The unit of
        measure and quantity of the orderable unit.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Content
        Unit</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>If
        order unit measure identifier is each , then content unit
        quantity is 1 .</ns1:Examples> </ns1:Component>
    :ivar order_quantity_increment_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Order Quantity Increment.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>The number of
        items that can set the order quantity
        increments.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Order Quantity
        Increment</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_order_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Minimum_ Order Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The minimum
        number of items described in this tender line that can be
        ordered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Order Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>10
        boxes </ns1:Examples> </ns1:Component>
    :ivar maximum_order_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Maximum_ Order Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        number of items described in this tender line that can be
        ordered.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Order Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> <ns1:Examples>1
        tonne </ns1:Examples> </ns1:Component>
    :ivar warranty_information: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Warranty_ Information.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text about a
        warranty (provided by WarrantyParty) for the good or service
        described in this tender line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warranty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Information</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Unless
        specified otherwise and in addition to any rights the Customer
        may have under statute, Dell warrants to the Customer that Dell
        branded Products (excluding third party products and software),
        will be free from defects in materials and workmanship affecting
        normal use for a period of one year from invoice date ( Standard
        Warranty ). </ns1:Examples> </ns1:Component>
    :ivar pack_level_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Pack Level Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A mutually agreed
        code signifying the level of packaging associated with the item
        described in this tender line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Pack Level
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Consumer Unit, Trading
        Unit</ns1:AlternativeBusinessTerms> <ns1:Examples>level 2 ,
        Group 4 </ns1:Examples> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this tender line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item
        associated with this tender line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar offered_item_location_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Offered_ Item Location
        Quantity. Item Location Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>A set of location-specific properties (e.g.,
        price, quantity, lead time) associated with the item described
        in this tender line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Offered</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Item Location Quantity</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item Location
        Quantity</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item Location
        Quantity</ns1:RepresentationTerm> </ns1:Component>
    :ivar replacement_related_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Replacement_ Related Item.
        Related Item</ns1:DictionaryEntryName> <ns1:Definition>A
        catalogue item that may be a replacement for the item described
        in this tender line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Replacement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Related Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Related
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Related
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar warranty_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Warranty_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        responsible for any warranty described in this tender
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tender Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warranty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar warranty_validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Warranty Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period for
        which a warranty associated with the item described in this
        tender line is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass> <ns1:PropertyTermQualifier>Warranty
        Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar sub_tender_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Sub_ Tender Line. Tender
        Line</ns1:DictionaryEntryName> <ns1:Definition>An association to
        a Sub Tender Line</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Sub</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tender Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tender
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tender
        Line</ns1:RepresentationTerm> </ns1:Component>
    :ivar call_for_tenders_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Call For Tenders_ Line
        Reference. Line Reference</ns1:DictionaryEntryName>
        <ns1:Definition>Reference to a Line on a Call For Tenders
        document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass> <ns1:PropertyTermQualifier>Call For
        Tenders</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Line
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar call_for_tenders_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Line. Call For Tenders_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A class defining references to a Call For
        Tenders document.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Line</ns1:ObjectClass> <ns1:PropertyTermQualifier>Call For
        Tenders</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_extension_amount: Optional[LineExtensionAmount] = field(
        default=None,
        metadata={
            "name": "LineExtensionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_tax_amount: Optional[TotalTaxAmount] = field(
        default=None,
        metadata={
            "name": "TotalTaxAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    orderable_unit: Optional[OrderableUnit] = field(
        default=None,
        metadata={
            "name": "OrderableUnit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    content_unit_quantity: Optional[ContentUnitQuantity] = field(
        default=None,
        metadata={
            "name": "ContentUnitQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    order_quantity_increment_numeric: Optional[
        OrderQuantityIncrementNumeric
    ] = field(
        default=None,
        metadata={
            "name": "OrderQuantityIncrementNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_order_quantity: Optional[MinimumOrderQuantity] = field(
        default=None,
        metadata={
            "name": "MinimumOrderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_order_quantity: Optional[MaximumOrderQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumOrderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    warranty_information: list[WarrantyInformation] = field(
        default_factory=list,
        metadata={
            "name": "WarrantyInformation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    pack_level_code: Optional[PackLevelCode] = field(
        default=None,
        metadata={
            "name": "PackLevelCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    offered_item_location_quantity: list[OfferedItemLocationQuantity] = field(
        default_factory=list,
        metadata={
            "name": "OfferedItemLocationQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    replacement_related_item: list[ReplacementRelatedItem] = field(
        default_factory=list,
        metadata={
            "name": "ReplacementRelatedItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    warranty_party: Optional[WarrantyParty] = field(
        default=None,
        metadata={
            "name": "WarrantyParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    warranty_validity_period: Optional[WarrantyValidityPeriod] = field(
        default=None,
        metadata={
            "name": "WarrantyValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    sub_tender_line: list["SubTenderLine"] = field(
        default_factory=list,
        metadata={
            "name": "SubTenderLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    call_for_tenders_line_reference: Optional[CallForTendersLineReference] = (
        field(
            default=None,
            metadata={
                "name": "CallForTendersLineReference",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    call_for_tenders_document_reference: Optional[
        CallForTendersDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "CallForTendersDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TransportEquipmentType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Transport
    Equipment.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a piece of equipment used to transport
    goods.</ns1:Definition> <ns1:ObjectClass>Transport
    Equipment</ns1:ObjectClass> <ns1:AlternativeBusinessTerms>Shipping
    Container, Sea Container, Rail Wagon, Pallet, Trailer, Unit Load
    Device, ULD</ns1:AlternativeBusinessTerms> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> <ns1:Examples>OCLU
        1234567 </ns1:Examples> </ns1:Component>
    :ivar referenced_consignment_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Referenced_
        Consignment Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the consignment contained by
        this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Referenced</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Consignment Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar transport_equipment_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Transport
        Equipment Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the type of this piece of
        transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Equipment Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Transport Equipment
        Type</ns1:DataTypeQualifier> <ns1:DataType>Transport Equipment
        Type_ Code. Type</ns1:DataType> </ns1:Component>
    :ivar provider_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Provider Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of provider of this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Provider Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar owner_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Owner Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the type of owner of this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Owner Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar size_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Size Type Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the size and type of this piece of piece of transport equipment.
        When the piece of transport equipment is a shipping container,
        it is recommended to use ContainerSizeTypeCode for
        validation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Size Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Container Size Type
        Code</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar disposition_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Disposition Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the current disposition of this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Disposition Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Status</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar fullness_indication_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Fullness
        Indication Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying whether this piece of
        transport equipment is full, partially full, or
        empty.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Fullness Indication Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar refrigeration_on_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Refrigeration On_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this piece of transport
        equipment's refrigeration is on (true) or off
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Refrigeration
        On</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar information: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Information.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Additional
        information about this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Information</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar returnability_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Returnability_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this piece of transport
        equipment is returnable (true) or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Returnability</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar legal_status_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Legal Status_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indication of the legal status of this piece
        of transport equipment with respect to the Container Convention
        Code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Legal
        Status</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar air_flow_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Air Flow Percent.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The percent of
        the airflow within this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Air Flow Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar humidity_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Humidity Percent.
        Percent</ns1:DictionaryEntryName> <ns1:Definition>The percent
        humidity within this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Humidity Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar animal_food_approved_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Animal Food_
        Approved Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this piece of transport
        equipment is approved for animal food (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Animal
        Food</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Approved
        Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar human_food_approved_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Human Food_
        Approved Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this piece of transport
        equipment is approved for human food (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Human
        Food</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Approved
        Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar dangerous_goods_approved_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Dangerous Goods_
        Approved Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this piece of transport
        equipment is approved for dangerous goods (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Dangerous
        Goods</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Approved
        Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar refrigerated_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Refrigerated_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this piece of transport
        equipment is refrigerated (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Refrigerated</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar characteristics: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Characteristics.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Characteristics
        of this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Characteristics</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar damage_remarks: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Damage_ Remarks.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Damage associated
        with this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Damage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Remarks</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar special_transport_requirements: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Special_ Transport
        Requirements. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Special transport requirements expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Special</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Requirements</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar gross_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Gross_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The gross
        weight of this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Gross</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar gross_volume_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Gross_ Volume.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The gross
        volume of this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Gross</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Volume</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar tare_weight_measure: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Tare_ Weight.
        Measure</ns1:DictionaryEntryName> <ns1:Definition>The weight of
        this piece of transport equipment when empty.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Tare</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Weight</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Measure</ns1:RepresentationTerm>
        <ns1:DataType>Measure. Type</ns1:DataType> </ns1:Component>
    :ivar tracking_device_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Tracking Device
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the tracking device for this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Tracking Device Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar power_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Power.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that this piece of transport equipment can supply power (true)
        or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Power</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar trace_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Trace_ Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for use in tracing this piece of transport equipment,
        such as the EPC number used in RFID.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Trace</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar measurement_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Measurement_
        Dimension. Dimension</ns1:DictionaryEntryName> <ns1:Definition>A
        measurable dimension (length, mass, weight, or volume) of this
        piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Measurement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar transport_equipment_seal: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Transport
        Equipment Seal</ns1:DictionaryEntryName> <ns1:Definition>A seal
        securing the door of a piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Equipment Seal</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport Equipment
        Seal</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Equipment
        Seal</ns1:RepresentationTerm> </ns1:Component>
    :ivar minimum_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Minimum_
        Temperature. Temperature</ns1:DictionaryEntryName>
        <ns1:Definition>In the case of a refrigeration unit, the minimum
        allowable operating temperature for this
        container.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar maximum_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Maximum_
        Temperature. Temperature</ns1:DictionaryEntryName>
        <ns1:Definition>In the case of a refrigeration unit, the maximum
        allowable operating temperature for this
        container.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar provider_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Provider_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        providing this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Provider</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar loading_proof_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Loading Proof_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The
        authorized party responsible for certifying that the goods were
        loaded into this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Loading
        Proof</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Party responsible for proof of
        vanning (WCO ID 059)</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar supplier_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Supplier
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party that
        supplies this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Supplier Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Supplier
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Supplier Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Party responsible for proof of
        vanning (WCO ID 059)</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar owner_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Owner_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party that
        owns this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Owner</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Party responsible for proof of
        vanning (WCO ID 059)</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar operating_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Operating_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party that
        operates this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Operating</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Party responsible for proof of
        vanning (WCO ID 059)</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar loading_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Loading_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The location
        where this piece of transport equipment is
        loaded.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Loading</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Vanning address (WCO ID 068),
        Stuffing location</ns1:AlternativeBusinessTerms>
        </ns1:Component>
    :ivar unloading_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Unloading_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>The
        location where this piece of transport equipment is
        unloaded.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Unloading</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar storage_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Storage_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The location
        where this piece of transport equipment is being
        stored.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Storage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar positioning_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Positioning_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>A positioning of this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Positioning</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar quarantine_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Quarantine_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>A quarantine of this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Quarantine</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Delivery_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>A delivery of this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Delivery</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar pickup_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Pickup_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>A pickup of this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Pickup</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar handling_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Handling_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>A handling of this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Handling</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar loading_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Loading_ Transport
        Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>A loading of this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Loading</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Transport
        Event</ns1:DictionaryEntryName> <ns1:Definition>A transport
        event associated with this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar applicable_transport_means: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Applicable_
        Transport Means. Transport Means</ns1:DictionaryEntryName>
        <ns1:Definition>The applicable transport means associated with
        this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Applicable</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Means</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Means</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Means</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar haulage_trading_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Haulage_ Trading
        Terms. Trading Terms</ns1:DictionaryEntryName> <ns1:Definition>A
        set of haulage trading terms associated with this piece of
        transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Haulage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Trading Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Trading
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Trading Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar hazardous_goods_transit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Hazardous Goods
        Transit</ns1:DictionaryEntryName> <ns1:Definition>Transit-
        related information regarding a type of hazardous goods
        contained in this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Hazardous Goods Transit</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Hazardous Goods
        Transit</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Hazardous Goods
        Transit</ns1:RepresentationTerm> </ns1:Component>
    :ivar packaged_transport_handling_unit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Packaged_
        Transport Handling Unit. Transport Handling
        Unit</ns1:DictionaryEntryName> <ns1:Definition>A packaged
        transport handling unit associated with this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Packaged</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Handling Unit</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport Handling
        Unit</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Handling
        Unit</ns1:RepresentationTerm> </ns1:Component>
    :ivar service_allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Service_ Allowance
        Charge. Allowance Charge</ns1:DictionaryEntryName>
        <ns1:Definition>A service allowance charge associated with this
        piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Service</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar freight_allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Freight_ Allowance
        Charge. Allowance Charge</ns1:DictionaryEntryName>
        <ns1:Definition>A freight allowance charge associated with this
        piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Freight</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Allowance Charge</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar attached_transport_equipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Attached_
        Transport Equipment. Transport
        Equipment</ns1:DictionaryEntryName> <ns1:Definition>A piece of
        transport equipment attached to this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Attached</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Equipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Equipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport
        Equipment</ns1:RepresentationTerm> </ns1:Component>
    :ivar delivery: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment.
        Delivery</ns1:DictionaryEntryName> <ns1:Definition>The delivery
        of this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar pickup: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment.
        Pickup</ns1:DictionaryEntryName> <ns1:Definition>The pickup of
        this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Pickup</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Pickup</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Pickup</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar despatch: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment.
        Despatch</ns1:DictionaryEntryName> <ns1:Definition>The despatch
        of this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Despatch</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Despatch</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Despatch</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar shipment_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Shipment_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a shipping document associated
        with this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Shipment</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar contained_in_transport_equipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Contained In_
        Transport Equipment. Transport
        Equipment</ns1:DictionaryEntryName> <ns1:Definition>A piece of
        transport equipment contained in this piece of transport
        equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contained
        In</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Equipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Equipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport
        Equipment</ns1:RepresentationTerm> <ns1:Examples>e.g. pallets
        inside containers</ns1:Examples> </ns1:Component>
    :ivar package: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment.
        Package</ns1:DictionaryEntryName> <ns1:Definition>A package
        contained in this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Package</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Package</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Package</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar goods_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Equipment. Goods
        Item</ns1:DictionaryEntryName> <ns1:Definition>A goods item
        contained in this piece of transport equipment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Equipment</ns1:ObjectClass>
        <ns1:PropertyTerm>Goods Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Goods
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Goods
        Item</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    referenced_consignment_id: list[ReferencedConsignmentId] = field(
        default_factory=list,
        metadata={
            "name": "ReferencedConsignmentID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transport_equipment_type_code: Optional[TransportEquipmentTypeCode] = (
        field(
            default=None,
            metadata={
                "name": "TransportEquipmentTypeCode",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    provider_type_code: Optional[ProviderTypeCode] = field(
        default=None,
        metadata={
            "name": "ProviderTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    owner_type_code: Optional[OwnerTypeCode] = field(
        default=None,
        metadata={
            "name": "OwnerTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    size_type_code: Optional[SizeTypeCode] = field(
        default=None,
        metadata={
            "name": "SizeTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    disposition_code: Optional[DispositionCode] = field(
        default=None,
        metadata={
            "name": "DispositionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    fullness_indication_code: Optional[FullnessIndicationCode] = field(
        default=None,
        metadata={
            "name": "FullnessIndicationCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    refrigeration_on_indicator: Optional[RefrigerationOnIndicator] = field(
        default=None,
        metadata={
            "name": "RefrigerationOnIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    information: list[Information] = field(
        default_factory=list,
        metadata={
            "name": "Information",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    returnability_indicator: Optional[ReturnabilityIndicator] = field(
        default=None,
        metadata={
            "name": "ReturnabilityIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    legal_status_indicator: Optional[LegalStatusIndicator] = field(
        default=None,
        metadata={
            "name": "LegalStatusIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    air_flow_percent: Optional[AirFlowPercent] = field(
        default=None,
        metadata={
            "name": "AirFlowPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    humidity_percent: Optional[HumidityPercent] = field(
        default=None,
        metadata={
            "name": "HumidityPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    animal_food_approved_indicator: Optional[AnimalFoodApprovedIndicator] = (
        field(
            default=None,
            metadata={
                "name": "AnimalFoodApprovedIndicator",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    human_food_approved_indicator: Optional[HumanFoodApprovedIndicator] = (
        field(
            default=None,
            metadata={
                "name": "HumanFoodApprovedIndicator",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    dangerous_goods_approved_indicator: Optional[
        DangerousGoodsApprovedIndicator
    ] = field(
        default=None,
        metadata={
            "name": "DangerousGoodsApprovedIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    refrigerated_indicator: Optional[RefrigeratedIndicator] = field(
        default=None,
        metadata={
            "name": "RefrigeratedIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    characteristics: Optional[Characteristics] = field(
        default=None,
        metadata={
            "name": "Characteristics",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    damage_remarks: list[DamageRemarks] = field(
        default_factory=list,
        metadata={
            "name": "DamageRemarks",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    special_transport_requirements: list[SpecialTransportRequirements] = field(
        default_factory=list,
        metadata={
            "name": "SpecialTransportRequirements",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gross_weight_measure: Optional[GrossWeightMeasure] = field(
        default=None,
        metadata={
            "name": "GrossWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    gross_volume_measure: Optional[GrossVolumeMeasure] = field(
        default=None,
        metadata={
            "name": "GrossVolumeMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tare_weight_measure: Optional[TareWeightMeasure] = field(
        default=None,
        metadata={
            "name": "TareWeightMeasure",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tracking_device_code: Optional[TrackingDeviceCode] = field(
        default=None,
        metadata={
            "name": "TrackingDeviceCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    power_indicator: Optional[PowerIndicator] = field(
        default=None,
        metadata={
            "name": "PowerIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    trace_id: Optional[TraceId] = field(
        default=None,
        metadata={
            "name": "TraceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    measurement_dimension: list[MeasurementDimension] = field(
        default_factory=list,
        metadata={
            "name": "MeasurementDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_equipment_seal: list[TransportEquipmentSeal] = field(
        default_factory=list,
        metadata={
            "name": "TransportEquipmentSeal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    minimum_temperature: Optional[MinimumTemperature] = field(
        default=None,
        metadata={
            "name": "MinimumTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    maximum_temperature: Optional[MaximumTemperature] = field(
        default=None,
        metadata={
            "name": "MaximumTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    provider_party: Optional[ProviderParty] = field(
        default=None,
        metadata={
            "name": "ProviderParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    loading_proof_party: Optional[LoadingProofParty] = field(
        default=None,
        metadata={
            "name": "LoadingProofParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    supplier_party: Optional[SupplierParty] = field(
        default=None,
        metadata={
            "name": "SupplierParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    owner_party: Optional[OwnerParty] = field(
        default=None,
        metadata={
            "name": "OwnerParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    operating_party: Optional[OperatingParty] = field(
        default=None,
        metadata={
            "name": "OperatingParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    loading_location: Optional[LoadingLocation] = field(
        default=None,
        metadata={
            "name": "LoadingLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    unloading_location: Optional[UnloadingLocation] = field(
        default=None,
        metadata={
            "name": "UnloadingLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    storage_location: Optional[StorageLocation] = field(
        default=None,
        metadata={
            "name": "StorageLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    positioning_transport_event: list[PositioningTransportEvent] = field(
        default_factory=list,
        metadata={
            "name": "PositioningTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    quarantine_transport_event: list[QuarantineTransportEvent] = field(
        default_factory=list,
        metadata={
            "name": "QuarantineTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_transport_event: list[DeliveryTransportEvent] = field(
        default_factory=list,
        metadata={
            "name": "DeliveryTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pickup_transport_event: list[PickupTransportEvent] = field(
        default_factory=list,
        metadata={
            "name": "PickupTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    handling_transport_event: list[HandlingTransportEvent] = field(
        default_factory=list,
        metadata={
            "name": "HandlingTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    loading_transport_event: list[LoadingTransportEvent] = field(
        default_factory=list,
        metadata={
            "name": "LoadingTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_event: list[TransportEvent] = field(
        default_factory=list,
        metadata={
            "name": "TransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    applicable_transport_means: Optional[ApplicableTransportMeans] = field(
        default=None,
        metadata={
            "name": "ApplicableTransportMeans",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    haulage_trading_terms: list[HaulageTradingTerms] = field(
        default_factory=list,
        metadata={
            "name": "HaulageTradingTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    hazardous_goods_transit: list[HazardousGoodsTransit] = field(
        default_factory=list,
        metadata={
            "name": "HazardousGoodsTransit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    packaged_transport_handling_unit: list["PackagedTransportHandlingUnit"] = (
        field(
            default_factory=list,
            metadata={
                "name": "PackagedTransportHandlingUnit",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    service_allowance_charge: list[ServiceAllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "ServiceAllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    freight_allowance_charge: list[FreightAllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "FreightAllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    attached_transport_equipment: list["AttachedTransportEquipment"] = field(
        default_factory=list,
        metadata={
            "name": "AttachedTransportEquipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery: Optional[Delivery] = field(
        default=None,
        metadata={
            "name": "Delivery",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pickup: Optional[Pickup] = field(
        default=None,
        metadata={
            "name": "Pickup",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch: Optional[Despatch] = field(
        default=None,
        metadata={
            "name": "Despatch",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    shipment_document_reference: list[ShipmentDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "ShipmentDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contained_in_transport_equipment: list["ContainedInTransportEquipment"] = (
        field(
            default_factory=list,
            metadata={
                "name": "ContainedInTransportEquipment",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    package: list[Package] = field(
        default_factory=list,
        metadata={
            "name": "Package",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    goods_item: list[GoodsItem] = field(
        default_factory=list,
        metadata={
            "name": "GoodsItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TransportScheduleType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Transport
    Schedule.

    Details</ns1:DictionaryEntryName> <ns1:Definition>Describes the
    location and schedule relating to a transport
    means.</ns1:Definition> <ns1:ObjectClass>Transport
    Schedule</ns1:ObjectClass> </ns1:Component>

    :ivar sequence_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Sequence.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>A number
        indicating the order of this status in the sequence in which
        statuses are to be presented.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Transport
        Schedule</ns1:ObjectClass>
        <ns1:PropertyTerm>Sequence</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar reference_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Reference Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The reference
        date for the transport schedule status.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Schedule</ns1:ObjectClass>
        <ns1:PropertyTerm>Reference Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar reference_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Reference Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The reference
        time for the transport schedule status.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Schedule</ns1:ObjectClass>
        <ns1:PropertyTerm>Reference Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar reliability_percent: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Reliability
        Percent. Percent</ns1:DictionaryEntryName> <ns1:Definition>The
        reliability of the transport schedule status, expressed as a
        percentage.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Schedule</ns1:ObjectClass>
        <ns1:PropertyTerm>Reliability Percent</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Percent</ns1:RepresentationTerm>
        <ns1:DataType>Percent. Type</ns1:DataType> </ns1:Component>
    :ivar remarks: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Remarks.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Remarks related
        to the transport schedule status.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Schedule</ns1:ObjectClass>
        <ns1:PropertyTerm>Remarks</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar status_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Status_ Location.
        Location</ns1:DictionaryEntryName> <ns1:Definition>The location
        for which status is reported.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Transport
        Schedule</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Status</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar actual_arrival_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Actual Arrival_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The actual arrival at a
        location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Schedule</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual
        Arrival</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar actual_departure_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Actual Departure_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The actual departure from a
        location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Schedule</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual
        Departure</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar estimated_departure_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Estimated
        Departure_ Transport Event. Transport
        Event</ns1:DictionaryEntryName> <ns1:Definition>An estimated
        departure from a specified location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Schedule</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated
        Departure</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar estimated_arrival_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Estimated Arrival_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>An estimated arrival at a specified
        location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Schedule</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated
        Arrival</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar planned_departure_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Planned Departure_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The planned departure from a specified
        location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Schedule</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Planned
        Departure</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar planned_arrival_transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Schedule. Planned Arrival_
        Transport Event. Transport Event</ns1:DictionaryEntryName>
        <ns1:Definition>The planned arrival at a specified
        location.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Schedule</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Planned
        Arrival</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Transport
        Event</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    """

    sequence_numeric: Optional[SequenceNumeric] = field(
        default=None,
        metadata={
            "name": "SequenceNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    reference_date: Optional[ReferenceDate] = field(
        default=None,
        metadata={
            "name": "ReferenceDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reference_time: Optional[ReferenceTime] = field(
        default=None,
        metadata={
            "name": "ReferenceTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    reliability_percent: Optional[ReliabilityPercent] = field(
        default=None,
        metadata={
            "name": "ReliabilityPercent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    remarks: list[Remarks] = field(
        default_factory=list,
        metadata={
            "name": "Remarks",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    status_location: Optional[StatusLocation] = field(
        default=None,
        metadata={
            "name": "StatusLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    actual_arrival_transport_event: Optional[ActualArrivalTransportEvent] = (
        field(
            default=None,
            metadata={
                "name": "ActualArrivalTransportEvent",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    actual_departure_transport_event: Optional[
        ActualDepartureTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "ActualDepartureTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    estimated_departure_transport_event: Optional[
        EstimatedDepartureTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "EstimatedDepartureTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    estimated_arrival_transport_event: Optional[
        EstimatedArrivalTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "EstimatedArrivalTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    planned_departure_transport_event: Optional[
        PlannedDepartureTransportEvent
    ] = field(
        default=None,
        metadata={
            "name": "PlannedDepartureTransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    planned_arrival_transport_event: Optional[PlannedArrivalTransportEvent] = (
        field(
            default=None,
            metadata={
                "name": "PlannedArrivalTransportEvent",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )


@dataclass
class AttachedTransportEquipment(TransportEquipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CatalogueLine(CatalogueLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CataloguePricingUpdateLine(CataloguePricingUpdateLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CatalogueRequestLine(CatalogueRequestLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContainedInTransportEquipment(TransportEquipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ContainingTransportEquipment(TransportEquipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ItemManagementProfile(ItemManagementProfileType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MainCarriageShipmentStage(ShipmentStageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OnCarriageShipmentStage(ShipmentStageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PreCarriageShipmentStage(ShipmentStageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PricingReference(PricingReferenceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ReferencedTransportEquipment(TransportEquipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestForTenderLine(RequestForTenderLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ShipmentStage(ShipmentStageType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubRequestForTenderLine(RequestForTenderLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubTenderLine(TenderLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SupplierConsumption(SupplierConsumptionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SupportedTransportEquipment(TransportEquipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderLine(TenderLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportEquipment(TransportEquipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportSchedule(TransportScheduleType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class UnsupportedTransportEquipment(TransportEquipmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CreditNoteLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Credit
    Note Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Credit Note or Self Billed Credit Note.</ns1:Definition>
    <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this credit note line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this credit note
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar credited_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Credited_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of items credited in this credit note line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Credited</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar line_extension_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Line Extension
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        total amount for this credit note line, including allowance
        charges but exclusive of taxes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass> <ns1:PropertyTerm>Line Extension
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_point_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Tax Point Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date of this
        credit note line, used to indicate the point at which tax
        becomes applicable.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass> <ns1:PropertyTerm>Tax Point
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Accounting Cost Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The buyer's
        accounting cost centre for this credit note line, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Accounting Cost.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The buyer's
        accounting cost centre for this credit note line, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar payment_purpose_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Payment Purpose Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the business purpose for this payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass> <ns1:PropertyTerm>Payment Purpose
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar free_of_charge_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Free Of Charge_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this credit note line is free
        of charge (true) or not (false). The default is
        false.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Free Of
        Charge</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar invoice_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Invoice_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>An invoice
        period to which this credit note line applies.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Invoice</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar order_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Order Line
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to an order line associated with this credit note
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Order Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Order Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Order Line
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar discrepancy_response: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Discrepancy_
        Response. Response</ns1:DictionaryEntryName> <ns1:Definition>A
        reason for the credit.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Discrepancy</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Response</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Response</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Response</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar despatch_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Despatch_ Line
        Reference. Line Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a despatch line associated with
        this credit note line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar receipt_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Receipt_ Line
        Reference. Line Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a receipt line associated with
        this credit note line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Receipt</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar billing_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Billing
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a billing document associated with this credit note
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Billing Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Billing
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Billing
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this credit note
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar pricing_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Pricing
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to pricing and item location information associated with this
        credit note line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass> <ns1:PropertyTerm>Pricing
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Pricing
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Pricing
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar originator_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Originator_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party who
        originated the Order to which the Credit Note is
        related.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Originator</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line.
        Delivery</ns1:DictionaryEntryName> <ns1:Definition>A delivery
        associated with this credit note line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Payment
        Terms</ns1:DictionaryEntryName> <ns1:Definition>A specification
        of payment terms associated with this credit note
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>A total amount
        of taxes of a particular kind applicable to this credit note
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tax Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charge associated with this credit note.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass> <ns1:PropertyTerm>Allowance
        Charge</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item
        associated with this credit note line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line.
        Price</ns1:DictionaryEntryName> <ns1:Definition>The price of the
        item associated with this credit note line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Unit Price, Base
        Price</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar delivery_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Delivery
        Terms</ns1:DictionaryEntryName> <ns1:Definition>Terms and
        conditions of a delivery associated with this credit note
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar sub_credit_note_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Sub_ Credit Note
        Line. Credit Note Line</ns1:DictionaryEntryName>
        <ns1:Definition>A class defining one or more Credit Note Lines
        detailing the credit note line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Credit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Sub</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Credit Note Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Credit Note
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Credit
        Note Line</ns1:RepresentationTerm> </ns1:Component>
    :ivar item_price_extension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Credit Note Line. Item_ Price
        Extension. Price Extension</ns1:DictionaryEntryName>
        <ns1:Definition>The price extension, calculated by multiplying
        the price per unit by the quantity of items on this credit note
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Credit Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Item</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Price Extension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price
        Extension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price Extension</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    credited_quantity: Optional[CreditedQuantity] = field(
        default=None,
        metadata={
            "name": "CreditedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_extension_amount: Optional[LineExtensionAmount] = field(
        default=None,
        metadata={
            "name": "LineExtensionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tax_point_date: Optional[TaxPointDate] = field(
        default=None,
        metadata={
            "name": "TaxPointDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost_code: Optional[AccountingCostCode] = field(
        default=None,
        metadata={
            "name": "AccountingCostCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost: Optional[AccountingCost] = field(
        default=None,
        metadata={
            "name": "AccountingCost",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_purpose_code: Optional[PaymentPurposeCode] = field(
        default=None,
        metadata={
            "name": "PaymentPurposeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    free_of_charge_indicator: Optional[FreeOfChargeIndicator] = field(
        default=None,
        metadata={
            "name": "FreeOfChargeIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    invoice_period: list[InvoicePeriod] = field(
        default_factory=list,
        metadata={
            "name": "InvoicePeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    order_line_reference: list[OrderLineReference] = field(
        default_factory=list,
        metadata={
            "name": "OrderLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    discrepancy_response: list[DiscrepancyResponse] = field(
        default_factory=list,
        metadata={
            "name": "DiscrepancyResponse",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch_line_reference: list[DespatchLineReference] = field(
        default_factory=list,
        metadata={
            "name": "DespatchLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    receipt_line_reference: list[ReceiptLineReference] = field(
        default_factory=list,
        metadata={
            "name": "ReceiptLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    billing_reference: list[BillingReference] = field(
        default_factory=list,
        metadata={
            "name": "BillingReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pricing_reference: Optional[PricingReference] = field(
        default=None,
        metadata={
            "name": "PricingReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    originator_party: Optional[OriginatorParty] = field(
        default=None,
        metadata={
            "name": "OriginatorParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery: list[Delivery] = field(
        default_factory=list,
        metadata={
            "name": "Delivery",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payment_terms: list[PaymentTerms] = field(
        default_factory=list,
        metadata={
            "name": "PaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_total: list[TaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    price: Optional[Price] = field(
        default=None,
        metadata={
            "name": "Price",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_terms: list[DeliveryTerms] = field(
        default_factory=list,
        metadata={
            "name": "DeliveryTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    sub_credit_note_line: list["SubCreditNoteLine"] = field(
        default_factory=list,
        metadata={
            "name": "SubCreditNoteLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item_price_extension: Optional[ItemPriceExtension] = field(
        default=None,
        metadata={
            "name": "ItemPriceExtension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class DebitNoteLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Debit Note
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Debit Note.</ns1:Definition> <ns1:ObjectClass>Debit Note
    Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this debit note line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Debit Note
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this debit note
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Debit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar debited_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Debited_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of Items debited in this debit note line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Debited</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar line_extension_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Line Extension Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        amount for this debit note line, including allowance charges but
        net of taxes.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Debit Note
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Line Extension
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_point_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Tax Point Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date of this
        debit note line, used to indicate the point at which tax becomes
        applicable.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass> <ns1:PropertyTerm>Tax Point
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Accounting Cost Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The buyer's
        accounting cost centre for this debit note line, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Debit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Accounting Cost.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The buyer's
        accounting cost centre for this debit note line, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Debit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar payment_purpose_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Payment Purpose Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the business purpose for this payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass> <ns1:PropertyTerm>Payment Purpose
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar discrepancy_response: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Discrepancy_ Response.
        Response</ns1:DictionaryEntryName> <ns1:Definition>A reason for
        the debit.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Discrepancy</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Response</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Response</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Response</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar despatch_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Despatch_ Line
        Reference. Line Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a despatch line associated with
        this debit note line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar receipt_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Receipt_ Line
        Reference. Line Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a receipt line associated with
        this debit note line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Receipt</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar billing_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Billing
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a billing document associated with this debit note
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Debit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Billing Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Billing
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Billing
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this debit note
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Debit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar pricing_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Pricing
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to pricing and item location information associated with this
        debit note line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass> <ns1:PropertyTerm>Pricing
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Pricing
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Pricing
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar delivery: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line.
        Delivery</ns1:DictionaryEntryName> <ns1:Definition>A delivery
        associated with this debit note line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>A total amount
        of taxes of a particular kind applicable to this debit note
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Debit Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tax Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charge associated with this debit note.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass> <ns1:PropertyTerm>Allowance
        Charge</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item
        associated with this debit note line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line.
        Price</ns1:DictionaryEntryName> <ns1:Definition>The price of the
        item associated with this debit note line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Unit Price, Base
        Price</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar sub_debit_note_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Debit Note Line. Sub_ Debit Note Line.
        Debit Note Line</ns1:DictionaryEntryName> <ns1:Definition>A
        recursive description of a debit note line subsidiary to this
        debit note line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Debit
        Note Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Sub</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Debit Note Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Debit Note
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Debit
        Note Line</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    debited_quantity: Optional[DebitedQuantity] = field(
        default=None,
        metadata={
            "name": "DebitedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_extension_amount: Optional[LineExtensionAmount] = field(
        default=None,
        metadata={
            "name": "LineExtensionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    tax_point_date: Optional[TaxPointDate] = field(
        default=None,
        metadata={
            "name": "TaxPointDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost_code: Optional[AccountingCostCode] = field(
        default=None,
        metadata={
            "name": "AccountingCostCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost: Optional[AccountingCost] = field(
        default=None,
        metadata={
            "name": "AccountingCost",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_purpose_code: Optional[PaymentPurposeCode] = field(
        default=None,
        metadata={
            "name": "PaymentPurposeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    discrepancy_response: list[DiscrepancyResponse] = field(
        default_factory=list,
        metadata={
            "name": "DiscrepancyResponse",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch_line_reference: list[DespatchLineReference] = field(
        default_factory=list,
        metadata={
            "name": "DespatchLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    receipt_line_reference: list[ReceiptLineReference] = field(
        default_factory=list,
        metadata={
            "name": "ReceiptLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    billing_reference: list[BillingReference] = field(
        default_factory=list,
        metadata={
            "name": "BillingReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pricing_reference: Optional[PricingReference] = field(
        default=None,
        metadata={
            "name": "PricingReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery: list[Delivery] = field(
        default_factory=list,
        metadata={
            "name": "Delivery",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_total: list[TaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    price: Optional[Price] = field(
        default=None,
        metadata={
            "name": "Price",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    sub_debit_note_line: list["SubDebitNoteLine"] = field(
        default_factory=list,
        metadata={
            "name": "SubDebitNoteLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class GoodsItemContainerType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Goods Item
    Container.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class defining
    how goods items are split across transport
    equipment.</ns1:Definition> <ns1:ObjectClass>Goods Item
    Container</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item Container.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this goods item container.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Goods Item
        Container</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item Container.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The number of
        goods items loaded into or onto one piece of transport equipment
        as a total consignment or part of a
        consignment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Goods
        Item Container</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Number of packages
        stuffed</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar transport_equipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Goods Item Container. Transport
        Equipment</ns1:DictionaryEntryName> <ns1:Definition>A piece of
        transport equipment used to contain a single goods
        item.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Goods Item Container</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Equipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Equipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport
        Equipment</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transport_equipment: list[TransportEquipment] = field(
        default_factory=list,
        metadata={
            "name": "TransportEquipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class InvoiceLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Invoice
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in an Invoice.</ns1:Definition> <ns1:ObjectClass>Invoice
    Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this invoice line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this invoice
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar invoiced_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Invoiced_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        (of items) on this invoice line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Invoiced</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar line_extension_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Line Extension Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        amount for this invoice line, including allowance charges but
        net of taxes.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Line Extension
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar tax_point_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Tax Point Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date of this
        invoice line, used to indicate the point at which tax becomes
        applicable.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Tax Point
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Accounting Cost Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The buyer's
        accounting cost centre for this invoice line, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Accounting Cost.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The buyer's
        accounting cost centre for this invoice line, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar payment_purpose_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Payment Purpose Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the business purpose for this payment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Payment Purpose
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar free_of_charge_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Free Of Charge_
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that this invoice line is free of
        charge (true) or not (false). The default is
        false.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Free Of
        Charge</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar invoice_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Invoice_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>An invoice
        period to which this invoice line applies.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Invoice</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar order_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Order Line
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to an order line associated with this invoice
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Order Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Order Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Order Line
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar despatch_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Despatch_ Line Reference.
        Line Reference</ns1:DictionaryEntryName> <ns1:Definition>A
        reference to a despatch line associated with this invoice
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Despatch</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar receipt_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Receipt_ Line Reference.
        Line Reference</ns1:DictionaryEntryName> <ns1:Definition>A
        reference to a receipt line associated with this invoice
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Receipt</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar billing_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Billing
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a billing document associated with this invoice
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Billing Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Billing
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Billing
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this invoice
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar pricing_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Pricing
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to pricing and item location information associated with this
        invoice line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Pricing
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Pricing
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Pricing
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar originator_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Originator_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party who
        originated the Order to which the Invoice is
        related.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Originator</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line.
        Delivery</ns1:DictionaryEntryName> <ns1:Definition>A delivery
        associated with this invoice line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Payment
        Terms</ns1:DictionaryEntryName> <ns1:Definition>A specification
        of payment terms associated with this invoice
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charge associated with this invoice line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Allowance
        Charge</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>A total amount
        of taxes of a particular kind applicable to this invoice
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tax Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar withholding_tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Withholding_ Tax Total.
        Tax Total</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a TaxTotal class describing the amount that has been withhold
        by the authorities, e.g. if the creditor is in dept because of
        non paid taxes.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Withholding</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tax Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tax Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item
        associated with this invoice line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line.
        Price</ns1:DictionaryEntryName> <ns1:Definition>The price of the
        item associated with this invoice line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price</ns1:RepresentationTerm>
        <ns1:AlternativeBusinessTerms>Unit Price, Base
        Price</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar delivery_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Delivery
        Terms</ns1:DictionaryEntryName> <ns1:Definition>Terms and
        conditions of the delivery associated with this invoice
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Invoice Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar sub_invoice_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Sub_ Invoice Line.
        Invoice Line</ns1:DictionaryEntryName> <ns1:Definition>An
        invoice line subsidiary to this invoice line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Sub</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Invoice Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Invoice
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Invoice
        Line</ns1:RepresentationTerm> </ns1:Component>
    :ivar item_price_extension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Invoice Line. Item_ Price Extension.
        Price Extension</ns1:DictionaryEntryName> <ns1:Definition>The
        price extension, calculated by multiplying the price per unit by
        the quantity of items on this invoice line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Invoice
        Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Item</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Price Extension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price
        Extension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price Extension</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    invoiced_quantity: Optional[InvoicedQuantity] = field(
        default=None,
        metadata={
            "name": "InvoicedQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_extension_amount: Optional[LineExtensionAmount] = field(
        default=None,
        metadata={
            "name": "LineExtensionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    tax_point_date: Optional[TaxPointDate] = field(
        default=None,
        metadata={
            "name": "TaxPointDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost_code: Optional[AccountingCostCode] = field(
        default=None,
        metadata={
            "name": "AccountingCostCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost: Optional[AccountingCost] = field(
        default=None,
        metadata={
            "name": "AccountingCost",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_purpose_code: Optional[PaymentPurposeCode] = field(
        default=None,
        metadata={
            "name": "PaymentPurposeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    free_of_charge_indicator: Optional[FreeOfChargeIndicator] = field(
        default=None,
        metadata={
            "name": "FreeOfChargeIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    invoice_period: list[InvoicePeriod] = field(
        default_factory=list,
        metadata={
            "name": "InvoicePeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    order_line_reference: list[OrderLineReference] = field(
        default_factory=list,
        metadata={
            "name": "OrderLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    despatch_line_reference: list[DespatchLineReference] = field(
        default_factory=list,
        metadata={
            "name": "DespatchLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    receipt_line_reference: list[ReceiptLineReference] = field(
        default_factory=list,
        metadata={
            "name": "ReceiptLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    billing_reference: list[BillingReference] = field(
        default_factory=list,
        metadata={
            "name": "BillingReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pricing_reference: Optional[PricingReference] = field(
        default=None,
        metadata={
            "name": "PricingReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    originator_party: Optional[OriginatorParty] = field(
        default=None,
        metadata={
            "name": "OriginatorParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery: list[Delivery] = field(
        default_factory=list,
        metadata={
            "name": "Delivery",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payment_terms: list[PaymentTerms] = field(
        default_factory=list,
        metadata={
            "name": "PaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_total: list[TaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    withholding_tax_total: list[WithholdingTaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "WithholdingTaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    price: Optional[Price] = field(
        default=None,
        metadata={
            "name": "Price",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_terms: Optional[DeliveryTerms] = field(
        default=None,
        metadata={
            "name": "DeliveryTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    sub_invoice_line: list["SubInvoiceLine"] = field(
        default_factory=list,
        metadata={
            "name": "SubInvoiceLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item_price_extension: Optional[ItemPriceExtension] = field(
        default=None,
        metadata={
            "name": "ItemPriceExtension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class LineItemType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Line Item.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a line item.</ns1:Definition> <ns1:ObjectClass>Line
    Item</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this line item, assigned by the
        buyer.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar sales_order_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Sales_ Order Identifier.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this line item, assigned by the
        seller.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Sales</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Order Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this line
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar line_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Line Status Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the status of this line item with respect to its original
        state.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Line Status Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Line Status</ns1:DataTypeQualifier>
        <ns1:DataType>Line Status_ Code. Type</ns1:DataType>
        </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of items associated with this line item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar line_extension_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Line Extension Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        amount for this line item, including allowance charges but net
        of taxes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Line Extension
        Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar total_tax_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Total_ Tax Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total tax
        amount for this line item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tax Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Minimum_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The minimum
        quantity of the item associated with this line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Maximum_ Quantity.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        quantity of the item associated with this line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar minimum_backorder_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Minimum_ Backorder.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The minimum
        back order quantity of the item associated with this line (where
        back order is allowed).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Backorder</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_backorder_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Maximum_ Backorder.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The maximum
        back order quantity of the item associated with this line (where
        back order is allowed).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Backorder</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar inspection_method_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Inspection Method Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the inspection requirements for the item associated with this
        line item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Inspection Method
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar partial_delivery_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Partial Delivery Indicator.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that a partial delivery is allowed (true) or not
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Partial Delivery
        Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar back_order_allowed_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Back Order Allowed
        Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that back order is allowed (true)
        or not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Back Order Allowed
        Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Accounting Cost Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The buyer's
        accounting cost centre for this line item, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar accounting_cost: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Accounting Cost.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The buyer's
        accounting cost centre for this line item, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Accounting Cost</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar warranty_information: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Warranty_ Information.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing a
        warranty (provided by WarrantyParty) for the good or service
        described in this line item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warranty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Information</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>Unless
        specified otherwise and in addition to any rights the Customer
        may have under statute, Dell warrants to the Customer that Dell
        branded Products (excluding third party products and software),
        will be free from defects in materials and workmanship affecting
        normal use for a period of one year from invoice date ( Standard
        Warranty ). </ns1:Examples> </ns1:Component>
    :ivar delivery: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item.
        Delivery</ns1:DictionaryEntryName> <ns1:Definition>A delivery
        associated with this line item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar delivery_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Delivery
        Terms</ns1:DictionaryEntryName> <ns1:Definition>Terms and
        conditions of the delivery associated with this line
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Delivery Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Delivery
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Delivery Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar originator_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Originator_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party who
        originated the Order associated with this line
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Originator</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar ordered_shipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Ordered
        Shipment</ns1:DictionaryEntryName> <ns1:Definition>An ordered
        shipment associated with this line item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Ordered
        Shipment</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Ordered
        Shipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Ordered
        Shipment</ns1:RepresentationTerm> </ns1:Component>
    :ivar pricing_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Pricing
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to pricing and item location information associated with this
        line item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Pricing
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Pricing
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Pricing
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar allowance_charge: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Allowance
        Charge</ns1:DictionaryEntryName> <ns1:Definition>An allowance or
        charge associated with this line item.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Allowance
        Charge</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Allowance
        Charge</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Allowance
        Charge</ns1:RepresentationTerm> </ns1:Component>
    :ivar price: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item.
        Price</ns1:DictionaryEntryName> <ns1:Definition>The price of the
        item of trade associated with this line item.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Price</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item.
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item of trade
        associated with this line item.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass> <ns1:PropertyTerm>Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar sub_line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Sub_ Line Item. Line
        Item</ns1:DictionaryEntryName> <ns1:Definition>The subsidiary
        line items that constitute the main line item, such as in a bill
        of materials.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Sub</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar warranty_validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Warranty Validity_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which the warranty associated with this line item is
        valid.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warranty
        Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar warranty_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Warranty_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        responsible for any warranty associated with this line
        item.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warranty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>A total amount
        of taxes of a particular kind applicable to this
        item.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tax Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar item_price_extension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Item_ Price Extension. Price
        Extension</ns1:DictionaryEntryName> <ns1:Definition>The price
        extension, calculated by multiplying the price per unit by the
        quantity of items.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Line
        Item</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Item</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Price Extension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Price
        Extension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Price Extension</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Line Item. Line
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a line in a document associated with this line
        item.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Line Item</ns1:ObjectClass>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    sales_order_id: Optional[SalesOrderId] = field(
        default=None,
        metadata={
            "name": "SalesOrderID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_status_code: Optional[LineStatusCode] = field(
        default=None,
        metadata={
            "name": "LineStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_extension_amount: Optional[LineExtensionAmount] = field(
        default=None,
        metadata={
            "name": "LineExtensionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_tax_amount: Optional[TotalTaxAmount] = field(
        default=None,
        metadata={
            "name": "TotalTaxAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_quantity: Optional[MinimumQuantity] = field(
        default=None,
        metadata={
            "name": "MinimumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_quantity: Optional[MaximumQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    minimum_backorder_quantity: Optional[MinimumBackorderQuantity] = field(
        default=None,
        metadata={
            "name": "MinimumBackorderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_backorder_quantity: Optional[MaximumBackorderQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumBackorderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    inspection_method_code: Optional[InspectionMethodCode] = field(
        default=None,
        metadata={
            "name": "InspectionMethodCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    partial_delivery_indicator: Optional[PartialDeliveryIndicator] = field(
        default=None,
        metadata={
            "name": "PartialDeliveryIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    back_order_allowed_indicator: Optional[BackOrderAllowedIndicator] = field(
        default=None,
        metadata={
            "name": "BackOrderAllowedIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost_code: Optional[AccountingCostCode] = field(
        default=None,
        metadata={
            "name": "AccountingCostCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accounting_cost: Optional[AccountingCost] = field(
        default=None,
        metadata={
            "name": "AccountingCost",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    warranty_information: list[WarrantyInformation] = field(
        default_factory=list,
        metadata={
            "name": "WarrantyInformation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    delivery: list[Delivery] = field(
        default_factory=list,
        metadata={
            "name": "Delivery",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    delivery_terms: Optional[DeliveryTerms] = field(
        default=None,
        metadata={
            "name": "DeliveryTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    originator_party: Optional[OriginatorParty] = field(
        default=None,
        metadata={
            "name": "OriginatorParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    ordered_shipment: list[OrderedShipment] = field(
        default_factory=list,
        metadata={
            "name": "OrderedShipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pricing_reference: Optional[PricingReference] = field(
        default=None,
        metadata={
            "name": "PricingReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowance_charge: list[AllowanceCharge] = field(
        default_factory=list,
        metadata={
            "name": "AllowanceCharge",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    price: Optional[Price] = field(
        default=None,
        metadata={
            "name": "Price",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item: Optional[Item] = field(
        default=None,
        metadata={
            "name": "Item",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    sub_line_item: list["SubLineItem"] = field(
        default_factory=list,
        metadata={
            "name": "SubLineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    warranty_validity_period: Optional[WarrantyValidityPeriod] = field(
        default=None,
        metadata={
            "name": "WarrantyValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    warranty_party: Optional[WarrantyParty] = field(
        default=None,
        metadata={
            "name": "WarrantyParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_total: list[TaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    item_price_extension: Optional[ItemPriceExtension] = field(
        default=None,
        metadata={
            "name": "ItemPriceExtension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    line_reference: list[LineReference] = field(
        default_factory=list,
        metadata={
            "name": "LineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ProcurementProjectType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Procurement Project.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a project to procure goods, works, or
    services.</ns1:Definition> <ns1:ObjectClass>Procurement
    Project</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this procurement project.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project.
        Name</ns1:DictionaryEntryName> <ns1:Definition>A name of this
        procurement project.</ns1:Definition>
        <ns1:Cardinality>1..n</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this procurement project.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar procurement_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Procurement_ Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of procurement project (e.g., goods, works,
        services).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Procurement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar procurement_sub_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Procurement Sub_
        Type Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the subcategory of the type of work for this project
        (e.g., land surveying, IT consulting).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Procurement
        Sub</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar quality_control_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Quality Control
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The
        indication of whether or not the control quality is included in
        the works project.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Quality Control Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar required_fee_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Required_ Fee.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The amount of
        the reimbursement fee for concession procurement
        projects.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Fee</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar fee_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Fee_ Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the reimbursement fee for concession procurement
        projects.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Fee</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar requested_delivery_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Requested_
        Delivery Date. Date</ns1:DictionaryEntryName>
        <ns1:Definition>The requested delivery date for this procurement
        project.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Requested</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Delivery Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar estimated_overall_contract_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Estimated_ Overall
        Contract. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        estimated overall quantity for this procurement
        project.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Overall Contract</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        applying to the Procurement Project. This element may contain
        additional information about the lot/contract that is not
        contained explicitly in another structure.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar requested_tender_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Requested Tender
        Total</ns1:DictionaryEntryName> <ns1:Definition>Budget monetary
        amounts for the project as whole.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Requested Tender Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Requested Tender
        Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Requested Tender
        Total</ns1:RepresentationTerm> </ns1:Component>
    :ivar main_commodity_classification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Main_ Commodity
        Classification. Commodity
        Classification</ns1:DictionaryEntryName> <ns1:Definition>An
        association to the main classification category for the
        deliverable requested.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Main</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Commodity Classification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Commodity
        Classification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Commodity
        Classification</ns1:RepresentationTerm> </ns1:Component>
    :ivar additional_commodity_classification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Additional_
        Commodity Classification. Commodity
        Classification</ns1:DictionaryEntryName> <ns1:Definition>An
        association to additional classification categories for the
        deliverable requested.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Commodity Classification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Commodity
        Classification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Commodity
        Classification</ns1:RepresentationTerm> </ns1:Component>
    :ivar realized_location: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Realized_
        Location. Location</ns1:DictionaryEntryName> <ns1:Definition>A
        place where this procurement project will be physically
        realized.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Realized</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Location</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Location</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Location</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar planned_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Planned_ Period.
        Period</ns1:DictionaryEntryName> <ns1:Definition>The period
        during which this procurement project is planned to take
        place.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Planned</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar contract_extension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Contract
        Extension</ns1:DictionaryEntryName> <ns1:Definition>The contract
        extension for this tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Contract Extension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contract
        Extension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contract
        Extension</ns1:RepresentationTerm> </ns1:Component>
    :ivar request_for_tender_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project. Request For Tender
        Line</ns1:DictionaryEntryName> <ns1:Definition>A good or service
        this project is intended to procure.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Request For Tender Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Request For Tender
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Request
        For Tender Line</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: list[Name] = field(
        default_factory=list,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "min_occurs": 1,
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    procurement_type_code: Optional[ProcurementTypeCode] = field(
        default=None,
        metadata={
            "name": "ProcurementTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    procurement_sub_type_code: Optional[ProcurementSubTypeCode] = field(
        default=None,
        metadata={
            "name": "ProcurementSubTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quality_control_code: Optional[QualityControlCode] = field(
        default=None,
        metadata={
            "name": "QualityControlCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    required_fee_amount: Optional[RequiredFeeAmount] = field(
        default=None,
        metadata={
            "name": "RequiredFeeAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    fee_description: list[FeeDescription] = field(
        default_factory=list,
        metadata={
            "name": "FeeDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    requested_delivery_date: Optional[RequestedDeliveryDate] = field(
        default=None,
        metadata={
            "name": "RequestedDeliveryDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    estimated_overall_contract_quantity: Optional[
        EstimatedOverallContractQuantity
    ] = field(
        default=None,
        metadata={
            "name": "EstimatedOverallContractQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    requested_tender_total: Optional[RequestedTenderTotal] = field(
        default=None,
        metadata={
            "name": "RequestedTenderTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    main_commodity_classification: Optional[MainCommodityClassification] = (
        field(
            default=None,
            metadata={
                "name": "MainCommodityClassification",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    additional_commodity_classification: list[
        AdditionalCommodityClassification
    ] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalCommodityClassification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    realized_location: list[RealizedLocation] = field(
        default_factory=list,
        metadata={
            "name": "RealizedLocation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    planned_period: Optional[PlannedPeriod] = field(
        default=None,
        metadata={
            "name": "PlannedPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contract_extension: Optional[ContractExtension] = field(
        default=None,
        metadata={
            "name": "ContractExtension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    request_for_tender_line: list[RequestForTenderLine] = field(
        default_factory=list,
        metadata={
            "name": "RequestForTenderLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class SubscriberConsumptionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Subscriber
    Consumption.

    Details</ns1:DictionaryEntryName> <ns1:Definition>The consumption
    for a specific party for given consumption point provided by a
    numbers of suppliers. An enterprise can have one utility statement
    for several parties (e.g. a ministry of defence receiving a
    telephone bill). In this way each subscriber consumption represent a
    sub utility statement.</ns1:Definition> <ns1:ObjectClass>Subscriber
    Consumption</ns1:ObjectClass> </ns1:Component>

    :ivar consumption_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subscriber Consumption. Consumption
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>The identifier tor this
        specification.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subscriber Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar specification_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subscriber Consumption. Specification
        Type Code. Code</ns1:DictionaryEntryName> <ns1:Definition>The
        code which specifies the type of this specification, e.g. an on
        account specification or the yearly
        specification.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subscriber Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Specification Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subscriber Consumption. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Subscriber Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> <ns1:Examples>This is
        how we have calculating your yearly statement</ns1:Examples>
        </ns1:Component>
    :ivar total_metered_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subscriber Consumption. Total Metered
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        total quantity consumed, as calculated from meter
        readings.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subscriber Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Total Metered Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType>
        <ns1:Examples>2000.0</ns1:Examples> </ns1:Component>
    :ivar subscriber_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subscriber Consumption. Subscriber_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        subscribing to the utility.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subscriber Consumption</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Subscriber</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar utility_consumption_point: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subscriber Consumption. Utility_
        Consumption Point. Consumption Point</ns1:DictionaryEntryName>
        <ns1:Definition>The point at which the utility is
        consumed.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Subscriber Consumption</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Utility</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Consumption Point</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consumption
        Point</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consumption
        Point</ns1:RepresentationTerm> </ns1:Component>
    :ivar on_account_payment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subscriber Consumption. On Account
        Payment</ns1:DictionaryEntryName> <ns1:Definition>The planned
        prepayments (on account) regarding this
        subscription.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Subscriber Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>On Account Payment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>On Account
        Payment</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>On
        Account Payment</ns1:RepresentationTerm> </ns1:Component>
    :ivar consumption: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subscriber Consumption.
        Consumption</ns1:DictionaryEntryName> <ns1:Definition>The
        consumption in case the consumption is from one and only one
        supplier.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Subscriber Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Consumption</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consumption</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consumption</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar supplier_consumption: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Subscriber Consumption. Supplier
        Consumption</ns1:DictionaryEntryName> <ns1:Definition>The
        consumption in case the consumption is from more than one
        supplier.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Subscriber Consumption</ns1:ObjectClass>
        <ns1:PropertyTerm>Supplier Consumption</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Supplier
        Consumption</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Supplier
        Consumption</ns1:RepresentationTerm> </ns1:Component>
    """

    consumption_id: Optional[ConsumptionId] = field(
        default=None,
        metadata={
            "name": "ConsumptionID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    specification_type_code: Optional[SpecificationTypeCode] = field(
        default=None,
        metadata={
            "name": "SpecificationTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_metered_quantity: Optional[TotalMeteredQuantity] = field(
        default=None,
        metadata={
            "name": "TotalMeteredQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    subscriber_party: Optional[SubscriberParty] = field(
        default=None,
        metadata={
            "name": "SubscriberParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    utility_consumption_point: Optional[UtilityConsumptionPoint] = field(
        default=None,
        metadata={
            "name": "UtilityConsumptionPoint",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    on_account_payment: list[OnAccountPayment] = field(
        default_factory=list,
        metadata={
            "name": "OnAccountPayment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    consumption: Optional[Consumption] = field(
        default=None,
        metadata={
            "name": "Consumption",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    supplier_consumption: list[SupplierConsumption] = field(
        default_factory=list,
        metadata={
            "name": "SupplierConsumption",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TransportHandlingUnitType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Transport
    Handling Unit.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a uniquely identifiable unit consisting of one or more
    packages, goods items, or pieces of transport
    equipment.</ns1:Definition> <ns1:ObjectClass>Transport Handling
    Unit</ns1:ObjectClass> <ns1:AlternativeBusinessTerms>Logistics Unit,
    Handling Unit, THU</ns1:AlternativeBusinessTerms> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar transport_handling_unit_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Transport
        Handling Unit Type Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the type of this transport
        handling unit.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Handling Unit Type
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar handling_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Handling Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The handling
        required for this transport handling unit, expressed as a
        code.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Handling Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Special
        Handling</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar handling_instructions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Handling_
        Instructions. Text</ns1:DictionaryEntryName> <ns1:Definition>The
        handling required for this transport handling unit, expressed as
        text.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Handling</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Instructions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar hazardous_risk_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Hazardous
        Risk_ Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indicator that the materials contained in
        this transport handling unit are subject to an international
        regulation concerning the carriage of dangerous goods (true) or
        not (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Hazardous
        Risk</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType>
        <ns1:Examples>Default is negative</ns1:Examples>
        </ns1:Component>
    :ivar total_goods_item_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Total_ Goods
        Item Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>The total number of goods items in this
        transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Goods Item Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar total_package_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Total_ Package
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        total number of packages in this transport handling
        unit.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Package Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar damage_remarks: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Damage_
        Remarks. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing damage associated with this transport handling
        unit.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Damage</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Remarks</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar shipping_marks: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Shipping_
        Marks. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing the marks and numbers on this transport handling
        unit.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Shipping</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Marks</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Marks and Numbers, Shipping
        Marks</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar trace_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Trace_
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for use in tracing this transport
        handling unit, such as the EPC number used in
        RFID.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Trace</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar handling_unit_despatch_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Handling Unit_
        Despatch Line. Despatch Line</ns1:DictionaryEntryName>
        <ns1:Definition>A despatch line associated with this transport
        handling unit.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Handling
        Unit</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Despatch
        Line</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Despatch
        Line</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Despatch Line</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar actual_package: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Actual_
        Package. Package</ns1:DictionaryEntryName> <ns1:Definition>A
        package contained in this transport handling
        unit.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Actual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Package</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Package</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Package</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar received_handling_unit_receipt_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Received
        Handling Unit_ Receipt Line. Receipt
        Line</ns1:DictionaryEntryName> <ns1:Definition>A receipt line
        associated with this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Received Handling
        Unit</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Receipt
        Line</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Receipt
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Receipt
        Line</ns1:RepresentationTerm> </ns1:Component>
    :ivar transport_equipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Transport
        Equipment</ns1:DictionaryEntryName> <ns1:Definition>A piece of
        transport equipment associated with this transport handling
        unit.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Equipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Equipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport
        Equipment</ns1:RepresentationTerm> </ns1:Component>
    :ivar transport_means: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Transport
        Means</ns1:DictionaryEntryName> <ns1:Definition>A means of
        transport associated with this transport handling
        unit.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Means</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Means</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Means</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar hazardous_goods_transit: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Hazardous
        Goods Transit</ns1:DictionaryEntryName> <ns1:Definition>Transit-
        related information regarding a type of hazardous goods
        contained in this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Hazardous Goods Transit</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Hazardous Goods
        Transit</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Hazardous Goods
        Transit</ns1:RepresentationTerm> </ns1:Component>
    :ivar measurement_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Measurement_
        Dimension. Dimension</ns1:DictionaryEntryName> <ns1:Definition>A
        measurable dimension (length, mass, weight, or volume) of this
        transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Measurement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar minimum_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Minimum_
        Temperature. Temperature</ns1:DictionaryEntryName>
        <ns1:Definition>The minimum required operating temperature of
        this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Minimum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar maximum_temperature: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Maximum_
        Temperature. Temperature</ns1:DictionaryEntryName>
        <ns1:Definition>The maximum allowable operating temperature of
        this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Temperature</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Temperature</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Temperature</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar goods_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Goods
        Item</ns1:DictionaryEntryName> <ns1:Definition>A goods item
        contained in this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Goods Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Goods
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Goods
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar floor_space_measurement_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Floor Space
        Measurement_ Dimension. Dimension</ns1:DictionaryEntryName>
        <ns1:Definition>The floor space measurement dimension associated
        with this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Floor Space
        Measurement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar pallet_space_measurement_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Pallet Space
        Measurement_ Dimension. Dimension</ns1:DictionaryEntryName>
        <ns1:Definition>The pallet space measurement dimension
        associated to this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Pallet Space
        Measurement</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar shipment_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Shipment_
        Document Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a shipping document associated
        with this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Shipment</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar status: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit.
        Status</ns1:DictionaryEntryName> <ns1:Definition>The status of
        this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Status</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Status</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Status</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar customs_declaration: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Customs
        Declaration</ns1:DictionaryEntryName> <ns1:Definition>Describes
        identifiers or references relating to customs
        procedures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Customs Declaration</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Customs
        Declaration</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Customs
        Declaration</ns1:RepresentationTerm> </ns1:Component>
    :ivar referenced_shipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit. Referenced_
        Shipment. Shipment</ns1:DictionaryEntryName> <ns1:Definition>A
        shipment associated with this transport handling
        unit.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Referenced</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Shipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar package: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transport Handling Unit.
        Package</ns1:DictionaryEntryName> <ns1:Definition>A package
        contained in this transport handling unit.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transport Handling Unit</ns1:ObjectClass>
        <ns1:PropertyTerm>Package</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Package</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Package</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transport_handling_unit_type_code: Optional[
        TransportHandlingUnitTypeCode
    ] = field(
        default=None,
        metadata={
            "name": "TransportHandlingUnitTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    handling_code: Optional[HandlingCode] = field(
        default=None,
        metadata={
            "name": "HandlingCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    handling_instructions: list[HandlingInstructions] = field(
        default_factory=list,
        metadata={
            "name": "HandlingInstructions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    hazardous_risk_indicator: Optional[HazardousRiskIndicator] = field(
        default=None,
        metadata={
            "name": "HazardousRiskIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_goods_item_quantity: Optional[TotalGoodsItemQuantity] = field(
        default=None,
        metadata={
            "name": "TotalGoodsItemQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_package_quantity: Optional[TotalPackageQuantity] = field(
        default=None,
        metadata={
            "name": "TotalPackageQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    damage_remarks: list[DamageRemarks] = field(
        default_factory=list,
        metadata={
            "name": "DamageRemarks",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    shipping_marks: list[ShippingMarks] = field(
        default_factory=list,
        metadata={
            "name": "ShippingMarks",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    trace_id: Optional[TraceId] = field(
        default=None,
        metadata={
            "name": "TraceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    handling_unit_despatch_line: list[HandlingUnitDespatchLine] = field(
        default_factory=list,
        metadata={
            "name": "HandlingUnitDespatchLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    actual_package: list[ActualPackage] = field(
        default_factory=list,
        metadata={
            "name": "ActualPackage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    received_handling_unit_receipt_line: list[
        ReceivedHandlingUnitReceiptLine
    ] = field(
        default_factory=list,
        metadata={
            "name": "ReceivedHandlingUnitReceiptLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_equipment: list[TransportEquipment] = field(
        default_factory=list,
        metadata={
            "name": "TransportEquipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_means: list[TransportMeans] = field(
        default_factory=list,
        metadata={
            "name": "TransportMeans",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    hazardous_goods_transit: list[HazardousGoodsTransit] = field(
        default_factory=list,
        metadata={
            "name": "HazardousGoodsTransit",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    measurement_dimension: list[MeasurementDimension] = field(
        default_factory=list,
        metadata={
            "name": "MeasurementDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    minimum_temperature: Optional[MinimumTemperature] = field(
        default=None,
        metadata={
            "name": "MinimumTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    maximum_temperature: Optional[MaximumTemperature] = field(
        default=None,
        metadata={
            "name": "MaximumTemperature",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    goods_item: list[GoodsItem] = field(
        default_factory=list,
        metadata={
            "name": "GoodsItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    floor_space_measurement_dimension: Optional[
        FloorSpaceMeasurementDimension
    ] = field(
        default=None,
        metadata={
            "name": "FloorSpaceMeasurementDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    pallet_space_measurement_dimension: Optional[
        PalletSpaceMeasurementDimension
    ] = field(
        default=None,
        metadata={
            "name": "PalletSpaceMeasurementDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    shipment_document_reference: list[ShipmentDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "ShipmentDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    status: list[Status] = field(
        default_factory=list,
        metadata={
            "name": "Status",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    customs_declaration: list[CustomsDeclaration] = field(
        default_factory=list,
        metadata={
            "name": "CustomsDeclaration",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    referenced_shipment: list[ReferencedShipment] = field(
        default_factory=list,
        metadata={
            "name": "ReferencedShipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    package: list[Package] = field(
        default_factory=list,
        metadata={
            "name": "Package",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TransportationServiceType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Transportation Service.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a transportation service.</ns1:Definition>
    <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
    </ns1:Component>

    :ivar transport_service_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Transport
        Service Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying the extent of this transportation service (e.g.,
        door-to-door, port-to-port).</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Service Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar tariff_class_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Tariff Class
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the tariff class applicable to this transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Tariff Class Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Tariff Class
        Specifier</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar priority: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Priority.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The priority of
        this transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Priority</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar freight_rate_class_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Freight Rate
        Class Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A
        code signifying the rate class for freight in this
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Freight Rate Class Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Charge
        Basis</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar transportation_service_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Transportation
        Service Description. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Text describing this transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Transportation Service
        Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar transportation_service_details_uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Transportation
        Service Details URI. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>The Uniform Resource Identifier (URI) of a
        document providing additional details regarding this
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Transportation Service Details
        URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar nomination_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Nomination
        Date. Date</ns1:DictionaryEntryName> <ns1:Definition>In a
        transport contract, the deadline date by which this
        transportation service has to be booked. For example, if this
        service is scheduled for Wednesday 16 February 2011 at 10 a.m.
        CET, the nomination date might be Tuesday15 February
        2011.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Nomination Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar nomination_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Nomination
        Time. Time</ns1:DictionaryEntryName> <ns1:Definition>In a
        transport contract, the deadline time by which this
        transportation service has to be booked. For example, if this
        service is scheduled for Wednesday 16 February 2011 at 10 a.m.
        CET, the nomination date might be Tuesday15 February 2011 and
        the nomination time 4 p.m. at the latest.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Nomination Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar name: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service.
        Name</ns1:DictionaryEntryName> <ns1:Definition>The name of this
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Name</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Name</ns1:RepresentationTerm>
        <ns1:DataType>Name. Type</ns1:DataType> </ns1:Component>
    :ivar sequence_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Sequence.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>A number
        indicating the order of this transportation service in a
        sequence of transportation services.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Sequence</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> </ns1:Component>
    :ivar transport_equipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Transport
        Equipment</ns1:DictionaryEntryName> <ns1:Definition>A piece of
        transport equipment used in this transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Equipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Equipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport
        Equipment</ns1:RepresentationTerm> </ns1:Component>
    :ivar supported_transport_equipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Supported_
        Transport Equipment. Transport
        Equipment</ns1:DictionaryEntryName> <ns1:Definition>A piece of
        transport equipment supported in this transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Supported</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Equipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Equipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport
        Equipment</ns1:RepresentationTerm> </ns1:Component>
    :ivar unsupported_transport_equipment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Unsupported_
        Transport Equipment. Transport
        Equipment</ns1:DictionaryEntryName> <ns1:Definition>A piece of
        transport equipment that is not supported in this transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Unsupported</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Transport Equipment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Equipment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport
        Equipment</ns1:RepresentationTerm> </ns1:Component>
    :ivar commodity_classification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Commodity
        Classification</ns1:DictionaryEntryName> <ns1:Definition>A
        classification of this transportation service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Commodity Classification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Commodity
        Classification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Commodity
        Classification</ns1:RepresentationTerm> </ns1:Component>
    :ivar supported_commodity_classification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Supported_
        Commodity Classification. Commodity
        Classification</ns1:DictionaryEntryName> <ns1:Definition>A
        classification (e.g., general cargo) for commodities that can be
        handled in this transportation service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Supported</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Commodity Classification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Commodity
        Classification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Commodity
        Classification</ns1:RepresentationTerm> </ns1:Component>
    :ivar unsupported_commodity_classification: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Unsupported_
        Commodity Classification. Commodity
        Classification</ns1:DictionaryEntryName> <ns1:Definition>A
        classification for commodities that cannot be handled in this
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Unsupported</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Commodity Classification</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Commodity
        Classification</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Commodity
        Classification</ns1:RepresentationTerm> </ns1:Component>
    :ivar total_capacity_dimension: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Total Capacity_
        Dimension. Dimension</ns1:DictionaryEntryName>
        <ns1:Definition>The total capacity or volume available in this
        transportation service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total
        Capacity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Dimension</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Dimension</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Dimension</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar shipment_stage: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Shipment
        Stage</ns1:DictionaryEntryName> <ns1:Definition>One of the
        stages of shipment in this transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Shipment Stage</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment
        Stage</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment Stage</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar transport_event: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Transport
        Event</ns1:DictionaryEntryName> <ns1:Definition>One of the
        transport events taking place in this transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Event</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transport
        Event</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transport Event</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar responsible_transport_service_provider_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Responsible
        Transport Service Provider_ Party.
        Party</ns1:DictionaryEntryName> <ns1:Definition>The transport
        service provider responsible for this transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Responsible Transport Service
        Provider</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar environmental_emission: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Environmental
        Emission</ns1:DictionaryEntryName> <ns1:Definition>An
        environmental emission resulting from this transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTerm>Environmental Emission</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Environmental
        Emission</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Environmental
        Emission</ns1:RepresentationTerm> </ns1:Component>
    :ivar estimated_duration_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Estimated
        Duration_ Period. Period</ns1:DictionaryEntryName>
        <ns1:Definition>The estimated duration of this transportation
        service.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Estimated
        Duration</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar scheduled_service_frequency: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Service. Scheduled_
        Service Frequency. Service Frequency</ns1:DictionaryEntryName>
        <ns1:Definition>A class to specify which day of the week a
        transport service is operational.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Service</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Scheduled</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Service Frequency</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Service
        Frequency</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Service
        Frequency</ns1:RepresentationTerm> </ns1:Component>
    """

    transport_service_code: Optional[TransportServiceCode] = field(
        default=None,
        metadata={
            "name": "TransportServiceCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    tariff_class_code: Optional[TariffClassCode] = field(
        default=None,
        metadata={
            "name": "TariffClassCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    priority: Optional[Priority] = field(
        default=None,
        metadata={
            "name": "Priority",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    freight_rate_class_code: Optional[FreightRateClassCode] = field(
        default=None,
        metadata={
            "name": "FreightRateClassCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transportation_service_description: list[
        TransportationServiceDescription
    ] = field(
        default_factory=list,
        metadata={
            "name": "TransportationServiceDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transportation_service_details_uri: Optional[
        TransportationServiceDetailsUri
    ] = field(
        default=None,
        metadata={
            "name": "TransportationServiceDetailsURI",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    nomination_date: Optional[NominationDate] = field(
        default=None,
        metadata={
            "name": "NominationDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    nomination_time: Optional[NominationTime] = field(
        default=None,
        metadata={
            "name": "NominationTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    name: Optional[Name] = field(
        default=None,
        metadata={
            "name": "Name",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    sequence_numeric: Optional[SequenceNumeric] = field(
        default=None,
        metadata={
            "name": "SequenceNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transport_equipment: list[TransportEquipment] = field(
        default_factory=list,
        metadata={
            "name": "TransportEquipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    supported_transport_equipment: list[SupportedTransportEquipment] = field(
        default_factory=list,
        metadata={
            "name": "SupportedTransportEquipment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    unsupported_transport_equipment: list[UnsupportedTransportEquipment] = (
        field(
            default_factory=list,
            metadata={
                "name": "UnsupportedTransportEquipment",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    commodity_classification: list[CommodityClassification] = field(
        default_factory=list,
        metadata={
            "name": "CommodityClassification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    supported_commodity_classification: list[
        SupportedCommodityClassification
    ] = field(
        default_factory=list,
        metadata={
            "name": "SupportedCommodityClassification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    unsupported_commodity_classification: list[
        UnsupportedCommodityClassification
    ] = field(
        default_factory=list,
        metadata={
            "name": "UnsupportedCommodityClassification",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    total_capacity_dimension: Optional[TotalCapacityDimension] = field(
        default=None,
        metadata={
            "name": "TotalCapacityDimension",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    shipment_stage: list[ShipmentStage] = field(
        default_factory=list,
        metadata={
            "name": "ShipmentStage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    transport_event: list[TransportEvent] = field(
        default_factory=list,
        metadata={
            "name": "TransportEvent",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    responsible_transport_service_provider_party: Optional[
        ResponsibleTransportServiceProviderParty
    ] = field(
        default=None,
        metadata={
            "name": "ResponsibleTransportServiceProviderParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    environmental_emission: list[EnvironmentalEmission] = field(
        default_factory=list,
        metadata={
            "name": "EnvironmentalEmission",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    estimated_duration_period: Optional[EstimatedDurationPeriod] = field(
        default=None,
        metadata={
            "name": "EstimatedDurationPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    scheduled_service_frequency: list[ScheduledServiceFrequency] = field(
        default_factory=list,
        metadata={
            "name": "ScheduledServiceFrequency",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class AdditionalTransportationService(TransportationServiceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class AlternativeLineItem(LineItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class BuyerProposedSubstituteLineItem(LineItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class CreditNoteLine(CreditNoteLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class DebitNoteLine(DebitNoteLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class FinalDeliveryTransportationService(TransportationServiceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class GoodsItemContainer(GoodsItemContainerType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class InvoiceLine(InvoiceLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class LineItem(LineItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class MainTransportationService(TransportationServiceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OriginalDespatchTransportationService(TransportationServiceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class PackagedTransportHandlingUnit(TransportHandlingUnitType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ProcurementProject(ProcurementProjectType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SellerProposedSubstituteLineItem(LineItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SellerSubstitutedLineItem(LineItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubCreditNoteLine(CreditNoteLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubDebitNoteLine(DebitNoteLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubInvoiceLine(InvoiceLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubLineItem(LineItemType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class SubscriberConsumption(SubscriberConsumptionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportHandlingUnit(TransportHandlingUnitType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportationService(TransportationServiceType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OrderLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Order
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in an order document (e.g., Order, Order Change, or Order
    Response) describing an item being ordered.</ns1:Definition>
    <ns1:ObjectClass>Order Line</ns1:ObjectClass> </ns1:Component>

    :ivar substitution_status_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line. Substitution Status Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the substitution status of the item on this order line. The
        order line may indicate that the substitute is proposed by the
        buyer (in Order) or by the seller (in Order Response) or that a
        substitution has been made by the seller (in Order
        Response).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Order
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Substitution Status
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataTypeQualifier>Substitution
        Status</ns1:DataTypeQualifier> <ns1:DataType>Substitution
        Status_ Code. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Order
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line. Line
        Item</ns1:DictionaryEntryName> <ns1:Definition>The line item
        itself.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Order Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Line Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar seller_proposed_substitute_line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line. Seller Proposed Substitute_
        Line Item. Line Item</ns1:DictionaryEntryName>
        <ns1:Definition>In Order Response, a line item proposed by the
        seller describing a product that might substitute for the
        product described in this order line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Order
        Line</ns1:ObjectClass> <ns1:PropertyTermQualifier>Seller
        Proposed Substitute</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar seller_substituted_line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line. Seller Substituted_ Line
        Item. Line Item</ns1:DictionaryEntryName> <ns1:Definition>In
        Order Response, a line item that has replaced the original order
        line item. The specified quantity and pricing may differ from
        those in the original line item, but when a line item is
        substituted by the seller, it is assumed that other information,
        such as shipment details, will remain the same.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Order
        Line</ns1:ObjectClass> <ns1:PropertyTermQualifier>Seller
        Substituted</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Line
        Item</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Line
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Line
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar buyer_proposed_substitute_line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line. Buyer Proposed Substitute_
        Line Item. Line Item</ns1:DictionaryEntryName> <ns1:Definition>A
        description of an item proposed by the buyer as a possible
        alternative to the item associated with this order
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Order Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Buyer Proposed
        Substitute</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Line
        Item</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Line
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Line
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar catalogue_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line. Catalogue_ Line Reference.
        Line Reference</ns1:DictionaryEntryName> <ns1:Definition>A
        reference to a catalogue line associated with this order
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Order Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Catalogue</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar quotation_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line. Quotation_ Line Reference.
        Line Reference</ns1:DictionaryEntryName> <ns1:Definition>A
        reference to a quotation line associated with this order
        line.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Order Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Quotation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar order_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line. Order Line
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to another order line, such as in a replacement order or another
        line on the same order that is related.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Order
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Order Line
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Order
        Line Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Order Line
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Order Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this order line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Order
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    substitution_status_code: Optional[SubstitutionStatusCode] = field(
        default=None,
        metadata={
            "name": "SubstitutionStatusCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_item: Optional[LineItem] = field(
        default=None,
        metadata={
            "name": "LineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    seller_proposed_substitute_line_item: list[
        SellerProposedSubstituteLineItem
    ] = field(
        default_factory=list,
        metadata={
            "name": "SellerProposedSubstituteLineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    seller_substituted_line_item: list[SellerSubstitutedLineItem] = field(
        default_factory=list,
        metadata={
            "name": "SellerSubstitutedLineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    buyer_proposed_substitute_line_item: list[
        BuyerProposedSubstituteLineItem
    ] = field(
        default_factory=list,
        metadata={
            "name": "BuyerProposedSubstituteLineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    catalogue_line_reference: Optional[CatalogueLineReference] = field(
        default=None,
        metadata={
            "name": "CatalogueLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    quotation_line_reference: Optional[QuotationLineReference] = field(
        default=None,
        metadata={
            "name": "QuotationLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    order_line_reference: list[OrderLineReference] = field(
        default_factory=list,
        metadata={
            "name": "OrderLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class ProcurementProjectLotType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Procurement Project Lot.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe one of the parts of a procurement project that is being
    subdivided to allow the contracting party to award different lots to
    different economic operators under different
    contracts.</ns1:Definition> <ns1:ObjectClass>Procurement Project
    Lot</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project Lot.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this procurement project lot.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project Lot</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar tendering_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project Lot. Tendering
        Terms</ns1:DictionaryEntryName> <ns1:Definition>Tendering terms
        for this procurement project lot.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project Lot</ns1:ObjectClass>
        <ns1:PropertyTerm>Tendering Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tendering
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tendering Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar procurement_project: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Procurement Project Lot. Procurement
        Project</ns1:DictionaryEntryName> <ns1:Definition>A description
        of the procurement project to be divided.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Procurement Project Lot</ns1:ObjectClass>
        <ns1:PropertyTerm>Procurement Project</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Procurement
        Project</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Procurement
        Project</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    tendering_terms: Optional["TenderingTerms"] = field(
        default=None,
        metadata={
            "name": "TenderingTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    procurement_project: Optional[ProcurementProject] = field(
        default=None,
        metadata={
            "name": "ProcurementProject",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class QuotationLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Quotation
    Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Quotation.</ns1:Definition> <ns1:ObjectClass>Quotation
    Line</ns1:ObjectClass> </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this quotation line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The quantity
        of the item quoted.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar line_extension_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line. Line Extension Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total
        amount for this quotation line, including allowance charges but
        net of taxes.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Line Extension Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar total_tax_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line. Total_ Tax Amount.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The total tax
        amount for this quotation line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Total</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tax Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar request_for_quotation_line_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line. Request For Quotation
        Line Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the line in the Request for
        Quotation to which this line is a response.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Request For Quotation Line
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document associated with this quotation
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line. Line
        Item</ns1:DictionaryEntryName> <ns1:Definition>The item that is
        the subject of this quotation line.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Quotation
        Line</ns1:ObjectClass> <ns1:PropertyTerm>Line
        Item</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Line
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Line
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar seller_proposed_substitute_line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line. Seller Proposed
        Substitute_ Line Item. Line Item</ns1:DictionaryEntryName>
        <ns1:Definition>An item proposed by the seller as a substitute
        for the item that is the subject of this quotation
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Seller Proposed
        Substitute</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Line
        Item</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Line
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Line
        Item</ns1:RepresentationTerm> </ns1:Component>
    :ivar alternative_line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line. Alternative_ Line Item.
        Line Item</ns1:DictionaryEntryName> <ns1:Definition>An item
        proposed by the seller as an alternative to the item that is the
        subject of this quotation line.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Alternative</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Item</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line Item</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Item</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar request_line_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Quotation Line. Request_ Line
        Reference. Line Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to the line in the Request for
        Quotation to which this line is a response.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Request</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Line
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Line Reference</ns1:RepresentationTerm>
        </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    quantity: Optional[Quantity] = field(
        default=None,
        metadata={
            "name": "Quantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    line_extension_amount: Optional[LineExtensionAmount] = field(
        default=None,
        metadata={
            "name": "LineExtensionAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    total_tax_amount: Optional[TotalTaxAmount] = field(
        default=None,
        metadata={
            "name": "TotalTaxAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    request_for_quotation_line_id: Optional[RequestForQuotationLineId] = field(
        default=None,
        metadata={
            "name": "RequestForQuotationLineID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    line_item: Optional[LineItem] = field(
        default=None,
        metadata={
            "name": "LineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    seller_proposed_substitute_line_item: list[
        SellerProposedSubstituteLineItem
    ] = field(
        default_factory=list,
        metadata={
            "name": "SellerProposedSubstituteLineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    alternative_line_item: list[AlternativeLineItem] = field(
        default_factory=list,
        metadata={
            "name": "AlternativeLineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    request_line_reference: Optional[RequestLineReference] = field(
        default=None,
        metadata={
            "name": "RequestLineReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class RequestForQuotationLineType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Request
    For Quotation Line.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to define
    a line in a Request for Quotation.</ns1:Definition>
    <ns1:ObjectClass>Request For Quotation Line</ns1:ObjectClass>
    </ns1:Component>

    :ivar id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Quotation Line.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this line in the request for
        quotation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar uuid: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Quotation Line. UUID.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>A
        universally unique identifier for this line in the request for
        quotation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTerm>UUID</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Quotation Line. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Request
        For Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar optional_line_item_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Quotation Line. Optional_
        Line Item Indicator. Indicator</ns1:DictionaryEntryName>
        <ns1:Definition>An indication whether this line is optional
        (true) or not (false) for purposes of this request for
        quotation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Optional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Line Item Indicator</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar privacy_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Quotation Line. Privacy
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the level of confidentiality of this request for
        quotation line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Quotation Line</ns1:ObjectClass> <ns1:PropertyTerm>Privacy
        Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar security_classification_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Quotation Line. Security
        Classification Code. Code</ns1:DictionaryEntryName>
        <ns1:Definition>A code signifying the security classification of
        this request for quotation line.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Quotation Line</ns1:ObjectClass> <ns1:PropertyTerm>Security
        Classification Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Quotation Line. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A document
        associated with this request for quotation
        line.</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Request For Quotation Line</ns1:ObjectClass>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar line_item: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Request For Quotation Line. Line
        Item</ns1:DictionaryEntryName> <ns1:Definition>A description of
        the item for which a quotation is requested.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Request
        For Quotation Line</ns1:ObjectClass> <ns1:PropertyTerm>Line
        Item</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Line
        Item</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Line
        Item</ns1:RepresentationTerm> </ns1:Component>
    """

    id: Optional[Id] = field(
        default=None,
        metadata={
            "name": "ID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    uuid: Optional[Uuid] = field(
        default=None,
        metadata={
            "name": "UUID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    optional_line_item_indicator: Optional[OptionalLineItemIndicator] = field(
        default=None,
        metadata={
            "name": "OptionalLineItemIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    privacy_code: Optional[PrivacyCode] = field(
        default=None,
        metadata={
            "name": "PrivacyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    security_classification_code: Optional[SecurityClassificationCode] = field(
        default=None,
        metadata={
            "name": "SecurityClassificationCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    document_reference: list[DocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "DocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    line_item: Optional[LineItem] = field(
        default=None,
        metadata={
            "name": "LineItem",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )


@dataclass
class TransportationSegmentType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Transportation Segment.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe one segment or leg in a transportation
    service.</ns1:Definition> <ns1:ObjectClass>Transportation
    Segment</ns1:ObjectClass> </ns1:Component>

    :ivar sequence_numeric: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Segment. Sequence.
        Numeric</ns1:DictionaryEntryName> <ns1:Definition>A number
        indicating the order of this segment in the sequence of
        transportation segments making up a transportation
        service.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Segment</ns1:ObjectClass>
        <ns1:PropertyTerm>Sequence</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Numeric</ns1:RepresentationTerm>
        <ns1:DataType>Numeric. Type</ns1:DataType> <ns1:Examples>1, 2,
        3, 4, etc.</ns1:Examples> </ns1:Component>
    :ivar transport_execution_plan_reference_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Segment. Transport
        Execution Plan Reference. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the transport execution plan
        governing this transportation segment.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Segment</ns1:ObjectClass>
        <ns1:PropertyTerm>Transport Execution Plan
        Reference</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar transportation_service: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Segment. Transportation
        Service</ns1:DictionaryEntryName> <ns1:Definition>The
        transportation service used in this transportation
        segment.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Segment</ns1:ObjectClass>
        <ns1:PropertyTerm>Transportation Service</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Transportation
        Service</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Transportation
        Service</ns1:RepresentationTerm> </ns1:Component>
    :ivar transport_service_provider_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Segment. Transport
        Service Provider_ Party. Party</ns1:DictionaryEntryName>
        <ns1:Definition>The transport service provider responsible for
        carrying out transportation services in this transportation
        segment.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Segment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Transport Service
        Provider</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar referenced_consignment: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Segment. Referenced_
        Consignment. Consignment</ns1:DictionaryEntryName>
        <ns1:Definition>A consignment referenced in this transportation
        segment. Such a consignment may have different identifiers than
        the consignment identifiers being used in the transportation
        service agreed between the transport user and the transport
        service provider.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Segment</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Referenced</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Consignment</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Consignment</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Consignment</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar shipment_stage: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Transportation Segment. Shipment
        Stage</ns1:DictionaryEntryName> <ns1:Definition>The shipment
        stage associated with this transportation
        segment.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Transportation Segment</ns1:ObjectClass>
        <ns1:PropertyTerm>Shipment Stage</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Shipment
        Stage</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Shipment Stage</ns1:RepresentationTerm>
        </ns1:Component>
    """

    sequence_numeric: Optional[SequenceNumeric] = field(
        default=None,
        metadata={
            "name": "SequenceNumeric",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    transport_execution_plan_reference_id: Optional[
        TransportExecutionPlanReferenceId
    ] = field(
        default=None,
        metadata={
            "name": "TransportExecutionPlanReferenceID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    transportation_service: Optional[TransportationService] = field(
        default=None,
        metadata={
            "name": "TransportationService",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    transport_service_provider_party: Optional[
        TransportServiceProviderParty
    ] = field(
        default=None,
        metadata={
            "name": "TransportServiceProviderParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    referenced_consignment: Optional[ReferencedConsignment] = field(
        default=None,
        metadata={
            "name": "ReferencedConsignment",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    shipment_stage: list[ShipmentStage] = field(
        default_factory=list,
        metadata={
            "name": "ShipmentStage",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class InterestedProcurementProjectLot(ProcurementProjectLotType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class OrderLine(OrderLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class ProcurementProjectLot(ProcurementProjectLotType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class QuotationLine(QuotationLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class RequestForQuotationLine(RequestForQuotationLineType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TransportationSegment(TransportationSegmentType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class QualificationResolutionType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType>
    <ns1:DictionaryEntryName>Qualification Resolution.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the acceptance or rejection of an economic operator in a
    tendering process.</ns1:Definition> <ns1:ObjectClass>Qualification
    Resolution</ns1:ObjectClass> </ns1:Component>

    :ivar admission_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualification Resolution. Admission
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>An
        indicator that the economic operator has been accepted into the
        tendering process (true) or rejected from the tendering process
        (false).</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Qualification Resolution</ns1:ObjectClass>
        <ns1:PropertyTerm>Admission Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar exclusion_reason: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualification Resolution. Exclusion
        Reason. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        describing a reason for an exclusion from the tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Qualification Resolution</ns1:ObjectClass>
        <ns1:PropertyTerm>Exclusion Reason</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar resolution: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualification Resolution. Resolution.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        this qualification resolution.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Qualification Resolution</ns1:ObjectClass>
        <ns1:PropertyTerm>Resolution</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar resolution_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualification Resolution. Resolution
        Date. Date</ns1:DictionaryEntryName> <ns1:Definition>The date on
        which this qualification resolution was
        formalized.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Qualification Resolution</ns1:ObjectClass>
        <ns1:PropertyTerm>Resolution Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar resolution_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualification Resolution. Resolution
        Time. Time</ns1:DictionaryEntryName> <ns1:Definition>The time at
        which this qualification resolution was
        formalized.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualification Resolution</ns1:ObjectClass>
        <ns1:PropertyTerm>Resolution Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar procurement_project_lot: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Qualification Resolution. Procurement
        Project Lot</ns1:DictionaryEntryName> <ns1:Definition>The
        Procurement project lot to which this tenderer is accepted or
        rejected.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Qualification Resolution</ns1:ObjectClass>
        <ns1:PropertyTerm>Procurement Project Lot</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Procurement Project
        Lot</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Procurement Project
        Lot</ns1:RepresentationTerm> </ns1:Component>
    """

    admission_code: Optional[AdmissionCode] = field(
        default=None,
        metadata={
            "name": "AdmissionCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    exclusion_reason: list[ExclusionReason] = field(
        default_factory=list,
        metadata={
            "name": "ExclusionReason",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    resolution: list[Resolution] = field(
        default_factory=list,
        metadata={
            "name": "Resolution",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    resolution_date: Optional[ResolutionDate] = field(
        default=None,
        metadata={
            "name": "ResolutionDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    resolution_time: Optional[ResolutionTime] = field(
        default=None,
        metadata={
            "name": "ResolutionTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    procurement_project_lot: Optional[ProcurementProjectLot] = field(
        default=None,
        metadata={
            "name": "ProcurementProjectLot",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TenderPreparationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tender
    Preparation.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe directions for preparing a tender.</ns1:Definition>
    <ns1:ObjectClass>Tender Preparation</ns1:ObjectClass>
    </ns1:Component>

    :ivar tender_envelope_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Preparation. Tender Envelope
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the tender envelope to be used
        with the tender.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Preparation</ns1:ObjectClass> <ns1:PropertyTerm>Tender Envelope
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar tender_envelope_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Preparation. Tender Envelope
        Type Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of tender envelope (economical or objective
        criteria versus technical or subjective
        criteria).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Preparation</ns1:ObjectClass> <ns1:PropertyTerm>Tender Envelope
        Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Preparation. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the tender envelope.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Preparation</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar open_tender_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Preparation. Open Tender
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the open tender associated
        with this tender preparation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Preparation</ns1:ObjectClass> <ns1:PropertyTerm>Open Tender
        Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar procurement_project_lot: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Preparation. Procurement Project
        Lot</ns1:DictionaryEntryName> <ns1:Definition>The procurement
        project lot associated with a particular
        tenderer.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Preparation</ns1:ObjectClass> <ns1:PropertyTerm>Procurement
        Project Lot</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Procurement Project
        Lot</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Procurement Project
        Lot</ns1:RepresentationTerm> </ns1:Component>
    :ivar document_tender_requirement: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Preparation. Document_ Tender
        Requirement. Tender Requirement</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to the template for a required
        document in a tendering process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Preparation</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Document</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tender Requirement</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tender
        Requirement</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tender
        Requirement</ns1:RepresentationTerm> <ns1:Examples>Curricula
        required, Experience required, ....</ns1:Examples>
        </ns1:Component>
    """

    tender_envelope_id: Optional[TenderEnvelopeId] = field(
        default=None,
        metadata={
            "name": "TenderEnvelopeID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    tender_envelope_type_code: Optional[TenderEnvelopeTypeCode] = field(
        default=None,
        metadata={
            "name": "TenderEnvelopeTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    open_tender_id: Optional[OpenTenderId] = field(
        default=None,
        metadata={
            "name": "OpenTenderID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    procurement_project_lot: list[ProcurementProjectLot] = field(
        default_factory=list,
        metadata={
            "name": "ProcurementProjectLot",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_tender_requirement: list[DocumentTenderRequirement] = field(
        default_factory=list,
        metadata={
            "name": "DocumentTenderRequirement",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TenderedProjectType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tendered
    Project.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe a tendered project or project lot.</ns1:Definition>
    <ns1:ObjectClass>Tendered Project</ns1:ObjectClass> </ns1:Component>

    :ivar variant_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Variant.
        Identifier</ns1:DictionaryEntryName> <ns1:Definition>An
        identifier for this variant of a tendered
        project.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Variant</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar fee_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Fee.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The fee amount
        for tendered projects.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Fee</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar fee_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Fee_ Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the fee amount for tendered projects.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Fee</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar tender_envelope_id: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Tender Envelope
        Identifier. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>An identifier for the tender envelope this
        tendered project belongs to.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Tender Envelope Identifier</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType> </ns1:Component>
    :ivar tender_envelope_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Tender Envelope Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the type of tender envelope this tendered project
        belongs to.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Tender Envelope Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar procurement_project_lot: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Procurement Project
        Lot</ns1:DictionaryEntryName> <ns1:Definition>The procurement
        project lot to which this Tender Line refers to. If there are no
        lots, this should not be defined.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Procurement Project Lot</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Procurement Project
        Lot</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Procurement Project
        Lot</ns1:RepresentationTerm> </ns1:Component>
    :ivar evidence_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Evidence_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a non-structured evidentiary
        document supporting this tendered project.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Evidence</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar tax_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Tax
        Total</ns1:DictionaryEntryName> <ns1:Definition>A total amount
        of taxes of a particular kind applicable to the monetary total
        for this tendered project.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Tax Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tax Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tax Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar legal_monetary_total: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Legal_ Monetary
        Total. Monetary Total</ns1:DictionaryEntryName>
        <ns1:Definition>The total amount for this tendered
        project.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Legal</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Monetary Total</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Monetary
        Total</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Monetary Total</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tender_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Tender
        Line</ns1:DictionaryEntryName> <ns1:Definition>A line in the
        tender for this tendered project.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Tender Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tender
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Tender
        Line</ns1:RepresentationTerm> </ns1:Component>
    :ivar awarding_criterion_response: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendered Project. Awarding Criterion
        Response</ns1:DictionaryEntryName> <ns1:Definition>An
        association to an Awarding Criterion Response.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendered Project</ns1:ObjectClass>
        <ns1:PropertyTerm>Awarding Criterion Response</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Awarding Criterion
        Response</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Awarding Criterion
        Response</ns1:RepresentationTerm> </ns1:Component>
    """

    variant_id: Optional[VariantId] = field(
        default=None,
        metadata={
            "name": "VariantID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    fee_amount: Optional[FeeAmount] = field(
        default=None,
        metadata={
            "name": "FeeAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    fee_description: list[FeeDescription] = field(
        default_factory=list,
        metadata={
            "name": "FeeDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tender_envelope_id: Optional[TenderEnvelopeId] = field(
        default=None,
        metadata={
            "name": "TenderEnvelopeID",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    tender_envelope_type_code: Optional[TenderEnvelopeTypeCode] = field(
        default=None,
        metadata={
            "name": "TenderEnvelopeTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    procurement_project_lot: Optional[ProcurementProjectLot] = field(
        default=None,
        metadata={
            "name": "ProcurementProjectLot",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    evidence_document_reference: list[EvidenceDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "EvidenceDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tax_total: list[TaxTotal] = field(
        default_factory=list,
        metadata={
            "name": "TaxTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    legal_monetary_total: Optional[LegalMonetaryTotal] = field(
        default=None,
        metadata={
            "name": "LegalMonetaryTotal",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tender_line: list[TenderLine] = field(
        default_factory=list,
        metadata={
            "name": "TenderLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    awarding_criterion_response: list[AwardingCriterionResponse] = field(
        default_factory=list,
        metadata={
            "name": "AwardingCriterionResponse",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TendererPartyQualificationType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tenderer
    Party Qualification.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the qualifications of a tenderer party.</ns1:Definition>
    <ns1:ObjectClass>Tenderer Party Qualification</ns1:ObjectClass>
    </ns1:Component>

    :ivar interested_procurement_project_lot: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Party Qualification.
        Interested_ Procurement Project Lot. Procurement Project
        Lot</ns1:DictionaryEntryName> <ns1:Definition>The procurement
        project lot the party is interested in.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Party Qualification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Interested</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Procurement Project Lot</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Procurement Project
        Lot</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Procurement Project
        Lot</ns1:RepresentationTerm> </ns1:Component>
    :ivar main_qualifying_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Party Qualification. Main_
        Qualifying Party. Qualifying Party</ns1:DictionaryEntryName>
        <ns1:Definition>The qualifications of the main tenderer
        party.</ns1:Definition> <ns1:Cardinality>1</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Party Qualification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Main</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Qualifying Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Qualifying
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Qualifying
        Party</ns1:RepresentationTerm> </ns1:Component>
    :ivar additional_qualifying_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tenderer Party Qualification.
        Additional_ Qualifying Party. Qualifying
        Party</ns1:DictionaryEntryName> <ns1:Definition>The
        qualifications of a tenderer party other than the main tenderer
        party when bidding as a consortium.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tenderer Party Qualification</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Qualifying Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Qualifying
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Qualifying
        Party</ns1:RepresentationTerm> </ns1:Component>
    """

    interested_procurement_project_lot: list[
        InterestedProcurementProjectLot
    ] = field(
        default_factory=list,
        metadata={
            "name": "InterestedProcurementProjectLot",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    main_qualifying_party: Optional[MainQualifyingParty] = field(
        default=None,
        metadata={
            "name": "MainQualifyingParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            "required": True,
        },
    )
    additional_qualifying_party: list[AdditionalQualifyingParty] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalQualifyingParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class AwardedTenderedProject(TenderedProjectType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class QualificationResolution(QualificationResolutionType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderPreparation(TenderPreparationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderedProject(TenderedProjectType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TendererPartyQualification(TendererPartyQualificationType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderResultType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tender
    Result.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe the awarding of a tender in a tendering
    process.</ns1:Definition> <ns1:ObjectClass>Tender
    Result</ns1:ObjectClass> </ns1:Component>

    :ivar tender_result_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Tender_ Result Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>A code signifying
        the result of the tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Tender</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Result Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Description.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Text describing
        the result of the tendering process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar advertisement_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Advertisement.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The monetary
        value of the advertisement for this tendering process.
        </ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tender Result</ns1:ObjectClass>
        <ns1:PropertyTerm>Advertisement</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar award_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Award Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        this result was formalized.</ns1:Definition>
        <ns1:Cardinality>1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass> <ns1:PropertyTerm>Award
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar award_time: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Award Time.
        Time</ns1:DictionaryEntryName> <ns1:Definition>The time at which
        this result was formalized.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass> <ns1:PropertyTerm>Award
        Time</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Time</ns1:RepresentationTerm>
        <ns1:DataType>Time. Type</ns1:DataType> </ns1:Component>
    :ivar received_tender_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Received_ Tender.
        Quantity</ns1:DictionaryEntryName> <ns1:Definition>The total
        number of tenders received in this tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Received</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tender</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar lower_tender_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Lower_ Tender.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The least
        expensive tender received in the tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Lower</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tender</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar higher_tender_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Higher_ Tender.
        Amount</ns1:DictionaryEntryName> <ns1:Definition>The most
        expensive tender received in this tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Higher</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tender</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar start_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Start Date.
        Date</ns1:DictionaryEntryName> <ns1:Definition>The date on which
        the awarded contract begins.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass> <ns1:PropertyTerm>Start
        Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar received_electronic_tender_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Received_ Electronic
        Tender Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>The number of electronic tenders
        received.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Received</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Electronic Tender Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar received_foreign_tender_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Received_ Foreign Tender
        Quantity. Quantity</ns1:DictionaryEntryName> <ns1:Definition>The
        number of foreing tenders received.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Received</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Foreign Tender Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar contract: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result.
        Contract</ns1:DictionaryEntryName> <ns1:Definition>A contract
        governing this tender result.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass>
        <ns1:PropertyTerm>Contract</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contract</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contract</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar awarded_tendered_project: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Awarded_ Tendered
        Project. Tendered Project</ns1:DictionaryEntryName>
        <ns1:Definition>The awarded tendered project associated with
        this tender result.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Awarded</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Tendered Project</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tendered
        Project</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tendered
        Project</ns1:RepresentationTerm> </ns1:Component>
    :ivar contract_formalization_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Contract Formalization_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period during which a contract associated with the awarded
        project is to be formalized.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass> <ns1:PropertyTermQualifier>Contract
        Formalization</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar subcontract_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Subcontract
        Terms</ns1:DictionaryEntryName> <ns1:Definition>Subcontract
        terms for this tender result.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass> <ns1:PropertyTerm>Subcontract
        Terms</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Subcontract
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Subcontract
        Terms</ns1:RepresentationTerm> </ns1:Component>
    :ivar winning_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tender Result. Winning
        Party</ns1:DictionaryEntryName> <ns1:Definition>A party that is
        identified as the awarded by a tender result.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality> <ns1:ObjectClass>Tender
        Result</ns1:ObjectClass> <ns1:PropertyTerm>Winning
        Party</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Winning
        Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Winning Party</ns1:RepresentationTerm>
        </ns1:Component>
    """

    tender_result_code: Optional[TenderResultCode] = field(
        default=None,
        metadata={
            "name": "TenderResultCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    description: list[Description] = field(
        default_factory=list,
        metadata={
            "name": "Description",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    advertisement_amount: Optional[AdvertisementAmount] = field(
        default=None,
        metadata={
            "name": "AdvertisementAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    award_date: Optional[AwardDate] = field(
        default=None,
        metadata={
            "name": "AwardDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            "required": True,
        },
    )
    award_time: Optional[AwardTime] = field(
        default=None,
        metadata={
            "name": "AwardTime",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    received_tender_quantity: Optional[ReceivedTenderQuantity] = field(
        default=None,
        metadata={
            "name": "ReceivedTenderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    lower_tender_amount: Optional[LowerTenderAmount] = field(
        default=None,
        metadata={
            "name": "LowerTenderAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    higher_tender_amount: Optional[HigherTenderAmount] = field(
        default=None,
        metadata={
            "name": "HigherTenderAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    start_date: Optional[StartDate] = field(
        default=None,
        metadata={
            "name": "StartDate",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    received_electronic_tender_quantity: Optional[
        ReceivedElectronicTenderQuantity
    ] = field(
        default=None,
        metadata={
            "name": "ReceivedElectronicTenderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    received_foreign_tender_quantity: Optional[
        ReceivedForeignTenderQuantity
    ] = field(
        default=None,
        metadata={
            "name": "ReceivedForeignTenderQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    contract: Optional[Contract] = field(
        default=None,
        metadata={
            "name": "Contract",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    awarded_tendered_project: Optional[AwardedTenderedProject] = field(
        default=None,
        metadata={
            "name": "AwardedTenderedProject",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contract_formalization_period: Optional[ContractFormalizationPeriod] = (
        field(
            default=None,
            metadata={
                "name": "ContractFormalizationPeriod",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
            },
        )
    )
    subcontract_terms: list[SubcontractTerms] = field(
        default_factory=list,
        metadata={
            "name": "SubcontractTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    winning_party: list[WinningParty] = field(
        default_factory=list,
        metadata={
            "name": "WinningParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TenderingTermsType:
    """<ns1:Component xmlns:ns1="urn:un:unece:uncefact:documentation:2">
    <ns1:ComponentType>ABIE</ns1:ComponentType> <ns1:DictionaryEntryName>Tendering
    Terms.

    Details</ns1:DictionaryEntryName> <ns1:Definition>A class to
    describe tendering terms for a tendering process.</ns1:Definition>
    <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass> </ns1:Component>

    :ivar awarding_method_type_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Awarding Method Type
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the awarding method in a tendering process (e.g., a
        method favoring the tender with the lowest price or the tender
        that is most economically advantageous).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Awarding Method Type Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Price,
        Multiple criteria</ns1:Examples> </ns1:Component>
    :ivar price_evaluation_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Price Evaluation Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>Textual
        description of the legal form required for potential
        tenderers.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Price Evaluation Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> <ns1:Examples>Unit
        prices, global price</ns1:Examples> </ns1:Component>
    :ivar maximum_variant_quantity: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Maximum Variant_
        Quantity. Quantity</ns1:DictionaryEntryName>
        <ns1:Definition>Maximum number of variants the tenderer is
        allowed to present for this tendering project.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum
        Variant</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Quantity</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Quantity</ns1:RepresentationTerm>
        <ns1:DataType>Quantity. Type</ns1:DataType> </ns1:Component>
    :ivar variant_constraint_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Variant_ Constraint.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that variants are allowed and unconstrained in number (true) or
        not allowed (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Variant</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Constraint</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar accepted_variants_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Accepted Variants_
        Description. Text</ns1:DictionaryEntryName> <ns1:Definition>Text
        specifying the things for which variants are
        accepted.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Accepted
        Variants</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar price_revision_formula_description: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Price Revision_
        Formula Description. Text</ns1:DictionaryEntryName>
        <ns1:Definition>Text describing the formula for price
        revision.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Price
        Revision</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Formula
        Description</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar funding_program_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Funding_ Program Code.
        Code</ns1:DictionaryEntryName> <ns1:Definition>The program that
        funds the tendering process (e.g., "National", "European"),
        expressed as a code.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Funding</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Program Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar funding_program: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Funding_ Program.
        Text</ns1:DictionaryEntryName> <ns1:Definition>The program that
        funds the tendering process (e.g., EU 6th Framework Program)
        expressed as text.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Funding</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Program</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar maximum_advertisement_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Maximum_
        Advertisement. Amount</ns1:DictionaryEntryName>
        <ns1:Definition>The maximum advertised monetary value of the
        tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Maximum</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Advertisement</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar note: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Note.
        Text</ns1:DictionaryEntryName> <ns1:Definition>Free-form text
        conveying information that is not contained explicitly in other
        structures.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Note</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar payment_frequency_code: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Payment Frequency
        Code. Code</ns1:DictionaryEntryName> <ns1:Definition>A code
        signifying the frequency of payment in the contract associated
        with the tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Frequency Code</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Code</ns1:RepresentationTerm>
        <ns1:DataType>Code. Type</ns1:DataType> </ns1:Component>
    :ivar economic_operator_registry_uri: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Economic Operator
        Registry_ URI. Identifier</ns1:DictionaryEntryName>
        <ns1:Definition>The Uniform Resource Identifier (URI) of an
        electronic registry of economic operators.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Economic Operator
        Registry</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>URI</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Identifier</ns1:RepresentationTerm>
        <ns1:DataType>Identifier. Type</ns1:DataType>
        <ns1:AlternativeBusinessTerms>Web
        site</ns1:AlternativeBusinessTerms> </ns1:Component>
    :ivar required_curricula_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Required Curricula.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>An indicator
        that tenderers are required to provide a curriculum vitae for
        each participant in the project (true) or are not so required
        (false).</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Required Curricula</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar other_conditions_indicator: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Other_ Conditions.
        Indicator</ns1:DictionaryEntryName> <ns1:Definition>Indicates
        whether other conditions exist (true) or not (false). If the
        indicator is true, the description may be
        provided.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Other</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Conditions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Indicator</ns1:RepresentationTerm>
        <ns1:DataType>Indicator. Type</ns1:DataType> </ns1:Component>
    :ivar additional_conditions: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Additional_
        Conditions. Text</ns1:DictionaryEntryName> <ns1:Definition>Other
        existing conditions.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Conditions</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Text</ns1:RepresentationTerm>
        <ns1:DataType>Text. Type</ns1:DataType> </ns1:Component>
    :ivar latest_security_clearance_date: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Latest_ Security
        Clearance Date. Date</ns1:DictionaryEntryName>
        <ns1:Definition>The end date until which the candidates can
        obtain the necessary level of security
        clearance.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Latest</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Security Clearance Date</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Date</ns1:RepresentationTerm>
        <ns1:DataType>Date. Type</ns1:DataType> </ns1:Component>
    :ivar documentation_fee_amount: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>BBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Documentation Fee
        Amount. Amount</ns1:DictionaryEntryName> <ns1:Definition>The
        amount to be paid to obtain the contract documents and
        additional documentation.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Documentation Fee Amount</ns1:PropertyTerm>
        <ns1:RepresentationTerm>Amount</ns1:RepresentationTerm>
        <ns1:DataType>Amount. Type</ns1:DataType> </ns1:Component>
    :ivar penalty_clause: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Penalty_ Clause.
        Clause</ns1:DictionaryEntryName> <ns1:Definition>The penalty
        clauses</ns1:Definition> <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Penalty</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Clause</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Clause</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Clause</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar required_financial_guarantee: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Required_ Financial
        Guarantee. Financial Guarantee</ns1:DictionaryEntryName>
        <ns1:Definition>A financial guarantee of a tenderer or bid
        submitter's actual entry into a contract in the event that it is
        the successful bidder.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Required</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Financial Guarantee</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Financial
        Guarantee</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Financial
        Guarantee</ns1:RepresentationTerm> </ns1:Component>
    :ivar procurement_legislation_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Procurement
        Legislation_ Document Reference. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document providing references to procurement legislation
        applicable to the tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Procurement
        Legislation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar fiscal_legislation_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Fiscal Legislation_
        Document Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a document providing references
        to fiscal legislation applicable to the tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Fiscal
        Legislation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar environmental_legislation_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Environmental
        Legislation_ Document Reference. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document providing references to environmental legislation
        applicable to the tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Environmental
        Legislation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar employment_legislation_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Employment
        Legislation_ Document Reference. Document
        Reference</ns1:DictionaryEntryName> <ns1:Definition>A reference
        to a document providing references to employment legislation
        applicable to the tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Employment
        Legislation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar contractual_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Contractual_ Document
        Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to a document that will become part
        of the awarded contract.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contractual</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Document Reference</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar call_for_tenders_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Call For Tenders_
        Document Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A reference to the Call for Tender associated
        with these tendering terms.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Call For
        Tenders</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    :ivar warranty_validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Warranty Validity_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period during which a warranty for work, service, or goods
        associated with these tendering terms is valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Warranty
        Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar payment_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Payment
        Terms</ns1:DictionaryEntryName> <ns1:Definition>A specification
        of payment terms associated with the tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Payment Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Payment
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Payment Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tenderer_qualification_request: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Tenderer Qualification
        Request</ns1:DictionaryEntryName> <ns1:Definition>Required set
        of qualifications for a tenderer in this tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Tenderer Qualification
        Request</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Tenderer
        Qualification Request</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tenderer Qualification
        Request</ns1:RepresentationTerm> </ns1:Component>
    :ivar allowed_subcontract_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Allowed_ Subcontract
        Terms. Subcontract Terms</ns1:DictionaryEntryName>
        <ns1:Definition>Subcontract terms for the tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Allowed</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Subcontract Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Subcontract
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Subcontract
        Terms</ns1:RepresentationTerm> </ns1:Component>
    :ivar tender_preparation: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Tender
        Preparation</ns1:DictionaryEntryName> <ns1:Definition>Directions
        for preparing a tender for the+D2057 tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Tender Preparation</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Tender
        Preparation</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Tender
        Preparation</ns1:RepresentationTerm> <ns1:Examples>Curricula
        required, Experience required, ....</ns1:Examples>
        </ns1:Component>
    :ivar contract_execution_requirement: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Contract Execution
        Requirement</ns1:DictionaryEntryName> <ns1:Definition>A
        requirement relating to execution of the contract that will be
        awarded as a result of the tendering process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Contract Execution
        Requirement</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Contract Execution
        Requirement</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Contract Execution
        Requirement</ns1:RepresentationTerm> </ns1:Component>
    :ivar awarding_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Awarding
        Terms</ns1:DictionaryEntryName> <ns1:Definition>The terms in the
        tendering process for awarding the contract for a
        project.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Awarding Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Awarding
        Terms</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Awarding Terms</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar additional_information_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Additional
        Information_ Party. Party</ns1:DictionaryEntryName>
        <ns1:Definition>A party that has additional information about
        the tendering process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Additional
        Information</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar document_provider_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Document Provider_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        that has the contract documents for the tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Document
        Provider</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tender_recipient_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Tender Recipient_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        to which tenders should be presented.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Tender
        Recipient</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar contract_responsible_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Contract Responsible_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>The party
        responsible for the execution of the contract.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contract
        Responsible</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tender_evaluation_party: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Tender Evaluation_
        Party. Party</ns1:DictionaryEntryName> <ns1:Definition>A party
        in the contracting authority responsible for evaluating tenders
        received.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Tender
        Evaluation</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Party</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Party</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Party</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar tender_validity_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Tender Validity_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period during which tenders submitted for this tendering process
        must remain valid.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Tender
        Validity</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar contract_acceptance_period: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Contract Acceptance_
        Period. Period</ns1:DictionaryEntryName> <ns1:Definition>The
        period of time during which the contracting authority may accept
        a contract.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Contract
        Acceptance</ns1:PropertyTermQualifier>
        <ns1:PropertyTerm>Period</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Period</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Period</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar appeal_terms: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Appeal
        Terms</ns1:DictionaryEntryName> <ns1:Definition>Information
        about the terms to present for an appeal against a tender
        award.</ns1:Definition> <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Appeal Terms</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Appeal
        Terms</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Appeal
        Terms</ns1:RepresentationTerm> </ns1:Component>
    :ivar language: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms.
        Language</ns1:DictionaryEntryName> <ns1:Definition>One of the
        default languages specified for the tendering
        process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Language</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Language</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Language</ns1:RepresentationTerm>
        </ns1:Component>
    :ivar budget_account_line: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Budget Account
        Line</ns1:DictionaryEntryName> <ns1:Definition>A budget account
        line associated with the tendering process.</ns1:Definition>
        <ns1:Cardinality>0..n</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTerm>Budget Account Line</ns1:PropertyTerm>
        <ns1:AssociatedObjectClass>Budget Account
        Line</ns1:AssociatedObjectClass> <ns1:RepresentationTerm>Budget
        Account Line</ns1:RepresentationTerm> </ns1:Component>
    :ivar replaced_notice_document_reference: <ns1:Component
        xmlns:ns1="urn:un:unece:uncefact:documentation:2">
        <ns1:ComponentType>ASBIE</ns1:ComponentType>
        <ns1:DictionaryEntryName>Tendering Terms. Replaced Notice_
        Document Reference. Document Reference</ns1:DictionaryEntryName>
        <ns1:Definition>A class defining a reference to the notice that
        is being replaced.</ns1:Definition>
        <ns1:Cardinality>0..1</ns1:Cardinality>
        <ns1:ObjectClass>Tendering Terms</ns1:ObjectClass>
        <ns1:PropertyTermQualifier>Replaced
        Notice</ns1:PropertyTermQualifier> <ns1:PropertyTerm>Document
        Reference</ns1:PropertyTerm> <ns1:AssociatedObjectClass>Document
        Reference</ns1:AssociatedObjectClass>
        <ns1:RepresentationTerm>Document
        Reference</ns1:RepresentationTerm> </ns1:Component>
    """

    awarding_method_type_code: Optional[AwardingMethodTypeCode] = field(
        default=None,
        metadata={
            "name": "AwardingMethodTypeCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    price_evaluation_code: Optional[PriceEvaluationCode] = field(
        default=None,
        metadata={
            "name": "PriceEvaluationCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_variant_quantity: Optional[MaximumVariantQuantity] = field(
        default=None,
        metadata={
            "name": "MaximumVariantQuantity",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    variant_constraint_indicator: Optional[VariantConstraintIndicator] = field(
        default=None,
        metadata={
            "name": "VariantConstraintIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    accepted_variants_description: list[AcceptedVariantsDescription] = field(
        default_factory=list,
        metadata={
            "name": "AcceptedVariantsDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    price_revision_formula_description: list[
        PriceRevisionFormulaDescription
    ] = field(
        default_factory=list,
        metadata={
            "name": "PriceRevisionFormulaDescription",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    funding_program_code: Optional[FundingProgramCode] = field(
        default=None,
        metadata={
            "name": "FundingProgramCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    funding_program: list[FundingProgram] = field(
        default_factory=list,
        metadata={
            "name": "FundingProgram",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    maximum_advertisement_amount: Optional[MaximumAdvertisementAmount] = field(
        default=None,
        metadata={
            "name": "MaximumAdvertisementAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    note: list[Note] = field(
        default_factory=list,
        metadata={
            "name": "Note",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    payment_frequency_code: Optional[PaymentFrequencyCode] = field(
        default=None,
        metadata={
            "name": "PaymentFrequencyCode",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    economic_operator_registry_uri: Optional[EconomicOperatorRegistryUri] = (
        field(
            default=None,
            metadata={
                "name": "EconomicOperatorRegistryURI",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    required_curricula_indicator: Optional[RequiredCurriculaIndicator] = field(
        default=None,
        metadata={
            "name": "RequiredCurriculaIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    other_conditions_indicator: Optional[OtherConditionsIndicator] = field(
        default=None,
        metadata={
            "name": "OtherConditionsIndicator",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    additional_conditions: list[AdditionalConditions] = field(
        default_factory=list,
        metadata={
            "name": "AdditionalConditions",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    latest_security_clearance_date: Optional[LatestSecurityClearanceDate] = (
        field(
            default=None,
            metadata={
                "name": "LatestSecurityClearanceDate",
                "type": "Element",
                "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
            },
        )
    )
    documentation_fee_amount: Optional[DocumentationFeeAmount] = field(
        default=None,
        metadata={
            "name": "DocumentationFeeAmount",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2",
        },
    )
    penalty_clause: list[PenaltyClause] = field(
        default_factory=list,
        metadata={
            "name": "PenaltyClause",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    required_financial_guarantee: list[RequiredFinancialGuarantee] = field(
        default_factory=list,
        metadata={
            "name": "RequiredFinancialGuarantee",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    procurement_legislation_document_reference: Optional[
        ProcurementLegislationDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "ProcurementLegislationDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    fiscal_legislation_document_reference: Optional[
        FiscalLegislationDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "FiscalLegislationDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    environmental_legislation_document_reference: Optional[
        EnvironmentalLegislationDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "EnvironmentalLegislationDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    employment_legislation_document_reference: Optional[
        EmploymentLegislationDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "EmploymentLegislationDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contractual_document_reference: list[ContractualDocumentReference] = field(
        default_factory=list,
        metadata={
            "name": "ContractualDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    call_for_tenders_document_reference: Optional[
        CallForTendersDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "CallForTendersDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    warranty_validity_period: Optional[WarrantyValidityPeriod] = field(
        default=None,
        metadata={
            "name": "WarrantyValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    payment_terms: list[PaymentTerms] = field(
        default_factory=list,
        metadata={
            "name": "PaymentTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tenderer_qualification_request: list[TendererQualificationRequest] = field(
        default_factory=list,
        metadata={
            "name": "TendererQualificationRequest",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    allowed_subcontract_terms: list[AllowedSubcontractTerms] = field(
        default_factory=list,
        metadata={
            "name": "AllowedSubcontractTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tender_preparation: list[TenderPreparation] = field(
        default_factory=list,
        metadata={
            "name": "TenderPreparation",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contract_execution_requirement: list[ContractExecutionRequirement] = field(
        default_factory=list,
        metadata={
            "name": "ContractExecutionRequirement",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    awarding_terms: Optional[AwardingTerms] = field(
        default=None,
        metadata={
            "name": "AwardingTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    additional_information_party: Optional[AdditionalInformationParty] = field(
        default=None,
        metadata={
            "name": "AdditionalInformationParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    document_provider_party: Optional[DocumentProviderParty] = field(
        default=None,
        metadata={
            "name": "DocumentProviderParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tender_recipient_party: Optional[TenderRecipientParty] = field(
        default=None,
        metadata={
            "name": "TenderRecipientParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contract_responsible_party: Optional[ContractResponsibleParty] = field(
        default=None,
        metadata={
            "name": "ContractResponsibleParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tender_evaluation_party: list[TenderEvaluationParty] = field(
        default_factory=list,
        metadata={
            "name": "TenderEvaluationParty",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    tender_validity_period: Optional[TenderValidityPeriod] = field(
        default=None,
        metadata={
            "name": "TenderValidityPeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    contract_acceptance_period: Optional[ContractAcceptancePeriod] = field(
        default=None,
        metadata={
            "name": "ContractAcceptancePeriod",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    appeal_terms: Optional[AppealTerms] = field(
        default=None,
        metadata={
            "name": "AppealTerms",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    language: list[Language] = field(
        default_factory=list,
        metadata={
            "name": "Language",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    budget_account_line: list[BudgetAccountLine] = field(
        default_factory=list,
        metadata={
            "name": "BudgetAccountLine",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )
    replaced_notice_document_reference: Optional[
        ReplacedNoticeDocumentReference
    ] = field(
        default=None,
        metadata={
            "name": "ReplacedNoticeDocumentReference",
            "type": "Element",
            "namespace": "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2",
        },
    )


@dataclass
class TenderResult(TenderResultType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"


@dataclass
class TenderingTerms(TenderingTermsType):
    class Meta:
        namespace = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
