Customer

Represents an individual or organization that places orders.

Entity

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

Name Type Required Description
customerIdUUID Required Unique identifier for the customer
firstNamestring Required Customer's first name
lastNamestring Required Customer's last name
emailstring Required Customer's primary email address (unique)
phonestring Optional Customer's phone number
addresses array<Address > Optional List of addresses associated with the customer (e.g., shipping, billing)
dateRegisteredDateTime Required Date 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.