Real Decision
Problem
Bonus calculation rules become increasingly complex as products, operator groups, VIP programs and pricing models evolve.
Decision
Separated the calculation engine into independent components responsible for rule matching, validation, tier resolution, base calculation and VIP calculation. Each responsibility is isolated and replaceable without affecting the rest of the system.