This is a complex question about determining bundle prices. I have already hired a developer who cannot figure out how to make this work, and have spent days looking at extensions, so am reaching out for other suggestions.
I need to have a product page where a customer can choose 3 configurable items, and add them to the cart together. We can do this easily with a bundle that has configurable items - no problems.
However, we need each product to be optional so the customer can buy any of them, and the pricing to change depending on how many items are added, such that:
- 1 item: bundle price = item price
- 2 items: bundle price is fixed at $79
- 3 items: bundle price is fixed at $99
The issue is that the individual products do not have the same price. Product A is $65; Products B and C are $40 each. If you give the bundle dynamic pricing, the sum of products A + B would be $105 (instead of $79), and all 3 products will be $145 (instead of $99). Creating bundles with 2 items and 3 items and giving them fixed prices is unfortunately unacceptable, as it will require customers to navigate between many pages as they go adding all the combinations of bundles they need, which we've seen significantly decreases our sales.
The only solutions I can think of are:
- Write a script that looks at how many items are selected on the product page, and manually override the bundle price when clicking add to cart (is this possible, how would I do it?)
- Host multiple fixed price bundles on the same page, so the customer can configure a 3 item bundle, add it to the cart, then configure a 2 item bundle, etc etc without leaving the page (compromise that effectively uses bundles as part of a grouped product - how would I do it?)
- Allow customer to add individual items to the cart (using a grouped product with configurable options extension), and create a shopping cart price rule to determine the discount
I tried pursuing the last option, but was not so far able to solve this. The logic would have to determine how many 3 item sets you could make from everything in the cart, allocate the right discount, then determine with the leftover products how many 2 item sets, give the discount, then leave the remaining individual items at full price.
Any suggestions as to how I could achieve any of these solutions, any extensions I haven't been able to find, or any other solution would be fantastic! I would also be happy to pay a developer that can achieve this.