# app/modules/loyalty/models/__init__.py
"""
Loyalty module database models.

This is the canonical location for loyalty models. Module models are automatically
discovered and registered with SQLAlchemy's Base.metadata at startup.

Usage:
    from app.modules.loyalty.models import (
        LoyaltyProgram,
        LoyaltyCard,
        LoyaltyTransaction,
        StaffPin,
        AppleDeviceRegistration,
        MerchantLoyaltySettings,
        LoyaltyType,
        TransactionType,
        StaffPinPolicy,
    )
"""

from app.modules.loyalty.models.apple_device import (
    # Model
    AppleDeviceRegistration,
)
from app.modules.loyalty.models.loyalty_card import (
    # Model
    LoyaltyCard,
)
from app.modules.loyalty.models.loyalty_program import (
    # Model
    LoyaltyProgram,
    # Enums
    LoyaltyType,
)
from app.modules.loyalty.models.loyalty_transaction import (
    # Model
    LoyaltyTransaction,
    # Enums
    TransactionType,
)
from app.modules.loyalty.models.merchant_settings import (
    # Model
    MerchantLoyaltySettings,
    # Enums
    StaffPinPolicy,
)
from app.modules.loyalty.models.staff_pin import (
    # Model
    StaffPin,
)
from app.modules.loyalty.models.terminal_device import (
    # Model
    TerminalDevice,
)
from app.modules.loyalty.models.transaction_category import (
    # Model
    StoreTransactionCategory,
)

__all__ = [
    # Enums
    "LoyaltyType",
    "TransactionType",
    "StaffPinPolicy",
    # Models
    "LoyaltyProgram",
    "LoyaltyCard",
    "LoyaltyTransaction",
    "StaffPin",
    "AppleDeviceRegistration",
    "MerchantLoyaltySettings",
    "StoreTransactionCategory",
    "TerminalDevice",
]
