@startuml

skinparam monochrome true
skinparam packageStyle rect
skinparam defaultFontName FG Virgil
skinparam shadowing false
skinparam linetype ortho

class Group {
- categories : Categories
- accounts : Accounts
- String : Description
 - String : creationDate
+ Group()
+ getTransactionsWithinPeriod\n(String dateInitial, String dateFinal)
}

class Person {
- Person ()
}

class Ledger {
+ getTransactionsWithinPeriod ()
}

class Transaction{
- amount : double
- type : String
- dateTime : String
- description : String
- category : Category
- debitAccount : Account
- creditAccount : Account
}

Group -right-> " 1  " Person : hasCreator
Group -- Ledger :"hasLedger"
Ledger --> "Transaction"

@enduml