Commitments go unmeasured
Response and resolution targets exist in a contract but not in the tool, so nobody finds out they were missed until a customer says so.
Paycon Ticketing Platform
A multi-tenant support operations platform for organisations that run a service desk for their own customers. Each operator gets a branded desk with its own domain, policies and data boundary — on one platform that Paycon builds, upgrades and operates.
The problem it solves
Response and resolution targets exist in a contract but not in the tool, so nobody finds out they were missed until a customer says so.
Serving customers under your own brand usually means a separate instance per client, or a shared instance that leaks whose it is.
Who changed the priority, who reassigned it, who saw the attachment — unanswerable once edits overwrite history.
The platform treats all three as first-class concerns: SLA clocks and escalation are part of the ticket model, operator branding is a tenant configuration rather than a deployment, and the audit record is append-only.
Modules
Each module is a deployable service with its own responsibility. Operators enable what they need; the contract between modules does not change per tenant.
Intake, queues, assignment, priority, custom fields per tenant, linked tickets, internal notes separated from customer-visible replies.
Business-calendar clocks for response and resolution, pause on customer-wait, and tiered escalation that notifies the next level when a target is at risk.
Email, SMS, WhatsApp and in-app messages from per-tenant templates, delivered by a worker that retries and records what was sent.
Articles with review state and helpfulness voting, surfaced at ticket creation so the obvious questions deflect before they become tickets.
Tickets and articles indexed continuously from the database, with tenant scoping applied at query time, not filtered afterwards.
A REST API published as an OpenAPI contract, and signed outbound webhooks with retry and dead-letter handling for downstream systems.
Uploads to object storage with virus scanning before a file is ever served, and signed, expiring download links.
Append-only audit tables for every state change, forwarded to your security information and event management system on a schedule.
Operator brand tokens — colours, logo, sender identity, domain — published to the edge so each tenant's desk loads as its own product.
White-label
An operator is a tenant with its own brand, domain, policy set and users. Adding one is a configuration change, not a fork — which is the only way a white-label product stays maintainable past the third customer.
| Layer | Enforcement |
|---|---|
| Request | Tenant resolved from hostname and token, then pinned for the request |
| Authorisation | Permission matrix evaluated per tenant and role |
| Data | Repository base class applies the tenant predicate to every query |
| Search | Tenant filter applied in the index query |
| Files | Object keys namespaced per tenant; links signed and expiring |
| Audit | Tenant recorded on every append-only entry |
Security posture
The platform is designed for operators who will be asked how their support data is handled. These are engineering controls built into the product — not a certification claim.
Role-based permissions evaluated per tenant, with a declared permission matrix rather than ad-hoc checks scattered through handlers.
Credentials held in a managed secret store, encryption keys managed by the cloud KMS, and no secrets in images or repositories.
Attachments scanned before they are retrievable; request payloads validated against schemas at the boundary.
Append-only audit records for state changes, forwarded off-box so they survive the system they describe.
Deployed in AWS ap-south-1 by default, so Indian operators keep support data in-country.
Versioned schema migrations, automated database backups and environment promotion through code rather than console clicks.
Architecture
One API service owns the transactional core. Everything with its own failure mode and retry story — notifications, webhooks, SLA timers, indexing, scanning, audit forwarding — runs as a separate worker behind a queue.
| Service | Responsibility | Shape |
|---|---|---|
| api-svc | Tickets, tenants, users, authorisation, OpenAPI surface | HTTP service |
| web-spa | Agent and customer interfaces, themed per operator | Browser app |
| notification-svc | Email, SMS, WhatsApp and in-app delivery with retries | Queue worker |
| webhook-svc | Outbound webhook delivery, signing, retry, dead-letter | Queue worker |
| sla-scheduler | SLA clocks and tiered escalation | Scheduled worker |
| search-indexer | Database changes to the search index | Queue worker |
| attachment-scanner | Virus scanning before files become retrievable | Queue worker |
| audit-forwarder | Append-only audit tables to the operator's SIEM | Scheduled worker |
| brand-publisher | Operator brand tokens to the edge | Queue worker |
Status: the platform is under active development by Paycon. Availability for a new operator is discussed against a current delivery plan rather than a public roadmap.
Operators
Tell us how many customers you support, what you have promised them, and what you run today. We will tell you honestly whether the platform fits, and when.