January 24, 2023 — 1.2302 Service Update

Production Tenant Features

Subscriptions

  • Order Reminder Email: This subscription email is sent prior to a continuity order being automatically generated from a subscription. The number of days in advance that this reminder is sent is determined by a new subscription setting, “Send Subscription Reminder _ Days Before Next Order.”
  • Paused Reminder Email: This subscription email is sent periodically to remind the customer that they have a paused subscription they can reactivate. The interval of how frequently this reminder is sent is determined by a new subscription setting, “Send Email Reminder Every _ Days for Paused Subscriptions.”
  • Pause Limit Reached Email: This subscription email is sent when a subscription’s pause limit has been reached and the subscription will be automatically reactivated. The number of days in advance that this reminder is sent is determined with a new subscription setting, “Send Email _ Days Before Paused Subscription is Re-Activated.”

Order Routing

  • Extensible Order Routing: Extensible Order Routing allows an Admin user to select which custom product, location, customer and order attributes can be used in Order Routing. Along with new generic attributes, you can then apply these custom attributes in filters to enhance your routing logic. This provides the power and flexibility to set up order routing rules best suited to your unique business needs and determine the most optimum locations to fulfill the orders from. This feature is available for all clients whose implementations include Order Management. Please contact Kibo Support to ensure it is enabled for you.

Fulfillment

  • OMS Substitutions: Order Management implementations can now substitute similar products during the fulfillment process if the original product is unavailable. These substitutes are pre-configured at the product level, and then manually selected by the fulfiller user during the Validate Stock step of a STH or BOPIS shipment.

User Management

  • Geography-Based User Access: You can now use custom user roles to specify which country data a user has access to and prevent them from viewing customers, orders, or returns outside of their jurisdiction. The user will not be able to edit these records nor enter shipping addresses for countries they don't have access to when creating new orders. By default, users will have access to data for all countries unless any of these custom roles are applied.

Search

  • Product Usage in Suggest API: The Suggest API now supports the productUsage field, allowing you to view which products are collections in suggested searches such as the type ahead search. Add the productUsage field to the search schema, and then add it to the return fields of the Product Suggestion settings. This value will then be returned for each product in search responses to indicate whether it is the Standard, Configurable, Bundle, or Collection usage type.

Other

  • Minor UI Changes: Visual updates have been made to several UIs to improve standardization.
    • The Campaigns and Quick Edits pages have been updated to improve button styling and fix improper button heights.
    • The tool tip and Learn More button on the Create Dynamic Category page have been corrected for proper positioning, and the headers of the Customer page’s order table and the Order page’s order details panel have been corrected and given a top border.
    • Improperly bolded text has been removed from the Create Price Entry page of the Price List UI, and the text has been updated to the proper font size and color.
    • Excessive length of the dropdown for Category page search results has been corrected, and spacing between lines has been improved as well.
    • The background color of the Campaigns page has been updated to be more consistent with other UIs.
    • The tooltip color of the Editable toggle on order attributes has been updated, and the font sizing for B2B and location attribute edit pages has also been corrected.
    • If there is no result available for search criteria in the File Manager UI, the message “No Data Available” will now be displayed.
    • When adding a member product to a collection, messaging has been changed from “No data to display” to “No Data Available.” The position of the First Available Date tooltip on the Create Product page has also been fixed.
    • The Save buttons of the product, order, B2B, and location attribute edit pages have been updated to display the proper color when the button is inactive. The Documents and Entities tabs of the Custom Schema page have also been updated to display the proper color when hovered over.
    • The Save buttons of the Add User and Create New Role modals in the System > Permissions UIs and the Catalog Provisioning modal have been updated to display the proper color when hovered over. 

Production Bug Fixes

ServiceResolution
FulfillmentSome fulfiller users of a particular implementation could not successfully log in as their accounts would be locked or they would be taken to the sandbox environments page with no results (despite trying to access a production environment). This has been corrected so that these users can successfully log into their expected tenants and perform a password reset to access their accounts.
OrdersWhen the “Allocate Inventory for Orders in Pending Review” setting was enabled for an OMS+Catalog implementation, Flexible Auto Capture was failing to capture orders when they moved from the Pending Review to Ready states. This resulted in the order payments remaining stuck in the Authorized state. This has been fixed so that auto captures will successfully capture authorized payments in these cases.
OrdersSome products were not displaying their available options when an Admin user attempted to add them to an offline order. This has been corrected so that product options will successfully load in the Admin UI so that they can be added to offline orders.
OrdersA 500 Credit Failed Error was experienced when attempting to issue refunds on some orders, indicating that the sum of credits would exceed the original amount even though that was not the case. This was due to the orders have order attributes with their attribute definition IDs set to 0, resulting in a failure. This has been fixed so that attribute IDs are correctly retrieved and refunds can be successfully issued.
OrdersPayment credits were issued after cancelling errored orders that had Fulfilled shipments. Orders are now properly prevented from being cancelled if they have any shipments in the Fulfilled state.
OrdersCSRs were unable to add some products to the cart when creating an offline order, due to an error when fetching product variations. This has been updated so that the error will be handled and products will be successfully accessible in Admin orders.
StorefrontThe checkout page would freeze when the wrong gift card was applied in the payment tab, requiring the customer to refresh the page or edit shipping/promo code information to re-start the page before adding other payment details. This has now been fixed so that invalid gift cards will not freeze the page and the customer can immediately re-enter their gift card information.
StorefrontProduct images were being removed from display on the storefront after the product was edited in the Admin UI, even if no changes to images had been made. This was due to issues with external image URLs being overwritten and broken by the system upon saving the product. This has been corrected so that external images are properly supported.


