{"id":17122,"date":"2026-06-02T12:56:00","date_gmt":"2026-06-02T10:56:00","guid":{"rendered":"https:\/\/7learnings.com\/?post_type=docs&#038;p=17122"},"modified":"2026-06-11T14:23:20","modified_gmt":"2026-06-11T12:23:20","slug":"bundles","status":"publish","type":"docs","link":"https:\/\/7l-dev.mr2-media.de\/de\/docs\/bundles\/","title":{"rendered":"Bundles"},"content":{"rendered":"<p>We define bundles as products that contain a combination of multiple other products.<\/p>\n<p>Example<\/p>\n<ul>\n<li><strong>1 Pack<\/strong>\u00a0of Aspirin Complex -&gt; individual product<\/li>\n<li><strong>3 Pack<\/strong>\u00a0of Aspirin Complex -&gt; bundle product<\/li>\n<\/ul>\n<h2 id=\"typical-bundle-issues\"><a class=\"header\" href=\"#typical-bundle-issues\">Typical bundle issues<\/a><\/h2>\n<ul>\n<li>The\u00a0<strong>Price<\/strong>\u00a0of the bundle product should follow the price of the individual product.\u00a0<em>Example: If the 1 Pack Aspirin Complex is reduced in price by 10%, you need to make sure, that the 3 Pack Aspirin Complex is still more affordable<\/em><\/li>\n<li><strong>Stock<\/strong>\u00a0is usually not stored separately for bundles. Stock therefore needs to be considered virtually for bundles.\u00a0<em>Example: if you have 10 packs of Aspirin Complex left, you can only sell a maximum of 3 bundles of 3 Packs of Aspirin Complex<\/em><\/li>\n<\/ul>\n<h2 id=\"bundle-data-feed\"><a class=\"header\" href=\"#bundle-data-feed\">Bundle data feed<\/a><\/h2>\n<p>To better handle bundle products, we ask for bundle information in a separate data feed. The way we ask for the data means, that each bundle will have a bundle_id AND a product_id.<\/p>\n<div class=\"table-wrapper\">\n<table>\n<thead>\n<tr>\n<th><strong>Column<\/strong><\/th>\n<th><strong>Data Types<\/strong><\/th>\n<th><strong>Description<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>product_id<\/td>\n<td>Text<\/td>\n<td>Unique product identifier<\/td>\n<\/tr>\n<tr>\n<td>bundle_id<\/td>\n<td>Text<\/td>\n<td>Unique bundle identifier<\/td>\n<\/tr>\n<tr>\n<td>product_qty<\/td>\n<td>Integer, Decimal<\/td>\n<td>Product quantity in bundle<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>This data feed enables specific bundle rules that wouldn&#8217;t be possible without it.<\/p>\n<h2 id=\"rule-bundle-price--product-prices-x-value\"><a class=\"header\" href=\"#rule-bundle-price--product-prices-x-value\">Rule: Bundle Price = Product Prices x Value<\/a><\/h2>\n<p>This rule sets the bundle price at a multiple of the price of the individual products.<\/p>\n<p><strong>Example<\/strong><br \/>\nPrice of 1 pack of Aspirin Complex after optimization = 11.49 EUR<br \/>\nValue = 95%<br \/>\nPrice of 3 pack of Aspirin Complex after optimization: Bundle price = 11.49 x 3 x 95% = 32.75 EUR<\/p>\n<h2 id=\"rule-bundle-price--product-prices-x-value-1\"><a class=\"header\" href=\"#rule-bundle-price--product-prices-x-value-1\">Rule: Bundle Price &lt; Product Prices x Value<\/a><\/h2>\n<p>This rule sets a maximum bundle price at a multiple of the price of the individual products.<\/p>\n<p><strong>Example<\/strong><br \/>\nPrice of 1 pack of Aspirin Complex after optimization = 11.49 EUR<br \/>\nValue 95%<br \/>\nPrice of 3 pack of Aspirin Complex after optimization: Bundle price &lt; 32.75 EUR<\/p>\n","protected":false},"parent":0,"template":"","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_seopress_news_disabled":"","_seopress_video_disabled":"","_seopress_video":[],"_seopress_pro_schemas_manual":[],"_seopress_pro_rich_snippets_disable_all":"","_seopress_pro_rich_snippets_disable":[],"_seopress_pro_schemas":[]},"doc_categories":[123],"class_list":["post-17122","docs","type-docs","status-publish","hentry","doc_categories-optimizations"],"_links":{"self":[{"href":"https:\/\/7l-dev.mr2-media.de\/de\/wp-json\/wp\/v2\/docs\/17122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/7l-dev.mr2-media.de\/de\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/7l-dev.mr2-media.de\/de\/wp-json\/wp\/v2\/types\/docs"}],"wp:attachment":[{"href":"https:\/\/7l-dev.mr2-media.de\/de\/wp-json\/wp\/v2\/media?parent=17122"}],"wp:term":[{"taxonomy":"doc_categories","embeddable":true,"href":"https:\/\/7l-dev.mr2-media.de\/de\/wp-json\/wp\/v2\/doc_categories?post=17122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}