Skip to content

System Entities

User

erDiagram
    User {
        string id PK
        string userName UK
        string name
        string emailAddress
        string phoneNumber
        boolean isActive
        boolean isAdmin
        string type
        datetime createdAt
        datetime modifiedAt
    }

    User ||--o{ Team : "teams"
    User }|--|| Role : "roles"

Fields:

Field Type Description Required
userName varchar Login name Yes
name varchar Display name Yes
emailAddress email Email Yes
phoneNumber phone Phone No
isActive bool Is active No
isAdmin bool Is administrator No
type enum User type No
password password Password Yes
defaultTeamId link Default team No

User Types (type):

  • regular - Regular user
  • admin - Administrator
  • portal - Portal user
  • api - API user

Team

erDiagram
    Team {
        string id PK
        string name
        string positionList
        string parentId FK
    }

    Team ||--o{ User : "users"
    Team ||--o| Team : "parent"

Fields:

Field Type Description Required
name varchar Team name Yes
positionList array Position list No
parentId link Parent team No

Role

erDiagram
    Role {
        string id PK
        string name
        json data
        json fieldData
    }

    Role ||--o{ User : "users"

Fields:

Field Type Description Required
name varchar Role name Yes
data json Entity permissions Yes
fieldData json Field permissions No

data Structure:

{
  "Contact": {
    "create": "yes",
    "read": "all",
    "edit": "team",
    "delete": "own",
    "stream": "team"
  }
}

Email

erDiagram
    Email {
        string id PK
        string name
        string subject
        text body
        bool isHtml
        enum status
        datetime dateSent
        string from
        string to
        string parentType
        string parentId
    }

    Email ||--o{ Attachment : "attachments"

Fields:

Field Type Description Required
name varchar Name/subject Yes
subject varchar Subject No
body text Email body No
bodyPlain text Plaintext version No
isHtml bool Is HTML No
status enum Status No
from varchar From No
to varchar To No
cc varchar CC No
bcc varchar BCC No
dateSent datetime Send date No
parentType varchar Parent type No
parentId varchar Parent ID No

Email Status (status):

  • Draft - Draft
  • Sending - Sending
  • Sent - Sent
  • Archived - Archived
  • Failed - Failed

Meeting

erDiagram
    Meeting {
        string id PK
        string name
        enum status
        datetime dateStart
        datetime dateEnd
        int duration
        string parentType
        string parentId
        string assignedUserId
    }

    Meeting }|--o{ Contact : "contacts"
    Meeting }|--o{ User : "users"

Fields:

Field Type Description Required
name varchar Meeting name Yes
status enum Status No
dateStart datetime Start Yes
dateEnd datetime End No
duration int Duration (minutes) No
description text Description No
parentType varchar Parent type No
parentId varchar Parent ID No
assignedUserId link Assigned user No

Meeting Status (status):

  • Planned - Planned
  • Held - Held
  • Not Held - Not Held

Call

Fields:

Field Type Description Required
name varchar Call name Yes
status enum Status No
dateStart datetime Start Yes
dateEnd datetime End No
duration int Duration (seconds) No
direction enum Direction No
description text Description No
parentType varchar Parent type No
parentId varchar Parent ID No

Call Direction (direction):

  • Outbound - Outbound
  • Inbound - Inbound

Task

Fields:

Field Type Description Required
name varchar Task name Yes
status enum Status No
priority enum Priority No
dateStart datetime Start No
dateEnd datetime Due date No
description text Description No
parentType varchar Parent type No
parentId varchar Parent ID No
assignedUserId link Assigned user No

Task Status (status):

  • Not Started - Not Started
  • Started - Started
  • Completed - Completed
  • Canceled - Canceled
  • Deferred - Deferred

Priority (priority):

  • Low - Low
  • Normal - Normal
  • High - High
  • Urgent - Urgent

Attachment

Fields:

Field Type Description Required
name varchar File name Yes
type varchar MIME type No
size int Size (bytes) No
sourceId varchar Source ID No
role enum Attachment role No

Note

Fields:

Field Type Description Required
name varchar Title No
post text Content No
type enum Type No
parentType varchar Parent type No
parentId varchar Parent ID No