---
# System prepended metadata

title: Wille - Calimero
tags: [wille]

---

# 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