-
Notifications
You must be signed in to change notification settings - Fork 41
Current features
- "Member" is the name we use in PanicHD to designate any Laravel app registered user. They may create and view their own tickets
- "Agent" is a member with management permissions on tickets in a specific category. Any member can have this permission on many ticket categories.
- "Admin" is any administrator in the ticketing system. He is able to control any possible functionality within it.
A ticket may be in the "New", "Active" or "Complete" list.
- "New" list: Tickets that are registered by non agents go first to this list
- "Active" list: Tickets that represent tasks we are working on or ones we have planned to do in the future
- "Complete": Issues that do not require any further action. This could be called "archive" also.
Main classification field for any ticket after the list. Any category is an independent ticket group, that may be managed by an idependent support team. As an example, you could have a category called "IT support" and another called "Human Resources". Every category contains:
- Assigned agents: Every category can have one or many assigned agents. These agents can have the "autoassign" role, which means that when any member registers a new ticket, one of the autoassign agents in the ticket category will randomly get that ticket assigned to him.
- A tag list: Many tags may be assigned to a single ticket by any agent with access. They are useful for locating tickets in the list. Each category has it's own and they can be colored.
- A sender e-mail: A specific sender email for the category may be set
Useful to help ticket managers identify which tickets should be attended first
I like to think of statuses as specific flow situations for the ticket. For example, any ticket in the "Active" list, may be in different statuses:
- Active, which is the default
- User pending: The agent asked for more information to the user and sets the ticket to this status. Once he gets the user response, he will change it to another one, for example turning back to "Active"
- External support: You've got all the information you need from the user, but need to contact some other company to solve that software issue. Until you get their response, the ticket keeps this status.
- Subject
- Status
- Description: As well as the obvious, it may contain directy pasted screenshots
- Intervention: It's meant to contain a taken actions resume for a ticket. It may be filled up automatically with information related on some ticket changes
- Attached files: All attached files can be renamed and have a description. Images uploaded got a generated thumbnail and may be viewed in a javascript gallery. Images can also be cropped.
As well as the fields visible by any member, agents and admins may see:
- Owner: The user that registered the ticket or the one the agent or admin connects to
- Visible / hidden: A hidden ticket will only be visible for agents in the category or admins. It won't be accessible to it's owner and he will not receive any related e-mail notification from it.
- Priority
- Start date: By default it is the same as the creation date, but may be set on any date on the future for better classification
- Limit date: It specifies a time when the ticket has to be complete. When this is set, the ticket will be scheduled to that time
- Tags
It consist in three main blocks:
A full screenshot with demo data:
It contains:
- A navigation button for each ticket list. The "new tickets" button is visible for Agents and Admins only
- Counters for each list. If the list is filtered, the counter is filtered and a filter icon is shown
- The administration buttons
On top of the page, just under the navigation menu, this panel contains lists and counters for every possible filtering criteria. It contains the following filters:
- Any agent is able to switch his current user level, from agent to user and vice-versa:
- As a agent: He will see all tickets in categories where he has agent permissions
- As a user: He will see the tickets he created in categories where he has no agent permissions
- Visible on new or active ticket lists. When the "limit date" field is set in a ticket, it will be scheduled to that time and it may be found in one of the possible calendar filters:
Besides these, it is possible to enable week and month filters and replace them with "next 7 days" and "next 14 days" filters by a configuration setting.
- Visible on complete ticket list only
- It is powered by Yajra Datatables.
- It is configured by default to reload on the server side, so any column reordening will get recent ticket updates
- Category level interaction: For any member that is an agent on some categories but not all of them, when selecting a category where he is agent, he will see all fields, but when he changes the category to another where he has not any role, the agent specific fields will hide
- Form validation: Attachments are the Achilles heel on any html form, but here we solved it doing an AJAX form validation: Any field or attachment error will be specified inline, and if the form validated successfully, user will be redirected to ticket list. The same system is applied to comment form.