February 8, 2022 — 1.2204 Service Update

Production Tenant Features

eCommerce Functionality

  • Discount Folders: The Discounts page of the Admin UI now uses a folder hierarchy to organize all existing discounts in each catalog. You are able to create/delete folders and subfolders as well as move discounts between them in order to more easily manage your discounts. This feature is optional – discounts do not have to be placed in a folder and will simply be displayed at the root level. See the Discounts guide for more information.
  • Cart Cache Update: Cart refresh and caching behavior has been updated to prevent expired discounts from remaining in the cart. Previously, if discounts were added to a cart and then expired before checkout, they would still be displayed in the cart which led to a mismatch between what the cart showed as the order total and the actual checkout total. Now, returning to the cart will refresh the discount and pricing so that any expired discounts will be removed before the shopper continues to checkout.
  • Payments on Return Receipt: The return receipt can now display refund payment data, as these fields have been exposed to the return receipt template. For every payment method on the return, this data includes the payment type and card type, amount refunded, and last four digits of the credit card.

Order Management Functionality

  • Pick Waves API Sorting: The Pick Waves API now allows sorting through the sortContents query parameter. This allows calls to be made such as .../api/commerce/pickwaves/?sortContents=locatorName  or .../?sortContents=-locatorNamewhich will sort the GET results by their locator name in ascending or descending order. This supports the custom tenant setting pickWaveDisplayFields.locatorName.enableSorting in the Fulfiller UI theme so that the pick waves can be displayed by sorted order in the user interface.
    • IMPORTANT NOTE: While this was initially released with Version 1.2202, the API sort filter has been changed in Version 1.2204 to ?sortContents=contents.locatorName. See the 1.2204 sandbox release notes below.
  • Translated No-Op Payments: Two new no-operation payment gateways are now supported for clients upgraded from the previous version of OMS who are using the translated APIs. These gateways are Venmo (no-op type VN) and a Private Label Credit Card (no-op type PL). These options can now be enabled in the payment gateway and payment type configurations for these upgrade clients.
  • Get Shipments in Solr: Shipments have been added to Solr indexing so that the Fulfiller UI can retrieve search results more quickly. This can also be utilized for better performance in GET Shipments API calls by providing the request query parameter useSearchIndex=true. This enhancement was introduced to sandbox in November, but is now being enabled in production.

Search Functionality

  • Search Settings Updates: Updates have been made to the validation of Search Settings and the APIs integrated with the Solr schema. This validation will be performed when saving settings, and errors will be returned if the analyzers or phrase weights are invalid. See the Search Schema documentation for more information about analyzers and phrase weights.
    • The noun_extraction analyzer is only allowed on the productName field, and phrase weight values are not allowed. A description of the analyzer has also been added. 
    • Phrase weights were previously a range of 1-20 but are now a range of 0-20.
    • Similar to noun_extraction, phrase weights are not allowed to be added to _pf fields (for example, productFullDescription_lenient_pf). These fields are only allowed to have a phrase weight of 0.
    • Spelling fields that are passed into the API must exist as a field in the index, or an error will be thrown. These fields must be text or an array of text fields – boolean and number fields cannot be used as spelling fields.

Production Sandbox Features

eCommerce & Order Management Functionality

  • Reserve Inventory for Pending Review Orders: A new site setting called “Allocate Inventory for Orders in Pending Review Status” has been added that when enabled, will automatically create shipments for Pending Review orders and reserve inventory for them. These shipments will be temporarily blocked from fulfillment in the Fulfiller UI until the order is accepted. By default, this setting is disabled and shipments are not created until an order is accepted. If the order or shipments are cancelled, the inventory will be deallocated.
  • Accept Order Error Handling: Some new behavior has been added to better handle failures encountered during the Accept Order step. As creating shipments is a step of the acceptance process, it was possible for shipments to be created and then duplicated if the order failed and had to be re-accepted. To prevent this from happening, if a failure is encountered during acceptance then any shipments that were already created for the order will be canceled. When the Accept Order step/call is made again and the order is successful, new shipments will be remade.
  • Backorder Reauth Setting: The “Payment Void and Reauth” site setting that was added with Version 1.2202 has been fully synced with the behavior logic so that this option is fully supported. To recap, this option supports disabling backorder re-auth for clients who may be using subscription tokens that don’t expire and thus do not need payments re-authed when the backorder is released. This can only be enabled if the Backorder Job setting is enabled first and it will be enabled by default for clients who are using backorder jobs. 

Fulfiller Functionality

  • Split Packing Slips: Fulfillers can now split packing slips for when you want to pack and ship items separately that are part of the same order, such as when items do not fit in the same box due to size, weight, or other factors. The Print Packing Slip step of the Ship to Home and Transfer fulfillment flows allows you to indicate which items should be included in each slip, while the Prepare for Shipment step allows you to print those shipping labels and add different tracking information for each slip.
  • Pick Wave Sorting: In Version 1.2202, the Pick Waves API was updated to allow sorting GET results based on inventory locator name. However, this sort field is now slightly changed to /?sortContents=contents.locatorName  or /?sortContents=-contents.locatorName. Recall that to sort pick waves in the Fulfiller UI, you must customize your FFUI theme and enable the tenant setting pickWaveDisplayFields.locatorName.enableSorting.

