Child pages
  • Event Tickets - Magento 2
Skip to end of metadata
Go to start of metadata


Magento 2 Event Tickets extension allows almost any ecommerce business to sell tickets efficiently regardless of the main source of their profits. The shopping process is absolutely easy for customers, while the backend configuration opportunities make it possible to tailor the functionality to almost any business need. In addition, the provided REST API functionality and flexible architecture allow to easily connect it to any third-party solution.

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

Product Page

Thank you for choosing Aheadworks!

Installing Event Tickets

Installing mPDF Library

Before generating tickets, you need to install the mPDF library executing the following command at 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 contents of the Event Tickets installation package to your store root directory

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

cd path_to_the_store_root_folder


php -f bin/magento module:enable Aheadworks_EventTickets


php -f bin/magento setup:upgrade


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

5. Flush 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 composer repository to composer.json by running:

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

Use a key pair provided as login and pass. You can optionally save them in 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 name and version.

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

Getting Around

Business Advantages

The Event Tickets extension is useful for the businesses selling tickets to any marketing and promotional events directly related to a particular business. It allows any Magento-based company to generate additional revenues and precisely plan the flow of attendees.

  • The whole process of selling and purchasing event tickets is absolutely flexible and intuitive;
  • Using the extension is free for Magento merchants unlike the chargeable third-party services;
  • The design and management options of the extension are provided on the Magento side and easily accessible by Magento owners.

Event Tickets Frontend Use

Before using the extension Magento admins have to create and manage all the necessary elements of their future events, including Events, Venues, Spaces, Sectors, and Ticket Types. As soon as the configuration is finished the module allows customers to purchase tickets easily and conveniently.

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.

Entering the product page of an event a customer is able to easily and conveniently purchase the tickets they need. Tickets may have different ticket types (kids, adults, students) and belong to particular sectors (fan zone, VIP, dance floor). If the personalization functionality is set up by a merchant, in some cases, they also need to fill their name, email, phone, etc. Still, for the logged-in customers, these fields are pre-filled automatically. Next, they need to select the number of tickets and put them to carts. 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 is made up using one sector and one ticket type.

During the checkout process, they can also amend the number of purchased tickets as well. The purchased tickets are sent to the email specified by customers and 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 the purposes of security, 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 the tickets by QR and barcodes. 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

In order to enter the Venues configuration page follow the next path in the Magento backend: Catalog > Event Tickets by Aheadworks > Venues. In real life, venues are buildings or some specific locations hosting events.

The Venues grid is built of four columns: ID, Name, Address, and Status. The Add Venue button on the Venue page allows adding a new venue. The New Venue page includes three sections: General Information, Storefront Description, and Assigned Spaces.

The General Information section allows specifying its name, address (optional) and enabling the venue.

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

The Assigned Spaces includes all the spaces assigned to this particular venue. The grid consists of the next columns: ID, Venue, Name, Status, and Sectors Qty. If you need to configure a particular space, you can get to the space configuration page at the spot with 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.

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.

Event Management

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

The Events grid enumerates all past, running, and upcoming events and is made of 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 Page

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

The Add Event button allows creating a new event. Events are much similar to native Magento products except for two specific configuration sections: Event Ticket Options and Event Ticket Personalization.

Event Ticket Options

General Options

The section contains the following options:

  • Require Shipping - allows you to override 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

The Select Space Configuration button allows 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 existing options;
  2. Select Space. In accordance with the selected venue, next comes the grid of the spaces available for the selected venue. The list contains general spaces, available for all venues, and the spaces assigned to the venue selected above;
  3. Summary. The third step summarizes and displays the selected venue and space, and shows the sectors assigned to this particular selection.

This way, Magento admins can add any number of spaces to the event. 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 within 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. You can set options either as optional or required;
  • 'Apply to all ticket types' check box. You can share individual options among all the existing ticket types to save time on their manual creation from scratch;
  • Store view. You can assign this option to a particular Magento store view;
  • Option Title. The name of the option to be displayed on 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 of three sections: General, Email Settings, Ticket Number Pattern.

Extension Settings


  • Create Ticket by Order Status - contains all the available order statuses and allows you to select the one going to trigger tickets 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 - appoints a Magento customer group to be used by ticket takers for entering the frontend and getting access to the QR and barcode functionality scanning;
  • Tickets Require Shipping - specifies the status of your tickets and makes it possible to determine whether you are going to sell only digital tickets (with 'No') or you can also sell physical ones (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 those IDs:

  • Number Length - defines the length of ticket IDs;
  • Number Format - define s the format of the ID. Can be numeric, alphabetic, and 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 reading.

Redeeming Tickets

The Event Tickets module provides two ways of ticket redeeming: manually (for admins) or automatically (for particular users).

Manual Authentication

To authenticate tickets takers manually, 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 functionality described above, the extension also provides some more 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 without the necessity to involve the frontend user interface.



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 commands:

php bin/magento module:uninstall Aheadworks_EventTickets


Product Page

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.

  • No labels