DocumentCategory
A universal classification entity for organizing documents by business purpose, type, or function. DocumentCategory provides a flexible hierarchical taxonomy system that enables systematic organization of documents across any domain. Categories can be defined globally for system-wide use or scoped to specific organizations for customized classification schemes. The hierarchical structure through self-referencing allows unlimited nesting depth to model complex classification taxonomies, from broad categories like 'Legal' or 'Financial' down to specific subtypes like 'Employment Contracts' or 'Tax Returns'. Each category includes visual properties (icon and color) to enhance user interface presentation and improve document discovery. The status field enables lifecycle management of categories without deletion, preserving historical classifications. Categories are designed to be stable, reusable classification points that remain consistent even as documents are added, modified, or archived. This entity is intentionally lean, focusing solely on classification structure while delegating concerns like retention policies to metadata systems and access control to dedicated permission domains. DocumentCategory serves as a foundational taxonomy layer applicable to document management systems, content repositories, knowledge bases, digital asset managers, and any system requiring structured document organization.
Properties
| Property | Type | Mode | Description | Required |
|---|---|---|---|---|
| name | string | stored | Human-readable display name of the category used in user interfaces and navigation menus Example: | Required |
| description | text | stored | Detailed explanation of what types of documents belong in this category, including scope and classification guidelines Example: | Optional |
| icon | string | stored | Icon identifier or CSS class name for visual representation in user interfaces, typically referencing an icon library Example: | Optional |
| color | string | stored | Color code in hexadecimal format for visual theming and category identification in user interfaces Example: | Optional |
| parentCategory | DocumentCategory | stored | Reference to parent category for hierarchical classification structures, enabling unlimited nesting depth for complex taxonomies | Optional |
| organization | Organization | stored | Optional organization reference for scoping categories to specific entities, null indicates a global system-wide category | Optional |
| status | string | enum | Current operational status of the category controlling its visibility and usability in the system Values: Example: | Required |
| sortOrder | integer | stored | Numeric value for controlling display ordering of categories at the same hierarchical level, lower values appear first Example: | Optional |
Examples
Example 1
{
"@type": "DocumentCategory",
"name": "Contracts",
"description": "Legal agreements, service contracts, employment agreements, and binding documents between parties",
"icon": "ri-file-text-line",
"color": "#3B82F6",
"parentCategory": null,
"organization": null,
"status": "active",
"sortOrder": 10
}Example 2
{
"@type": "DocumentCategory",
"name": "Invoices",
"description": "Financial invoices, billing documents, payment requests, and accounts receivable records",
"icon": "ri-bill-line",
"color": "#10B981",
"parentCategory": null,
"organization": null,
"status": "active",
"sortOrder": 20
}Example 3
{
"@type": "DocumentCategory",
"name": "HR Documents",
"description": "Human resources documentation including personnel files, policies, performance reviews, and employee records",
"icon": "ri-team-line",
"color": "#8B5CF6",
"parentCategory": null,
"organization": null,
"status": "active",
"sortOrder": 30
}Example 4
{
"@type": "DocumentCategory",
"name": "Technical Documentation",
"description": "Technical specifications, API documentation, system architecture diagrams, and engineering documentation",
"icon": "ri-code-box-line",
"color": "#F59E0B",
"parentCategory": null,
"organization": null,
"status": "active",
"sortOrder": 40
}Example 5
{
"@type": "DocumentCategory",
"name": "Marketing Materials",
"description": "Marketing collateral, promotional materials, branding assets, and customer-facing communication documents",
"icon": "ri-megaphone-line",
"color": "#EC4899",
"parentCategory": null,
"organization": null,
"status": "active",
"sortOrder": 50
}