Model
classDiagram
class Store{
+string Id
+string Name
+string Zipcode
+Map Meta
}
class Customer{
+string Id
+string Name
+string Zipcode
}
class Item{
+string Sku
+string Name
+TimeStamp EffectiveDate
+float Price
+bool Deleted
}
class LineItem{
+int Ordinal
+int Quantity
+float item_total
+float item_tax
+float item_discounts
+float line_total
+Item item
+Map~string,string~ discount_details
+addItem(int qty, Item item)
+removeItem(int qty, Item item)
}
LineItem --o Item
class Transaction {
+string Id
+TimeStamp StartTime
+TimeStamp EndTime
+Store Store
+Customer Customer
+Set~LineItem~ LineItems
+addLineItem(int qty, LineItem lineItem)
+removeLineItem(int qty, LineItem lineItem)
}
Transaction --|> Store
Transaction --|> Customer
Transaction --> "1..*" LineItem