<!DOCTYPE html>
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" lang="en-us" xml:lang="en-us" class="_Skins_HTML5___Top_Navigation" data-mc-search-type="Stem" data-mc-help-system-file-name="Default.xml" data-mc-path-to-help-system="../../../" data-mc-has-content-body="True" data-mc-conditions="Spryker.MultiLanguage,Spryker.MultiStore,Spryker.ShopSuite,Spryker.DemoShop,Spryker.B2C,Spryker.B2B" data-mc-target-type="WebHelp2" data-mc-runtime-file-type="Topic;Default" data-mc-preload-images="false" data-mc-in-preview-mode="false" data-mc-toc-path="Features|Product Management">
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta name="msapplication-config" content="../../../Skins/Favicons/browserconfig.xml" />
        <meta name="description" content="With the Product Bundles feature you can freely tie individual items together and sell them as a package." />
        <link rel="apple-touch-icon" sizes="180x180" href="../../../Skins/Favicons/apple-touch-icon.png" />
        <link rel="shortcut icon" href="../../../Skins/Favicons/favicon-32x32.png" />
        <link rel="icon" sizes="96x96" href="../../../Skins/Favicons/favicon-96x96.png" />
        <link rel="icon" sizes="32x32" href="../../../Skins/Favicons/favicon-32x32.png" />
        <link rel="icon" sizes="16x16" href="../../../Skins/Favicons/favicon-16x16.png" />
        <meta charset="utf-8" />
        <meta name="description" content="" />
        <meta name="author" content="" /><title>Product Bundles | Spryker</title>
        <!-- Google Tag Manager -->
        <script>/* <![CDATA[ */(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
			new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
			j=d.createElement(s),dl=l!='dataLayer'?'&amp;l='+l:'';j.async=true;j.src=
			'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
		})(window,document,'script','dataLayer','GTM-NP24S2');/* ]]> */</script>
        <!-- End Google Tag Manager -->
        <script>/* <![CDATA[ */
			var s = document.createElement("script");
			s.type = "text/javascript";
			s.src = "https://www.googletagmanager.com/gtag/js?id==UA-56589105-4";
			document.getElementsByTagName('head').item(0).appendChild(s);
		/* ]]> */</script>
        <script>/* <![CDATA[ */
			window.dataLayer = window.dataLayer || [];
			function gtag(){dataLayer.push(arguments);}
			gtag('js', new Date());
			gtag('config', 'UA-56589105-4');
		/* ]]> */</script>
        <link href="../../../Skins/Default/Stylesheets/Slideshow.css" rel="stylesheet" />
        <link href="../../../Skins/Default/Stylesheets/TextEffects.css" rel="stylesheet" />
        <link href="../../../Skins/Default/Stylesheets/Topic.css" rel="stylesheet" />
        <link href="../../../Skins/Default/Stylesheets/Components/Styles.css" rel="stylesheet" />
        <link href="../../../Skins/Default/Stylesheets/Components/Tablet.css" rel="stylesheet" />
        <link href="../../../Skins/Default/Stylesheets/Components/Mobile.css" rel="stylesheet" />
        <link href="../../../Skins/Fluid/stylesheets/foundation.6.2.3.css" rel="stylesheet" />
        <link href="../../../Skins/Fluid/stylesheets/styles.css" rel="stylesheet" />
        <link href="../../../Skins/Fluid/stylesheets/tablet.css" rel="stylesheet" />
        <link href="../../../Skins/Fluid/stylesheets/mobile.css" rel="stylesheet" />
        <link href="../../../resources/stylesheets/perfect-scrollbar.css" rel="stylesheet" />
        <link href="../../../resources/stylesheets/prism.css" rel="stylesheet" />
        <style>/*&lt;meta /&gt;*/

