E-Commerce Domain
UML diagrams for orders, products, payments, shipping, and inventory management
E-Commerce Domain
The E-Commerce domain encompasses order management, product catalog, payment processing, shipping fulfillment, and inventory tracking.
Domain Overview
graph TB
subgraph "E-Commerce Domain"
subgraph "Order Management"
ORDER[Order]
ITEM[Order Item]
FULFILL[Fulfillment]
end
subgraph "Product Catalog"
PROD[Product]
VAR[Variation]
CAT[Category]
ATTR[Attributes]
end
subgraph "Payment Processing"
PAY[Payment Transaction]
REFUND[Refund]
BNPL[Buy Now Pay Later]
end
subgraph "Shipping"
SHIP[Shipment]
TRACK[Tracking]
LABEL[Labels]
end
subgraph "Inventory"
STOCK[Stock]
ACTION[Stock Actions]
TRANSFER[Transfers]
end
subgraph "Suppliers"
VENDOR[Vendor]
SUPORDER[Supplier Order]
end
end
ORDER --> ITEM
ITEM --> PROD
ORDER --> PAY
ORDER --> FULFILL
FULFILL --> SHIP
SHIP --> TRACK
PROD --> VAR
PROD --> CAT
VAR --> ATTR
PROD --> STOCK
ORDER --> REFUND
PAY --> BNPL
STOCK --> ACTION
STOCK --> TRANSFER
STOCK --> SUPORDER
SUPORDER --> VENDOR
style ORDER fill:#e1f5fe
style PROD fill:#f3e5f5
style PAY fill:#fff3e0
style SHIP fill:#e8f5e9Entity Relationship Diagram
erDiagram
TENANT ||--o{ ORDER : has
TENANT ||--o{ PRODUCT : has
TENANT ||--o{ VENDOR : has
ORDER ||--o{ ORDER_ITEM : contains
ORDER ||--o{ PAYMENT_TRANSACTION : has
ORDER ||--o{ SHIPMENT : generates
ORDER ||--o{ ORDER_FULFILLMENT : tracks
ORDER }o--|| CONTACT : placed_by
ORDER }o--o| VOUCHER : uses
ORDER_ITEM }o--|| PRODUCT : references
ORDER_ITEM }o--o| PRODUCT_VARIATION : specifies
PRODUCT ||--o{ PRODUCT_VARIATION : has
PRODUCT ||--o{ PRODUCT_IMAGE : has
PRODUCT }o--|| PRODUCT_MAIN_CATEGORY : belongs_to
PRODUCT }o--o{ PRODUCT_SUB_CATEGORY : assigned_to
PRODUCT }o--o| VENDOR : supplied_by
PRODUCT ||--o{ PRODUCT_STOCK_AVAILABLE : tracked_in
PRODUCT_VARIATION ||--o{ VARIATION_ATTRIBUTE_VALUE : has
SHIPMENT ||--o{ TRACKING_EVENT : logs
SHIPMENT }o--|| SHIPPING_CARRIER : uses
SHIPMENT }o--|| SHIPPING_SERVICE : uses
SHIPMENT ||--o| SHIPPING_LABEL : generates
PAYMENT_TRANSACTION }o--|| PAYMENT_METHOD : uses
PAYMENT_TRANSACTION ||--o{ PAYMENT_REFUND : may_have
VENDOR ||--o{ SUPPLIER_ORDER : receives
SUPPLIER_ORDER ||--o{ SUPPLIER_ORDER_ITEM : contains
STOCK_ACTION }o--|| PRODUCT : affects
INVENTORY_TRANSFER ||--o{ INVENTORY_TRANSFER_ITEM : contains
ORDER {
string id PK
string tenantId FK
string siteId FK
string contactId FK
string invoiceNumber
enum invoiceStatus
enum orderType
decimal totalAmount
string currency
timestamp invoiceDate
timestamp deliveryDate
string paymentIntentId
}
ORDER_ITEM {
string id PK
string orderId FK
string productId FK
string variationId FK
int quantity
decimal unitPrice
decimal totalPrice
decimal taxRate
}
PRODUCT {
string id PK
string tenantId FK
string name
string reference
decimal price
decimal salePrice
int stock
enum productType
boolean manageStock
int lowStockThreshold
}
SHIPMENT {
string id PK
string orderId FK
string carrierId FK
string trackingNumber
enum status
decimal weight
string labelUrl
timestamp shippedDate
timestamp deliveredDate
}
PAYMENT_TRANSACTION {
string id PK
string orderId FK
string paymentMethodId FK
decimal amount
string currency
enum status
string externalId
timestamp processedAt
}Key Business Processes
Order Lifecycle
The complete flow from order creation to completion. View Order Lifecycle Details
Payment Processing
Payment capture, verification, and refund flows. View Payment Flow Details
Shipping & Fulfillment
From order fulfillment to delivery confirmation. View Shipping Details
Inventory Management
Stock tracking, reservations, and adjustments. View Inventory Details
Supplier Ordering
Procurement workflow and vendor management. View Supplier Details
Domain Statistics
| Entity | Approximate Fields | Key Relationships |
|---|---|---|
| Order | 40+ | Contact, Items, Payments, Shipments |
| Product | 50+ | Categories, Variations, Stock, Vendor |
| Payment Transaction | 25+ | Order, Method, Refunds |
| Shipment | 30+ | Order, Carrier, Tracking Events |
| Supplier Order | 20+ | Vendor, Items |
Integration Points
flowchart LR
subgraph "E-Commerce Domain"
ORDER[Orders]
PROD[Products]
PAY[Payments]
SHIP[Shipping]
end
subgraph "External Systems"
STRIPE[Stripe]
PS[PrestaShop]
CARRIERS[Shipping Carriers]
end
subgraph "Internal Domains"
CRM[CRM]
INV[Inventory]
ACC[Accounting]
end
PAY <--> STRIPE
PROD <--> PS
ORDER <--> PS
SHIP <--> CARRIERS
ORDER --> CRM
ORDER --> INV
PAY --> ACC
style STRIPE fill:#635bff,color:#fff
style PS fill:#df0067,color:#fff