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