Complaint Tickets
Triage resident-reported issues, hand them off to a technician with a committed response time, and manage exceptions.
What it’s for
When a resident reports a problem, it shows up here as a Complaint Ticket. This is where you assign it to a technician, keep an eye on it, and step in if something needs to change.
Residents create tickets from their own app — you can’t create one from here. Your work starts once a ticket already exists.
Where to find it
Sidebar → Complaint → Complaint Ticket, at /admin/complaint-ticket. Click any ticket to open its detail page.
Who can use it
- See the menu item and open the page — needs the view permission.
- See the ticket list and ticket details — needs get.
- Assign, cancel, or override a ticket — needs update. Without it, you can still open a ticket and see the action panel, but every button is greyed out with a note that you don’t have permission.
On this screen
At the top, four tiles you can click to filter the list: Open, Assigned, In Progress, and High Priority. Click one to filter, click it again to clear it.
Below that, the ticket table: Ticket ID, Title, Cluster, Priority, Status, Assigned To, Created Date. Use the search box or the priority filter to narrow it down further.
Open a ticket and you’ll see two columns: the ticket’s info and history on the left, and the Dispatch Desk — where you take action — on the right.
How to…
Assign a ticket to a technician
- Open the ticket.
- In Dispatch Desk, pick a technician and set an ETA (it must be a future date/time).
- Confirm. Technician and ETA are set together in one step.
If the ticket already has a technician, you’ll see a reassignment warning first — reassigning resets the ticket to Assigned, and the new technician has to start work again from scratch.
Change the priority
- Pick High, Medium, or Low from the Priority control.
- Save.
Works at any status except Rated.
Cancel a ticket
- Open a ticket that isn’t already
ResolvedorCancelled. - Click Cancel Ticket.
- Write a reason — this is required, you can’t skip it.
Override the status Use this only when something’s gone wrong and the normal flow can’t fix it — not as a routine action.
- Open “Override status.”
- Choose where the ticket should go. Choosing
Opensends it back to triage: the technician is unassigned and it starts over. - Write a reason — required every time.
- If you’re overriding into
Assigned, you’ll also need to set a new future ETA.
Field reference
| Field | Notes |
|---|---|
| Priority | High / Medium / Low |
| Assigned technician | Cleared automatically when a ticket is sent back to triage |
| ETA (estimated response) | Must always be a future date/time |
| Cancellation reason | Required to cancel |
| Override reason | Required for every override |
Rules & statuses
| Status | What it means |
|---|---|
| Open | Just submitted, nobody’s on it yet |
| Assigned | A technician is on it, with an ETA |
| In Progress | The technician has started |
| Resolved | Done |
| Cancelled | Closed without being fixed — reason on file |
| Rated | The resident has rated the resolved ticket |
Rated is the end of the line — these tickets can’t be reopened or reassigned. Resolved and Cancelled can only go back to Open, nowhere else.
Normally, a ticket becomes Resolved when the technician finishes their work and writes a completion note — that happens on the Complaint Ticket Progress page, not here. What you do here with Override is the exception path: you change the status yourself, with your own reason on record instead of the technician’s write-up.
Related pages
- Complaint Ticket Progress — where a technician logs their work and resolves a ticket.