Develop > Presentation layer > Customize promotions > Promotion engine customization
Promotion engine components
The promotion engine comprises a series of configurable components. All of these configurable components are specified in a configuration XML file, WCSPromotionEngineConfig.xml. The promotion engine is configured per WCS instance; it is not possible to have different configurations for stores in the same instance.
For a complete configuration file, see sample promotion engine configuration XML file. The configuration file is stored in the /WC_INSTALL/instances/instance/xml/PromotionEngineConfiguration/ directory.
- Promotion engine flow during promotion evaluation
The promotion engine evaluates promotions for customers while they shop on the storefront. The evaluation process has several stages and involves different components of the promotion engine.
- Agenda builder
The agenda builder builds a table that shows the relationship between promotions and polices during promotion evaluation. The agenda builder is a configurable part of the promotion engine.
- Sequence builder
The sequence builder sorts the list of promotions returned by the agenda builder, and decides the order in which to evaluate promotions. The sequence builder is a configurable component of the promotion engine.
- Promotion events and listeners
The promotion engine generates a number of events during its normal operation. Listeners wait for specific types of events to occur and then log the events.
- Promotion code manager
The promotion code manager records promotion codes that a customer enters for an order. The promotion code manager is a configurable component of the promotion engine. By default, the promotion component supports a one-to-one mapping between promotion codes and promotions.
- Coupon manager
A coupon is a piece of evidence that a customer is entitled to a promotion. Coupons are managed by the coupon manager, which is a configurable part of the promotion engine.
Related concepts
Related tasks
Configure the promotion engine