Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions specs/order-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ A company sells products to customers. Customers place orders, each order contai

The system uses role-based access control. Sales representatives create customers and orders. Warehouse managers approve and ship orders. Administrators have full access.

**Audience — internal, staff-facing.** The system's users are the staff actors above (sales representatives, warehouse managers, administrators), *not* the customers themselves. Phrases like "customers place orders" describe the **business domain**; the **API is operated by staff on customers' behalf**. A sales rep places an order for a customer: the order's customer is supplied in the request (the rep selects which customer), while `CreatedByActorId` records the staff member who created it. Holding `orders:create` therefore authorizes creating an order for **any existing** customer. The only check is that the customer exists; there is deliberately no per-customer ownership check on creation. (A customer self-service system would instead derive the order's customer from the authenticated actor rather than trusting a request field.)

## 2. Ubiquitous Language

| Term | Definition |
Expand Down