@startuml
!include hdr.puml

title ServiceManager DB ER diagram

entity "SERVICEREQUEST" as servicerequest {
  *servicerequest_id : number <<generated>>
  --
  requesttime : datetime
  narrative : text
  userid : number
  *order_id : number <<FK>>
}
'note right: **clientid** and **userid** are not FK \nbecause these entities are not\npart of our DB

entity "INCIDENT" as incident {
  *incident_id : number <<generated>>
  --
  incidenttime : datetime
  businessprocess : text
  userid : number
  *servicerequest_id : number <<FK>>
}
'note right: **orderid** and **serviceid** are not FK \nbecause these entities are not\npart of our DB

entity "STATUS" as status {
  *status_id : number <<generated>>
  --
  statustime : datetime
  status : enum (from State Machine)
  narrative : text
  *incident_id : number <<FK>>
  *servicerequest_id : number <<FK>>
}

entity "CLIENT" as client {
  *client_id : number <<generated>>
  --
  name : text
  middlename : text
  surname : text
  phonenumber : text <<Unique>>
  email : text
  inn : number
  firmname : text
}

entity "ORDER" as order {
  *order_id : number <<generated>>
  --
  orderdate : datetime
  code : text <<Unique>>
  narrative : text
  cost : number
  *client_id : number <<FK>>
}

entity "SERVICE" as service {
  *service_id : number <<generated>>
  --
  code : text <<Unique>>
  description : text
  *incident_id : number <<FK>>
}

entity "SERVICEGROUP" as servicegroup {
  *servicegroup_id : number <<generated>>
  --
  code : text <<Unique>>
  description : text
  groupemail : text
  managerid : number
  *service_id : number <<FK>>
}

servicerequest ||..o| incident
servicerequest ||..|{ status
incident ||..|{ status
client ||..|{ order
service ||..|| servicegroup
incident ||..|| service
order ||..o{ servicerequest

'legend left
'||..|| - 1..1
'||..|{ - 1..*
'||..o{ - 0..*
'||..o| - 0..1
'endlegend

@enduml