"""Types for Carlo TMS integration based on FOneOrderImport-v3.xsd."""

from .enums import (
    ImportExportAction,
    OrderContext,
    Incoterms,
    DeliveryTerms,
    TransportDateType,
    ConsignmentPaymentType,
    PaymentStatus,
    ContainerLoadType,
    InttraReferenceType,
    HazardousMaterial,
    WaterHazardClass,
    MovementType,
    FreightType,
    RegulatedEntityCategory,
    LoadingUnitPostingsGeneration,
)

from .base import (
    Country,
    Address,
    Weights,
    Size,
    Dimensions,
    Money,
    GeoCoordinate,
    CustomTypeValue,
    LoadingUnit,
    ConsignmentLoadingUnitGrai,
    ConsignmentLoadingUnitItem,
    ConsignmentTimes,
    AmountData,
    DangerousGoods,
    SaleType,
    TrafficType,
    TransportType,
    VehicleType,
    Currency,
    ContainerType,
    AreaRelation,
    ContraAccountGroup,
    OrganizationalUnit,
    Header,
)

from .business_partner import (
    ContactPerson,
    BusinessPartner,
    ConsignmentContactPerson,
    ConsignmentBusinessPartner,
)

from .consignment import (
    ConsignmentCustomFields,
    ConsignmentAirAndSea,
    ConsignmentItem,
    Consignment,
)

__all__ = [
    # Enums
    "ImportExportAction",
    "OrderContext",
    "Incoterms",
    "DeliveryTerms",
    "TransportDateType",
    "ConsignmentPaymentType",
    "PaymentStatus",
    "ContainerLoadType",
    "InttraReferenceType",
    "HazardousMaterial",
    "WaterHazardClass",
    "MovementType",
    "FreightType",
    "RegulatedEntityCategory",
    "LoadingUnitPostingsGeneration",
    # Base types
    "Country",
    "Address",
    "Weights",
    "Size",
    "Dimensions",
    "Money",
    "GeoCoordinate",
    "CustomTypeValue",
    "LoadingUnit",
    "ConsignmentLoadingUnitGrai",
    "ConsignmentLoadingUnitItem",
    "ConsignmentTimes",
    "AmountData",
    "DangerousGoods",
    "SaleType",
    "TrafficType",
    "TransportType",
    "VehicleType",
    "Currency",
    "ContainerType",
    "AreaRelation",
    "ContraAccountGroup",
    "OrganizationalUnit",
    "Header",
    # Business partner types
    "ContactPerson",
    "BusinessPartner",
    "ConsignmentContactPerson",
    "ConsignmentBusinessPartner",
    # Consignment types
    "ConsignmentCustomFields",
    "ConsignmentAirAndSea",
    "ConsignmentItem",
    "Consignment",
]
