# Wille - Calimero ###### tags: `wille` ## Domenski model ```plantuml PartialComplaintResponse "*" --> "1" ComplaintReason : complaintReason Complaint "1" --> "*" PartialComplaintResponse : partialCOmplaintResponses Complaint "*" --> "1" Court: complainTo Complaint "*" --> "1" Court: createdBy Complaint "1" --> "*" Post: posts ComplaintCase "*" --> "1" Court: complainOn ComplaintCase "1" <-left- "*" Complaint Complaint "*" --> "1" ProcedureRole : procedureRole Complaint "*" --> "1" NaturalPerson: complainantNp Complaint "*" --> "0..1" LegalPerson: complainantLp ResourceLink ..> "from" ComplaintCase ResourceLink ..> "to" ComplaintCase Complaint "1" <-- "*" ComplaintDocument ComplaintDocument "1" --> "*" Post ComplaintDocument "*" --> "1" Court: from ComplaintDocument "*" --> "1" Court: to class ComplaintCase { uuid: String number: String courtCaseNumber: String } class Complaint { number: String creationMethod: ComplaintCreationMethod state: ComplaintCaseState text: String closeDate: Date response: ComplaintResponse } class PartialComplaintResponse { response: ComplaintResponse } class ComplaintReason { uuid: String name: String } class ProcedureRole { uuid: String name: String } class ResourceLink { } class ComplaintDocument { uuid: String name: String } enum ComplaintCreationMethod { SYSTEM, PERSONALLY, MAIL, POST_OFFICE } enum ComplaintState { NEW, IN_PROGRESS, REJECTED, CLOSED } enum ComplaintResponse { } 'FROM CORE SystemUserProfile o--> SystemUser SystemRole "*" -right-> "*" SystemAuthority SystemUserProfile "*" --> "*" SystemRole SystemUserProfile "*" --> "*" SystemAuthority NaturalPerson -up-|> BusinessEntity Institution -left-|> BusinessEntity Court --|> Institution Court "*" --> "0..1" Court : parent WilleUser "*" -up-> "0..1" Institution WilleUser "1" -down-> "1" SystemUserProfile NaturalPerson "1" <-- "*" WilleUser class BusinessEntity { identificationNumber: string contacts: Set<string> emails: Set<string> details: Map } class Institution { name: String taxNumber: String address: String } class NaturalPerson { firstname: string lastname: string fatherName: String city: string street: string streetNumber: string } class SystemUserProfile { uuid: String image: byte[] details: Map ownerUuid: string } class SystemUser { uuid: String firstname: String lastname: String email: String, username: String, password: String } class Court { } class WilleUser { status: WilleUserStatus representative: Boolean authPoaNumber:String email:String contact: String } enum WilleUserStatus { ACTIVE, AWAITING_APPROVAL, UNREGISTERED, INACTIVE, UNKNOWN } 'CORE CLOSE class Post { } ``` ## Spisak veb notifikacija i email obaveštenja