How do I add build-a-box functionality to the customer portal?
With Stay, the standard process for your customers to add products to their bundle within the customer portal involves making selections from a pop-up modal, as pictured here:
When customers are managing their existing bundle, this view will be enabled by default and styled based on the settings set within the Customize Portal view. If you would like your customers to be able to Add or Swap to a bundle from their customer portal, you will need to select the bundle parent as a Swap, Subscription, or Add One product in the Customize Portal, Product settings within Stay.
To further customize the build-a-bundle experience in the customer portal, requires an additional technical lift on the backend. For more information, please reach out to your CSM, and they can direct you to technical resources from Shopify.
How are bundles priced?
The total price of a bundle is determined by the sum of the price of the bundle parent and each of the selected product options. This means you have some different options when it comes to pricing bundles:
You can set the price of the bundle parent to $0 and give each bundle option a custom price. This is necessary for bundles without a specific size (i.e., 4 minimum and 4 maximum) or for bundles where each option may have a different cost associated with it.
You can set the price of the bundle parent to the total cost and the price of each optional product to $0. This lets you assign a specific price to the bundle regardless of what products are selected. It is helpful when the price you want to use is not divisible by the number of products in the bundle.
How do product options work?
Products assigned to the bundle selling plan in Stay Ai that are not the bundle parent are listed as selectable options in the bundle builder. These must not be products in use elsewhere in the product catalog. This is because the selling plan group for the bundle is assigned to each of these products, and it would display on the PDPs for those products unless specific logic is adjusted there.
The only way we can do this is by either specifically filtering out groups by their ID (not dynamic) or by adjusting the PDP selling plan implementation to iterate through every product in the catalog, identify each bundle parent product, create an array of each selling plan group assigned to each bundle parent product, and filter out those groups within the main buy box.
The current recommendation is to use unique products for the bundle options. You can duplicate existing products or create new ones from scratch. This also allows for reduced pricing for the bundle products, giving customers a discounted price for bundling even without subscribing.
What happens if I need to exclude a bundle's selling plan group?
If you add another product that exists in a different selling plan, you'll need to exclude that other bundle's selling plan.
You can exclude the bundle selling plan group using the name or other identifier.{% assign sellingPlanGroups = product.selling_plan_groups | where: 'name', 'SPG NAME' %}
or
{% assign sellingPlanGroups = product.selling_plan_groups | where: 'id', 'SPG ID' %}