"""Duffel API data models (auto-generated from OpenAPI spec, with cleaned-up names)."""

# Re-export everything from generated models with clean names for the enums.
# The generated file has Type1, Type2 etc. — we alias them here.

from ._generated import (
    # Core / shared
    PaginationMeta,
    Error,
    ErrorResponse,
    Source,
    Conditions,
    ConditionDetail,
    PaymentRequirements,
    PaymentStatus,
    PrivateFare,
    TimeWindow,
    # Enums — renamed from TypeN to meaningful names
    Type as ErrorType,
    Type1 as PlaceType,
    Type2 as PassengerType,
    Type3 as ServiceType,
    Type4 as OrderType,
    Type5 as OrderPassengerType,
    Type6 as PaymentMethodType,
    Type7 as AirlineCreditType,
    Type8 as SeatElementType,
    Type9 as StaysGuestType,
    Type10 as WebhookEventType,
    Content as OrderContent,
    Gender,
    CabinClass,
    Brand as CardBrand,
    Status as PaymentStatusEnum,
    Status1 as BookingStatus,
    Status2 as ThreeDSecureStatus,
    RefundTo as CancellationRefundTo,
    RefundTo1 as ChangeOfferRefundTo,
    RefundTo2 as OrderChangeRefundTo,
    ActionTaken,
    AvailableAction,
    AvailableAction1 as AirlineChangeAction,
    PaymentType as StaysPaymentType,
    AvailablePaymentMethod,
    BoardType,
    # Reference data
    Airline,
    Aircraft,
    Airport,
    City,
    Place,
    LoyaltyProgramme,
    LoyaltyProgrammeAccount,
    # Flights
    SliceRequest,
    PassengerRequest,
    Offer,
    OfferSlice,
    OfferRequest,
    Segment,
    Stop,
    Baggage,
    Passenger as SegmentPassenger,
    Passenger1 as OfferPassenger,
    Slice as OfferRequestSlice,
    Service,
    Order,
    OrderPassenger,
    IdentityDocument,
    BookingReference,
    OrderCancellation,
    OrderChangeRequest,
    OrderChangeOffer,
    OrderChange,
    Slices as OrderChangeRequestSlices,
    Slices1 as OrderChangeSlices,
    AirlineInitiatedChange,
    Payment,
    AirlineCredit,
    SeatMap,
    Cabin,
    Row,
    Section,
    Element,
    Wings,
    AvailableService as SeatAvailableService,
    PartialOfferRequest,
    BatchOfferRequest,
    # Stays
    StaysGuest,
    StaysAccommodation,
    StaysRoom,
    StaysRate,
    StaysSearchResult,
    StaysQuote,
    StaysBooking,
    Guest as StaysBookingGuest,
    GeographicCoordinates,
    Location,
    Photo,
    CancellationTimelineItem,
    SupportedNegotiatedRate,
    NegotiatedRate,
    StaysBrand,
    AccommodationLoyaltyProgramme,
    AccommodationReview,
    # Payments
    Card,
    ThreeDSecureSession,
    # Notifications
    Webhook,
    WebhookDelivery,
    WebhookEvent,
    # Identity
    CustomerUser,
    CustomerUserGroup,
    Group as CustomerUserGroupRef,
)

__all__ = [
    "PaginationMeta",
    "Error",
    "ErrorResponse",
    "Source",
    "Conditions",
    "ConditionDetail",
    "PaymentRequirements",
    "PaymentStatus",
    "PrivateFare",
    "TimeWindow",
    "ErrorType",
    "PlaceType",
    "PassengerType",
    "ServiceType",
    "OrderType",
    "OrderPassengerType",
    "PaymentMethodType",
    "AirlineCreditType",
    "SeatElementType",
    "StaysGuestType",
    "WebhookEventType",
    "OrderContent",
    "Gender",
    "CabinClass",
    "CardBrand",
    "PaymentStatusEnum",
    "BookingStatus",
    "ThreeDSecureStatus",
    "CancellationRefundTo",
    "ChangeOfferRefundTo",
    "OrderChangeRefundTo",
    "ActionTaken",
    "AvailableAction",
    "AirlineChangeAction",
    "StaysPaymentType",
    "AvailablePaymentMethod",
    "BoardType",
    "Airline",
    "Aircraft",
    "Airport",
    "City",
    "Place",
    "LoyaltyProgramme",
    "LoyaltyProgrammeAccount",
    "SliceRequest",
    "PassengerRequest",
    "Offer",
    "OfferSlice",
    "OfferRequest",
    "Segment",
    "Stop",
    "Baggage",
    "SegmentPassenger",
    "OfferPassenger",
    "OfferRequestSlice",
    "Service",
    "Order",
    "OrderPassenger",
    "IdentityDocument",
    "BookingReference",
    "OrderCancellation",
    "OrderChangeRequest",
    "OrderChangeOffer",
    "OrderChange",
    "OrderChangeRequestSlices",
    "OrderChangeSlices",
    "AirlineInitiatedChange",
    "Payment",
    "AirlineCredit",
    "SeatMap",
    "Cabin",
    "Row",
    "Section",
    "Element",
    "Wings",
    "SeatAvailableService",
    "PartialOfferRequest",
    "BatchOfferRequest",
    "StaysGuest",
    "StaysAccommodation",
    "StaysRoom",
    "StaysRate",
    "StaysSearchResult",
    "StaysQuote",
    "StaysBooking",
    "StaysBookingGuest",
    "GeographicCoordinates",
    "Location",
    "Photo",
    "CancellationTimelineItem",
    "SupportedNegotiatedRate",
    "NegotiatedRate",
    "StaysBrand",
    "AccommodationLoyaltyProgramme",
    "AccommodationReview",
    "Card",
    "ThreeDSecureSession",
    "Webhook",
    "WebhookDelivery",
    "WebhookEvent",
    "CustomerUser",
    "CustomerUserGroup",
    "CustomerUserGroupRef",
]
