uslimato
|

ITSM Ticketing

ITSM Ticketing

The ITSM module brings classic service management directly into HGE Uslimato: end users report incidents or service requests, agents work tickets in a dedicated workflow, and reporters track the status of their requests in their own desk portal.

What is the ITSM module?

The module covers two ticket types:

  • Incident — a disruption or outage affecting regular operations.
  • Service Request — a routine request (e.g. access, hardware, information).

Agent flow: Tickets land in a central queue. Agents pick up tickets, work them via comments and status changes, and close them. Internal notes and external replies are kept separate.

Desk portal: End users access a reduced interface under /desk. They see only their own tickets and can file new requests — without agent-level functionality.


Licensing

ITSM is a separate add-on license and is not part of the standard plans (Free, Starter, Professional, Enterprise). Activation is performed exclusively by the HGE Uslimato team through the HGE Uslimato platform.

Configurable feature flags (granular per tenant):

Feature flagEffect
agent_portalAccess to the agent UI at /tickets
end_user_portalAccess to the desk portal at /desk
asset_integration"Report issue" button on asset detail pages
email_notificationsAutomated email dispatch on ticket events
email_templatesCustom email templates per event
public_apiTicket endpoints in the Public API (/public/v1/tickets)
movement_linkLink a ticket to an asset movement

Quotas (defined on the add-on license, not on the standard plan):

  • max_agents — maximum number of agents (users with tickets:manage)
  • max_emails_month — maximum outbound notifications per month

Overruns are rejected with an error and recorded by automatic background checks.


Roles and Permissions

The ITSM module introduces three new named permissions into the existing RBAC system:

PermissionMeaning
tickets:createCreate new tickets (self-service and agents)
tickets:manageAssign, comment on, and change the status of tickets — the agent role
tickets:closeMove tickets to resolved / closed and reopen them

System group "ITSM Agent": Created automatically per tenant on license activation. Contains tickets:create, tickets:manage, and tickets:close.

Assignment: Administrators add users to the "ITSM Agent" group under Settings → Permissions or create custom groups with the desired ticket permissions. Changes take effect immediately, as with any other permission change.


Workflow

Tickets follow a fixed state machine:

open  ───▶  in_progress  ───▶  resolved  ───▶  closed
  │                │                                │
  └──▶ cancelled ◀─┴─────────────────── cancelled ◀─┘
StatusMeaning
openNewly created, not yet assigned to any agent
in_progressBeing worked on — an agent is actively handling the ticket
resolvedSolution proposed, awaiting reporter confirmation
closedFinally closed — no further changes allowed
cancelledAborted without a resolution (e.g. duplicate, not reproducible)

Only agents (tickets:manage) may change status. Closing additionally requires tickets:close.


Ticket prefix and number range

Every tenant has its own ticket number range. The number is generated on creation from a prefix plus a six-digit sequential counter:

TKT-000001
TKT-000002
TKT-000003

The prefix is configurable under Settings → ITSM → Ticket prefix. The default is TKT. The counter starts at 1 and is concurrency-safe per tenant.


Email notifications

When email_notifications is enabled, the system sends automated emails on six events:

EventRecipient
ticket.createdReporter + agent queue
ticket.assignedAssigned agent
ticket.comment_addedReporter (on external comments)
ticket.status_changedReporter
ticket.resolvedReporter (asking for confirmation)
ticket.closedReporter

Custom templates: With email_templates enabled, a custom HTML and plain-text template can be stored per event under Settings → ITSM → Email templates. Placeholders: {{ticket_number}}, {{ticket_title}}, {{ticket_status}}, {{assignee_name}}, {{reporter_name}}, {{comment_body}}.

Monthly quota: Outbound mail volume is checked against max_emails_month. Once the quota is reached, further mails are dropped and a quota alert is raised for the HGE Uslimato platform team.


Desk portal

The desk portal under /desk is the end-user view of ITSM. Only visible when end_user_portal is enabled.

  • Reduced navigation — no asset, process, or settings tabs.
  • The list shows only tickets that the signed-in user has reported.
  • "New ticket" dialog with required fields title, description, and type.
  • Status display and history are visible; comments can be added.

Agents continue to access the full queue via /tickets.


Asset integration

When asset_integration is enabled, a "Report issue" button appears on every asset detail page. Clicking it opens the ticket dialog and automatically links the asset to the ticket.

  • The link is bidirectional: tickets appear in the "Tickets" tab of the asset history.
  • Deleting an asset is blocked while open tickets reference it.
  • With the feature flag disabled the button is hidden and the asset link is ignored.

Public API

With public_api enabled, ticket endpoints are available under /public/v1/tickets. Authentication via API key, as with any other Public API route; see API authentication.

Scopes:

ScopeAllowed operations
tickets:readGET /public/v1/tickets, GET /public/v1/tickets/:id
tickets:writePOST, PATCH on ticket resources

Rate limits and usage metering apply in the same way as for the existing Public API resources.