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.