Ticketing
Description
Ticketing is Enso's helpdesk and issue-tracking backend.
The package stores tickets, replies, attachments, statuses, tags, and tagged users, exposes create/show/update flows together with table/export endpoints, supports assignment and status transitions, and archives ticket attachments for download.
Installation
This is a proprietary package distributed through the private Enso registry.
Run the migrations:
php artisan migrate
The package reads config/ticketing.php to restrict assignable roles when needed.
Features
- Ticket CRUD plus dedicated show payloads.
- Reply, attachment, and tag submodules with their own route groups.
- Assignment workflow with notification delivery.
- Status history stored separately from the ticket row.
- Table bootstrap, data, and export endpoints for administration views.
- Enum-backed priority, type, and status values.
Usage
Main ticket routes:
- prefix:
api/ticketing/tickets - name prefix:
ticketing.tickets. - middleware:
api,auth,core
Core endpoints:
GET /POST /PATCH {ticket}DELETE {ticket}GET {ticket}PATCH {ticket}/assignPATCH {ticket}/updateStatusGET {ticket}/attachmentsGET initTableGET tableDataGET exportExcelGET createdByOptionsGET assignedToOptions
Submodule routes:
ticketing.reply.*ticketing.tag.*ticketing.attachment.*
Main model:
LaravelEnso\Ticketing\Models\Ticket
Relationships and methods:
attachments()replies()taggedUsers()tags()assignedTo()latestReply()statuses()assignTo(User $user)unassign()notify(string $path)
Enums:
PriorityStatusType
API
This package exposes its backend integration through the routes, controllers, services, jobs, and configuration points referenced in the usage examples above.
Consumers should rely on the published config keys, documented route groups, and explicit service classes shown in the examples. Internal helper classes, listeners, casts, and background jobs are implementation details unless the README calls them out as extension points.
Depends On
Required Enso packages:
laravel-enso/core↗laravel-enso/calendar↗laravel-enso/dynamic-methods↗laravel-enso/helpers↗laravel-enso/migrator↗laravel-enso/track-who↗
Companion frontend package:
External service dependency:
- Internal support workflow package designed for private Enso deployments
Contributions
are welcome. Pull requests are great, but issues are good too.
Thank you to all the people who already contributed to Enso!