"""
Parks app models with clean import interface.

This module provides a clean import interface for all parks-related models,
enabling imports like: from parks.models import Park, Operator

The Company model is aliased as Operator to clarify its role as park operators,
while maintaining backward compatibility through the Company alias.
"""

# Import choices to trigger registration
from ..choices import *  # noqa: F403
from .areas import ParkArea
from .companies import Company, CompanyHeadquarters
from .location import ParkLocation
from .media import ParkPhoto
from .parks import Park
from .reviews import ParkReview

# Alias Company as Operator for clarity
Operator = Company

__all__ = [
    # Primary models
    "Park",
    "ParkArea",
    "ParkLocation",
    "ParkReview",
    "ParkPhoto",
    # Company models with clear naming
    "Operator",
    "CompanyHeadquarters",
    # Backward compatibility
    "Company",  # Alias to Operator
]
