Order lifecycle: created → payment_pending → paid → fulfillment → shipped → delivered. Each transition triggers events.
Order table: order_id, user_id, status, items, totals, addresses. Separate order_items table for line items. Audit log tracks all changes. Integration points: payment gateway, inventory, shipping carriers, notifications. Idempotency keys prevent duplicate orders.