.button.previous-topic-button
{
	-pie-background: url('../../../Skins/Default/Stylesheets/Images/navigate-previous.png') no-repeat center center, linear-gradient(#ffffff, #ececec);
}

.button.next-topic-button
{
	-pie-background: url('../../../Skins/Default/Stylesheets/Images/navigate-next.png') no-repeat center center, linear-gradient(#ffffff, #ececec);
}

.button.print-button
{
	-pie-background: url('../../../Skins/Default/Stylesheets/Images/printer.png') no-repeat center center, linear-gradient(#ffffff, #ececec);
}

.button.expand-all-button
{
	-pie-background: url('../../../Skins/Default/Stylesheets/Images/expand.png') no-repeat center center, linear-gradient(#ffffff, #ececec);
}

.button.collapse-all-button
{
	-pie-background: url('../../../Skins/Default/Stylesheets/Images/collapse.png') no-repeat center center, linear-gradient(#ffffff, #ececec);
}

.needs-pie
{
	behavior: url('../../../resources/scripts/PIE-no-motw.htc');
}

</style>
        <link href="../../../resources/stylesheets/mainstyles.css" rel="stylesheet" />
        <script src="../../../resources/scripts/custom.modernizr.js">
        </script>
        <script src="../../../resources/scripts/jquery.min.js">
        </script>
        <script src="../../../resources/scripts/require.min.js">
        </script>
        <script src="../../../resources/scripts/require.config.js">
        </script>
        <script src="../../../resources/scripts/foundation.6.2.3_custom.js">
        </script>
        <script src="../../../resources/scripts/plugins.min.js">
        </script>
        <script src="../../../resources/scripts/MadCapAll.js">
        </script>
    </head>
    <body>
        <div class="foundation-wrap off-canvas-wrapper">
            <div class="off-canvas-wrapper-inner" data-off-canvas-wrapper="">
                <aside class="off-canvas position-right" id="offCanvas" data-off-canvas="" data-position="right" data-mc-ignore="true">
                    <ul class="off-canvas-drilldown vertical menu off-canvas-list" data-drilldown="" data-mc-back-link="Back" data-mc-css-tree-node-expanded="is-drilldown-submenu-parent" data-mc-css-tree-node-collapsed="is-drilldown-submenu-parent" data-mc-css-sub-menu="vertical menu slide-in-right is-drilldown-submenu" data-mc-include-indicator="False" data-mc-include-icon="False" data-mc-include-parent-link="True" data-mc-include-back="True" data-mc-defer-expand-event="True" data-mc-expand-event="click.zf.drilldown" data-mc-toc="True">
                    </ul>
                </aside>
                <div class="off-canvas-content inner-wrap" data-off-canvas-content="">
                    <div data-sticky-container="" class="title-bar-container">
                        <nav class="title-bar tab-bar sticky" data-sticky="" data-options="marginTop:0" style="width:100%" data-sticky-on="small" data-mc-ignore="true">
                            <div class="middle title-bar-section outer-row clearfix">
                                <div class="menu-icon-container relative clearfix">
                                    <button class="menu-icon" data-toggle="offCanvas"><span></span>
                                    </button>
                                </div>
                            </div>
                            <div class="title-bar-layout outer-row">
                                <div class="logo-wrapper"><a class="logo" href="../../../home.htm" alt="Logo"></a>
                                </div>
                                <div class="navigation-wrapper nocontent">
                                    <ul class="navigation clearfix" data-mc-css-tree-node-has-children="has-children" data-mc-css-sub-menu="sub-menu" data-mc-expand-event="mouseenter" data-mc-top-nav-menu="True" data-mc-max-depth="3" data-mc-include-icon="False" data-mc-include-indicator="False" data-mc-include-children="True" data-mc-include-siblings="True" data-mc-include-parent="True" data-mc-toc="True">
                                        <li class="placeholder" style="visibility:hidden"><a>placeholder</a>
                                        </li>
                                    </ul>
                                </div>
                                <div class="nav-search-wrapper">
                                    <div class="nav-search row">
                                        <form class="search" action="#">
                                            <div class="search-bar search-bar-container needs-pie">
                                                <input class="search-field needs-pie" type="search" placeholder="Search the Academy" />
                                                <div class="search-filter-wrapper">
                                                    <div class="search-filter">
                                                        <div class="search-filter-content">
                                                            <ul>
                                                                <li>All Files</li>
                                                            </ul>
                                                        </div>
                                                    </div>
                                                </div>
                                                <div class="search-submit-wrapper" dir="ltr">
                                                    <div class="search-submit" title="Search">
                                                    </div>
                                                </div>
                                            </div>
                                        </form>
                                    </div>
                                </div>
                            </div>
                        </nav>
                    </div>
                    <section class="main-section">
                        <div class="row outer-row sidenav-layout">
                            <div class="sidenav-wrapper">
                                <div class="sidenav-container">
                                    <ul class="off-canvas-accordion vertical menu sidenav" data-accordion-menu="" data-mc-css-tree-node-expanded="is-accordion-submenu-parent" data-mc-css-tree-node-collapsed="is-accordion-submenu-parent" data-mc-css-sub-menu="vertical menu accordion-menu is-accordion-submenu nested" data-mc-include-indicator="False" data-mc-include-icon="False" data-mc-include-parent-link="False" data-mc-include-back="False" data-mc-defer-expand-event="True" data-mc-expand-event="click.zf.accordionMenu" data-mc-toc="True" data-mc-side-nav-menu="True">
                                    </ul>
                                </div>
                            </div>
                            <div class="body-container" data-mc-content-body="True">
                                <!-- Google Tag Manager (noscript) -->
                                <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NP24S2" height="0" width="0" style="display:none;visibility:hidden"></iframe>
                                </noscript>
                                <!-- End Google Tag Manager (noscript) -->
                                <div class="search-container">
                                    <form class="search" action="#">
                                        <div class="search-bar search-bar-container needs-pie _Skins_SearchTopics mc-component">
                                            <input class="search-field needs-pie" type="search" placeholder="Search" />
                                            <div class="search-filter-wrapper">
                                                <div class="search-filter">
                                                    <div class="search-filter-content">
                                                        <ul>
                                                            <li>All Files</li>
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                            <div class="search-submit-wrapper" dir="ltr">
                                                <div class="search-submit" title="Search">
                                                </div>
                                            </div>
                                        </div>
                                    </form>
                                </div>
                                <div class="row collapse">
                                    <div class="top-bar">
                                        <div class="breadcrumbs-block">
                                            <div class="nocontent">
                                                <div class="MCBreadcrumbsBox_0 breadcrumbs" data-mc-breadcrumbs-divider=" &gt; " data-mc-breadcrumbs-count="3" data-mc-toc="True"><span class="MCBreadcrumbsPrefix">You are here: </span>
                                                </div>
                                            </div>
                                        </div>
                                        <div>
                                        </div>
                                        <form class="search" action="#">
                                            <div class="search-bar search-bar-container needs-pie _Skins_SearchHome mc-component">
                                                <input class="search-field needs-pie" type="search" placeholder="Search" />
                                                <div class="search-filter-wrapper">
                                                    <div class="search-filter">
                                                        <div class="search-filter-content">
                                                            <ul>
                                                                <li>All Files</li>
                                                            </ul>
                                                        </div>
                                                    </div>
                                                </div>
                                                <div class="search-submit-wrapper" dir="ltr">
                                                    <div class="search-submit" title="Search">
                                                    </div>
                                                </div>
                                            </div>
                                        </form>
                                    </div>
                                    <div class="topic-layout">
                                        <div>
                                            <div class="side-menu">
                                                <div data-sticky-container="" id="Ayml_nZzK0yIMkY_KO5wtw">
                                                    <div class="sticky sticky-menu" style="width:100%" data-sticky="" data-top-anchor="Ayml_nZzK0yIMkY_KO5wtw:top" data-bottom-anchor="contentBody:bottom" data-sticky-on="small" data-scroll-container-on="small">
                                                        <ul class="nocontent menu _Skins_SideMenu mc-component" data-mc-is-context-sensitive="True" data-mc-linked-toc="Data/Tocs/master.js" data-mc-side-menu="True" data-mc-max-depth="1" data-mc-include-icon="False" data-mc-include-indicator="False" data-mc-include-children="True" data-mc-include-siblings="True" data-mc-include-parent="True" data-mc-toc="True">
                                                        </ul>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                        <div>
                                            <div class="side-menu">
                                                <div class="toolbar-wrapper">
                                                    <div class="widget-github js-widget-github"><a class="widget-github-link js-widget-github-link" href="https://github.com/spryker/spryker-documentation" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26"><path d="M13.5 0C6.057 0 0 6.057 0 13.5c0 5.888 3.791 10.905 9.058 12.745a.463.463 0 0 0 .258.088c1.316.43 2.724.667 4.184.667C20.943 27 27 20.943 27 13.5S20.943 0 13.5 0zm0 .931c6.93 0 12.569 5.639 12.569 12.569 0 5.428-3.459 10.061-8.287 11.818a1.903 1.903 0 0 1-.092-.527v-2.446c0-.975-.477-2.037-.946-2.75 2.584-.436 5.537-1.776 5.537-6.779 0-1.37-.429-2.58-1.275-3.598.186-.611.415-1.9-.225-3.52a.47.47 0 0 0-.291-.272c-.13-.04-1.326-.35-3.806 1.277a12.921 12.921 0 0 0-6.36 0c-2.481-1.63-3.68-1.319-3.809-1.277a.47.47 0 0 0-.29.273C5.582 7.319 5.811 8.607 6 9.218c-.85 1.018-1.279 2.227-1.279 3.598 0 4.957 2.9 6.323 5.463 6.778-.322.407-.66.934-.81 1.47-.661.184-2.018.19-2.929-1.37-.032-.06-.829-1.475-2.4-1.584-.25.002-.882.042-1.035.525-.169.537.424.944.679 1.117l.058.034c.029.015.707.371 1.213 1.644.105.333 1.03 2.84 4.353 2.399.002.367 0 .552-.004.7v.26c0 .15-.045.378-.096.525C4.386 23.558.931 18.924.931 13.5.931 6.57 6.57.931 13.5.931zm6.51 5.375c.5 1.471.158 2.537.035 2.839a.468.468 0 0 0 .089.49c.805.883 1.214 1.952 1.214 3.181 0 4.72-2.796 5.666-5.535 5.97a.464.464 0 0 0-.253.815c.368.314 1.199 1.68 1.199 2.744v2.446c0 .009.001.414.134.809a12.513 12.513 0 0 1-6.792-.002c.135-.396.139-.802.139-.81l.001-.248c.002-.211.006-.497 0-1.266a.473.473 0 0 0-.174-.362.47.47 0 0 0-.391-.09c-3.126.681-3.802-1.576-3.828-1.67l-.016-.047c-.448-1.135-1.037-1.713-1.388-1.975.759.267 1.182 1.007 1.193 1.024 1.231 2.107 3.264 2.162 4.328 1.685a.463.463 0 0 0 .27-.36c.095-.665.826-1.545 1.196-1.87a.464.464 0 0 0 .136-.488.461.461 0 0 0-.39-.324c-2.73-.31-5.524-1.266-5.524-5.98 0-1.228.41-2.3 1.219-3.181a.464.464 0 0 0 .087-.491c-.124-.302-.467-1.364.031-2.837.396.013 1.362.182 2.988 1.286.112.076.256.1.387.063.973-.27 2.058-.416 3.135-.421 1.08.005 2.166.15 3.14.421.131.037.273.013.386-.063 1.635-1.11 2.6-1.275 2.984-1.288z" /></svg></a>
                                                    </div>
                                                    <div class="buttons popup-container clearfix topicToolbarProxy _Skins_TopicToolbar mc-component nocontent" style="mc-topic-toolbar-items: PreviousTopic NextTopic Print ExpandAll CollapseAll;">
                                                        <div class="button-group-container-left">
                                                            <button class="button needs-pie previous-topic-button" title="Navigate previous">
                                                                <img src="../../../Skins/Default/Stylesheets/Images/transparent.gif" alt="previous topic" />
                                                            </button>
                                                            <button class="button needs-pie next-topic-button" title="Navigate next">
                                                                <img src="../../../Skins/Default/Stylesheets/Images/transparent.gif" alt="next topic" />
                                                            </button>
                                                            <button class="button needs-pie print-button" title="Print">
                                                                <img src="../../../Skins/Default/Stylesheets/Images/transparent.gif" alt="print" />
                                                            </button>
                                                            <button class="button needs-pie expand-all-button" data-state1-class="expand-all-button" data-state2-class="collapse-all-button" data-state2-title="Collapse all" title="Expand all" data-state1-title="Expand all">
                                                                <img src="../../../Skins/Default/Stylesheets/Images/transparent.gif" alt="expand all" />
                                                            </button>
                                                        </div>
                                                    </div>
                                                </div>
                                                <div class="js-anchorer main-content">
                                                    <h1>Product Bundles <img src="../../../resources/images/shoptype/b2b_shop.png" /> <img src="../../../resources/images/shoptype/b2c_shop.png" /> <img src="../../../resources/images/shoptype/mastersuite.png" /> <img src="../../../resources/images/shoptype/demoshop.png" /></h1>
                                                    <p><a href="javascript:void(0);" class="MCTextPopup popup popupHead">ML<span class="MCTextPopupBody MCTextPopupBody_Closed needs-pie popupBody"><span class="MCTextPopupArrow"></span>Multi-language</span></a> <a href="javascript:void(0);" class="MCTextPopup popup popupHead">MS<span class="MCTextPopupBody MCTextPopupBody_Closed needs-pie popupBody"><span class="MCTextPopupArrow"></span>Multi-store</span></a></p>
                                                    <p>With the Product Bundles feature you can freely tie individual items together and sell them as a package. As opposed to a set, in which products are loosely grouped, the items in a bundle are always sold together. You can choose to create a special bundle price to make the purchase more attractive.
Since each bundle's product is still handled like an individual item in the Order Management Process, bundle availability is always calculated and displayed based on the item with the smallest available stock to avoid overselling.</p>
                                                    <p>A bundle represents two or more products, sold as a set; it is a distinct product that incorporates other concrete products.</p>
                                                    <div class="example">
                                                        <p>Example:</p>
                                                        <p><a class="MCPopupThumbnailLink MCPopupThumbnailPopup" href="../../../resources/images/product_bundles.png" data-mc-popup-alt="Product bundles"><img class="MCPopupThumbnail img imgThumbnail" data-mc-width="686" data-mc-height="180" src="../../../resources/images/product_bundles_thumb_0_48.png" alt="Product bundles" title="Click me" tabindex="" /></a>
                                                        </p>
                                                    </div>
                                                    <div class="example">
                                                        <p>Bundles are handled in different ways: </p>
                                                        <p>For example, a marketing bundle of two items that gives a 20% discount is purchased as a single item and then split for processing into its two constituent items. Another scenario is when products are put together from separate purchase items, for example when tires and rims are sold as separate items and then delivered assembled as wheels.</p>
                                                    </div>
                                                    <ul>
                                                        <li value="1"> A bundle can contain multiple quantities of the same item
</li>
                                                        <li value="2"> The availability of a bundle product is equal to the item with the lowest availability
</li>
                                                    </ul>
                                                    <h1>Product-Bundle Module</h1>
                                                    <p>Product bundles are two or more existing products combined into a new type of product for the sole purpose to be displayed as one product in the shop frontend and to be sold together. Typically the products are concrete products, because both need to be potential order items. The new (bundled) product does not physically exist in the bundled state. The Product-Bundle can be bought by customers, but in the order management system the items are handled separately, this way the shop owner can manage the products separately.</p>
                                                    <h2>Characteristics of Product Bundles</h2>
                                                    <ul>
                                                        <li class="bullet_list" value="1">The quantity of each concrete product may be more than 1</li>
                                                        <li class="bullet_list" value="2">A product bundle has a localized name and description</li>
                                                        <li class="bullet_list" value="3">A product bundle has a sku</li>
                                                        <li class="bullet_list" value="4">A product bundle has a price and tax set</li>
                                                        <li class="bullet_list" value="5">A product bundle has a virtual stock that is dependent on the stock of the bundled products</li>
                                                        <li class="bullet_list" value="6">The stock level has a upper boundary (see Stock calculation)</li>
                                                        <li class="bullet_list" value="7">A product bundle can have attributes with localized values</li>
                                                        <li class="bullet_list" value="8">A product bundle can have localized SEO information</li>
                                                        <li class="bullet_list" value="9">A product bundle can have multiple localized image sets</li>
                                                    </ul>
                                                    <h2>Product Bundle Entity Relationship Diagram</h2>
                                                    <p><a class="MCPopupThumbnailLink MCPopupThumbnailPopup" href="../../../resources/images/product_bundles_entity_diagram.png" data-mc-popup-alt="product bundle entity relationship diagram"><img class="MCPopupThumbnail img imgThumbnail" data-mc-width="992" data-mc-height="578" src="../../../resources/images/product_bundles_entity_diagram_thumb_0_48.png" alt="product bundle entity relationship diagram" title="Click me" tabindex="" /></a>
                                                    </p>
                                                    <h2>Availability Calculation</h2>
                                                    <p>Bundle availability is calculated from bundled product availability. When bundled product availability is changed, for example state machine move through reserved flags then all bundles is updated accordingly.</p>
                                                    <p>Bundle is updated when:</p>
                                                    <ul>
                                                        <li class="bullet_list" value="1">Stock of bundled product is changed.</li>
                                                        <li class="bullet_list" value="2">Availability of bundled product is changed.</li>
                                                        <li class="bullet_list" value="3">When creating bundle.</li>
                                                        <li class="bullet_list" value="4">Adding new bundled products to bundle.</li>
                                                        <li class="bullet_list" value="5">When state machine sets flag reserved to bundled product.</li>
                                                    </ul>
                                                    <h2>Stock Calculation</h2>
                                                    <p>Bundle have "dynamic stock", the stock is defined by bundled products. It cannot be imported as regular products. That means a bundle will get maximum possible stock quantity based on bundled product quantity. Stock is calculated for each warehouse separately.</p>
                                                    <div class="example">
                                                        <p>For example.</p>
                                                        <ul>
                                                            <li value="1">Bundled item 1 quantity x <b>2</b></li>
                                                        </ul>
                                                        <p>For given item stock is:</p>
                                                        <ul>
                                                            <li value="1">In Warehouse <b>1: Item 1 stock x 10</b></li>
                                                            <li value="2">In Warehouse 2: <b>Item 1 stock x 5</b></li>
                                                        </ul>
                                                        <p>Then product bundle stock is:</p>
                                                        <ul>
                                                            <li value="1">Warehouse 1: <b>Bundle stock x 5</b></li>
                                                            <li value="2">Warehouse 2: <b>Bundle stock x 2</b></li>
                                                        </ul>
                                                    </div>
                                                    <h2>Product Bundle Structure in Cart</h2>
                                                    <p>Because of changed structure, cart uses special Yves class to handle bundle operations <var>ProductBundleAwareCartOperationHandler</var>.</p>
                                                    <p>When bundle item added to cart there is additional <var>ExpandBundleItemsPlugin</var> cart expander plugin which extracts bundled items from given bundle SKU.</p>
                                                    <div class="example">
                                                        <p>For example:</p>
                                                        <ol>
                                                            <li value="1">Item with SKU “123” is added to cart, expander will look if this item is bundle. If it’s bundle then it will read all bundled items from persistence. </li>
                                                            <li value="2">Item with SKU “123” is then added to <var>QuoteTransfer:bundleItems</var>. </li>
                                                            <li value="3">This item is given special <var>ItemTransfer:bundleItemIdentifier</var> unique id which have each bundle in cart. </li>
                                                            <li value="4">At the same time bundled items are created and stored into <var>CartChangeTransfer:items</var> with referenced bundled identifier <var>ItemTransfer:relatedBundleItemIdentifier</var> this is the same id where bundle got assigned. This helps to track back belonging bundle items in quote object.</li>
                                                        </ol>
                                                        <p>If bundled items have quantity &gt; 1 then it will be split as separate items in cart.</p>
                                                        <p>BundleProduct have price this price, it is distributed to whole bundled items. Overwriting original product price. If bundle have price 100, and there is 3 bundled products, each will get price 33,34,33 distributed, 34 is to cover rounding error.</p>
                                                    </div>
                                                    <h2>Persisting When Placing Order, End of Checkout</h2>
                                                    <p>Bundle product information is stored to <var>spy_sales_order_item_bundle</var>. When order is placed in order detail page you will see all bundled items stored as separate row. This allows process state machine separately for each item, for example (ship, refund, return, etc..).</p>
                                                    <p>If bundled item moves to reserved state machine state then corresponding bundle availability will be updated also.</p>
                                                    <p>&#160;</p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div><a class="scroll-top js-scroll-top" href="#"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="16" viewBox="0 0 12 16"><path fill="#FFF" fill-rule="nonzero" d="M11.82 5.22a.54.54 0 0 1 0 .806.636.636 0 0 1-.852 0L6.607 1.937v13.49a.587.587 0 0 1-.602.573c-.336 0-.611-.258-.611-.573V1.937L1.04 6.026a.647.647 0 0 1-.86 0 .54.54 0 0 1 0-.807L5.573.163a.636.636 0 0 1 .852 0L11.82 5.22z" /></svg></a>
                                <script>/* <![CDATA[ */
			function createGithubUrl() {
			var GITHUB_CONTENT_PATH = '/blob/master/public';
			var link = document.querySelector('.js-widget-github-link');
			var href =
			link.getAttribute('href')
			+ GITHUB_CONTENT_PATH
			+ window.location.pathname;
			link.setAttribute('href', href);
			}
			createGithubUrl();
		/* ]]> */</script>
                                <script>/* <![CDATA[ */
			requirejs.config({
				appDir: '',
				paths: {
					'clipboard': ['https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.1/clipboard.min']
					
				}
			});
			require(['clipboard'], function(Clipboard) {
				console.log(Clipboard);
				window.Clipboard = Clipboard;
			});
		/* ]]> */</script>
                                <script src="../../../resources/scripts/perfect-scrollbar.js">
                                </script>
                                <script src="../../../resources/scripts/imagemapster.js">
                                </script>
                                <script src="../../../resources/scripts/script.js">
                                </script>
                                <script src="../../../resources/scripts/prism.js">
                                </script>
                            </div>
                        </div>
                    </section><a data-close="true"></a>
                </div>
            </div>
            <script>/* <![CDATA[ */$(document).foundation();/* ]]> */</script>
        </div>
    </body>
</html>