Firefox user notice:

Please use a different web browser to view this document.

Sorry for the inconvenience.


Magento 2 Event Tickets streamlines event ticket sales in your store. Configure events step by step by creating venues, spaces (up to individual sectors and number of seats), and tickets (of different types varied by specific criteria) for them. Define user groups entitled to check in tickets via QR codes. Flexibly manipulate with ticket personalization options by assigning particular ones to all ticket types or leaving as is - invidual per option. Sell particular products exclusively with tickets.

Compatibility: Magento Open Source 2.1.X - 2.3.X, Magento Commerce 2.1.X - 2.3.X

Thank you for choosing Aheadworks!

Installing Event Tickets

Installing mPDF Library

Before generating tickets, you need to install the mPDF library by executing the following command in the command prompt:

composer require mpdf/mpdf




Command Line Installation

1. Backup your web directory and store database

2. Download the Event Tickets installation package

 3. Upload the contents of the Event Tickets installation package to your store root directory

 4. In the SSH console of your server, navigate to your store root folder:

cd path_to_the_store_root_folder

run the following command:

php -f bin/magento module:enable Aheadworks_EventTickets


php -f bin/magento setup:upgrade


php -f bin/magento setup:static-content:deploy

5. Flush the store cache; log out from the backend and log in again

Make sure the installation is done from under the FTP administrator account. Otherwise, make sure to set 775 permissions to the store root directory after the extension is deployed.

Composer Installation

1. Log in to your customer account at and navigate to Account -> Composer access;

2. Configure your store to work with the Aheadworks Composer repository:

Add the Composer repository to composer.json by running:

composer config repositories.aheadworks composer in the Magento installation root.

Use the provided key pair as a login and pass. You can optionally save them to the global Composer auth file.

 3. You can start using AW Composer now.

 For extension names, navigate to Account -> Composer access.

 4. Open the root Magento directory on your server and send Composer the following command:

composer require <component-name>:<version>

Note: Use the previously copied component's name and version.

 5. Make sure that Composer finished the installation without errors. Flush the store cache, log out, and log into the backend again.

Getting Around

Business Advantages

The Event Tickets extension is useful for e-commerce businesses selling tickets to various events as means of generating additional revenues.

  • The whole event configuration process is intuitive and performed step by step;
  • The usage of the extension is free for Magento merchants unlike chargeable third-party analogs;
  • All the design and management options are provided on the Magento side and easily accessible by Magento owners.

Frontend Use

Before using the extension, Magento admins need create all the necessary elements of their future events, including venues, spaces, sectors, and ticket types. As soon as the configuration is completed, customers can purchase tickets for required events.

Shopping Process

Events are a new type of native Magento products and have own product pages much similar to any other product types. They are searchable by the internal Magento search functionality and filterable by layered navigation.

Event Page

Tickets may have different ticket types (kids, adults, students) and belong to particular sectors (fan zone, VIP, dance floor). If you set up the personalization functionality, customers will need to fill their name, email, phone, etc. Still, for the logged-in customers, these fields are pre-filled automatically.

Next, customers need to select the number of tickets before adding them to their shopping cart. That's all. After that, they can proceed to the shopping cart page and checkout.


Besides purchasing, customers are able to add tickets to wishlists, if the event ticket product was made up using one sector and one ticket type.

During the checkout process, they can also change the number of the tickets to be purchased. The purchased tickets are sent to the previously specified email address. They contain all the necessary information regarding the event, location, venue, sector, and seats. If needed, customers can print them out right there. The tickets also contain QR and barcodes and make it possible to scan them by ticket takers and send the information about used tickets straight to the Magento backend.

Ticket Taker Permissions

For security purposes, ticket takers are not allowed to enter the Magento store backend area. Instead, they are included in specific customer groups during the backend configuration process and able to scan tickets by QR and/or barcodes. In this way, the information about the past customers and used tickets is sent directly to Magento.



Backend Configuration


Events are the basic element of the extension and a new Magento product type created by the extension. All the other event properties are made grouped around events and create the whole tissue of the event tickets shopping process. So, setting up and configuring venues, spaces, sectors, and ticket types come first before the event management.

Venue Configuration

Venues are buildings or some specific locations hosting events.

