April 4, 2023 — 1.2312 Service Update

Production Tenant Features

Catalog

  • Removed Product Ranking: Product ranking rules have been hidden on the Category edit page as well as from the Main > Marketing navigation menu, as that functionality is now available via Search Merchandizing Rules and has been migrated out of the Category service. The tooltip for sort definitions has now been updated to explain that they have been replaced by merchandizing rules.
  • Do Not Apply Discounts to Handling: Previously, free shipping discounts applied to order-level handling fees which was not compatible with how some free shipping discounts were intended to be used. For example, a product with a $10 handling fee would receive both free shipping and free handling when the discount was applied. Now, a new tenant attribute (DoNotApplyDiscountsToHandlingFees) can be enabled to exclude handling when calculating order-level shipping discounts. Contact Kibo Support or your enablement team for assistance enabling this if you need this behavior on your tenant.

Fulfiller

  • Substitutes in Return Receipts: When an item has been substituted for another in a shipment, the substitute will now be displayed in a separate table on the return receipt. This table will give the name of the original item that was substituted, as well as the substitute item itself and the quantity. This makes it easier to identify substitutes in more aspects of the fulfillment process.
  • Reallocation Error Message: If inventory for an originally-ordered product quantity is not available when a store associate attempts to remove its substitute(s), an error message will be displayed and the substitute quantity will not be removed from the shipment.
  • Support for Substitutes with Assembly: If a substitute item requires preparation (aka assembly), then the Fulfiller UI will handle it appropriately during the fulfillment process. This means that it those items will be identified as both substitutes and assembly items, go into the Order Preparation step, and can also be transferred or split into another shipment as needed. 

Inventory

  • Item-Level Segmentation: Previously you could only apply tags at the order level when using inventory segmentation, meaning that the tag was applied to all order items. Now, tags are supported in item-level data instead. This allows you to specify different tags for each item in an order through the API. 
  • Segmentation in Order Admin: You can now select the inventory segmentation tags for order items when creating a new order through the Admin UI, as well as when creating a new shipment on an order. You can also view tags from the Order Details and edit them on Pending orders that have not been submitted yet. Additionally, validation has been added for specifically OMS-Only tenants so that if a tag name is provided for an item, then a value for that tag is required.

Note: When testing inventory segmentation in Release 1.2310, please ensure that all tag values are specified in the order created. This restriction will be removed in the upcoming Release 1.2312.

Search

  • Search Schema Relocation: The link for Search Schema in the Admin navigation menu has been removed from the System tab. You should access the schema through Main > Search > Schema instead.  
  • Delete Merchandizing Rule: Previously, the only way to delete a merchandizing rule was from the action menu on the Merchandizing Rules page. Now, when you click a merchandizing rule to go to its individual configuration page then a Delete option will also be available in the dropdown menu in the top right of the page.
  • Merchandizing Rule Limits: A limit has been set to restrict the amount of products included in one merchandizing rule to 100. This limit applies separately to ranked, buried, and blocked products, meaning that you can have up to 100 products in each of those three groups.

Production Bug Fixes

ServiceResolution
CatalogThe Get Product API did not consistently return the system~price-list-entry-type property for items with extras, as well as where promotions had expired. This has been fixed so that this property is always returned in the product data for these items as expected.
OrdersFor implementations upgraded from the previous version of OMS and making API calls through the translation layer, duplicate orders were created when multiple Create Order API requests were received for the same External Order ID. This process has been updated so that a duplicate request will not be passed through to generate a second order.
OrdersIf a refund needed to be made for an amount of 0.01, there was a rounding issue that resulted in an error when that amount was entered in the UI. This has been fixed so that values of 0.01 can be successfully validated, as well as similar numbers in three-decimal currencies.
Order RoutingThe Suggestion Logs API did not return the expected location while testing a particular implementation's filter configuration, due to issues with the inventory service cache. This has been corrected so that the process is more efficient and reduces the number of inventory calls made.
Transaction LogsShipping data in the Sales Tlogs did not contain the customer phone number, as expected based on the previous version of OMS. This has been corrected so that the appropriate phone number will be included in the log.


Restricted Content

Internal Production Details


