Clienteling Session¶
aggregate-root customer
A recorded in-store or digital interaction between a store associate and a customer.
Business Purpose: Capture personalised customer interactions to support clienteling and relationship management.
Identity¶
| Type | Field | Description |
|---|---|---|
global |
session-id |
System-assigned identifier unique per interaction session. |
Attributes¶
| Attribute | Description |
|---|---|
session-id Session ID |
Stable session identifier. |
customer-id Customer ID |
Customer associated with this session. |
associate-id Associate ID |
Store associate who conducted the session. |
status Status |
Current session state. |
started-at Started At |
Timestamp when the session began. |
completed-at Completed At |
Timestamp when the session was completed. |
Lifecycle¶
created → active → completed
Invariants¶
session-requires-customer— A clienteling session must reference a valid customer.session-requires-interaction— A session must have at least one recorded interaction before completion.
Relationships¶
| Type | Target |
|---|---|
belongs-to |
customer customer |
Events¶
| Event | Classification | Terminal |
|---|---|---|
ClientelingSessionCreated |
created | — |
ClientelingInteractionRecorded |
created | — |
Used by Capabilities¶
- clienteling Clienteling
Note
Added in EVT-001 to satisfy event cross-references for the clienteling domain.