From a data-model perspective, Addresses are treated as user-owned records. A User may create and store multiple address entries under their account. These addresses are reusable and may be referenced during checkout when generating Invoice and Order entities:
- A single User may own multiple Address records.
- Addresses are stored independently from Orders.
- During checkout, selected address records are referenced and attached to Invoice and Order entities.
- Address records persist beyond the lifecycle of a specific transaction.
Authorization Model
- (End User) Consumer: Read and write own addresses only.
- Exception: Can read pickup locations for an item via the pickup endpoint.
- Merchant: Read and write own addresses including pickup locations, and consumer addresses (when required for order fulfilment).
- Admin: Read and write all user addresses within the marketplace.