Skip to main content

Ticket System — Introduction

The Rhino Group Ticket System is a heavily customized osTicket installation that serves as the central help desk and project management platform for all Rhino Group client communications. It is deployed at tickets.rhinogroup.com and provides ticket creation, AI-powered triage, time tracking, budget management, and multi-channel alerting.


Technology Stack

ComponentDetails
Base PlatformosTicket (open-source help desk) — heavily customized
PHP VersionPHP 8.4+ (Laravel Herd on dev, production server)
DatabaseMySQL (managerhinogroup database, ost_ table prefix)
Web ServerApache (.htaccess) with IIS fallback support (web.config)
Frontend BuildVite 5.4 + Gulp (dual build system in custom/)
CSSSCSS compiled via Gulp/Sass, Bootstrap 4.6
JavaScriptES6 modules, Algolia InstantSearch, TinyMCE 6, mmenu-js
SearchAlgolia (rhinotickets_index_dev)
AIGoogle Gemini API — direct REST (urgency analysis + knowledge assistant + note optimization), modular Suma\AI namespace with php-chatbot architecture
Vector DBPinecone (ticket embeddings for AI retrieval, multi-source semantic search)
Time TrackingHarvest API integration (per-staff OAuth2, native timers, direct time entry)
SMSTwilio (critical alerts)
EmailMicrosoft 365 OAuth (Graph API)
Project ManagementAsana API integration
AnalyticsKoolReport Pro
VersionSUMA_SCRIPT_VERSION = '1.0.1136'

Key Customizations Over Stock osTicket

The system extends osTicket with the following major custom features:

  • AI-Powered Triage — Gemini analyzes tickets for urgency (LOW → CRITICAL), estimated hours, and suggested titles via direct API with model fallback chains and staff reply urgency cap
  • AI Knowledge Assistant ("the Rhino") — Modular chatbot (php-chatbot architecture, Suma\AI namespace) using Pinecone vectors + Gemini streaming for staff knowledge retrieval across tickets, client sites, wiki, docs, and GSM properties — with ticket/agent context awareness and organization-level issue analysis
  • AI Analysis Snapshots — Historical tracking of how AI urgency evolves over a ticket's lifetime, with searchable staff history page
  • Budget Management — Harvest time tracking integration with tiered over-budget locking and PM unlock workflow
  • Direct Harvest Time Entry — Staff log time from the ticket page via per-staff OAuth2, with native timers and AI note optimization
  • Per-Ticket Watch — Watch individual tickets for client reply notifications, with auto-watch on escalation
  • Client Escalation — Emergency (immediate email + SMS) and normal (daily digest) escalation paths
  • Algolia Search — Replaces osTicket's built-in search with faceted, real-time search
  • Browser Notifications — Desktop and in-app notification system with per-event subscriptions
  • Documentation-Before-Close — Per-organization flag requiring documentation before ticket closure
  • Multi-Channel Alerts — Email, SMS (Twilio), and browser notifications for critical events
  • Custom Form Fields — AI urgency, estimated hours, timeline, suggested title, budget hours, escalation level
  • Modern Frontend — Vite/SCSS build system with Shadow DOM isolation for the AI widget
  • Ticket Number URLs — User-visible URLs use ?number= (display number) instead of ?id= (internal DB key)
  • Gemini Queue Logging — Dedicated file-based logger with daily rotation, queue state snapshots, and per-ticket processing diagnostics
  • Admin Toolkit — Staff ID 1 quick-action tools (run AI analysis, temp unlock, test alerts, Algolia reindex)
  • Staff Changelog — In-app changelog page accessible from the Links dropdown

User Roles

RoleAccess LevelDescription
AdminFull system accessSystem configuration, staff management, all settings
Project Manager (PM)Budget unlock, documentation ackBudget unlock authority, documentation review, all tickets
Staff/AgentAssigned tickets, department-basedDaily ticket handling, responses, notes, time tracking
ClientOwn + organization ticketsTicket creation, replies, escalation, knowledge base

Documentation Sections

SectionAudienceDescription
DeveloperDevelopersArchitecture, database, AI system, plugins, APIs, integrations, dev setup
Admin GuideSystem AdminsSystem settings, staff management, departments, email, AI config, analytics
Agent GuideStaff/AgentsDaily ticket handling, responses, escalation, AI assistant, notifications
Client PortalClientsCreating tickets, managing tickets, responding, escalation, knowledge base

Production URL

The ticket system is accessible at:

  • Staff Panel: https://tickets.rhinogroup.com/scp/
  • Client Portal: https://tickets.rhinogroup.com/
  • API: https://tickets.rhinogroup.com/api/

Source Repository

The source code lives at Z:\Repos\ticket-manager and is version-controlled in Git. See the Development Setup guide for local environment configuration.