Very crude spec...
Say 20 single products, with 4 options per product, of those options each might have 15 sub options.
dependant on which sub option the user selects the single product will be free / less cost.
The sub options might change from week to week, needs to be easy to change on the back end as well as use on the front.
Paul