Workspaces, projects, tickets
Reqdesk has a small, deliberate hierarchy:
workspace└── project └── ticket ├── replies ├── attachments └── audit logWorkspace
The unit of access. A workspace has its own members, plan, billing, audit log. Cross-workspace data leakage is impossible by construction — the database cannot return rows from a workspace you are not a member of.
A user can be a member of many workspaces, but each membership has an independent role.
Project
Within a workspace, projects are how you split traffic. “Engineering”, “Billing”, “Sales”, “VIP”. A workspace ships with a default “General” project. Each project has its own categories, SLAs, automations, and members.
A user can be in some projects of a workspace but not others — the workspace member-list and the project member-list are different.
Ticket
A ticket lives in a project. It carries a subject, a customer, a category, a priority, an SLA target, an owner, replies, attachments, tags, and an append-only audit log of every change.
When the customer replies through the widget or portal, a new reply is appended to the ticket. When an agent replies, the same. When the status changes, the audit log notes who changed it and when.