TicketLab Pro — Documentation
TicketLab Pro
Event ticketing, checkout and check-in for Joomla. TicketLab Pro brings event pages, paid and free tickets, registration, QR delivery, door scanning, organiser tools, refunds and reports into one Joomla package.
Requirements
- Current target platforms: Joomla 5.4 or 6.1; PHP 8.3 or later; a MySQL-compatible database.
- PHP GD, mbstring, DOM and JSON, with Joomla mail configured.
- HTTPS for live payments and camera scanning. Paid card sales need a Stripe account and outbound HTTPS.
- The supplied interface and email templates are in English (
en-GB).
Install and Configure
- Back up the site and database if upgrading.
- In Joomla administrator, open System > Install > Extensions and upload the TicketLab Pro package ZIP.
- Open Components > TicketLab Pro > Options > General and set currency, sender and support email, and an optional ticket logo.
- Keep Options > Payments in Stripe Test mode until a full test booking is complete.
- Enter a TDCLab update key under Options > Licence and Updates when a subscription and package release are available.
- Create an event and ticket type, publish a TicketLab Pro menu item, then test a free order and a paid test order.
The package includes a component, Line-up, Promo and Event Bar modules, and a system plugin that synchronises the update key with Joomla’s package update site. The key authenticates access to new releases; installed features continue to work without a TDCLab server connection.
Stripe Checkout and Webhooks
- Enable Stripe in Options > Payments, select Test mode and enter the matching keys.
- In Stripe, create an endpoint at
https://your-site.example/index.php?option=com_ticketlabpro&task=webhook.stripe, using the real public HTTPS domain. - Select
checkout.session.completed,checkout.session.expired,checkout.session.async_payment_succeeded,checkout.session.async_payment_failed,charge.refunded,refund.created,refund.updated,refund.failedandcharge.dispute.created. - Copy the endpoint signing secret into TicketLab Pro. Complete a Stripe test booking and confirm that the order becomes paid and tickets are issued.
Paid bookings use Stripe-hosted card checkout. TicketLab processes signed webhook events to reconcile payment and refund status. A pending order should not be treated as paid until confirmation arrives.
Optional tax, receipts and fees
Inclusive tax and receipts are off by default. To display inclusive tax, create an inclusive manual tax rate in both Stripe modes, enter their txr_ IDs, and configure the matching tax label, percentage and supplier details. Stripe can send its hosted receipt; TicketLab can include an itemised receipt in the ticket email. Optional percentage and fixed surcharges can be shown together or separately. Check the final total in Stripe test mode after changing these settings.
Create an Event
- Open Components > TicketLab Pro > Events > New.
- Enter the title and description, start date and time, optional doors-open and end times, venue, image, capacity and sales dates.
- Choose Required, Optional or Hidden for the event’s booking contact name and Town / City fields. Booking contact email remains part of checkout.
- Add any extra registration fields, assign organisers, choose the event’s publication state and save.
- Create at least one published ticket type and a menu item for the event or events list.
The event form also supports categories, metadata and map details. A Google Maps API key in Options > Google Maps enables assisted venue lookup.
Ticket Types
Open Ticket Types > New, choose an event, and set the title, price, optional capacity, quantity limits and sales window. A price of zero creates a free ticket type. Require attendee name collects a name for each chosen ticket. Attendees per ticket supports tickets covering more than one attendee. Each issued admission ticket has its own number, mobile page, QR code and PDF representation.
Registration Fields
Each event can collect fields once per order or per attendee. Text, email, telephone, text area, dropdown, radio, checkbox and checkbox-group types are available. Configure labels, required status, choice options, placeholder/help text and whether a field appears in administrator Orders or Attendees lists. A dropdown placeholder is shown before a choice is made. Avoid duplicating the event’s built-in booking contact name and Town / City fields.
Discounts and Add-ons
Discount codes support fixed amounts or percentages, event scope, date windows, use limits and per-order or per-attendee application. For a per-attendee code, the purchaser selects who receives the discount. Attendee names used for per-person limits are a practical matching key, not verified identity.
Add-ons can represent merchandise, programmes, food, drink, sponsorship, digital files or other items. Use a fixed price or a customer-entered contribution. Protected PDF or ZIP digital files can have download limits and expiry. On Nginx, block direct access to /media/com_ticketlabpro/downloads/ before uploading paid files.
Publish Pages and Modules
- Events List: upcoming published events.
- Single Event: one selected published event and its ticket types.
- Line-up Page: an event’s reusable performer, speaker or host profiles.
- Organiser Dashboard: sales, orders, ticket types, attendee exports and event editing for assigned organisers.
- Ticket Scanner: authorised mobile scanning and check-in.
The Line-up, Promo and Event Bar modules can be placed in Joomla template positions. Configure line-up profile types in Options > Line-up with one key|Label entry per line.
Organisers and Permissions
Assign a lead organiser and additional organisers on an event’s Organisers tab. Assigned users can manage that event and its ticket types from the frontend, view sales and recent orders, export attendees and open the scanner. Grant the component’s core.create permission to organisers who must create their first event. New events are assigned to their creator.
Use Joomla user groups and TicketLab Pro > Options > Permissions to control order management, refunds, reports, ticket scanning, exports and ticket-holder email. Administrators handle advanced event fields, organiser assignments and payment settings. Test a restricted group with a non-administrator account before using it at a live event.
Orders and Ticket Delivery
Free orders complete without Stripe. Paid orders use Stripe Checkout and issue tickets after confirmed payment. Inventory is temporarily reserved while checkout is pending; the hold duration is configurable in Payments options. TicketLab emails individual QR tickets and can attach a combined PDF. Customers can open mobile ticket pages or download printable PDFs.
Administrators use Orders for order details and ticket resend, Attendees for search, CSV export and check-in, Issue Comp Tickets for complimentary admission, and Email Templates for ticket-email wording.
Door Check-in
Enable the scanner in Options > Scanner, grant scanning permission, and provide staff with a Ticket Scanner menu item or event-specific link. An event can optionally use time-limited shared scanner access. Browser camera scanning needs HTTPS and camera permission; manual ticket search remains available.
TicketLab records valid check-ins and distinguishes already-used, invalid, refunded and wrong-event tickets. Optional early and late check-in windows can be enforced. Print an offline door list for an authorised fallback.
Refunds
Use an order’s refund actions for a full remaining-balance refund or selected tickets. For selected tickets, enter the amount actually paid after discounts; the ticket list shows original prices. An optional admin/cancellation fee reduces the Stripe refund amount. TicketLab checks the selected tickets and remaining refundable balance.
Stripe can report a refund as pending. TicketLab reserves the amount and keeps the tickets valid until success is confirmed. Keep refund.created, refund.updated and refund.failed enabled. If a refund remains initiated after a network interruption, check Stripe before trying again. The administrator Refunds view records the audit trail.
Reports and Exports
The administrator dashboard and Reports view show sales, tickets and attendance, with event filters and PDF export. Assigned organisers have their own frontend dashboard and attendee CSV export. Store exported personal data with appropriate access controls.
Licence and Updates
TicketLab Pro code is distributed under the GNU GPL version 2 or later; the package includes the licence text and third-party library notices. A Pro subscription can provide access to new downloads, authenticated updates and support. Enter the update key under Options > Licence and Updates for Joomla package update checks.
Quick Troubleshooting
- Paid order stays pending: check Stripe mode, webhook URL, selected events and signing secret.
- No ticket email: check Joomla mail delivery, sender address, paid status and the order resend action.
- Camera will not open: check HTTPS, browser camera permission and scanner access.
- Organiser sees no events: check event assignment, login and component permissions.
- Ticket rejected: check event, ticket/refund state, previous check-in and optional check-in window.
- No Joomla update: check that a newer package is published and the update key is saved.