Skip to main content

Unified Basket Manager

The Unified Basket Manager (UBM) builds a shopping basket for a digital channel — a webshop, a mobile app, a kiosk — prices it, and converts it into a customer order. Its purpose is omnichannel price consistency: a basket can be priced by the very engine that runs the physical checkout, so the price a customer sees online is produced by the same calculation that would run at the till.

⚠ Which engine prices a business unit is configuration, and one of the two options returns price without tax — see How pricing works before assuming a basket is tax-inclusive.

UBM is a synchronous request/response API. Every call returns the recalculated basket. There is no result to wait for and nothing to subscribe to — see Integrating with UBM.

If you want to…

…then read
Understand how a basket gets priced, and which engine does it — How pricing works
Know what UBM reads, and from where — Data sources
Understand baskets, lines, calculated results and statuses — The basket model
Turn a basket into a customer order — Checkout
Provision a business unit so UBM works at all — Configuration
Call the API, and handle its errors — Integrating with UBM

What a basket holds

A basket is more than a list of products. Each of these is a separate sub-resource with its own endpoints. The first three reprice the basket when they change; the rest are stored without calling a pricing engine, because they do not affect what the goods cost:

  • Items — the lines being bought, with quantity and unit of measure (reprices)
  • Coupons — vouchers applied to the basket (reprices)
  • Loyalty — the membership the basket is priced for, which can unlock member prices and rewards (reprices)
  • Customer — who is buying, including contact details
  • Fulfillments — how each part of the basket reaches the customer (collection, delivery), which can carry its own charges and its own destination business unit
  • Tenders — the means of payment, including authorization data, required before checkout

What UBM does not do

  • It does not hold stock or reserve it. A priced basket is not a stock reservation. Availability and reservation belong to the inventory services.
  • It does not own the item catalogue. Item names, identifiers and prices come from product master data; UBM reads them per request.
  • It does not manage the order after checkout. Once the customer order is created, its lifecycle belongs to the Customer Order service.

API reference

The OpenAPI specification is published at https://unified-basket-manager-api.retailsvc.com/schemas/v1/openapi.json