from domain.netex.model import (
    Authority,
    AvailabilityCondition,
    Branding,
    Codespace,
    DataSource,
    DayType,
    DayTypeAssignment,
    DestinationDisplay,
    Direction,
    InterchangeRule,
    JourneyMeeting,
    Line,
    Notice,
    NoticeAssignment,
    Operator,
    PassengerStopAssignment,
    ResponsibilitySet,
    RoutePoint,
    ScheduledStopPoint,
    ServiceCalendar,
    ServiceJourney,
    ServiceJourneyInterchange,
    ServiceJourneyPattern,
    ServiceLink,
    StopPlace,
    TemplateServiceJourney,
    TopographicPlace,
    TransportAdministrativeZone,
    UicOperatingPeriod,
    ValueSet,
    VehicleType,
)

SWISS_CLASSES = {
    AvailabilityCondition,
    Codespace,
    DestinationDisplay,
    Direction,
    Line,
    Operator,
    PassengerStopAssignment,
    ResponsibilitySet,
    ScheduledStopPoint,
    ServiceCalendar,
    ServiceJourney,
    StopPlace,
    TemplateServiceJourney,
    TopographicPlace,
    VehicleType,
}

GTFS_CLASSES = {
    Authority,
    AvailabilityCondition,
    Branding,
    Codespace,
    DayTypeAssignment,
    DestinationDisplay,
    InterchangeRule,
    JourneyMeeting,
    Line,
    Operator,
    PassengerStopAssignment,
    ScheduledStopPoint,
    ServiceJourney,
    ServiceJourneyInterchange,
    ServiceJourneyPattern,
    StopPlace,
    TemplateServiceJourney,
    UicOperatingPeriod,
}

EPIP_CLASSES = {
    AvailabilityCondition,
    Codespace,
    Line,
    DataSource,
    DayType,
    DayTypeAssignment,
    DestinationDisplay,
    Direction,
    Notice,
    NoticeAssignment,
    Operator,
    PassengerStopAssignment,
    ResponsibilitySet,
    RoutePoint,
    ScheduledStopPoint,
    ServiceCalendar,
    ServiceJourney,
    ServiceJourneyPattern,
    ServiceLink,
    StopPlace,
    TransportAdministrativeZone,
    UicOperatingPeriod,
    ValueSet,
    VehicleType,
}