Search Functionality

  • Search Settings UI Updates: Several updates have been made to Search Settings.
    • The Schema Editor page title has been changed to “Search Schema.”
    • Campaigns have been renamed to “Merchandizing Rules."
    • The Search Synonyms, Search Settings, and Search Redirects links have been removed from the Marketing tab of the nav menu and replaced with a single “Search” link, so that all search features are accessed via a common menu item.
    • Icons have been updated for the sub-menu items in the navigation menu on the Search page.
    • When on any page, its label in the nav menu is now bolded.
    • Permissions have been updated so that users must have a role with appropriate Read behaviors to see the search, schema, merchandizing rules, synonyms, and term redirects pages.
    • The noun_extraction analyzer was being shown as an option for custom fields as well as in the category and product suggestion options, which was not allowed.
    • A description for the noun_phrase analyzer has been added.
    • Any tenants who had _pf fields with phrase weights >0 to 0 have been migrated and updated so that those phrase weights have been set to 0.
    • Since _pf fields are only allowed to have a phrase weight of 0, the ability to edit this has been disabled in the UI.

Bug Fixes

The following list summarizes resolved issues for this release.

StatusResolution
Targeted for Production TenantsGift card messages were being displayed as plain text in the Admin UI order details view, when it was expected to be a hyperlink to the PDF version of the gift message. This has been fixed so that the message is a properly displayed as a link.
Targeted for Production TenantsThe Order API was not successfully filtering results by the closedDate filter option when that was provided in the GET query. This has been fixed so that orders can be successfully retrieved based on their close date.
Targeted for Production TenantsOrders were occasionally moving to the Errored status due to unexpected errors caused by custom calculations that determined the item price remainder. Validation has been added to better handle this behavior and successfully process valid orders.
Targeted for Production TenantsSome orders remained in the Validated state rather than progressing to Accepted after being created via API, due to internal service errors. This was due to the existence of an Order Routing group that contained no locations, so validation has been added to the order acceptance process to bypass this case and successfully create otherwise valid orders.
Targeted for Production TenantsThe Ready For Pickup email was occasionally not being sent when a shipment was ready for partial or full pickup, due to errors experienced in Order Routing that meant the notification was not triggered. Better error handling has been implemented so that these Order Routing exceptions will not prevent the email from being delivered when the pickup order is otherwise ready for completion.
Targeted for Production TenantsPurolator labels were printing on the entire page instead of a half-page as expected. This has been fixed so that label images will be sized properly in PDFs.
Targeted for Production TenantsFedEx Cross Border labels were unable to be printed, as an error would be encountered when trying to create the pack notification. This was due to an issue converting the carrier name to lowercase format, but has now been fixed so these labels can be successfully printed.
Targeted for Production TenantsUsing the CDN bust cache feature unexpectedly changed site settings such as toggling disabled emails back on. This was due to out-of-date serialization between Site Builder and the site settings service, which has now been improved so that bust cache does not affect other settings.
Targeted for Production TenantsUsers were unable to add the sale price range facet (such as 0-10, 10-100, or 100+) on the search result template in Site Builder, as the template only allowed distinct values. This has been fixed so that you can successfully set up range facets on this template.
Targeted for Production TenantsInventory tags were unable to be created in the Admin UI, as an error would be displayed instead. This has been fixed so that inventory tags can be successfully configured in the user interface.
Targeted for Production TenantsThere were performance problems in the ProductAdmin service when retrieving product types for configurations with variant attributes – this data was sometimes very large and caused the database query to run slowly. This process has been re-factored to optimize the product type cache and achieve better performance.
Targeted for Production TenantsAfter the initial 1.2202 sandbox release, all orders from sandbox were going into ERRORED status by default. A hotfix has been added to this version to correct this so that orders go into the expected processing states.
Targeted for Production SandboxesAfter entering a return reduction when performing a return in the Fulfiller UI, the reduction was not included in the credits transaction log. The entire return amount was being reported in the returns transaction log instead. This logic has been updated to properly calculate return reductions and display the values as expected in the logs.
Targeted for Production SandboxesThe logical operators for Order Routing’s “distance from fulfillment location to order” filter attribute did not appear when editing a filter that had that attribute already selected. This has been fixed so that the logical operator options will be properly displayed.
Targeted for Production SandboxesWhen a Customer Care shipment belonging to an upgraded OMS client was moved into the Ready state, an event notification was not triggered due to errors retrieving location data. This has been fixed so that notifications will be successfully created and sent for these cases.
Targeted for Production SandboxesA 404 Error was occasionally experienced in the Order Routing UI when the webapp failed to initialize. The error handling logic has been updated to improve how this scenario is handled.
Targeted for Production SandboxesDelivery shipments were incorrectly passing the “DIRECTSHIP” order type to Order Routing when creating transfer shipments, instead of “TRANSFER” types. This resulted in incorrect routing suggestions for these transfers, but this has now been corrected so that transfers for delivery shipments are properly handled.
Targeted for Production SandboxesOrders that were captured on CyberSource occasionally did not have that payment record displayed in Kibo and their payment stayed in the Authorized state, when flexible auto capture was enabled after validating items in stock. This has been fixed so that the payment records for this case are properly updated.
Targeted for Production SandboxesSeveral issues have been fixed in the Search API and the Search Settings UI.
  • The PUT schema API required spelling fields to be included in the request, which was not necessary. These fields are now optional.
  • The UI’s delete on hover color was not consistent across all search types.
  • The alignment and text boxes for slicing, min match, and phrase slop configuration options were not displayed correctly in the UI.
  • The modal warning for navigating away from the settings page without saving has been updated with more consistent design.
  • The search preview information box used the wrong text size.
  • The whitespace cross field factor’s supporting text label was appearing below the input field instead of next to it.
  • A long URL in the search term table would overlap with other columns in the table, instead of being cut off with an ellipsis.
  • The active and inactive buttons for Redirects were not the same size.
  • Tags and various delete modals were not displayed with the proper styling.
  • In the Schema Editor, hovering over catalogs unnecessarily highlighted them as no action can be performed on them in the schema.
  • The noun_extraction option was not being saved to the UI form.