In order to enter the venues configuration page, follow the next path in the Magento backend: Catalog > Event Tickets by Aheadworks > Venues.

The 'Venues' grid is divided into four columns: ID, Name, Address, and Status. With the 'Add Venue' button on the venue page, you can add new venues.

The 'New Venue' page includes three sections: General Information, Storefront Description, and Assigned Spaces.

New Venue Page

In the 'General Information' section, you can enable the venue and specify its name and address (optional).

The 'Store Description' section makes it possible to define the reference store view, venue's title, and description.

The 'Assigned Spaces' section encompasses all the spaces assigned to this particular venue. The grid consists of the following columns: ID, Venue, Name, Status, and Sectors Qty.

If you need to configure a particular space, you can proceed to the space configuration page by clicking the active link provided in the 'Name' column.


'Venue' is a filterable layered navigation attribute that allows customers to look for events held in different venues.

Space and Sector Configuration

Spaces are the areas of a particular venue and meant to be, for example, fan zones, dance floors, and table seats of a concert hall or nightclub. The Spaces configuration page is located at: Catalog > Event Tickets by Aheadworks > Spaces.

The Spaces grid contains the next columns: Venue, Name, Status (enabled/disabled), Sectors Qty. The Name column contains active links to be used to enter 'Edit Space' pages of particular spaces. In order to create a new space click the Add Space button.

The New Space page of the extension consists of three sections: General Information, Storefront Description, and Sectors.

New Space Page

General Information

  • Name - allows you to determine the space's name;
  • Enable Space - makes it possible to enable/disable a particular space;
  • Venue - assigns the space to existing venues or makes it available to be used by other venues with the 'Any Venue' option.

Storefront Description

  • Store View - allows you to assign the space to a particular store view;
  • Title - the space's title to be displayed on the frontend;
  • Description - the space's description to be displayed on the frontend.


  • Name - the sector's name;
  • SKU - the sector's SKU;
  • Enable Sector - the option enables/disables the sector;
  • Tickets Qty - the number of tickets available for the sector;
  • Store View - a Magento store view the sector belongs to;
  • Title - the sector's title to be displayed on the frontend;
  • Description - the sector's description to be displayed on the frontend.

The sum of all sector tickets determines the entire ticket capacity of the venue.

The Sectors section allows you to add any number of sectors with multiple Magento store views.

Ticket Type Configuration

Ticket can be also differentiated by types, e.g. for kids and adults, standard and VIP tickets. In order to create new and edit existing types of tickets please follow the path: Catalog > Event Tickets by Aheadworks > Ticket Types.

The Ticket Types grid contains four columns: ID, Name, Status, and SKU. Using the Add Ticket Type button you can add any number of ticket types for any circumstances and ticket conditions.

The New Ticket Type page includes two sections: General Information and Storefront Description. The options of the above sections are similar to the corresponding options described for Spaces.

New Ticket Type Page

Event Management

As soon as the required venues, spaces, and sectors are configured, you can finally start creating new events. The configuration is available in the same 'Event Tickets by Aheadworks' menu.

Events Grid

The 'Events' grid enumerates all past, running, and upcoming events and includes the following columns:

  • ID - event IDs;
  • Name - event names. The column contains active links to event Magento product pages;
  • Start Date - the date and time when the event starts;
  • End Date - the date and time when the event finishes;
  • Status - shows past, running, and upcoming statuses of the events;
  • Total tickets qty - the number of all tickets that can be purchased;
  • Used tickets qty - the number of used tickets;
  • Available tickets qty - the difference between the number of all available and used tickets;
  • Action - an active link to the detailed ticket page of a particular event.

By default, the events page shows upcoming and running events only. The past events can be fetched using the grid filtering options.

Tickets Grid

Tickets Grid

