Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

AreaDescription
Export

Customer groups (RTC-29010)

Export of promotion and offer items includes CustomerGroupCode. Please see Promotion API Swagger for definition of export format.

Import

Integration job is not aborted after import timeout (RTC-32359)

Database request timeout in StagingMerger job result in 'Faulted' job execution status instead of 'Aborted'. That means import will be retried properly in next job execution.

Offer

Remember selection level when using segmentation (RTC-31990)

When the user is editing a segmentation in an offer, current level of offer group (item, variant, model) is properly preselected in modal when clicking 'Add to offer' button.


...

Released 19.06.2023

AreaDescription
Export

Customer group code in export (RTC-31630)

Export contract for offers and offer items to POS is extended with 'customerGroupCode' field. Data is not yet exported.
Value is not yet supported in promotion offer import (validation error when imported).

Offers

Customer groups (RTC-29009)

When creating or editing an offer, the user can select a 'Customer group offer' checkbox. A drop-down menu then appears. Only active customer group are visible and can be assigned to the offer.

System

No notification for offers updated by 3rd party import (RTC-32072)

When offer items are updated by 3rd party import, notification request to Shell is not done.


Database maintenance job (RTC-32287)

There is a 'PromotionServiceJanitor' job in PromotionIntegrationPackage package. By default, in runs once every night. If there were any changes in database, it rebuilds index on tables in Promotion database. This results in a reduction of the database size and improves performance of external data processing.


Integration job cancellation (RTC-32247)

Integration package has a handling for cancellation of job (e.g. during package restart).


...

Released 02.06.2023

AreaDescription
Import

Order of properties in promotion offer import (RTC-31603)

MixType is no longer required to be first property of MixDetails. Properties of imported JSON file can be at any order.

Offers

Fix: 'Number of times the offer can be used' (RTC-31810)

An offer is correctly saved in the database when creating a new promotion and price rule has 'Number of times the offer can be used' set as editable in offer. This resolves issue related to being unable to submit promotion with such offer.

Offer items

Handle items with 0 ordinary net price (RTC-32168)

When item with ordinary net price = 0 is added to offer, items are properly displayed in 'Manage offer items' grid. In price panel for such item, only 'Promotion discount' input is available (It changes promotion price without changing fields that depend on ordinary net price).

System

Import of customer groups (RTC-29008)

Customer groups are imported into the Promotion database each time an edit or new entry is made in CustomerService.


...

Release 23.05.2023

Scheduled offer activation/deactivation

...

Status is changed by 'OfferScheduler' integration job, which by default runs at 01:00 UTC. It starts schedule of offers with matching 'Valid from', and offers with 'Valid to' set to day before (offer scheduled to be active from 01.05.2023 to 08.05.2023 is activated on 01.05.2023 01:00 UTC and deactivated on 09.05.2023 01:00 UTC).
'Activate'/'Deactivate' button on offer is removed. It is no longer possible to manually deactivate or activate offer without setting a schedule.

...

Improvements

ModuleDescription
Offers

Copying offers (RTC-31729)

It is possible to directly copy an offer into the same promotion the offer is in.


Fix: Segmentation in offer on model/variant level (RTC-28577)

Offer group items are added on item, variant or model level according to what was selected in modal when adding new segmentation to offer/ editing segmentation used in offer.
When creating new offer, there is possibility to choose selection level in new modal after selecting existing segmentation from the list.

System

Item name and item group name (RTC-31164)

Item names with up to 255 characters can be stored in the Promotion and Procurement databases. The same applies to item groups stored only in the Promotion database. When the item names are too long when importing OrderDespatchAdvice or PurchaseOrder via a third party, a validation error will appear.


...

Release 15.05.2023

ModuleDescription
Offers

Item lists by variant (RTC-31636)

Item lists' 'browse by' variant is remembered and used when adding item lists to promotion.


...

Release 05.05.2023

ModuleDescription
Import

Promotion price and promotion supplier net price validation (RTC-30227)