Find more information about the client-facing updates at these Jira tickets:

  • Removed Product Ranking: CAT-1722
  • Substitutes in Return Receipts: FFMT-3648
  • Reallocation Error Message: FFMT-3546
  • Support for Substitutes with Assembly: FFMT-3712
  • Itemized Segmentation: CAT-2383 and COM-7210
  • Hide Product Ranking Rules: CAT-1722
  • Search Schema Relocation: CAT-2431
  • Delete Merchandizing Rule: CAT-2500
  • Merchandizing Rule Limits: CAT-2487
  • Segmentation in Order Admin: Items marked with only INV.SEG in COM-6821. Items marked with INV.SEG (RIC) and INV.SEG (Subs) are projected for an upcoming release.

The following enhancements are internal-only and not exposed to clients:

  • CHAR-4592: The carrier service has been migrated to Spring Boot and updated to use embedded Tomcat.
  • CAT-2475: The MZBoost plugin has been removed from Solr, now that Product Ranking Rules have been migrated to Merchandizing Rules.
  • TECH-1093: To improve search relevancy, enhancements have been made to Solr behavior. Previously, multiple field analysis caused Solr to use field-centric query behavior and impact both minMatch and relevancy scoring. For more information, see the ticket.
  • CHAR-2288: After an issue where Boscov's wasn't receiving notifications due to their server ending the connection with Kibo, an additional action has been added into our notification process. When the connection is severed, the system will attempt to resend the notification where previously it did not.

Find more information about the client-facing bug fixes at these Jira tickets:

  • Product API Missing Property: CAT-2383 (reported by Ace Hardware)
  • Phone Number in TLogs: CHAR-4657 (reported by Tourneau)
  • Suggestion Logs Issue: CHAR-4542 (reported by The Level Group)
  • Duplicate Translated Orders: CHAR-4468 (reported by Rue 21)
  • 0.01 Refunds Not Valid: COM-7205 (reported by Ace Hardware)

Production Sandbox Features

Catalog

  • Activate/Deactivate Campaigns: Campaigns can now be manually activated and deactivated from a toggle in their campaign settings. If activated, the campaign will honor the start/end date but if deactivated, the campaign will not automatically go live when the start date is reached. Note that activating or deactivating a campaign will also activate or deactivate its experiences (discounts, site variations, and merchandizing rules) even if those experiences are used in other campaigns. Toggles have also been added to the discount, site variation, and merchandizing rule configurations so that these individual elements may be manually re-activated or deactivated after one of their associated campaigns is updated.

Fulfiller

  • Shipment Workflow Update: When any shipment is put into a terminal state (such as Fulfilled or Cancelled), then any remaining workflow steps are deactivated. This will clear the Shipment Step ID and Fulfillment Step fields for Fulfilled shipments in the Order Admin UI, reducing confusion when further steps cannot be taken on a shipment.
  • Substitute Items in Curbside: The Customer Pickup step of the Curbside Delivery shipment workflow now displays substitute products in a separate table . This table will give the name of the original item that was substituted, as well as the substitute item itself and the quantity. This makes it easier to identify substitutes in more aspects of the fulfillment process.
  • Adult Signature Required: The carrier service for UPS has been updated to honor the Adult Signature Required configuration when enabled in tenant settings (which enforces a signature requirement on all shipping labels except for return labels). This allows upgraded implementations from the previous version of OMS who were using this feature to continue utilizing the behavior. Contact Kibo Support or your enablement team if you need to use this feature.

Inventory

  • Inventory Tag Defaults: If inventory segmentation is configured in your tenant, you no longer have to provide all inventory tags in order item data nor specify them in a particular order. If an order item does not specify any tags, or only specifies partial inventory tags, then it will be set to the default tag you configured. The item will then be allocated from the default segment if inventory is available. 
  • Segmentation with Reserved Inventory: Inventory segmentation can be used alongside the Reserve Inventory in Cart feature. This allows you to specify both reserve inventory and inventory tags, and the reservations will be reallocated appropriately. See the Inventory Segmentation documentation for more details about the behavior with reserve inventory tagged in different shipment types.

Order Routing

  • Extensible Comparison Properties: When configuring routing filters, the comparison property field now supports selecting custom attributes configured through Extensible Order Routing. These are the same custom attributes already supported as filter attributes.

