I have a question about how to handle CustomerPricing (Customer group with PriceCode) together with Bundles?
Bundles point to productvariants where I can set customerPricing.
Should this be handled with Promotions?
Not quite sure what you mean? A bundle is just a "grouping" of products, so the "price" of a bundle is the total price of the variants contained in the bundle.
What would you like handle with a promotion? If you want to have a combination of products for a specific price, maybe you should use a package, which has it's own price and inventory.
Today, we handle bundles by adding product variants to the bundle. When you buy a bundle you get a discount on the product variants. This discount is calculated with the use of promotions.
I think the meaning is, that if a customer adds the same variants individually, they are still entitled to discount. Maybe this is wrong use of bundles?
For a discount to apply when adding the variants individually, you would have to create promotions for this variant. Those promotions would be triggered as well when "adding" a bundle to the cart, as the variants in the bundle are added to the cart as seperate lineitems.
If you want it the other way around, so a promiotion to apply to variants if they are contained in a bundle, I think you will have to create a custom promotion for this.
By default the prices (and therefore promotions) do not apply to bundles. If you want to use such thing you will have to implement yourself. Perhaps you want to use "package" instead?
If I use package and the user surf around the webpage and adds the same variants that are in the package individually. Will the user then get the variants for the same price as he would buying the package?
What I am trying to do, is to present the user for a meberprice and a standard price when buying bundles...
No, a package has it's own price. So If you would buy a package, you would get the items for the price of the package. If you'd buy the items in the package seperately, you'd pay the price of the items.
Jeroen is correct. You can set prices for package, so for example a package contain A,B,C, each $100, you can still set the price of the package to $250.
I'm not seeing the big picture here. However, you can either set the member price for packages, or member discount for packages. Something like this
Individual prices: 100, 100, 100
normal price: 250
member price: 220
You are correct, bundles is what you need to use here. (if anything.)
To calculate the price for the bundle with promotions you need to call the IPromotionEngine:http://world.episerver.com/documentation/developer-guides/commerce/marketing/promotions-engine/
However for memberprice you might be out of luck, depending on how it is implemented, but IPromotionEngine doesn't allow you to provide a user to calculate for, it will always use the current user.
If the promotions isn't depending on the customer but only the prices then an advanced solution could be to create two InMemoryOrderGroup:s and added the bundle with memberprice to one and the standardprice to the other and then call IPromotionEngine.Run for each ordergroup.
I did a quick POC in Quicksilver, that takes a bundle and applies a discount to all SKUs in that bundle. It works if you add a bundle to your cart, or if you add individual items.
If you check the AllItems required checkbox, the discount on the items will only be applied when all items in the bundle are in your cart. It seems to work ok, but i didn't do extensive testing ;) Maybe you can use it as an example for what you are trying to accomplish. Gist
As I understands it the OP already have the promotions working as he wants.
All he lacks is a way to show the bundle on his webpage with a preview of what price the customer will pay for the entire bundle.
Well a preview of both the price for member and for non-members.
Thank you all.
Yes, what Needed was "A preview of both the price for member and for non-members."
I ended up doing the following to handle bundles with member prices in our setup:
Thanks for your help