When importing an item into an offer via an Excel file or a 3rd party, if the imported promotion price value is greater than ordinary price or imported promotion supplier net price value is greater than ordinary net price then a message is displayed in ItemSelectionItemImport job execution.

Offer

Import of items into the offer group (RTC-27053)

When importing large amount of items from ItemService into the offer group, import is done correctly, without object dispose exception.

System

Database performance (RTC-29953)

Promotion database has improved performance, to prevent any timeout when updating a lot of data.


...

Release 18.04.2023

Offers: Items in promotions on profile and price zone level

...

When promotion is on team level assigned to profile, and item has price in profile, profile price is used.

Improvement

ModuleDescription
Offers

Error handling in segmentation night update (RTC-30740)

When segmentation in offer group is updated, and segmentation has unexpected status, offer group is not updated and offer group items are not deleted in Promotion and not exported with deleted status to POS. Integration job log contains details of error and CompletedWithWarnings status.

...

Offers cannot be deactivated when it is incomplete. Changes are saved in promotion history. An inactive offer and its items are exported (to POS) as 'Deleted', and 'Active' when (re-)activated.

Improvements

ModuleDescription
Offers

Promotion price in bundle (RTC-30324)

'Promotion price' offers marked as 'Bundle offers' are exported as 'soldInBundle' on item level.

Promotion

Removing an offer or promotion when items are imported (RTC-30048)

Deleting and editing the offer in which an item import is in progress is not possible. The user sees message in the offer details that this offer cannot be edited when import of items is ongoing. Deleting promotions during item import is also not possible.

...

  • 'Manage items' page can be entered both from promotion view, and offer details page.
  • Changes in offer can be discarded using Cancel button.
  • 'Description of changes' is added and required when adding new offer to active promotion.
  • When Voyado API is not available when marking offer as coupon offer, coupon is not created in Promotion database as well, which makes it possible to retry Voyado request by trying to add coupon later.

Improvements

ModuleDescription
Export

Planned offers (RTC-29990)

When promotion is planned, removed items are exported with status 'deleted'.

Offer items

Supplier model/item number (RTC-29038)

Supplier model/item numbers are displayed in the offer item grid. Supplier item number column is hidden when using model items (system parameter).

Promotion

Long offer name (RTC-29034)

Offer with long name is displayed properly on promotion details page.

System parameters

Model items parameter (RTC-26188)

When 'model items' dropdown list is expanded, current value is highlighted.


...

Release 10.02.2023

ModuleDescription
Export

External model number (RTC-29102)

'ExternalModelNo' is imported from Item Service to Promotion database when adding item to an offer. When not null, value is exported to POS as a part of 'modelIdentifier' on offer item level (when offer is created on model or variant level).


...

Release 25.01.2023

ModuleDescription
Export

Export kickback as positive value (RTC-28718)

"Kickback supplier" and "Kickback chain" percentage and amount are exported as positive value.

Import

Import API for mix type 100 (RTC-27931)

Bundle offer (with mix type 100, "CombineFromGroupsAndGetSpecifiedPrices") can be imported from blob sent by 3rd party. Contract and business rules are documented in Swagger. "PriceForBundle", "MaxCountInReceipt" can be defined. Offer groups can be created, edited and deleted by "Identifier" (number of offer group within offer), "RequiredQuantity" and "Status" fields.
Imported offer uses 'Generic 100' price rule, which is not available when manually creating new offer.
Items can be imported to offer with mix type 100. It is required to define "groupIdentifier". "BundleAddOnPrice" can be set per item.

System

Performance improvement (RTC-27395)

Database changes that can improve performance when adding item list or segmentation with hundreds of items to offer.


...

Release 13.01.2023

ModuleDescription
Excel import

Import offer prices on model/variant level (RTC-27055)

Kickbacks, 'Promotion supplier net price', 'Add-on price' (Mix 100) and 'Promotion price' (Promotion price offer) can be set during Excel import of models/variants to the offer. Same rules apply as in import of prices on item level.

Items in promotion

Fix: No timeout when searching (RTC-28452)

Database query that is used for searching items in promotions grid has improved performance, so it should not timeout on customer environment.

