Help desk
New ticket

Overview

How the queue looks right now. The data is synthetic, and the figures are worked out with SQL in app/stats.py.

Of the 44 tickets resolved so far, the average time to resolve was 21.2 h and 75% were resolved within their SLA.

Open by category

Open by priority

Average time to resolve, by category
How these numbers are worked out

Time to resolve is measured from when a ticket was created to when it was resolved or closed. "Within SLA" compares that moment with the due time set by the priority (sample policy: Critical 4h, High 8h, Medium 24h, Low 72h). The tickets are synthetic, so none of this says anything about real performance.

How to use this

  1. Start with the queue. Tickets that are not finished are listed first, with the one closest to its due time (or most overdue) at the top.
  2. Click a ticket to open it on the right. Press Esc or choose Close to go back to the list.
  3. Change what has changed. Set the status, priority or assignee, then Save. To resolve or close a ticket, write a short resolution first. The box appears when you pick Resolved or Closed.
  4. Write notes as you work. Everything you change is also added to the ticket's log automatically.
  5. Narrow the list with the search box, or open Filters for category, priority, assignee and overdue. Overview has the numbers.
Words you will see
SLA
The time a ticket is allowed to stay unresolved. Here: Critical 4 hours, High 8, Medium 24, Low 72. This is a sample policy I chose, not a real company's.
Due
When the SLA runs out. Past that, the ticket is overdue.
Status
Open, In Progress, Waiting on User, Resolved or Closed.
Assignee
The technician who owns the ticket.
Log
The history of notes and changes on a ticket.

Why I built this

I wanted to understand what a help desk does with a request from the moment it arrives to the moment it is closed, not only use a ticketing system. So I built a small one: create a ticket, give it an owner and a due time, write down what you tried, and record what fixed it.

All the tickets and names are made up by a script, and the due times follow a sample policy I picked. It is a demo, so the hosted copy forgets everything when it restarts.