PluginsPOSSitoo

Promotions

Configure promotions once for use in both Sitoo and Omnium, reducing the need to manage settings in two places.

Introduction

Syncing campaigns between two systems with different campaign models can be challenging, especially when expecting identical behavior in both systems. To ensure consistency and reliability, certain limitations must be applied to the types of campaigns that can be synchronized.

This guide explains how to configure promotions in Omnium for seamless use in both Omnium and Sitoo, with Omnium acting as the master system.

Sitoo uses predefined campaign types with strict rules and fixed value options, whereas Omnium supports a more flexible and open-ended campaign structure. Because of these differences, the integration uses Sitoo’s campaign types as a baseline. This documentation outlines how promotions set up in Omnium are interpreted in Sitoo, along with the mappings and limitations required to ensure compatibility.

In Omnium, a single promotion can be linked to multiple markets. Since each market corresponds to a Sitoo environment, the promotion will be exported to all relevant Sitoo environments based on the market configuration in Omnium.

Controlling Which Products a Promotion Applies To

In many cases, promotions should only apply to a specific selection of products — for example, a particular category, brand, or set of individual items. While both Omnium and Sitoo support filtering, they handle it differently, and their models don’t align perfectly. This section explains how filtering works across both systems and what’s required to enable proper syncing.

Filtering in Omnium

In Omnium, you can restrict a promotion by:

  1. Product – Specific product IDs
  2. Category – Including match in the products category tree
  3. Brand
  4. Season

Filtering in Sitoo

Sitoo has two main ways of restricting campaigns:

  1. Product IDs – Simple filtering for including exact product matches.
  2. Custom Attributes – Advanced filtering using predefined fields (e.g., category, brand), where each product must have a specific attribute value assigned. A custom attribute can only be a single text or number, not a list.

Valid filtering across the systems

The available filtering in the integration will be determined by the intersection of what is supported in both Omnium and Sitoo.

FeatureSupported in OmniumSupported in SitooSupported in integrationComments
Product ID filteringYesYesYesWorks out of the box in both systems.
Category filteringYes, category tree matchYes, single category matchNoSince the category match works differently, it can not be used across the systems. Sitoo only matches exact attribute values, while Omnium matches element i tree structure.
Brand and Season filteringYesOnly via custom attributeYesRequires attribute setup and full product data mapping.
Filtering by other propertiesNoYesNoSitoo can set up match on any property, if added as custom attribute to the product.

This means that to support season or brand-based filtering, the integration must map these values into Sitoo as product-level custom attributes.

Configuration

Important: Omnium generates prices for some promotion types. To avoid the discount to be applied twice in Sitoo, we have to ignore promotion prices when updating prices in Sitoo.

        {
            "key": "IgnorePromotionPricesInProductSync",
            "value": "true"
        }

Enabling Custom Attribute Sync from Omnium

To filter promotions in Sitoo based on brand, season or excluded products, you must enable the use of custom attributes in the product export from Omnium.

Step 1: Enable Sitoo Custom Attribute Mapping in Omnium

Update the tenantSettings in the Sitoo connector configuration to enable custom attribute export:

    {
      "key": "EnableCustomAttributes",
      "value": "true"
    }

Step 2: Define Attributes in Sitoo

The custom attributes needed for the promotion filtering has to have a specific key:

Filter typeCustom attribute Key
Brandoms-promotion-brand
Seasonoms-promotion-season
Exclude productsoms-promotion-productId
  1. Navigate to Settings > Attributes in Sitoo.
  2. Create a new attribute with Key equal to one of the given keys above, and type equal text.

Step 3: Ensure Products in Sitoo Have Attribute Values

After the attribute definitions are added in Sitoo, make sure all products are exported again. The attribute field has to be populated with data from Omnium.

Step 4: Setup Promotion Filtering in Omnium

Once custom attribute mapping is enabled and in place, you can create promotions in Omnium with filters on product, season or brand. These will then be translated into Sitoo’s attribute-based filtering during sync.


Promotion combination rules

In Sitoo, Order promotion types can always be combined, both with each other and with other promotion types. Therefore, Order promotions in Omnium has to have AlwaysApply = true. In both systems, order promotions will be applied after all other promotions.

Product campaigns can never be combined in Sitoo.


General Field Mapping: Omnium → Sitoo

The following table lists general promotion properties and how they are translated between Omnium and Sitoo. Some fields map directly, while others require additional context or have limited support due to differences in system behavior.

Sitoo PropertyOmnium Property / Notes
ActivePosAlways set to true during export.
VoucherNamepromotion.Name
DateStartpromotion.ActiveFrom
DateEndpromotion.ActiveTo
Priority (range 1–5)promotion.Priority No limit in Omnium, but must be restricted to Sitoo's 1–5 scale.
MaxUsesOnly supported for MultiBuy type in Omnium.
Tagspromotion.Stores (used to determine applicable Sitoo sites)
VoucherPasswordpromotion.CouponCode
use_discounted_price (boolean) – if true, calculation applies on top of existing price list discounts (only for vouchers with group type Product).Partially mapped to CanBeCombined in Omnium – not an exact one-to-one match.
InternalNodeNot supported in Omnium

Mapping of the different promotion types

Order Amount Discounts - Cart Campaigns

These discounts apply to the entire order total, regardless of individual products.

Mapping restrictions:

FeaturesSitooOmnium
Voucher Password (Discount Code)Required for cart campaignsCouponCode must be set
CombinationAlways combinableHave to set AlwaysApply to TRUE
Validity FilterCan exclude products by attribute valueValidity filtering is not supported for Order discounts.
Customer groupsNot supportedSupported
TagsNo fieldSupported
PriorityThis promotion type is always applied after product campaignsCalculated after Category&Brand and Mix&Match

OrderDiscountM

Fixed money discount proportionally distributed across all items.

Used when you want to subtract a specific amount from the order total, with the discount shared among all items in the cart.

FeatureSitooOmnium
RewardMreward.PromotionAmounts (one for each market)

Not Supported

OrderDiscountX

Percentage discount applied to the entire order.

Reduces the order total by a given percentage, affecting all items equally.

OrderBuyForMGetDiscountN

Spend a minimum amount (M), get a fixed discount (N).

Common for “Spend $100, get $10 off” type promotions.


Category/Brand Discounts

Discounts targeting specific products based on filters

The product type promotions in Sitoo is split between two types in Omnium, Category/Brand promotions and Mix&Match/MultiBuy promotions.

Mapping for this type:

FeatureSitooOmnium
Voucher PasswordNot requiredCouponCode optional
CombinationCan not be combined with other product promotions, but always combines with order promotionsHave to set CanBeCombined = FALSE, and AlwaysApply = FALSE
FilterProduct or custom attributesProduct, category, brand, season (via custom attributes)
Customer groupsNot supportedSupported
TagsNot availableSupported
Max UsesYesNo

ProductDiscountM

Fixed amount off per product in the target category/brand.
Use when you want to reduce the price of selected products by a fixed sum, such as "$5 off each T-shirt".

FeatureSitooOmnium
Type200 ProductDiscountMCategoryOrBrand promotion
DiscountFixed amount MpromotionData.Reward.PromotionAmounts.SingleOrDefault(...)

ProductDiscountX

Percentage discount on each product in the category or brand.
Common for “20% off all shoes” or similar.

FeatureSitooOmnium
Type210 ProductDiscountXCategoryOrBrand promotion
RewardPercentage XpromotionData.Reward.Percentage.Round()

Multibuy and Mix&Match Discounts

Promotions based on buying multiple items with special pricing or discounts.

Product promotions involving combination of products is mapped to the type Multibuy/Mix&Match in Omnium. This type uses the same type of filtering, and prioritation. The difference is the extended functionality involving combination of products.

FeatureSitooOmnium
Voucher PasswordNot requiredCouponCode optional
CombinationCan not be combined with other product promotions, but always combines with order promotionsHave to set CanBeCombined = FALSE, and AlwaysApply = FALSE
FilterProduct or custom attributesProduct, category, brand, season (via custom attributes)
Customer groupsNot supportedSupported
TagsNot availableSupported
Max UsesYesYes, can be found under Advanced

ProductBuyXForPriceM

Buy X units for a fixed price M.
For example, “3 socks for $10”, where you buy a specific quantity for a fixed price.

FeatureSitooOmnium
Type210 ProductDiscountXMulti-buy/Mix&Match, Fixed price
XRequired buy amountpromotionData.PromotionMultiBuyReward.RequiredBuyAmount
MFixed price MpromotionData.PromotionMultiBuyReward.Reward.Amount

ProductBuyXPayForY

Buy X items, pay only for Y items.
For example, “Buy 3, pay for 2” deals where the cheapest item is free.

FeatureSitooOmnium
Type220 ProductBuyXPayForYMulti-buy/Mix&Match
XRequired buy amountpromotionData.PromotionMultiBuyReward.RequiredBuyAmount
YPay amountpromotionData.PromotionMultiBuyReward.Reward.Amount

ProductBuyXPayForYDiscountZRest

Buy X, pay for Y, get remaining items at Z% discount.
An extension of “Buy X pay for Y” with a discount on the leftover items, e.g., “Buy 3, pay for 2, get the 3rd at 50% off.”

The input fields for this discount is a little bit different in Omnium and Sitoo:

FeatureSitooOmnium
Type240 ProductBuyXPayForYDiscountZRestMulti-buy/Mix&Match
XTotal number of itemsRequiredBuyAmount + NumberOfDiscountedItems
YNumber paid full priceRequiredBuyAmount
Z% discount on remaining itemsReward.percentage

ProductBuyMinXDiscountY

Buy a minimum quantity X, get Y% discount on all items.
Use when you want to reward bulk purchases, e.g., “Buy 5 or more, get 10% off all.”

Note: To be able to discount all items in Omnium, the key is to set NumberOfDiscountedItems to 0.

FeatureSitooOmnium
Type250 ProductBuyMinXDiscountYMulti-buy/Mix&Match
XMin number of itemsRequiredBuyAmount
Number discounted itemsSet to 0 to discount allNumberOfDiscountedItems = 0
Y% discount on all itemsReward.percentage

ProductBuyXGetDiscountList

Buy X items, get discounts on a list of target products.
Useful for cross-sell offers like “Buy any 2 shirts, get 20% off on belts.”

FeatureSitooOmnium
Type260 ProductBuyXGetDiscountListMulti-buy/Mix&Match
XMin number of itemsRequiredBuyAmount
Number discounted itemsSet to 0 to discount allNumberOfDiscountedItems = 0

Not supported

ProductBuyForMGetDiscountList

Spend M, get discounts on target products.

Spend a certain amount, get discounts on specific products.

ProductBuy3For2Or2For1AndAHalf

Buy 3 pay for 2, or buy 2 pay 1.5 times price.

No dedicated Omnium campaign; can be configured as multiple Buy X Pay for Y promotions.