Restricted Content

Internal Production 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-4415: Some cache tests for the Real-Time Inventory Service were failing when no docker containers were currently running. This has been corrected so that tests can work properly both locally and in deployed dockers.
  • CHAR-4430 and CHAR-4360: Fixes have been made to Order Routing integration test cases and Jenkins deployments where they were previously failing. The SKIP_BUILD_OUTPUT option for the Real-Time Inventory Service in Jenkins was not skipping tests as intended to improve build time, and was instead running the tests every time regardless of the option. This has been corrected so that tests will not run when this option is selected.
  • CHAR-4475: Swagger generation for inventory was failing after the PHP 7.4 upgrade, due to validation issues and other errors. Request bodies have now been appropriately updated to reduce these errors so that Swagger documentation can be successfully generated.
  • CHAR-4444 and CHAR-4433: Updates have been made to the Real-Time Inventory Service to improve the location attributes updated events queue and fix production Redis issues for the develop branch.
  • CHAR-4293: The use of AWS keys/secrets has been removed from the Inventory Export and Fetch File API, as well as ensuring that S3 credentials are only passed if they are present and upgrading the S3 version our system is using.
  • TECH-995: Deleted products were not included in the Google spec during a full import. This has been updated so that the delete event is published and logged properly.

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

  • Fulfillers Can't Log In: COM-6650 (reported by London Drugs)
  • Product Options Not Displaying: COM-6788 (reported by Sun & Ski)
  • Authorized Orders Not Capturing: COM-6727 (reported by Ssense)
  • Attributes Causing Refund Errors: COM-6169 (reported by French Toast)
  • Checkout Page Freezing: COM-6786 (reported by Sundance)
  • Product Images Disappearing: COM-6828 (reported by Specialty Commerce)
  • Crediting Cancelled Orders: COM-6898 (reported by Ace Hardware)
  • Unable to Add Products to Order: COM-6506 (reported by French Toast)

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

ServiceJIRA TicketResolution
CatalogTECH-974If a sale price was already set on a product, such as in the UI, then it could never be removed via the product bulk import APIs. This has been corrected so that this value can be removed successfully via API as needed.
Dev CenterTECH-992A JavaScript file caused Dev Center to hang intermittently, causing slow load times. This has been optimized so that the Dev Center will load more quickly and consistently.

Production Sandbox Features

Catalog

  • Quick Edits Update: The Quick Edits process for Update Attributes has been updated so that you can now add values to a multi-value property, where previously you could only replace their current values. When you select a multi-value property in the final step, you can choose between Replace Existing Values or Add to Existing Values.

Search

  • Search Configuration UI Update: Some improvements have been made to the Search Configuration create/edit page. Tab titles are now displayed consistently across Site Search, Category Suggestion, Product Suggestion, and Listing tabs.

Subscriptions

  • Multiple Subscription Message: When adding at least one subscription or trial product to an order in the Admin UI, a message will appear saying that "Multiple subscriptions will be generated for subscription items with different frequencies and/or trial products." This will not prevent the order from being submitted, but clarifies the behavior in that subscription products are only bundled into the same subscription with other products of matching frequencies.

Other

  • Three Decimal Support: Currency values with three decimal places are now supported in APIs and UIs where currencies are displayed. This applies to relevant currencies such as KWD (Kuwaiti Dinar), OMR (Rial Omani), and BHD (Bahraini Dinar). Specifically, this support includes the Commerce, Subscription, Reservation, Customer, Payment, and Shipping API services. It also includes the Cart, Checkout, and My Account pages on the Storefront as well as the Orders, Customer, B2B, Returns, Quick Edits, and Shipping Setting UIs in the Admin. Currencies that typically use two decimals, such as USD, will continue to only display two decimal places.
  • Support for Non-ZIP Addresses: Previously, the order routing services required addresses to contain a ZIP code so that it could determine the latitude and longitude for suggesting locations. Now, the system can support addresses for countries that do not use ZIP codes (such as UAE). If a ZIP code is not provided in the order address, then the inventory and order routing services will reference the rest of the address to determine the latitude and longitude and successfully route the order. If a ZIP code is provided in the order address, then only that ZIP code will be used to determine latitute/longitude as is the current behavior, so other countries are not affected.

Sandbox Bug Fixes

ServiceResolution
StorefrontCategory pages without a manual sort were defaulting to sorting by SKU number, instead of the merchant’s preferred defaults set in their theme settings. This has been fixed so that product listing pages will successfully sort products by the appropriate defaults.
SearchSiteSearch API results were returning truncated strings for all fields. This has been fixed so that the API returns the full response with the expected strings.
FulfillerRejecting an item in the Fulfiller UI caused it to be split into a new shipment and assigned to the same location that rejected it. This was due to an issue where saving a location group would change the exclusion list setting that told Order Routing not to reassign items to it, which has now been fixed so that items will be assigned to a different location.


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-4489: More inventory fields have been added into inventory logs, and some unnecessary fields removed. See the ticket for the full list.

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

  • Category Pages Default to SKU: SU-3243 (Reported by Ace Hardware)
  • Site Search Truncating Fields: SU-3240 (reported by Consumer Reports)
  • Reassigning Rejected Item: CHAR-4544 (reported by Ssense)