Release 13.11.2024
Area | Description |
---|---|
System | PriceLockProcessor job Performance (RTC-44521) Improved performance of PriceLockProcessor job. Fix: if a price lock is set up for a promotion from a specific store, it affects price locks from the store group to which that store belongs. |
...
Release 08.11.2024
Area | Description |
---|---|
Offer group items | Fix: offer group processing stuck when changing from item to model level (RTC-45198) Offer group processor job is not stuck when offer group level changes after import. Improved performance of processing offer group on model level, when model contains a lot of items. |
...
Release 31.10.2024
Area | Description |
---|---|
Offer group items | Offer group items processing is retried properly (RTC-45066) When item is missing in Promotion database, offer group items processing is properly retried by 3 executions of OfferGroupProcessor job, even when missing items are in more than one batch. After 3 retries, manage items page in UI is not stuck on loading screen and properly found items are displayed. Offer group items duplicates are removed. Database index is added to ensure there are no duplicates of offer group item. |
Price lock | Export manual price locks to Excel (RTC-44292) There is 'Export manual price locks' button in toolbar of 'Items with price lock' page. It triggers export of Excel file that can be downloaded from notification after FileExport job run. Grid filter and store group scope of 'View promotions' permission affects which rows are exported. Only manually created price locks are exported (not price locks on offer level). File has columns: 'SKU', 'GTIN', 'Item no.', 'Item text', 'Model no.', 'External model no.', 'Color text', 'Size text', 'Brand text', 'Locked from', 'Locked to', 'Manual', 'Store level', 'Store group code', 'Store group name'. 'Locked from' and 'Locked to' values are not filtered and values are not exported properly. This will be fixed as separate issue. |
Promotion offers | Grid columns (RTC-44497) In 'Promotion offers' grid, 'Offer ID' and 'Offer code' columns are hidden by default. 'External promotion no' and 'External offer no' columns are added and hidden by default. 'Offer name' column values have a clickable link that opens 'Edit offer' view. |
System | Offer group processor (RTC-43443) Long segmentation processing does not block the entire offerGroupProcessor package. Offer groups with item lists are processed before segmentations. The segmentationTimeoutInMinutes parameter is changed from an hour to 5 minutes. |
...
Release 21.10.2024
Area | Description |
---|---|
Export | Trigger promotion and offer items export (RTC-44254) In promotion grid, in first column there is three dots button with 'Export promotion' button. It triggers export of selected Promotion and related PromotionOfferItem blobs to other systems. Button 'Export offer items' is added to three dots menu in offer details card, offer details grid and offer details modal. It triggers export of PromotionOfferItem that are part of offer groups within selected offer. Button is available for promotions on statuses: Planned, Active, Finished. In order to use the both buttons, user needs to have permission 'Access to system tasks and information'. Export is done in next scheduled execution of Export job. |
Items in promotions | Fix: navigation (RTC-44413) Clicking on offer name navigates to offer details view and clicking on offer group name navigates to offer group items grid view. |
Price lock | Validation (RTC-44261) There can be only one manual price lock per item and given store or store group. If a user tries to add a new, repeating record or edit the price lock in such a way that duplicates would be created, there is message in the modal that this is not possible. Existing duplicates are deleted. Only the latest manual price lock (according to created date) is left. |
Promotion | Fix: valid date change after editing other promotion details (RTC-44853) Valid from/to date and time are properly saved in database. Dates are not changing on its own when editing other details of promotion.
|
System | Performance of import of items from Item Service (RTC-40521) Improved performance of ItemMerger job, which is responsible for importing ItemChanges from ItemService. |
...
Release 17.10.2024
Mark offer as price locked
It's possible to set a price lock period on offers to control price of the items before promotion starts. Default period is equal to 30 days before promotion starts, but user can provide custom dates. It is possible to add price lock only on promotion price offer.
Items added to price locked offer are not locked until promotion is approved. When approving promotion with previously setup price locks, warning is displayed, that lock from for price locks will be adjusted to now. Changing promotion valid from date may cause delete of price lock on offer, when promotion is valid from before the locked from date.
Price locked offers are visible in 'Items with price lock' grid in read-only mode with possibility to navigate to promotion or offer.
If an item has not been added to offer group, due to the fact that it has price lock, the information is displayed over selection of items in the offer. To see more details, user can click View items button, were exact count of items not added to offer is displayed and can be exported to Excel file.
Improvement
Area | Description |
---|---|
Adding item in promotions | Item search (RTC-43529) User can scroll, add columns or remove them from item search. Modal contains model related columns: 'model number' and 'External model no.' |
Items with price lock | Grid improvements (RTC-43198) Store group reference' column is split into 'store group code' and 'store group name' columns. 'Item text' column is in locked section of the grid. Store related columns in locked section are smaller. Button with delete is not displayed when creating a price lock. |
Promotion API | Concurrent request (RTC-43777) If there is an attempt by the API to modify a resource by multiple requests at the same time, 409 code is visible for the user. A description of this code is in the swagger: '409 - conflict, resource desired to update has been modified by the concurrent request. In such scenario it is advised to fetch the desired resource once again, compare it with the request data and try to update the resource once again'. There is a validation when creating new promotion with ValidFrom to in the past. When such request is sent, ValidFrom remains unchanged and promotion is updated, 200 status code is returned. |
...
Release 26.09.2024
Area | Description |
---|---|
Export | Export promotion blob after item selection change (RTC-43240) After items are added/removed from bundle offer group, promotion blob is exported as well as offer group items blob. |
Item search | Item search return items that are in Promotion database (RTC-42558) Item search result does not show items which are not yet imported to Promotion database from Item Service. |
Price lock | Price lock processor job (RTC-41916) There is new PriceLockProcessor job that adds or removes items from offer groups, based on setup in price lock register. Job triggers after manual price lock is created/edited/deleted and when valid dates of promotion are changed. Additionally job triggers every night (default 3 AM UTC) to automatically add/remove. |
System | Not existing service bus topic handling in user interface (RTC-43781) User interface requests do not completely fail when service bus topic is not found. Exception is thrown but rest of request works properly (changes saved in database). For example, when PriceLockProcessor job was not yet enabled (so job cannot be triggered), it is still possible to manage price locks and edit promotion details - changes are saved in database. |
...
Release 10.09.2024
Area | Description |
---|---|
Offer group items | Price with status deleted (RTC-42891) OfferGroupProcessor job does not match deleted ordinary price when price lookup for offer group item. If item in planned promotion was added with planned price, but then price was deleted, after reprocessing of offer group, item will have new price valid in correct date, or is deleted from an offer if no active price was found. |
Promotion API | Swagger documentation improvements (RTC-42769) 'Promotion Service Gateway API' section of Swagger has description of rules regarding promotions, offers, offer mix type, offer items and API limitations. Within each PUT request, there are multiple examples of request body, that cover different use cases of API. Each example is described by its custom name. Additionally there is example of responses for item upsert request, that contain error texts. |
System | Item group number (RTC-38886) Table with items has ItemGroupId instead of itemGroup-related fields. Item groups with duplicated item group numbers are removed. Item group number cannot be null. If ItemGroup is not found in the import of items, it is created. Improved performance of exporting promotion. |
...
Release 03.09.2024
Register and new field for offer
There is 'Offer type' register included in 'Promotion registers' tab. Offer type is described by code, name, description and can be added, edited or deactivated. The first two fields are required. Code must be unique.
Offer type is visible in the offer details and offer tile.
There are new columns in 'Show offers in a grid' and 'Promotion offers' views: 'Offer type code' and 'Offer type name'.
Export of offers is extended with offer type. Editing name of the offer type is not triggering export of offers that are using this offer types.
Offer type register
Add offer type
Offer type in the offer details view
Items with price lock grid and manual price lock
It is possible to block the addition of an item to a promotion at the level of selected (or all) stores, teams or profiles. If price lock overlap present date or start date of promotion adding it to the offer is blocked. Price lock is supported only in offers where item lists on item level are used and only in promotion price offers. The lock time is determined by the ‘Locked from’ and ‘Locked to’ dates. 'Locked to' date must be after or the same as locked from date. In addition, past dates cannot be entered in the modal when a user creates new price lock, but they can be in the past once a user decides to edit them.
When a user tries to add a locked item to a promotion, an information is displayed about how many items have not been added due to the price lock. If the price lock period no longer applies, it is necessary to manually re-add items to the promotion by editing the item list, importing items by Excel file or importing items by third party. To be able to add, edit or delete price locks, a user needs 'manage price locks' permission which depends on 'view promotion' permission. If a user does not have permission to manage price locks but has access to the store/team/profile, locked items are visible in the grid but only in read mode. Offer group item that has not been added to the offer because of the price lock is exported to 3rd party with the status deleted.
Improvements
Area | Description |
---|---|
Export | Offer deleted on status planned (RTC-42666) Export of promotions and offer items contain data from offers deleted not only on status 'Active' but also 'Planned'. In database, there is 'IsDeletedWhileApproved' flag instead 'IsDeletedWhileActive'. |
Offer item price | VAT rate decimals (RTC-43453) When item price has decimal value as a VAT rate, it is saved with no rounding on offer group item row. As a result, Margin (GP) and Promotion price WO/VAT are correct in price panel. |
Promotion API | Fix: error message when promotion does not exist (RTC-42986) 404 status code and proper error message is returned when referencing not existing promotion in upsert promotion offer request or referencing not existing promotion or offer in upsert offer items request. |
...
Release 20.08.2024
Area | Description |
---|---|
Offer items | Fix: promotion price can be set to 0 (RTC-41237) Promotion price of offer item can be set to 0. When one of items has price set to 0, offer items grid is loaded properly. It is possible to export such offer item to Excel file. |
Offline item lists | Changing the item list in the Promotion module when there is no connection to the Item Service (RTC-41204) If the user want to edit item list through user interface but there is no connection with Item Service, the user receives a message in the red bar. The item list does not change in the promotion offer in order not to lose information about previously added items but there is an information that the selection contains 0 items/variants/models. The display will change if the selection has changed but the items do not change, e.g. the items will be displayed as models. In this case, the columns in the grid will change If the user wants to edit the item list via an Excel file while the Item Service is not working, the result is as follows: The notification 'Items in offer could not be synced with Item Service' top right corner and message 'Manage item list is not available until offer items are synced. You will be notified once the items are synced.' at the top of the grid are visible. 'Edit item list' button is not available. Imports from 3rd parties work very similarly. The only difference is the lack of notification. Only offer groups with processed and synced items can be copied. It's possible to import Excel if model number is not specified but there is external model number in the file. OfferGroupProcessor job is triggered by default every 5 minutes. |
Promotion API | Put request for adding items to the offer (RTC-41208) PUT request /promotions/[EgPromotionIdentifier]/offers/[EgOfferIdentifier]/items in Promotion Service is supported. |
System | Fix: duplicates of ExternalModelNo (RTC-42961) Import of items from Item Service saves item on model level with empty ExternalModelNo if received value is already used by other model in Promotion database. Additionally, release of RTC-41204 does not fail when there are ExternalModelNo duplicates in database (suffix is added to duplicate). |
...
Release 05.08.2024
Coming next release
Manage offer in grid view (RTC-41924)
In promotion details, in grid with offers, there are three dots and eye icons for each offer row.
With three dots menu, it is possible to manage offer like in cards view (edit offer, manage items, import items, copy offer, remove).
With eye icon, modal with offer details is opened (same information as in card view). From modal it is also possible to make any of listed actions. Options available in these menus are affected by same rules and permissions as in the card view.
By clicking on link in 'Offer id' column in the grid, 'Edit offer' page is opened.
Area | Description |
---|---|
Offers | Manage offer in grid view (RTC-41924) In promotion details, in grid with offers, there are three dots and eye icons for each offer row. |
Offer | Validation of incomplete mix 31 offer (RTC-42015 When promotion is created containing price rule with mix 31 that has values editable in offer, 'incomplete' flag is set properly until user fills in the missing values. It is not possible to submit and approve promotion with incomplete mix 31 offer. |
Offer items | Ordinary price column (RTC-41555) Ordinary price column is visible in manage items grid in the offer on item/variant/model levels. |
Promotion API | Put request for creating/updating offer (RTC-41207) PUT request /promotions/[EgPromotionIdentifier]/offers in Promotion Service is supported. Fields validation errors are returned as a message with status code 422. Code 400 with description is returned on rule violation. Correctly upserted offer is returned with code 201 (created) or 200 (updated), and response contains all the schema values of offer. |
...
Release 17.07.2024
Area |
---|
Description | |
---|---|
Export | Fix: order of fields in export of promotion to blob (RTC-42404) In Promotion.Promotion.Export offers, 'mixType' is first field in 'mixDetails' entity (to ensure backwards compatibility with old package versions). |
Offer | Mix 101: Use item group list (RTC-39529) Item group list can be added to the Mix 101 (Promotion discount) offer. It's possible to create promotion with this mix from item group list view. Percentage discount can be modified for each item group in side panel which contains percentage discount. Default percentage discount is added to all item groups when adding them to the offer. If value is not specified, is equal to 0 % by default. |
Promotion API | Put request for creating/updating promotion (RTC-41206) PUT request /promotions in Promotion Service is supported. |
System | Fix: ignore wrapping spaces in import of items and item groups from Item Service (RTC-42246) When there are wrapping spaces in a text type of field in ItemChanges (item) or GroupHierarchy (item group) file from Item Service, there is no validation message during import and data is saved in Promotion database without wrapping spaces. |
...
Release 02.07.2024
Area | Description |
---|---|
Export | Deleted offers (RTC-39591) Offers deleted before approving promotion are not exported. The same for offer items from such offers. |
Import | Promotion and offer item, logs (RTC-39974) No exception is thrown when importing not existing promotion with status 'deleted'. Such promotion is skipped in import. Log about failed offer item import contains information about external offer number, offer item identifier and flat batch JSON id. |
Offers | Show offers as grid (RTC-40576) The user can display offers as a list (by clicking 'Show offers in a grid') or as cards ('Show offers as cards'). The first view is a grid with the following columns: offer id, offer name, price rule, active, incomplete, coupon offer, external offer id, coupon offer id, member offer and bundle offer. Incomplete offer means that mix details are not defined correctly or offer doesn't have items. In the second view, in which user can view offers as cards, 'Active offers' filter is renamed to 'Active and complete offers'. When trying to submit or confirm promotion with incomplete offer, validation message contains identifiers of incomplete offers. When the user enters the details of the promotion, sees the offers as cards by default. Then, offer view type (grid or cards) selection is remembered in browser - after entering any promotion, page in lastly used offer view type is displayed. 'Number of times the offer can be used' value is editable in offer or displayed as defined in price rule regardless of whether offer has coupon added or not. Removed 'Once per unique coupon' text that was previously displayed as value when offer had added coupon. |
Promotion API | Get requests for promotions and offers (RTC-41205) GET requests in Promotion Service are supported:
Authorization token is required. If promotion or offer is not found, 404 (not found) status code is returned. If no identifier is specified, 400 (bad request) status code is returned. When fetched offer belongs to another promotion than specified by promotion id, 400 (bad request) status code is returned. Incomplete offers (with missing mix details fields) are returned with default values. |
Service | Promotion API documentation in Swagger (RTC-41203) Contracts for Promotion API endpoints are documented in Swagger:
|
System | OfferGroupProcessor job replaces ItemSelectionItemImport job (RTC-37763) Items are added to the offer group by OfferGroupProcessor job. Compared to ItemSelectionItemImport, item and prices lookup is done in Promotion database instead of requests to Item Service API. When item, model or variant that is part of selection is not found in Promotion database, then job completes with warning. Processing is retried 3 times (each 10 minutes by default). Improved performance of approving promotion, editing approved promotion, update of promotion through 3rd party import. |
Voyado offer | Fix: offer trigger code (RTC-41748) When creating new offer with voyado coupon, offer id is saved as offer trigger. |
...
It's possible to filter offers in promotion details based on their status: Active, Inactive or Incomplete. There is a picker for that in the offer panel.
Improvement
Area | Description |
---|---|
System | Performance when adding items to the offer group (RTC-37691) Added database index to improve performance when adding items to offer group. Size of batch that is saved to the database is set to 2000 by default and can be changed using parameter in configuration of ItemSelectionItemImport job. |
...
There is a side panel in the promotion grid that allows to filter the grid based on the profile, store, team that user wants to see. Only promotions that are inside the selected scope are visible to the user.
Improvements
Area | Description |
---|---|
Offer | Fix: Add segmentation to offer through 'Edit offer' page (RTC-34391) Offer processing is started properly after user opens 'Edit offer' page, clicks 'Manage items' and creates new segmentation. |
System | Fix: ItemSelectionItemImport (RTC-36697) ItemSelectionItemImport is not stuck when processing the offer groups. This could happen before in some special cases. Apart from the exception in the database and log in the Integration Platform, the execution of job is 'Completed with warnings'. |
...
Offer ID column in Promotion offers
Improvement
Area | Description |
---|---|
Offer items | Performance of adding items to offer group (RTC-32248) Improved performance of adding items to offer group. Improved performance of fetching data for 'Items in promotions' page. |
...
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
Module | Description |
---|---|
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. |
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. |
...
When promotion is on team level assigned to profile, and item has price in profile, profile price is used.
Improvement
Module | Description |
---|---|
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
Module | Description |
---|---|
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
Module | Description |
---|---|
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. |
...
Parameters of this mix are exported with offer to POS.
Improvement
Module | Description |
---|---|
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
Module | Description |
---|---|
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
Module | Description |
---|---|
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
Module | Description |
---|---|
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
Module | Description |
---|---|
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
Module | Description |
---|---|
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
Module | Description |
---|---|
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.
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'.
Offer with this mix have one group of offer items. Parameters of this mix are exported with offer to POS. Mix 10/13/39 (RTC-19140) Mix type number 10/13/39, 'Buy N or more items and get a discount per piece'.
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:
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. |