> ## Documentation Index
> Fetch the complete documentation index at: https://docs.supercycle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bundles

> Group several products into one rentable set, such as a suit made of a jacket and trousers

<Info>
  Bundles are available on request. Contact support from the app to turn them on for your store.
</Info>

A bundle groups several products into one rentable item, so a customer can rent a set of components, such as a suit made up of a jacket, trousers, and a waistcoat, as a single product. Bundles don't render on the storefront on their own, so a developer builds the customer-facing experience on the [Storefront API](/api-reference/storefront/intent).

Bundles live under <Icon icon="shopify" iconType="solid" /> **[Products](https://admin.shopify.com/apps/supercycle/products)**, on the **Bundles** tab.

***

## How it works

A bundle is a parent product made up of one or more component products. Each component keeps its own methods, options, and inventory. The bundle groups them so they can be rented together.

When a customer rents a bundle:

* Each component goes into the cart as its own line item with the Supercycle attributes it needs.
* Availability is checked across every component for the selected dates.
* The customer picks an option, such as a rental period, for each component.

***

## Set up a bundle

<Steps>
  <Step title="Open Bundles">
    On <Icon icon="shopify" iconType="solid" /> **[Products](https://admin.shopify.com/apps/supercycle/products)**, open the **Bundles** tab.
  </Step>

  <Step title="Create the bundle">
    Select **Create bundle** and give it a name.
  </Step>

  <Step title="Add component products">
    Add each product that makes up the bundle. Turn the relevant methods on for a component before you add it, since the methods on each component decide which options a customer gets at checkout.
  </Step>

  <Step title="Save the bundle">
    Select **Save**. Supercycle tags the parent product `Supercycle bundle product`, tags each component `Bundle component: <parent-product-handle>`, and attaches the `supercycle.bundle` metafield to the parent.
  </Step>
</Steps>

***

## Build the storefront experience

A developer builds the bundle's product page against the [Storefront API](/api-reference/storefront/intent) to:

* Read the bundle metafield and the component configuration.
* Check availability for every component.
* Create an intent for each component.
* Add every component to the cart in one request.

[Create rental bundles](/developers/bundles) is the full developer guide, with code for Liquid, the availability check, intent creation, and the cart.
