Skip to content

Core Retail Business Objects

Purpose

This document defines the canonical business objects of the UC-BoK.

Business Objects represent the fundamental concepts manipulated by every retail enterprise.

Every capability, process, application component and API defined by UC-BoK SHALL operate on one or more Business Objects.


Business Objects

UC-BoK defines the following Core Business Objects.

Customer Product SKU
Price Promotion Voucher
Basket Order Reservation
Inventory Shipment Payment
Return Store Employee

Customer

Represents a person or organisation purchasing goods or services.

Lifecycle

stateDiagram-v2
    direction LR
    [*] --> Registered
    Registered --> Identified
    Identified --> Active
    Active --> Inactive
    Inactive --> Deleted
    Deleted --> [*]

Owned by Customer Domain


Product

Represents a sellable commercial item.


SKU

Represents a specific inventory unit.

Products may have multiple SKUs.


Basket

Temporary collection of items before checkout.

Lifecycle

stateDiagram-v2
    direction LR
    [*] --> Created
    Created --> Modified
    Modified --> Modified
    Modified --> CheckedOut : checkout
    Created --> Expired : timeout
    Modified --> Expired : timeout
    CheckedOut --> [*]
    Expired --> [*]

Order

Represents a commercial commitment.

Lifecycle

stateDiagram-v2
    direction LR
    [*] --> Created
    Created --> Validated
    Validated --> Confirmed
    Confirmed --> Allocated
    Allocated --> Fulfilled
    Fulfilled --> Completed
    Completed --> Closed
    Validated --> Cancelled : validation failure
    Confirmed --> Cancelled : customer request
    Closed --> [*]
    Cancelled --> [*]

Reservation

Represents temporary allocation of inventory.

Lifecycle

stateDiagram-v2
    direction LR
    [*] --> Created
    Created --> Confirmed
    Confirmed --> Released : order fulfilled
    Created --> Expired : timeout
    Confirmed --> Expired : timeout
    Released --> [*]
    Expired --> [*]

Inventory

Represents stock availability.

Inventory always belongs to a Location.


Shipment

Represents physical movement of goods.

Lifecycle

stateDiagram-v2
    direction LR
    [*] --> Created
    Created --> Picking
    Picking --> Packed
    Packed --> Shipped
    Shipped --> Delivered
    Delivered --> [*]

Payment

Represents financial settlement.

Lifecycle

stateDiagram-v2
    direction LR
    [*] --> Authorized
    Authorized --> Captured
    Captured --> Settled
    Settled --> Refunded : refund request
    Authorized --> Voided : cancellation
    Refunded --> [*]
    Voided --> [*]

Return

Represents goods flowing back to the retailer.


Promotion

Represents commercial incentives.


Voucher

Represents redeemable value.


Store

Represents a physical retail location.

Store simultaneously acts as

  • Sales Channel

  • Inventory Location

  • Fulfillment Node

  • Return Center


Employee

Represents a retailer associate.

Examples

  • Cashier

  • Store Manager

  • Picker

  • Personal Shopper


Relationships

flowchart TD
    C[Customer] --> B[Basket]
    B --> O[Order]
    O --> S[Shipment]
    S --> R[Return]
    O --> RES[Reservation]
    RES --> INV[Inventory]
    O --> P[Payment]
    O --> PRO[Promotion]
    PRO --> V[Voucher]

Design Rules

Business Objects SHALL

  • have a lifecycle

  • belong to one Domain

  • own business data

  • generate business events

  • be manipulated through Business Services

Business Objects SHALL NOT

  • depend on applications

  • depend on APIs

  • depend on vendors


References

UCBOK-001

UCBOK-200

UCBOK-300