System

Non-model items system parameter (RTC-15637)

When non-model items are in use (system parameter value):

  • Model number, Color, Size and Supplier model number columns are removed from 'Manage items' grid (offer group).
  • Color and Size are removed from price panel.
  • Model number, Model name, Color, Size, Selection level are removed from 'Items in promotions' grid.
  • Model and Variant offer level is not available when adding item list or segmentation to offer and when importing offer items from Excel file.

Parameter must be set to same value both in Item Management and Promotion.


...

Release 05.01.2023

ModuleDescription
Excel export and import

Promotion supplier net price (RTC-28029)

Offer items/models/variants are exported to the Excel file with the 'Promotion supplier net price' value. It contains values from price panel which is 'Ordinary net price' with 'Kickback supplier' applied.
Values can be imported from Excel file. When the file does not contain this column, Kickback supplier is applied. When 'Promotion supplier net price' is lower than 'Ordinary net price' of item, it is applied and kickback is properly calculated. When value is higher than 'Ordinary price', ItemSelectionItemImport job has a warning and 'Kickback supplier' is applied.
'Promotion supplier net price' can be imported from API and is exported to blob as 'supplierNetCost' field.

Export

Export of deleted items (RTC-27351)

All items from the offer are exported after deleting an offer group or offer from an active promotion. Items which are  not in this promotion anymore, are exported with 'deleted' status.

Offers

Promotion price in bundle (RTC-27955)

'Promotion price' offers can be marked as 'Bundle offers' using 'Bundle offer' checkbox when editing offer/creating it from item list. Flag cannot be set for any other mix types. Flag value can be imported from 3rd party and is exported to POS as 'soldInBundle' on offer level (supported only in promotion price). Existing promotion price offers have this flag set to 'False', same for offers added when creating promotion, or when value is not specified in import.
When flags on offer are set to 'True', proper message is displayed in offer details: 'Offer is reserved for members', 'Offer is applied for coupons from 3rd party' and 'Offer is applied for items sold in bundles'.

System

Decimal values input (RTC-28003)

Price and weight input fields in price rules and offers are numeric (as in price panel). It is not possible to enter signs other than numerals, comma as decimal separator and 2 decimals in price or 3 decimals in weight fields (mix 5).
Result of that change is properly working decimal inputs on browsers in Norwegian and Swedish languages.

...

Parameters of this mix are exported with offer to POS.

Improvement

ModuleDescription
Promotion API

API documentation (RTC-27105)

Business rules section of import documentation contains explanation of "offerItemType enum", "Promotion type" and "Offer code".

...

Offer items can be added, updated and removed by 3rd party using JSON file import via File Service. Promotion and offer are identified by external numbers. Item can be imported by SKU, GTIN or Item number (items and prices must exist in Item Service). Details of file content are documented in EG Cloud Swagger. Items are validated with same rules as in Excel import. Validation errors are logged in database. Items can be added only to 'Promotion price' offers on item level.

Improvements

ModuleDescription
Segmentation


Fix: Scheduled update of promotion offer (RTC-24602)

During scheduled update of segmentation in Promotion Management, there is no issue in communication between Item Service and Segmentation Service.

Voyado integration

Use offer id as coupon value (RTC-24501)

When Voyado integration is enabled, and offer is marked as coupon offer, offer id is used as coupon (without 'Promotion-' prefix). This value is sent to Voyado as external promotion code (POS external offer redemption channel value) and to blob as externalCouponId.

...

  • If 'useVoyado' is set to False, everything work as before.
  • If 'useVoyado' is set to True, user is able to create a promotion in Voyado through Promotion module. After creating a coupon offer, promotion in Voyado system is created. Id of promotion in Voyado is saved in the new column named 'VoyadoPromotionId' in the 'Offer' table in the database. Name and dates of promotion in Voyado match name and dates of offer in Promotion module.
    After adding a new offer in user interface, green message about creating promotion in Voyado is displayed at the bottom of the screen. It contains Voyado's promotion's id and name.
    Promotion details in Voyado such as dates and name can be updated by editing offer's name or promotion's date in Promotion module.
    There is no possibility to delete a coupon from the offer.
    When user tries to delete a coupon offer which exists also in Voyado, modal window with information that this promotion won't be deleted in Voyado is shown.
    Copying offers and promotions doesn't include copying Voyado's promotion. Promotion import through API does not send offer to the Voyado system.
    For offers without coupons, flow is the same as before.
    If a request for Voyado fails, orange error message is displayed at the bottom of the screen.

