2

I have a client who needs to list product "Bundles" as individual products. So basically, there would be products x, y, and z, all with their own SKU, and then bundle A with it's own SKU. Bundle A is all three products (x, y, z) at a discounted price. When Bundle A is purchased, the SKU is sent to their ops and packaging team (we have an integration from Commerce to their warehouse software).

The thing is, only bundle A's SKU is sent on purchase, which is fine because the warehouse team know what products belong to what bundle. However, the products in the bundle (x, y, z) have variations.

Is their some reasonable to add a product connection field to the variation of the Bundle? The issue is that the Bundle SKU would need to stay the same, but the customer needs to able to pick the variations of the related products that are in the bundle and have it stored in Commerce for the warehouse team to manually check. I'm a little lost on how to handle this. Basically, when a bundle A is ordered, their needs to be some way to store what variations of the related products were chosen for the bundle. Any suggestions, or am I missing some basic feature that would cover this?

Edit

Due to the rush of this job (customer wants this for the shopping season) I'm thinking this (thoughts or comments asked for):

Make a Variation text field (bundleChoices) for the bundle. On the bundle add-to-cart page where all products in the bundle are listed, use Javascript to stop the add-to-cart button, collect the bundle's product's variation choices and skus, and fill in a hidden (bundleChoices) field. Then add the bundle product with plaintext data describing the product variations chosen for this bundle.

Edit

We've decided to drop product variants in a bundle product. So if you buy a bundle, you get product x variant a, product y variant f, and product z variant q, no substitutions on the products normal options. To accomplish this, a bundle product will have a field for SKUs where just copy and paste the variant SKUs you want attached to the bundle.

  • Great question. We have a prospective client with needs similar to this, so are also keen on figuring out the most efficient solution to this. It would also be helpful to track stock levels of the individual variants and prevent orders of the bundle once the variants sell-out. Don't have an answer yet, but it will be something we're researching. – Simon East Nov 15 '18 at 2:04
1

Without thinking about it too deeply, I think rather than sending the single bundle Id, you will probably want to use MultiAdd for this - https://github.com/verbb/multi-add - and basically set up a form that intercepts the user choices and translates those to the appropriate variant Ids for submission to Commerce.

  • Wouldn't this add some complexity on handling the bundle price? For example, if I use MultiAdd on a bundle page to add three products and their variations, they need to have their discounted price for the bundle only. Then on a cart page, I'd need to keep an eye on the bundle products and make sure only one product is their per purchased bundle, and only apply the discount on products that are in a complete bundle (cart has at least one of east product in that bundle)... and overlapping bundles sharing some products... and... – jrothafer Nov 11 '17 at 1:09
  • Would something as dumb as adding a hidden field to the Bundle product variation (text field), and when a user adds a bundle to cart (all the products in the bundle and their variation choices are on one page), skim the variation choices, compile them into simple readable text (Product A - Blue, Product B - Size 4), put it in the hidden field, and then submit to cart? – jrothafer Nov 11 '17 at 1:13
  • Well yes it certainly would add complexity re: price as indeed there's not much support for this in discounts etc. So that's a fair point. Dumping it to a text field will handle it in a very basic way and keep the pricing side of things ok, but if you're using stock etc it won't work for that really. Compromises with all approaches with this currently I think! – Jeremy Daalder Nov 11 '17 at 2:46
  • I think we are just going to drop variants in the bundles and just use the default variant of a product if it's in a bundle. Yea, the hacky text field thing would work but after chatting with the client just now, they aren't sure how to insure order fulfillment at the warehouse would check the CMS system. Our Commerce products get stock updated from our integration on an hour cronjob, so Commerce stock would stay decently in order with the warehouse. Thanks for your suggestions! – jrothafer Nov 11 '17 at 3:55
  • Sounds sensible! – Jeremy Daalder Nov 12 '17 at 2:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.