Kit Promotions
API reference for creating and managing Kit promotions (bundle discounts) in Omnium OMS.
Kit Promotions API Reference
Table of Contents
- Overview
- How Kit Promotions Work
- API Endpoints
- Data Models
- Creating Kit Promotions
- Examples
- Advanced Features
- Best Practices
Overview
Kit promotions allow you to create bundle discounts where customers must purchase one item from each specified component group to receive a discount on the entire kit. This is ideal for creating product bundles with promotional pricing.
Key Features
- Multi-component bundles: Define multiple component groups (e.g., shirt + pants + shoes)
- Flexible quantities: Control required and discounted quantities per component
- Multiple discount types: Percentage, fixed amount, or fixed price discounts
- Required/Optional components: Mark component groups as required or optional
- Category/Brand filtering: Define which products qualify for each component
Supported Discount Types
- Percentage discount (e.g., 20% off the entire kit)
- Fixed amount discount (e.g., $10 off the kit total)
- Fixed price (e.g., Complete outfit for $99)
How Kit Promotions Work
Basic Concept
A kit promotion requires customers to purchase items from multiple component groups to receive a discount. Each component group can have different requirements:
Example Kit: "Complete Outfit Bundle"
- Component 1 (Required): 1x Shirt (any from Shirts category)
- Component 2 (Required): 1x Pants (any from Pants category)
- Component 3 (Optional): 1x Accessories (any from Accessories category)
Reward: 20% off the entire kit when customer has items from all required components
Component Groups
Each component group defines:
- Required Quantity: How many items customer must have from this group
- Discounted Quantity: How many items from this group receive the discount
- Category/Brand Filter: Which products qualify for this component
- Required Flag: Whether this component is mandatory for the kit discount
Discount Application
The kit discount is applied proportionally across all qualifying items in the customer's cart based on their individual prices and the specified discount type.
API Endpoints
Base URL
Create Kit Promotion
Request Body: OmniumPromotionRequest with promotionType: 4
Update Kit Promotion (Patch)
Request Body: OmniumPromotionPatch
Get Kit Promotions
Search Kit Promotions
Delete Kit Promotion
Data Models
OmniumPromotionRequest
The main request model for creating a kit promotion.
OmniumPromotionKitReward
Defines the kit-specific reward structure and component groups.
Properties
| Property | Type | Description |
|---|---|---|
rewardType | int | Reward type: 0=Percentage, 1=Amount, 2=FixedPrice |
promotionKitComponentGroups | array | List of component groups that make up the kit |
OmniumPromotionKitComponentGroup
Defines a single component group within the kit.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
requiredQuantity | int | No | Number of items required from this component (null = 1 or more) |
discountedQuantity | int | Yes | Number of items from this component that receive discount (0 = all qualifying items) |
required | bool | Yes | Whether this component group must be present for the kit discount to apply |
categoryAndBrandFilter | object | Yes | Defines which products qualify for this component group |
Reward Types
Kit promotions support three reward types:
Percentage Discount (rewardType: 0)
Fixed Amount Discount (rewardType: 1)
Fixed Price (rewardType: 2)
Creating Kit Promotions
Basic Kit Promotion (Percentage)
Scenario: "Complete Outfit Bundle: 20% off when you buy 1 shirt + 1 pants + 1 shoes"
Kit with Optional Components
Scenario: "Workout Bundle: Buy shirt + shorts, optionally add accessories for extra discount"
Note: When optional components are present, the discount applies to all qualifying items. The percentage might be higher to account for the variable nature of the bundle.
Fixed Price Kit
Scenario: "Complete Business Look: Get shirt + tie + pants for $99"
Examples
Example 1: Brand-Specific Kit
Scenario: "Nike Complete Set: Buy Nike shirt + Nike shorts + Nike shoes, get 15% off"
Example 2: Multi-Currency Fixed Amount
Scenario: "$20 off in US, £15 off in UK for electronics bundle"
Example 3: Variable Quantity Kit
Scenario: "Family Pack: Buy 2 adults + 2 kids clothing items, get 30% off all"
Note: discountedQuantity: 0 means all qualifying items from that component group receive the discount.
Example 4: Specific Products Kit
Scenario: "Starter Pack: Buy specific phone + specific case + specific charger"
Example 5: Coupon-Required Kit
Scenario: "Use code BUNDLE25 for special kit discount"
Advanced Features
1. Product Property Filtering
Use product properties to create highly targeted kit components.
Example: "Summer Kit: Red shirts + Blue shorts + White shoes"
2. Exclusion Rules
Exclude specific products, brands, or categories from kit components.
3. Store and Market Targeting
Target specific stores or markets for kit promotions.
4. Seasonal Filtering
Create season-specific kits.
Best Practices
1. Plan Component Groups Carefully
- Keep it simple: Start with 2-3 component groups for easier customer understanding
- Clear categories: Ensure each component group has distinct product categories
- Balanced pricing: Consider the price range of items in each component group
2. Set Realistic Requirements
- Reasonable quantities: Most kits work best with
requiredQuantity: 1per component - Optional components: Use sparingly to avoid customer confusion
- Clear benefits: Ensure the discount provides meaningful savings
3. Use Descriptive Names
Kit promotions should have clear, descriptive names and titles:
- Good: "Complete Outfit Bundle - 20% Off"
- Good: "Workout Starter Kit - $25 Off"
- Bad: "Kit Promo 1"
4. Test Multiple Scenarios
Before activating kit promotions, test with various cart configurations:
- Minimum requirements: Test with exact required quantities
- Extra items: Test with more items than required
- Mixed brands: Test with different brands in each component (if allowed)
- Price variations: Test with different price points within each component
5. Consider Customer Experience
- Clear messaging: Ensure customers understand what's required for the discount
- Visual indicators: Use kit promotions where the UI can clearly show progress
- Reasonable combinations: Avoid overly complex requirements
6. Multi-Currency Considerations
For multi-market promotions, always provide amounts for all relevant currencies:
Troubleshooting
Kit Promotion Not Applying
Check:
- Does the cart contain at least one item from each required component group?
- Do cart items meet the
requiredQuantityfor each component group? - Are the products in the cart correctly categorized/branded to match the
categoryAndBrandFilter? - Is the promotion within its active date range (
activeFromtoactiveTo)? - If using a coupon code, has it been applied to the cart?
- Do cart market/store match the promotion's
markets/stores?
Discount Amount Incorrect
Check:
- For fixed amount discounts, verify
promotionAmountsincludes the correct currency - For fixed price promotions, ensure
rewardType: 2and total kit price is set correctly - For percentage discounts, verify
usePercentage = trueand percentage value - Verify that
discountedQuantitysettings match your expectations
Component Groups Not Working
Check:
- Verify products exist in the specified categories/brands in your product catalog
- Check that
required: truecomponents are all satisfied - For optional components, ensure they're properly marked with
required: false - Validate product property filters (if used) match actual product properties
Complex Kit Troubleshooting
For complex kits with multiple components:
- Test components individually: Temporarily create simple promotions for each component group to verify products qualify
- Check exclusion rules: Ensure
excludedCategories,excludedBrands, orexcludedProductsaren't filtering out expected items - Verify property filters: If using product properties, ensure they exist on products and match exactly
- Review combination rules: Check if other promotions are conflicting with kit promotion application
API Response Models
Success Response (Create)
When a kit promotion is successfully created:
Note: Kit promotions do not generate individual product prices for display on product listing or detail pages. The discount is calculated at cart time when all required component items are present.
Error Response
Additional Resources
- Promotion Types Overview: Kit promotion uses
PromotionType: 4 - Model Validation: All
MaxLengthattributes indicate array size limits (typically 250 items) - Date Formats: Use ISO 8601 format (e.g.,
2024-01-01T00:00:00Z) - Property Filtering: See the MultiBuy API Reference for detailed information on
categoryAndBrandFilteroptions
Support
For questions or issues:
- Check this documentation
- Review the troubleshooting section
- Examine API error messages for validation details
- Test kit promotions in your test environment before activating
- Contact your Omnium support team