Improvement

ModuleDescription
Export

Identifier of offer group item (RTC-23558)

Export of offer items to POS contains "offerItemNo" field, which is globally unique identifier (GUID) of offer group item.

Offer

Switch between offer groups (RTC-23740)

Items/models/variants/item groups in offer view are displayed properly when switching offer group using buttons in top right corner.

...

Promotions can be created, updated and deleted by 3rd party using JSON file import via File Service. Required format of data is documented in Swagger. File content is validated before saving it (same rules as in user interface). Only 'Promotion price' offers are supported. Validation errors are saved as StagingMerger job warning or in [staging].[FlatBatchJson] table. When updating/deleting promotion/offer, external number is used. If 'Promotion type' does not exist, it is added to register.

Improvements

ModuleDescription
Promotion report

Better looking report (RTC-22847)

Sections in promotion report are grey with rounded corners and columns in the 'Bestsellers' section have titles.

...

Item groups can be used to define an offer group. This means an offer will apply to all items within the item group. Item group list is available for all price rules with item selection, except 'Promotion price'. Price panel (kickbacks) is not available for item group. Default kickback values cannot be set if all offer groups within offer use item groups. These offer groups are not available in 'Import' modal in Promotion view. Data in report for offer on item group level is fully based on Reporting API response. Offer is exported to file (blob) with item group numbers.
Using a link above grid in 'Items in promotions' view, user can choose offers based on their selection level: Item or Item group. Overlapping modal for an item shows offers where this item or its item group was used. Modal for item group shows only offers where this item group was used.

Improvements 

ModuleDescription
Offers

Promotion price can equal 0 (RTC-22770)

'Promotion price' value can be set to 0 in the price panel in 'Manage items' view.


Removing offer group from the offer (RTC-23081)

There is a possibility to remove an offer group from the offer with multiple offer groups. Deleted offer group is exported to file (blob) with status 'deleted'.

Price rules

Discount on discount (RTC-23556)

It is possible to submit promotion which uses mix type without 'Discount on discount' flag.


Discount on discount (RTC-21867)

Discount on discount can be defined in the price rule or marked as editable in the offer. If a price rule is used in a promotion, 'discount on discount' field can no longer be edited in the price rule view.

...

There is a possibility to choose item, model or variant level when importing items to the offer. File exported from 'manage items' view can be used as a template. For model level models are recognized by "ModelNo" field and for Variant both "ColorText" and "ModelNo" fields must be present.

Improvements

ModuleDescription

Offers

Default kickback values (RTC-13033)

"Kickback supplier" and "Kickback chain default" values can be defined on offer level. These values are used to calculate promotion net price for an item when it is added to the offer. Values can be defined for all mixtypes except 'All items' ones. Values are not applied when items were already added to offer and when importing offer items excel file which contains kickbacks. Values are also ignored when sum of amounts is greater than net price.

Promotion report

Bestsellers section width (RTC-22748)

Bestsellers section is two times wider, so items with long name, color and size are fully displayed.

...

There are two new columns in the 'Items in promotion' grid - 'Model name' and 'Selection level'.
Modal window for overlapping promotions looks different for items/models/variants. Modal for models contains modal name and model number. Modal for variants contains model name, color and model number.

Improvements

ModuleDescription

Price rules

Define discount type in price rule, and discount rate in offer (RTC-19795)

Discount rate and discount type are specified separately on price rule level. It is possible to create price rule with defined discount type, but discount rate editable in offer.

Promotion report

View item sales (RTC-20115)

