A promotion architecture that uses XML-based promotion definitions and enables customer-specific extension.