In order to see all the tickets generated for a certain event use the View Tickets links in the Action column. The page contains a grid with the next columns:

  • ID - ticket grid IDs;
  • Number - ticket autogenerated identification numbers;
  • Status - ticket status:
  1. Pending - for the tickets with pending orders. Such tickets are temporarily taken from stocks in order to prevent double booking;
  2. Unused - active still not used tickets;
  3. Used - the ticket is used in order to visit the event;
  4. Canceled - the tickets canceled for any reason.
  • Email Sent - the status of the emails with tickets (sent or not);
  • Order - an active link to the Magento order created to purchase the ticket;
  • Buyer Name - the name of the ticket customer;
  • Action - an active box used by Magento admins for managing tickets from the backend. The functionality is available for Used, Unused and Pending tickets.
  1. Used tickets: a) Cancel; b) Undo Check-in;
  2. Unused tickets: a) Cancel; b) Check in; c) Resend; d) Download Ticket;
  3. Pending tickets: a) Cancel; b) Activate.
  • Custom columns. Tickets can also contain some custom fields specified as required or optional fields for a particular event.


The 'Tickets to...' grid also allows Magento admins to massively export tickets to CSV files for further use in third-party solutions.

Creating a New Event

By cliking the 'Add Event' button, you can create new events. Events are much similar to native Magento products except for the two specific configuration sections: Event Ticket Options and Event Ticket Personalization.

Event Ticket Options

General Ticket Options

General Ticket Options

The section contains the following options:

  • Require Shipping - overrides the option specified in General Settings (see below). The option is used for either virtual (shipping is not required) or digital (shipping required) tickets.
  • Event Start Date - determines the date and time the event is going to be started;
  • Event End Date - determines the date and time the event is going to be finished;
  • Tickets Selling Deadline - event tickets selling deadline date and time.

Event Ticket Space Configuration

By clicking the 'Select Space Configuration' button, you may start configuring spaces for this particular event in three steps:

  1. Select Venue. The step makes it possible to add a particular venue to the current event choosing from the list of the existing options (previously configured venues);

  2. Select Space. Next comes the grid with the spaces available for the venue selected. The list contains general spaces, available for all venues, and the spaces assigned specifically to the selected venue;
  3. Summary. The last step summarizes and displays the info about the selected venue and space(s) and shows the sectors related to this particular selection.

Event Space Configuration

Thus, Magento admins can add any number of spaces to the event. In the same way, they can delete existing spaces and add new ones.

You can also provide product suggestions per sector. On the same product page, you can see the 'Select Products' button below each sector. By clicking the button, you will be able to select the products to be offered per the corresponding sector.

All the selected products will then be displayed in the form of a list.

Products for Events

At the storefront, the configured product suggestions cab be found on the corresponding event's page.

Product Suggestions per Sector

Event Ticket Personalization

Event Ticket Personalization

For personalization purposes, admins can add any number of custom options and option fields to events. The 'New Option' section consists of:

  • Option type:
  1. Name;
  2. Email;
  3. Phone Number;
  4. Text Field;
  5. Dropdown;
  6. Date.
  • 'Required' check box - set personalization options either as optional or required;
  • 'Apply to all ticket types' check box - share individual options among all the existing ticket types to save time on their manual creation from scratch;
  • Store view - assign this option to a particular Magento store view;
  • Option Title - the name of the option to be displayed at the frontend and backend.

Now when the event product is properly configured, you can save it in several ways with the right-top 'Save' button. You can save the current product and open a new product configuration page, save and close the configuration, or save and duplicate the existing product in case you have to arrange several similar events.

For configurable products, the logic is the following:

  • If a configurable product has the 'Can be Purchased Only With a Ticket' option enabled, all child products will inherit the behavior of the parent product.
  • If the configurable product has the 'Can be Purchased Only With a Ticket' option disabled, every child product will follow its own behavior.

Extension Configuration

The extension configuration section is available at Stores > Configuration > AHEADWORKS EXTENSIONS > Event Tickets.

The configuration page contains three sections: General, Email Settings, Ticket Number Pattern.

Extension Settings


  • Create Ticket by Order Status - lists all the available order statuses. Here you can select the one that will trigger ticket creation. If you, for example, sell tickets in installments ("attend now, pay later"), you need to select some other order statuses apart from 'Completed';
  • Ticket Management Group on Storefront - defines a user group eligible to verify purchased tickets through QR and/or barcode scanning;
  • Tickets Require Shipping - makes it possible to determine whether you are going to sell only digital tickets (with 'No') or physical ones as well (with 'Yes');
  • URL to The Events Category - the link that will be provided on the pages of the products available exclusively with tickets.