In each of the sections in 'Report tab', there is a 'View item sales' button. It opens grid with sales of items within promotion/offer. By default, it contains columns: GTIN, Item text, Quantity sold, Sales amount, Gross profit total and Brand. Grid is sorted by Sales amount by default. Other columns that can be added to grid are: SKU, Color, Size and Item group no/text.

  • When promotion/offer consists of less than 5000 items, all of them are displayed in grid, including never sold ones.
  • When promotion/offer has more than 5000 items, only 5000 items with highest number of sold amount are shown.
  • When offer applies to all items, only sold items are in the grid.
  • Report received from Reporting API is cached for one hour. It makes data load faster when re-opening page, but also means that new sales statistics may not be visible until hour passes.
  • Offers on model and variant level are not yet supported.


Item search for offers on model/variant level (RTC-21646)

When offer is created on model/variant level, it is possible to search for an item from this model/variant in the item search in promotion report.


Deleted offers sections (RTC-21305)

Section for the offer deleted from an active promotion is displayed on report tab, so it is possible to see sales statistics for all offers that were active in the past.

System

Labels for items in promotion on variant level (RTC-21265)

After creating a promotion on variant level, all items from this variant are imported with prices to the table [Promotion].[OfferGroupItem]. Also these items get labels with the promotion price. Labels are always taken from the offer where price for specific item is the smallest.

...

In promotion view, there is a 'Report' tab. In this tab, there is section with total sales for the promotion. Users can see number of items sold, sales amount and gross profit total. Data shown there is obtained from Reporting API. When data cannot be received, there is "Could not get sales statistics message".
View with promotion details is moved to 'Setup' tab:

'Report' tab:

Improvements

Module

Description

Offers


Coupon offer ID (RTC-20395)

"Coupon offer ID" input field is visible only when "Coupon offer" checkbox is checked. This applies to view when creating promotion from item list, adding offer to promotion or editing offer modals.


Mix: Buy for X amount and pay Y amount per piece for N items (RTC-18593)

Mix type number 6b, 'Buy for X amount and pay Y amount per piece for N items'.
This mix extends Mix 6 from Chain Classic and replaces Mix 29.
Fields to define in this mix type are:

  • Conditions - Min. receipt amount
  • Reward - Number of discounted items, New price per discounted item.

Offer with this mix have one group of offer items. Parameters of this mix are exported with offer to POS.
When discount of an offer is New price = 0, 'Item for free (0.00)' message is displayed in offer details. This applies to mixes 4, 5, 6b, 21/22 and 40.


Mix 10/13/39 (RTC-19140)

Mix type number 10/13/39, 'Buy N or more items and get a discount per piece'.
Fields to define in this mix type are:

  • Conditions - Min. number of items
  • Reward - Discount per item (percent, amount or new price).

Offer with this mix have one group of offer items. Parameters of this mix are exported with offer to POS.

Price

Store prices in promotion on store group level (RTC-20743)

When promotion is created on team or profile level, and item has price in store that belongs to selected store group, this price will be used in offer.

...

For draft, pending approval and planned promotions there is a possibility to mark offer as 'Coupon offer' and add coupon offer ID. Coupon offer ID should start with 99 and be minimum 4 digits long. When ID is present on another offer, warning appears. Coupon offer ID is exported on offer level.
Also 'Reserved for members' field has been renamed to 'Member offer'.

Improvements

Module

Description

Export

Incomplete offers (RTC-17458)

Removed incomplete offers are skipped when approving promotion so export job works successfully.


Export of offers (RTC-18854)

When discount type of mix type 35 is percent, discount is exported as a fraction on PromotionOfferItem level.

Price rules

Mix 35/41 (RTC-19511)

Mix type 30 is replaced by mix type 35/41.

...

If the processing of offer group fails, the job retries to process it again. If it fails three times the offer group's flag ItemsProcessed is set to True and the user gets a notification. This offer group is not processed anymore. 

Improvements

Module

Description

Export

Availability details export on item level (RTC-18687)

Promotion availability details are exported to a JSON file with each item that is part of the 'Promotion price' offer. Editing details of an approved promotion triggers re-export of all offer items.

