Features
Everything support needs,
scoped to every role.
billetsys keeps status, ownership, conversation, attachments, and product context on one ticket — and adapts what each role sees so every screen stays focused on the work that matters.
The ticketing essentials.
The whole case on one ticket
Requester, company, status, category, entitlement, affected and resolved versions, assignments, external issue reference, ratings, and the full message history.
Five roles, one model
User, Superuser, TAM, Support, and Admin share the same ticket model with different depth of access, actions, and scope — each with a customizable role badge.
Public & private messages
Messages are public by default; switch them private to keep notes inside the matching role group. Every reply joins the ticket history.
Markdown editor
Write rich messages and articles with a Markdown editor, including inline attachment usage for richer troubleshooting notes.
Attachments everywhere
Keep logs, screenshots, exports, and documents with the ticket message or article where they matter, with view and download access.
Shortcuts & references
Ticket shortcuts plus ticket and article cross-references and mentions tie related records together.
Keep the conversation
and the answers together.
Two-way email
Outgoing notifications on new messages and status changes, plus incoming mail via POST /mail/incoming or scheduled IMAP/POP3 polling — all into the same ticket.
Per-user email format
Email integration respects per-user formatting preferences so notifications match how each person prefers to read them.
Knowledge base articles
Capture guides, workarounds, and reusable solutions as tagged articles with formatted bodies and linked attachments.
Global search
The header search spans tickets and articles from any page. Press Ctrl+K (or Cmd+K) to focus it instantly.
Reports & insight
Tickets by status, category, and company, volume over time, first-response and resolution times — scoped to the viewer's role.
PDF export
Turn a ticket or a report into a self-contained document to archive, review offline, or share outside the application.
Ready for real deployments.
CSV ticket import
Bulk-onboard a backlog from another helpdesk. Each row becomes a ticket plus an initial message; the framework extends to Jira and Bugzilla.
Branding
Customize the application's branding, including the logo, to match your organization.
Role-based authorization
Authentication establishes identity; authorization scopes ticket, company, and admin areas per role — a core design principle.
Sessions & captcha
Session inactivity handling, sign-out boundaries, and captcha support including the forgot-password flow.
TLS 1.3
Transport Layer Security v1.3 support keeps traffic between clients and the application encrypted.
Light & dark mode
A comfortable interface in both light and dark themes, built with shadcn/ui and Tailwind CSS.
A modern, open stack.
| Layer | billetsys uses |
|---|---|
| Backend | Quarkus framework on Java 25 |
| Database | PostgreSQL |
| Frontend | React + TypeScript, bundled with Vite |
| UI | shadcn/ui components with Tailwind CSS, Red Hat Text |
| Build | Maven and Make, with Node.js and npm |
| Support services | CAP (captcha) + Valkey via Docker / Podman Compose |
| License | Eclipse Public License v2.0 |
Stand up your support desk.
Clone the repository, set up PostgreSQL, and run billetsys in Quarkus dev mode with seeded users for every role.