How to Make a Product Available with Tickets Only?

  1. Go to Catalog > Products.
  2. Open the settings page of the required product.
  3. Under the 'Event Ticket Related Options' tab, move the 'Can be Purchased Only With a Ticket' switcher to 'Yes'.

Making a Product Event-exclusive

Once you've applied the configuration to the product, the users will be able to see the alert on its page (along with the link specified in the extension settings).

Event-exclusive Product At the Storefront

Email Settings

  • Notification Email Sender - specifies the email address to be used for sending tickets to customers;
  • Ticket Email Template - the email template to be used to send tickets to customers;
  • Ticket Template PDF - the PDF template to be used as a ticket.


Email Template Variables

  • $ticket.getCustomerName - fetches the name of the customer;
  • $ticket.getCustomerEmail - fetches the email of the customer;
  • $ticket.getAttendeeName - fetches the name of the ticket recipient (actual attendee);
  • $ticket.getAttendeeEmail - fetches the email of the ticket recipient (actual attendee);
  • $ticket.getEventTitle - fetches the event product title;
  • $ticket.getEventDescription - fetches the content of the 'Full description' field on the event product configuration page;
  • $ticket.getEventAddress - fetches the address of the venue;
  • $eventStartDateFormatted - fetches the start date of the event;
  • $eventEndDateFormatted - fetches the end date of the event;
  • $eventImageUrl - fetches the image of the event.

Ticket Number Patterns

In addition to QR and barcodes, each ticket has its own unique ID, and Magento admins are able to define the pattern of each ID:

  • Number Length - defines the length of ticket IDs;
  • Number Format - defines the format of the ID. Can be numeric, alphabetic, or alphanumeric;
  • Number Prefix - the prefix to be added to the ID;
  • Number Suffix - the suffix to be added to the ID;
  • Dash Every X Characters - separates the ID for better readibility.

Redeeming Tickets

The Event Tickets module provides two ways of ticket redeeming: manually (for admins) or via QR codes (for particular user groups).

Manual Authentication

To authenticate tickets takers manually, you need to do the following:

  1. Go to the 'Events&Tickets' grid and click on the 'View Tickets' active link next to the required event.
  2. Select the required ticket(s) and choose the 'Check In' option in the 'Actions' box.

Manual Ticket AuthenticationChecking In Tickets

In order to check in event tickets, the following must be done:

  • A ticket taker must create a customer account on a website;
  • The created account must be assigned to the customer group specified in Stores > Configuration > AHEADWORKS EXTENSIONS > Event Tickets > Ticket Management Group on the Storefront;
  • The ticket taker must be logged in to their account on the device which will be used for checking in tickets.

If all the conditions are met, when the ticket taker scans a QR code, they will see the result of that operation on the dedicated page.

Ticket Info Page


If an attendee who doesn't have sufficient permissions will scan the QR code, they will be redirected to the event product page.


Other Functions

In addition to the above functionality, the extension also provides additional benefits for store owners and development teams.

  • Ticket Orders from the Backend

Magento admins are able to order and send tickets to customers right from the backend.


Refunding or canceling any order, either created by admins or customers, will not cancel the ticket - this has to be done manually by the admin.

  • Tracking of Tickets and Events

The events and sectors created by the extension have their own SKUs, so you can easily track their total and individual performances with the native Magento reports.

  • Sample data and Default Email Templates

The extension comes with some sample data and default email templates, so you can easily embrace all the aspects of the provided functionality.

  • Web API and Unit Tests

The code of the extension is covered by unit tests and includes REST API, so you can test its compatibility and integrate it with other solutions much easier.

  • Flexible Code Architecture

The flexible architecture of the provided code makes it possible to add new elements and customize the extension according to any business needs and purposes.


Uninstalling Event Tickets

Manual Removal

1. Disable the module by executing the following commands:

php bin/magento module:disable Aheadworks_EventTickets
php bin/magento setup:upgrade

2. Remove the extension files from the following folder:


Automatic Removal (via Composer)

1. Disable the module by executing the following command:

php bin/magento module:uninstall Aheadworks_EventTickets


Need Customization?

Magento 2 Custom Development Services by Aheadworks

You can always find the latest version of the software, full documentation, demos, screenshots and reviews at
License agreement:
Contact Us:
Copyright © 2019 aheadWorks Co.