Product Assortment
Complete guide to controlling product visibility across stores, markets, and customers in Omnium
Product assortment in Omnium controls which products are visible and purchasable in different contexts - stores, markets, and for specific customers. This guide covers all the mechanisms available for managing product assortment.
Overview
Omnium provides multiple complementary mechanisms for controlling product assortment:
| Mechanism | Description | Use Case |
|---|---|---|
| Store/Market/Market Group IDs | Direct assignment of products to stores and markets | Simple, direct product-to-store mapping |
| Assortment Codes | Time-based assortment groupings | Seasonal assortments, customer-specific catalogs |
| Store Categories | Automatic assignment based on product categories | Category-driven store assortment |
| Price-Based Assortment | Automatic assignment based on price availability | Price-driven product visibility |
| Customer Categories | Customer-specific category restrictions | B2B customer catalogs |
| Additional Controls | IsActive, dates, inventory, and other flags | Fine-grained visibility control |
How Assortment Works
When a user searches for products, Omnium applies multiple filters to determine which products are visible:
Key Product Properties
Products have several properties that control their assortment:
Configuration Settings
Assortment behavior is controlled through tenant settings under Settings → Products:
| Setting | Type | Default | Description |
|---|---|---|---|
isAssortmentStoreIdRequired | bool | false | Products must have matching store IDs to be visible |
isAssortmentCodesRequired | bool | false | Products must have matching assortment codes |
isMultipleAssortmentCodesAllowed | bool | false | Products can have multiple assortment codes |
requireProductMarket | bool | false | Products must be assigned to a market |
isProductAssortmentUpdatedByPrices | bool | false | Auto-sync assortment from prices |
isProductAssortmentUpdatedByStoreCategories | bool | false | Auto-sync assortment from store categories |
Only enable one of isProductAssortmentUpdatedByPrices or isProductAssortmentUpdatedByStoreCategories at a time. They represent mutually exclusive approaches to automatic assortment management.
Scheduled Tasks
Omnium provides scheduled tasks to keep product assortment synchronized:
| Task | Description |
|---|---|
| Update assortment by store categories | Syncs product StoreIds/MarketIds based on store category configurations |
| Update assortment by prices | Syncs product StoreIds/MarketIds based on price store/market assignments |
These tasks can be configured to run nightly or as needed through the Omnium scheduled tasks interface.
Quick Start
Scenario 1: Simple Store Assignment
For basic store-specific products, directly assign store IDs:
Scenario 2: Category-Based Assortment
- Configure categories on stores in Settings → Stores
- Enable
isProductAssortmentUpdatedByStoreCategoriesin tenant settings - Assign categories to products - store assignments happen automatically
Scenario 3: Customer-Specific Catalog
- Set
AssortmentIncludeCategoryIdson the customer - When the customer searches, only products in those categories are visible
Feature Overview
| Feature | Documentation |
|---|---|
| Store/Market IDs | Direct store and market assignment |
| Assortment Codes | Time-based assortment groupings |
| Store Categories | Automatic assignment via categories |
| Price-Based | Assignment based on price availability |
| Customer Categories | B2B customer restrictions |
| Additional Controls | IsActive, dates, inventory flags |
Best Practices
Choose the Right Approach
- Small catalog, few stores: Use direct StoreIds/MarketIds assignment
- Category-driven assortment: Use store categories with automatic sync
- Price-driven availability: Use price-based assortment sync
- B2B with customer catalogs: Use customer assortment codes and categories
- Seasonal/temporal products: Use assortment codes with validity dates
Performance Considerations
- Avoid combining multiple automatic sync methods
- Run sync scheduled tasks during off-peak hours
- For large catalogs, prefer category-based assignment over direct assignment
Common Patterns
Multi-store Retail:
- Configure categories per store
- Enable
isProductAssortmentUpdatedByStoreCategories - Products automatically appear in stores matching their categories
B2B with Customer Tiers:
- Define assortment codes for each tier (e.g., "bronze", "silver", "gold")
- Assign assortment codes to customers and products
- Enable
isAssortmentCodesRequired
Omnichannel:
- Use MarketIds for online/offline separation
- Use StoreIds for location-specific inventory
- Use assortment codes for promotional groupings
Troubleshooting
| Problem | Cause | Solution |
|---|---|---|
| Product not appearing in store | Missing StoreId or isAssortmentStoreIdRequired enabled | Add store ID to product or check settings |
| Customer can't see product | Customer has assortment restrictions | Check customer's AssortmentIncludeCategoryIds |
| Product visible when it shouldn't be | Multiple assortment mechanisms may conflict | Review all assortment properties on the product |
| Sync not working | Scheduled task not running or wrong setting enabled | Verify scheduled task status and settings |
| Date-based assortment not updating | ValidFrom/ValidTo not being checked | Ensure product uses correct date fields |
