# app/platforms/loyalty/config.py """ Loyalty Platform Configuration Configuration for the Loyalty/Rewards platform. Loyalty is a focused customer rewards platform with: - Customer management and segmentation - Analytics and reporting - Content management (for rewards pages) - Messaging and notifications It does NOT include: - Inventory management (no physical products) - Order processing (rewards are claimed, not purchased) - Marketplace integration (internal program only) - Billing (typically internal/free programs) """ from app.platforms.shared.base_platform import BasePlatformConfig class LoyaltyPlatformConfig(BasePlatformConfig): """Configuration for the Loyalty platform.""" @property def code(self) -> str: return "loyalty" @property def name(self) -> str: return "Loyalty+" @property def description(self) -> str: return "Customer loyalty and rewards platform" @property def features(self) -> list[str]: """Loyalty-specific features.""" return [ "loyalty_points", "rewards_catalog", "customer_tiers", "referral_program", ] @property def enabled_modules(self) -> list[str]: """ Loyalty platform has a focused module set. Core modules (core, platform-admin) are always included. Does not include: billing, inventory, orders, marketplace """ return [ # Core modules (always enabled, listed for clarity) "core", "platform-admin", # Customer-focused modules "customers", "analytics", "messaging", # Content for rewards pages "cms", # Internal tools (reduced set) "monitoring", ] @property def vendor_default_page_slugs(self) -> list[str]: """Default pages for Loyalty vendor storefronts.""" return [ "about", "how-it-works", "rewards", "terms-of-service", "privacy-policy", ] # Singleton instance loyalty_config = LoyaltyPlatformConfig()