Right now, reduction_rate is only interpreted as a Decimal percentage rate. Consider allowing it to be some combination of the following:
A percentage of each payment that is included in savings
A percentage of each payment that is included in living expenses (i.e. the opposite of option 1)
A Money value that is included in savings
A Money value that is included in living expenses
It might only be necessary to define behaviour for options 1 and 4. This way, a Decimal input would be interpreted as a percentage of the total payment included in savings and a Money input would be interpreted as a base amount to include in living expenses, with any excess being included in savings.
This is a lot of semantics to pack into one attribute. Consider splitting it up into two attributes - a baseline living expenses portion (Money-typed) and a reduction_rate portion (Decimal-typed) which applies only to payments in excess of that baseline portion.
Right now,
reduction_rate
is only interpreted as aDecimal
percentage rate. Consider allowing it to be some combination of the following:It might only be necessary to define behaviour for options 1 and 4. This way, a Decimal input would be interpreted as a percentage of the total payment included in savings and a Money input would be interpreted as a base amount to include in living expenses, with any excess being included in savings.
This is a lot of semantics to pack into one attribute. Consider splitting it up into two attributes - a baseline living expenses portion (Money-typed) and a reduction_rate portion (Decimal-typed) which applies only to payments in excess of that baseline portion.
This is related to issue #8