
[plantuml]
----
include::partial$skinparam.adoc[]

package petowner {

    enum PetSpecies <<desc>> {
        Dog
        Cat
        Hamster
        Budgerigar
    }

    class Pet <<ppt>> {
        +id
        ..
        #petOwner
        #name
        ..
        -species
        -notes
        ..
        -version
    }


    class PetOwner <<role>> {
        +id
        ..
        #name
        #knownAs
        ..
        -phoneNumber
        -emailAddress
        ..
        -lastVisit
        -/daysSinceLastVisit
        ..
        -notes
    }
}


package visit {

    class Visit <<mi>> {
        +id
        ..
        #pet
        #visitAt: LocalDateTime
    }
}


PetOwner *-r--> "0..*" Pet
Visit "   \n*" -r->  Pet
Pet  "*" -u-> PetSpecies
----
