Order (v1.0.0)

Represents a customer's request to purchase products or services.

Overview

The Order entity captures all details related to a customer’s purchase request. It serves as the central aggregate root within the Orders domain, coordinating information about the customer, products ordered, payment, and shipping.

Entity Properties

Name Type Required Description
orderIdUUIDRequiredUnique identifier for the order
customerIdUUIDRequiredIdentifier for the customer placing the order
orderDateDateTimeRequiredDate and time when the order was placed
statusstringRequiredCurrent status of the order (e.g., Pending, Processing, Shipped, Delivered, Cancelled)
orderItemsarrayRequiredList of items included in the order
totalAmountdecimalRequiredTotal monetary value of the order
shippingAddressAddressRequiredAddress where the order should be shipped

Relationships

  • Customer: Each order belongs to one Customer (identified by customerId).
  • OrderItem: An order contains one or more OrderItem entities detailing the specific products and quantities.
  • Payment: An order is typically associated with a Payment entity (not detailed here).
  • Shipment: An order may lead to one or more Shipment entities (not detailed here).

Examples

  • Order #12345: A customer orders 2 units of Product A and 1 unit of Product B, to be shipped to their home address. Status is ‘Processing’.
  • Order #67890: A customer places a large order for multiple items, requiring special shipping arrangements. Status is ‘Pending’ until payment confirmation.