I need to redesign a 10 year old Product Management Portal and underlying Data-model. There are build of materials as products in the system.
Product managers update pricing frequently for products. The current system uses Textual Boolean expression typed-in a Text-area, using combination of attributes of materials. It results in long lines of && and || expression.
The attributes are also conditional i.e. one attribute depends on other attributes using similar Boolean expression approach. The validity of applicable attributes and price gets calculated using recursive expression evaluation engine, which I believe is slow and not so effective approach.
I want to alter this approach to a more user interactive approach as well as direct and fast calculation of price.
Can any one, who has tackled variable pricing based on combination of multiple price tags and specification attributes, i.e for (height > 10 inch, color = red) price is $50, for (height > 10 inch, color = white) price is $53 and for (height < 10 inch, sleeve = False) price is $23?
It shall also support the different kind of price for applicable tags and attributes i.e. the value can be a multiplier (1.5 times or 0.3 times), the value can be additional cost ($23 or -$10), or the value can have both multiplier and 'to add' components.
I need to be cautious with my design as I will also need to support existing business logic and applications, till all the applications are overhauled and modified around new data-model.