This page gives an overview of the Promotions microservice, including core features, for the Infosys Equinox platform.
The Promotions microservice (“Promotions”) gives business the ability to author and deliver targeted offers and related pricing incentives applied to products and services sold through its commerce storefront as well as other channels such as customer service representatives (CSRs).
Promotions interact with other Infosys Equinox microservices such as Catalog and Cart. For clients with an existing commerce solution, Promotion can optionally be deployed in a standalone mode, integrating into existing environments via secure RESTful application programming interfaces (APIs) and web services.
To support the widest possible range of client use cases, Promotion provides a flexible rules-based approach to manage the promotions workflow. Businesses can define rule patterns based on a range of expressions consisting of various logical operators and data models that represent product information, user data, shipment type, location, payment or any custom-defined fields. These models can also be extended to meet business needs that may not be supported out of the box.
Promotions are administered from the Infosys Equinox console or via Administration APIs documented in the API reference section. Promotion itself can also be extended by creating custom plug-ins.
- Open API can integrate with any promotion engine
- Built-in stacking rules to manage multiple promotions and their combinations with promotion priority and stackability
- Dynamic promotions based on user or product factors
- Allows business users to easily create and manage complex promotions using dynamic, flexible rules, without needing IT expertise
- Bundle promotions
- Supports promotions based on Product/SKU, Cart, Payment, User, and Accounts
- Date based promotions
- Cloning promotions
- Set up User-created formulas to calculate promotion offers
- Locale support
- Guest and registered user promotion support
- Segmented promotions (user groups, zip codes)
- Product exclusions
- Create promocodes manually, auto-generate random promocodes, or bulk upload pre-defined promocodes
- Support for using the same set of promocodes across different promotions.
- Configure custom conditions that are specific to retailers business
- Promotions based on item/cart level and BOGO promotions
- Support for percentage, fixed, amount, and formula-based offers.
- Promotions based on shipping at item/cart level
- Support for B2B accounts-specific promotions
- Configure multiple actions within one single promotion.
- Prioritize promotions based on various business needs.
- Configure a minimum and maximum value condition for a percentage offer.
- Provides a project-based workflow approval with audit trail and versioning.
- Ability to skip or consume project approval workflow in the Promotions console. (New!)
- Ability to publish the promotion data from the authoring environment to the production environment. (New!)
About Promotion Group
A Promotion Group is a container for managing promotions that share characteristics such as Promotion start and end dates and times and purpose or occasion, such as sales for “Black Friday” or “Mother’s Day”.
A Promotion is an entity comprised of a set of conditions, actions, amounts, and other settings that define when, how, and to whom an offer is made available. Every promotion created must exist within the context of a parent Promotion Group and is authored and approved in a Project workflow. Locale support for Promotion Message, Promotion Description, Action Message, and Action Description.
Data Models for Creating Rules
Promotions exposes five (5) data models that contain fields used to build rules:
|B2B Accounts||Account ID, Account Type, Account Rep|
|Cart||totalPrice, tradeInValue, totalShippingPrice, shippingMethod, shippingCity, shippingState, shippingCountry, shippingPostalCode, Custom property (as key:value pair)|
|Payment||Payment Type, Card Type, Custom property (as key:value pair)|
|SKU (Stock Keeping Unit)||ID, CategoryIDs, ProductID, Name, Quantity, UnitPrice, Size, Color, Brand, ShippingCost, ShippingMethod, ShippingCity, ShippingState, ShippingCountry, ShippingPostalCode, Custom Property (as key:value pair)|
|User||User ID, Loyaltypoints, Email, Segment, Loyalty Points, Gender, Guest, Is Customer Representative (CSR), Custom property (as key:value pair)|
Promotions embeds a rules engine that responds at scale to requests for offers stored in the engine. When conditions are sent via a request match, action-related information (i.e. item price offers, item summed up value, and display messages) is returned to cart or catalog pages.
The microservice exposes five (5) Rules Types in two (2) groups, with all applicable offers in Item-based groups evaluated first:
- Group Type: Item-based
- Item Price Offers
Note: Only type that can be displayed in Catalog pages.
- BOGO Offers
- Item Shipping Offers
- Group Type: Cart-based
- Cart Price Offers
- Cart Shipping Offers
Note: Cart-based offers are evaluated after all item-based offers have been processed.
Businesses can define Condition Rules that determine whether a promotion is eligible to apply as well as other layers of control over how the promotions execute.
Rules are constructed using a Field | Operator | Value syntax. Fields represent data items (such as Product IDs) asserted within Models, which can be selected from Query Builder dropdown menus.
Promotions exposes four (4) Action types that determine how a discount is applied. Actions are executed when all conditions, including Action Conditions, evaluate as “true”.
- Fixed Offers — offer value set will be the sale/shipping price of the item or cart
- Amount Off Offers — offer value set will be a discount on the original sales/shipping price of the item or cart
- % Offers —
- offer value set will be a percentage discount on the original sales/shipping price of the item or cart
- minimum and maximum discount option support for % offer
- Formula – customized discount based on a formula or logic
Note: Certain Rule Types such as BOGO require that the business specify parameters affecting BUY and GET items. Actions can also contain Conditions (as described above), which expose Models that are different from the Main Conditions.
The following options available to manage stacking of multiple offers within a single transaction context:
- Ordering by Rule Type and Priority Assignment
Rule Type and Priority Assignment determine priority of execution for offers within a Rule Group (Item or Cart) but not across Groups. This option can be used with Stop Further Processing approach
- Stop Further Processing
Promotions can be also be configured to halt the execution of other offers after being applied (and therefore not stack) by enabling a Stop Further Processing setting. SFP options include Always, Never, If Condition Matches, and If Stop Condition Matches
Promotion codes (as entered by users, generally in Cart) activate promotions that are otherwise not defined to auto-apply. Code creation options are flexible and can be easily tailored to business needs. For example, codes can be created as a single user / single-use, multi-user / multi-use, or virtually any permutation of the user, usage, and time.
Promotion codes can be created manually, or generated within the context of Promo Code Lists in Infosys Equinox Admin.
Calculating Item and Order Price in Cart
Offers/apply interacts with the Cart microservice (via Orchestration) to calculate all item-based offers first, then recalculates based on the new cart value before applying cart-based offers. This requires two (2) separate application programming interface (API) calls to the Promotion microservice.
Rules created as Action Conditions can only be called by /offers/apply from Cart, whereas consumers browsing product information in Catalog product detail (PDP) and product list (PLP) pages can only call Main Conditions from /offers/fetch. This may restrict certain types of offers from being shown in the Cart.
2022-04-10 | JP – Fixed link and http issues.
2022-01-03 | JP – Updated the core features section for 8.11.0 release.
2020-09-28 | SW – Updated the Core Features.
2020-05-31 | JP – Content uploaded for July 2020 release.
2020-03-27 | AN – Minor copyedits.
2019-09-19 | JP – Updated content for September 2019 release.
2019-07-15 | Mary – Updated content for July 2019 release.
2019-05-22 | Mary – Minor copyedit.
2019-01-23 | PLK – Page created and content uploaded.