Order

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

Entity (Aggregate Root)

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
orderIdUUID Required Unique identifier for the order
orderNumberstring Required Unique identifier for the order
customerIdUUID Optional Identifier for the customer placing the order test
orderDateDateTime Required Date and time when the order was placed
statusstring
Enum:
  • Pending
  • Processing
  • Shipped
  • Delivered
  • Cancelled
Required Current status of the order (e.g., Pending, Processing, Shipped, Delivered, Cancelled)
orderItems array<OrderItem > Required List of items included in the order
totalAmountdecimal Required Total monetary value of the order
shippingAddressAddress Required Address where the order should be shipped
billingAddressAddress Required Address for billing purposes
paymentPayment Optional Payment associated with this order
convertedFromCartIdUUID Optional Shopping cart that was converted to this order

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.
  • Address: Each order has shipping and billing Address entities (identified by shippingAddress and billingAddress).
  • Payment: An order is associated with one Payment entity for transaction processing.
  • ShoppingCart: An order can be converted from a ShoppingCart (identified by convertedFromCartId).
  • 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.