# app/modules/checkout/definition.py """ Checkout module definition. This module handles the checkout flow, converting cart contents into orders. Orchestrates payment processing and order creation. """ from app.modules.base import ModuleDefinition, PermissionDefinition module = ModuleDefinition( code="checkout", name="Checkout", description="Checkout and order creation for storefronts", version="1.0.0", is_self_contained=True, requires=["cart", "orders", "payments", "customers"], features=[ "checkout_flow", # Multi-step checkout process "order_creation", # Create orders from cart "payment_processing", # Payment integration during checkout "checkout_validation", # Address, inventory, payment validation "guest_checkout", # Allow checkout without account ], # Note: Checkout is primarily storefront functionality. # These permissions are for admin access to checkout settings. permissions=[ PermissionDefinition( id="checkout.view_settings", label_key="checkout.permissions.view_settings", description_key="checkout.permissions.view_settings_desc", category="checkout", ), PermissionDefinition( id="checkout.manage_settings", label_key="checkout.permissions.manage_settings", description_key="checkout.permissions.manage_settings_desc", category="checkout", ), ], # Checkout is storefront-only - no admin/vendor menus needed menu_items={}, )