The scenario
A fleet maintenance garage needs to track vehicles, customers, work orders, assigned mechanics, services and parts used, and invoicing.
What is in this drawing
Read the decisions behind it.
01
Model WorkOrder as an aggregate root with composition to ServiceItem and PartItem
02
Use interface Billable for items that contribute to invoice total
03
Represent work order status as an enumeration
When designing a garage management system or service workflow tracking vehicle repairs and billing.
More like this