Offer

Manage items in offer (RTC-18448)

When filters in the offer items view are set and there are no items in the grid as a result, the price panel shows no data.


Single item in the offer (RTC-18144)

When 'single item' in mix 4 and 5 is not selected there is no "clear selection" and "export to excel" buttons in toolbar.

Offer view

Audit columns (RTC-15500)

In offer view, there are audit columns 'Created by', 'Created date', 'Modified by' and 'Modified date'. Columns display information about who and when added or modified item in an offer. These columns are hidden by default.

Price rules

Mix types (RTC-18181)

At the end of description of mix types 21, 23, 26, 28 and 40 there are information about what mix types from Chain Classic that these mix type replaces.


Mix type descriptions (RTC-18186)

On 'new price rule' view, mix types descriptions wraps when there is not enough space to display text in one row. Description is displayed properly on screens of any size, including mobile devices.

System

Keyboard navigation in modals (RTC-18392)

Space can be used in names and description input fields in modals. If modal is opened, keyboard navigation does not affect grid behind the modal. Applies to modals:

  • 'Import items' and 'clear selection' in the offer view
  • 'Use file' in the item list view
  • 'New segment' in the item segmentation view


User permissions (RTC-14566)

Access to store/store groups is limited for an user in a more performant way.

...

'Available days' and 'Excluded dates' can be set for promotion. When one of these parameters is selected, promotion is marked as recurring. 'Available days' are days in a week when offer is available and 'Excluded dates' are dates when promotion is not available for the customer. This does not affect active status of promotion. Recurrence information is displayed in promotion details view. Excluded days are displayed in chronological order. Recurrence can be set when creating new promotion, editing existing one or creating a copy. Values are exported to POS when promotion is active.

Improvement

Module

Description

Offer

Adding items to the offer (RTC-18145)

Performance of adding items to the offer has been improved. Loading items takes a few seconds. After user gets notification, the page is refreshed.

Promotion

Date columns filter (RTC-17338)

For promotions which start or end between 23:00 and 24:00, filtering on columns 'Valid to' and 'Valid from' is working correctly. These columns are located in Promotions, Promotion offers, Items in promotions views and Copy offer modals in Promotion and Promotion offers views.


Offer view (RTC-17479)

When applying filter to the grid in offer view, grid does not automatically scroll to the left. If price panel was closed when applying filters, it stays closed after filtering as well.

...

Copy promotion dialog. Select target promotion from the list, or search promotion 

Improvement

Module

Description

Offers

Item selection for an offer (RTC-17791)

Keyboard can be used to navigate in offer view after adding items to new item selection or updating existing one.

...

Discounted item in the offer (mix types 4 and 5) is displayed in a grid with columns and kickback, and price panel can be used for setting kickback. Kickback for discounted item is exported. Adding item without active price in the same store provide modal window with information that this item cannot be added. Clearing selection in active promotion leads to modal with description that offer without items is not available in the POS.

Improvements

Module

Description

Export 

Export of kickback (RTC-17454)

After updating item selection for an offer, kickback values are exported to POS properly for all items with store price.

Offer

Selection type for offer (RTC-17201)

Types of item selection that can be selected for an empty offer are described on type selection view with short title above description.


Offer view improvements (RTC-17161)

In offer view, focused button in side panel can be triggered by clicking Enter. Margin change p.p. in items grid is displayed in percentage points. Validation errors for percentage columns are displayed properly.

Promotion 

Promotion grid (RTC-16897)

In the promotions grid there are 'Store group code' and 'Store group name' columns. They show code and name of store, team or profile assigned to promotion. For promotions available in all stores, no value is shown.

...

Rounding rules are applied for the promotion price in the Promotion price panel. A button appears under the price when a rounding rule can be applied. After it is clicked, the price is overwritten with the rounding values. 

Improvements

Module

Description

Price panel

Promotion price panel (RTC-15477)

Multiple quality of life improvements and fixes for the promotion price panel. Prices are calculated correctly and validation messages are displayed for invalid input values.