Subscriptions

  • Retry Failed Continuity Order: When a continuity order fails, you can now retry creating the order by making a call to the Perform Subscription API for the "RetryFailedContinuityOrder" action. This will retry the continuity order with the latest payment information present on the subscription, and if successful then the Next Order Date will be updated as expected to the next date per the subscription frequency. This action is not supported for Errored subscriptions.
  • Renamed Site Settings: Some subscription site settings have been slightly renamed to remove unnecessary words or improve clarity. This does not involve any change in behavior. 

Sandbox Bug Fixes

ServiceResolution
EventsFailed events were not being retried and the Get Delivery Attempt Summary API was also returning Missing Or Invalid Parameter errors, preventing subscribed applications and users from getting information on specific events. This has been fixed so that events are properly triggered and displayed on the applications page.
FulfillmentWhen selecting a BPM in location group configurations, the Quotes workflow was selectable even though it isn't applicable to the fulfillment process (being the workflow for B2B Quotes). This has been corrected so that this option is no longer available in the dropdown.
OrdersWhen editing custom shipment data from the Orders UI or API, an "only string values can be edited" error was returned even though the value was already a string. This has been corrected so that custom data values will not be incorrectly recast as a number value.
SubscriptionsSubscription events were only partially displayed in the Subscription Events section of the Admin UI's application logs, such as one tenant only displaying return.authorized events and another only displaying order.opened events. This has been fixed so that the expected additional events will properly trigger an update to the application event log page.
TLogsThe return total reported in transactional logs was sometimes incorrect depending on whether the order had a discount applied or not. This has been fixed so that the return total is consistent and accurate regardless of whether a discount was on the order or not.
TLogsA particular implementation's Sales transactional logs showed incorrect credit card information, displaying only two digits of masking instead of four and pulling those digits from the Subscription ID field instead of the card number. This has been corrected so that the masked credit card digits are accurately reported.


Restricted Content

Internal Sandbox Details


Find more information about the client-facing updates at these Jira tickets:

The following enhancements are internal-only and not exposed to clients:

  • CHAR-4571: Inventory logs have been updated so that request/response data is never logged unless the flag for debug logs is enabled, and the outbound response time is included in logs as well.
  • TECR-17: API Extensions (.before and .after) for Order Routing Suggestion and Get Candidates calls have been enabled.
  • TECR-18: A new tenant attribute, SupportsOrderroutingApiExtensions, determines whether or not users have the ability to enable Order Routing API Extensions for non-Kibo applications.
  • TECH-1094: The Fulfillment Settings API has been updated to properly invalidate caches upon updates, where previously the cache had to expire before the response would update.
  • FFMT-3760: When publishing shipment email or SMS events, unnecessary data such as the change messages is now filtered out and not displayed in the event data.
  • COM-7312: An additional Subscription API endpoint has been added to update the data bag on subscriptions and subscription items.
  • CHAR-4620: Sonar Cube integration has been added to the real-time inventory service.
  • CAT-2560: SearchConfig frameworks have been updated to the latest .NET 6 version.
  • CAT-2555: The ValidateProduct endpoint has been updated tp accept variant product codes, where previously it only supported base product codes. This is done via a new boolean parameter, acceptVariantProductCode. When this is set to true and the system does not find a base product with the given code, then it will infer the base product code from the given variant and return appropriate results.
  • CAT-2665: Products have been trimmed in the Product Ranking Rule migration so that only the first 100 ranked, buried, and blocked products respectively are migrated. This is to comply with the 100-product limits added to merchandizing rules in 1.2310.

Find more information about the client-facing bug fixes at these Jira tickets:

  • Event Subscriptions Not Working: CAT-2494 (reported by Home Hardware and London Drugs)
  • Quotes BPM in Location Groups: FFMT-3508
  • Can't Edit Custom Strings: COM-7291 (reported by Tourneau)
  • Subscription Events Missing: CAT-2498 (reported by Sound United)
  • Inaccurate Return Totals in TLogs: CHAR-4632 (reported by AM Retail)
  • Inaccurate Credit Cards in TLogs: CHAR-4597 (reported by Tourneau)