## Expense reports: employees submit expenses with lines; managers approve them Draft Submitted Approved ## People Employee @Staff order="lastName" firstName d r / lastName d r workEmail email r department Department Department @Staff order="name" name d r ## Expense reports and their approval ExpenseReport @Expenses order="submittedOn desc" employee Employee d r submittedOn date ds r default="now" purpose d r lines ExpenseLine set ei x childproperty="report" total double ds calculated="sum(lines[*].amount)" status enum enumset="ExpenseStatus" default="draft" fixed ExpenseLine @ report ExpenseReport date r concept d r amount double r receipt image ApproveExpenseReport @ transient report ExpenseReport fixed notes text