diff --git a/specs/order-management.md b/specs/order-management.md index fd7a649..03152fc 100644 --- a/specs/order-management.md +++ b/specs/order-management.md @@ -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 |