Customer (v1.0.0)

Represents an individual or organization that places orders.

Overview

The Customer entity holds information about the individuals or organizations who interact with the system, primarily by placing orders. It stores contact details, addresses, and other relevant personal or business information.

Entity Properties

NameTypeRequiredDescription
customerIdUUIDRequiredUnique identifier for the customer
firstNamestringRequiredCustomer's first name
lastNamestringRequiredCustomer's last name
emailstringRequiredCustomer's primary email address (unique)
phonestringOptionalCustomer's phone number
addressesarrayOptionalList of addresses associated with the customer (e.g., shipping, billing)
dateRegisteredDateTimeRequiredDate and time when the customer registered

Relationships

  • Order: A customer can have multiple Order entities. The Order entity holds a reference (customerId) back to the Customer.
  • Address: A customer can have multiple associated Address value objects or entities.

Examples

  • Customer A: Jane Doe, registered on 2023-01-15, with a primary shipping address and a billing address.
  • Customer B: John Smith, a long-time customer with multiple past orders.