Skip to main content

Overview

With Product Experience Manager, you can use the products API to create and manage bundles. A bundle is a purchasable product, comprising of one or more products that you want to sell together.

You can use bundles in different ways. For example, a consumer electronics and video game company, Playtend Games can sell a Playtend video game console as a bundle that includes the console, controller, and game. The price of the bundle might be different from the total of the individual products.

Alternatively, you may have a fixed, marketable banner product featuring only one item, such as a 'product of the week.' In this use case, the banner bundle description remains constant, while the product within the bundle can be easily swapped in and out.

You must not assign a product to a bundle if the product is in draft status as this invalidates the bundle.

You can have:

  • Dynamic bundles. Dynamic bundles allow your shoppers to choose their own options in a bundle.
  • Bundles of bundles. Your bundle consists of child bundles.

Bundle Components and Options

You can create multiple components within a bundle. Each component must have at least one or more options. Each option is a product and a quantity.

caution

You cannot have more than 1500 options in a bundle.

For example, Playtend Games can create a bundle where the total bundle price is calculated based on the options that the buyers choose. Shoppers can select a base console option, two games options, and a controller option as in the following example:

  1. Select one of the following options in the gaming console component.
  • Gaming Console 512 MB Storage. Regular price is $500, selling for $475.
  • Gaming Console 1 GB Storage. Regular price is $750, selling for $725.
  1. From each component, select an option:
  • Component 1:

    • Playtend Roboselect Game, selling for $50
    • Playtend Burndown Game, selling for $45
    • Playtend Invaders Game, selling for $50
  • Component 2:

  • Playtend Doomsday Game, selling for $35

  • Playtend Happyday Game, selling for $35

  • Playtend Birthday Game, selling for $40

    1. Select one of the following options in the controllers component:

      • Red Controller, selling for $40
      • Blue Controller, selling for $40
      • Green Controller, selling for $40
      • Invaders Controller, selling for $75

      If the shopper chooses the following options for their bundle, the total is $885:

      • Gaming Console 1 GB Storage ($725)
      • Playtend Burndown Game ($45)
      • Playtend Birthday Game ($40)
      • Invaders Controller ($75)

Dynamic Bundles

A dynamic bundle allows you to create a bundle where shoppers can choose products from a list of options. For example, a shopper can select 0 or more products from a list of 10. You can also configure some products as default options. A shopper can either select the bundle with the default products or choose products from all the components. Shoppers must either select products for all components or use the default options for all components; they cannot choose products for only one component and leave the others with default options.

For example, a shopper can select 0 or more product options from a list of 10. When purchasing a monitor, you might want to offer additional optional items that a shopper can select like monitor lamps, extendable arms, or screen wipes.

You can do this by configuring minimum and/or maximum values for the product options in a component. For example, to sell 4 books for a fixed price from a list of 10, set both minimum and maximum selections to 4.

When minimum is 0, it means that component product lists are optional for your shoppers.

If you do not specify any minimum or maximum values for the product options in your components, your shoppers can select any combination of product options.

To configure default product options, add "default": true to all the product options in the bundle that you want to be the defaults. Each component in the bundle must have a default product option. For example, you may have some products in a bundle that are performing better than others. For the products that are not performing as well, you can promote them above the rest by configuring a default product option. Moreover, you may have a default set of products that make sense for a given context. For example, when adding a new fragrance to a fragrance bundle, you may want the new addition to appear as the default option.

caution

Your shoppers cannot change the quantities of a product. They must purchase the quantity of products that you have specified when you created your components and options.

Bundle configuration

Dynamic bundles have a bundle_configuration which describe the options selected.

  1. Once your bundles are published in a catalog, a shopper can select the products they want.
  2. Use Get a product in a catalog release to check a bundle_configuration.
  3. Use the configure a shopper bundle endpoint to store a shopper's selections. The response from the configure a shopper bundle endpoint updates the bundle_configuration with the product options a shopper selects. In your storefront, you can display this as a summary of the product options a shopper has selected.

Bundles of Bundles

Your bundle can consist of child bundles. This is useful if you have a base product that is made-up of child products and the pricing of the base product changes, depending on the child products a customer chooses. This can be represented by creating a parent bundle that is made-up of other child bundles.

Bundle of bundles

For example, you may sell sofas. For each sofa that you sell, your customers can choose a fabric, a sofa size, and a leg color. The sofas are the parent bundle. The sofa size, fabric, and leg color are the child bundles. If a customer chooses a large sofa, then the cost of the fabric increases.

sofa bundle

You create a bundle of bundles by adding a child bundle as an option of a component of another bundle.

  • You cannot have more than one level of child bundles. In other words, a child bundle cannot have a child bundle as a component.
  • A parent bundle can contain both bundle and product components.
  • Both parent and child bundles can be either fixed or dynamic in a bundle of bundles.

Adding Products From Bundles of Bundles to Carts

When using bundles of bundles, only products from child bundles should be added to a cart. This is because if you add a parent bundle to a cart and call the cart, the cart returns information about the parent bundle and the name of the child bundle, but no child bundle components are returned.

When designing your storefront, you must only allow child bundles to be added to carts.

Demo