PHPackages                             consolidate/ticket - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. consolidate/ticket

ActiveLibrary

consolidate/ticket
==================

Core of the Consolidate ticket system

v1.0.0(10y ago)08MITPHPPHP &gt;=5.4

Since Sep 11Pushed 2y ago1 watchersCompare

[ Source](https://github.com/consolidate/ticket)[ Packagist](https://packagist.org/packages/consolidate/ticket)[ RSS](/packages/consolidate-ticket/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (7)Versions (2)Used By (0)

ticket
======

[](#ticket)

Consolidate event driven ticket system

Goal
====

[](#goal)

To create a flexible and extensible event-driven ticketing system that is easy to integrate with existing data sources and systems.

The priorities are:

- Easy to configure
- Easy to extend
- Easy to debug

Simple example
--------------

[](#simple-example)

```
use Consolidate\Ticket\Ticket;
use Consolidate\Ticket\Event\TicketEvent;
use Consolidate\Ticket\Data\Status;

use Symfony\Component\EventDispatcher\EventDispatcher;

$dispatcher = new EventDispatcher();
$dispatcher->addListener('ticket-set-status', function (TicketEvent $event) {
    if ($event->getData() == 'Working On' && $event->getTicket()->getWorker() == 'Mike') {
        $ticket->addTag('PR Disaster');
        $ticket->addComment('This ticket has been touched my Mike. It is possible to salvage it if we act right now!');
    }
});

$ticket = new Ticket();
$ticket->setEventManager($dispatcher);

$ticket->setWorker(new Participant('Mike'));
$ticket->setStatus(new Status('Working On'));
$ticket->addComment('Told customer to shove it!');
```

Import from sources
-------------------

[](#import-from-sources)

```
$importer = new Importer(new SMTP());

$dispatcher = new EventDispatcher();
$dispatcher->addListener('importer-new-ticket', function (TicketEvent $event) {
    $ticket->setChannel(new Channel('Sales'));

    foreach ($ticket->getData(['Consolidate\Ticket\Data\Comment']) as $comment) {
        $language_detected = $language_detector->detect((string)$comment);
        $ticket->addTag($language_detected);
    }
});
```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3902d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/415488?v=4)[Thomas Shone](/maintainers/xsist10)[@xsist10](https://github.com/xsist10)

---

Top Contributors

[![xsist10](https://avatars.githubusercontent.com/u/415488?v=4)](https://github.com/xsist10 "xsist10 (35 commits)")[![arcturial](https://avatars.githubusercontent.com/u/1466729?v=4)](https://github.com/arcturial "arcturial (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/consolidate-ticket/health.svg)

```
[![Health](https://phpackages.com/badges/consolidate-ticket/health.svg)](https://phpackages.com/packages/consolidate-ticket)
```

###  Alternatives

[laravel-zero/framework

The Laravel Zero Framework.

3371.4M369](/packages/laravel-zero-framework)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[ringierimu/state-workflow

Laravel State Workflow provide tools for defining and managing workflows and activities with ease.

3251.1k](/packages/ringierimu-state-workflow)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
