@startuml Database
entity  Outlet {
  * id
  __
  * name
  * address
  * phone
}

entity Customer {
  * id
  __
  * customer_number
  * name
  * phone
  * gender
}

entity Mutation {
  * id
  __
  * type
  * amount
  * outlet_id
  transaction_id
  expense_id
}

entity Transaction {
  * id
  __
  * transaction_number
  discount
  * transaction_status_id
  * user_id
  * customer_number
  * outlet_id
}

entity TransactionDetail {
  * id
  __
  * price
  discount
  * quantity
  * transaction_id
  * laundry_id
  * product_id
}

entity Laundry {
  * id
  __
  * name
  * price
  * unit
}

entity TransactionStatus {
  * id
  __
  * name
}

entity User {
  * id
  __
  * name
  * phone
  * email
  * status
  * password
  * gender_id
  * role_id
  * outlet_id
}

entity Role {
  * id
  __
  * name
}

entity Expense {
  * id
  __
  * description
  * amount
  * user_id
  * outlet_id
}

entity Product {
  * id
  __
  * name
  * price
  * unit
}

entity Discount {
  * id
  __
  * discount
}

Mutation ||--|| Expense
Mutation ||--|{ Outlet
Mutation ||--|| Transaction
Transaction }|--|| TransactionDetail
Transaction ||--|{ TransactionStatus
Transaction ||--|{ Outlet
Transaction ||--|{ Customer
Transaction ||--|{ User
Expense ||--|{ User
Expense ||--|{ Outlet
User ||--|{ Role
User ||--|{ Outlet
TransactionDetail ||--|{ Laundry
TransactionDetail ||--|{ Product
