Chapter 1. Introduction

ARTIO VM e-Tickets is a Joomla component for online electronic ticket creating, sales and validation. It allows creating and designing tickets, online generation, direct downloads and on-site validation. All using just web browser on desktop PC or mobile device.

This extension allows definition and sales of electronic tickets. These can be optionally limited by capacity (e.g. for concerts, conferences), binded to a specific place or seat (theatres, cinemas) or just open (ZOOs, exhibitions, fairs, fun parks, etc.)

The component allows to set different pricing options (adults, children, seniors), different prices for special areas (seat- or sector- based), multi-day actions, etc. It also allows to design own PDF ticket appearance.

Tickets may include EAN bar-codes, so the ticket validity can be easily confirmed using any device - static or mobile - that is able to read barcodes. The validation is also handled by the component. The component also allows administration part for at-counter ticket sales and reserved tickets pick-up.

Nothing else than this component and device with web browser (e.g. mobile phone, smart phone or PC with bar code reader attached) is needed for the whole system to run.

1.1. Technical Requirements

This component is fully compatible and tested with Joomla! Version 1.5.x. Apache 2.x or newer, PHP 5.1.x or newer, MySQL 5.0.x or newer. Before the component installation it requires Joomla 1.5x with VirtueMart 1.1.x pre-installed.

Chapter 2. Installation

2.1. Prerequisities

Joomla installer will announce errors and component will not be installed, until VirtueMart is installed properly.

Also make sure that all the needed directories (as requested by Joomla) incl. VirtueMart files are writeable.

2.2. Installation

The component is installed through Joomla standard installer in backend: Extensions → Install/Uninstall

The nstallation package contains all needed support libraries so the size of installation pack is about 2 MB. Some hostings maybe have the size of uploaded files limited, so it may be be necessary to increase this limit or upload the files using FTP.

Chapter 3. Administration (Back-end)

3.1. Settings

The first step to do after installation is to check and modify the component settings.

You can set here the default values, such as length of EAN code on your tickets or set names of attributes. This attribute names are used for special attributes, which are used for checking ticket validity. This incluude e.g. number of admissions (customer can use this ticket more times) or duration (ticket is valid for specific time – 1 week, 2 days, …).

3.1.1. Component Registration

At the registration tab, please register your component by entering your VM E-Ticket Download ID received when purchasing the component.

3.2. Organisations and Front-end Permissions

Organisation is an object, that has similar functionality as group of users. It is used to define and assign permissions to operate with individual tickets, such as to sell them using the front-end application interface.

There is no limit, you can create as much organisations, as you wish.

The logics behind is following: Each ticket has an owner. Owner is an organisation, which has full permissions to work with the ticket. It means the organization can use the front-end to sell and check tickets by EAN code, display and modify related orders (orders where the ticket is included). More details about the mentioned activities may be found in Front-end Functionality chapter.

Additionaly to an owner, you can set additional permissions for other organisations. These permissions can be se individually for different activity types. There are defined four permission types:

none: users in organisation can't see informations about this ticket

sell: allow users to sell tickets on cash desk

update: users can update the order status wherein the ticket is included

storno: users can remove the ticket from orders wherein the ticket is included

Please note: Assigning any of these permissions does not allow user to access Joomla administration (back-end).

3.3. Plugins (Seating Maps)

Plugins are used to display a dialog that allows users a seat selection (seating map). This is an optional feature for events, where tickets must be mapped to a specific seat. Typically this applies to objects with limited capacity, such as theatres, cinemas, etc.

More plugins with different settings may be defined. Settings are stored in XML file.

You can use different seat selection dialogues. Each dialogue is defined in a separate PHP file. You can use basic dialogue created using HTML, or custom-made Flash dialogues that allow nicer design and advanced user interactivity.

The default dialogue only defines two parameters: number of seats in a row and number of rows. This way, you can easily create layouts for different hall sizes of rectangular shape.

3.4. Objects (Places)

An object does represent an individual hall or event place.

For an object, you can assign a plugin that will be used for seats selection. This is optional and applies only to objects that have limited seating capacity and where a ticket must be assigned a seat.

You can also define seat sections.

3.4.1. Seat Sections

Seats sections are used for defining seat groups with different prices. (e.g. VIP sections, balconies, etc.)

You can create as many sections as you need, and assign seats into these sections. Seats numbers belonging to a section are specified in text form, separated by comma. If you have many seats in a section, you can save your time by specifying the seats using a range format (5-95). After saving, such range format will be automatically translated into the default format.

3.5. Orders

This view displays all VirtueMart orders, where any tickets are included.

At this page, you can change order status, print PDF file with tickets and EAN codes or edit and delete orders. The order detail page will redirect you to a default VirtueMart order detail page.

3.6. Tickets (Products)

This view displays a list of all VirtueMart products, that are of "ticket" type. This type is defined in VirtueMart and it allows you to sell common products (non-tickets) and tickets in the same shop at the same time.

3.6.1. Product Flypage Selection

However, for correct functionality, you need to assign the ticket-type products into different VirtueMart category that the other products (if you have any). For the ticket products you have to select “VmeTicketFlyPage.tpl” as a flypage. This flypage adds a speicific functionality to VirtueMart that will ensude, that all ticket attributes and selections will work fine.

3.6.2. Category Browse Page Selection

For a category including the ticket products, you should set the browse page value to “VMeTicketBrowsePage”. Tickets in such category will be displayed using a special template, that is specifically designed for tickets. The functionality allows e.g. filtering and sorting the tickets name, price or event date.

3.6.3. Creating Tickets

Tickets create and editing page is divided in four tabs.

3.6.3.1. Product Tab

Products tab contains basic attributes about product. This form is redundant to VirtueMart product detail in administration.

3.6.3.2. Attributes Tab

At this tab you can further specify detailed properties of a single ticket. These properties may be selected by customer when purchasing the ticket.

3.6.3.2.1. Ticket Parameters

Here you can set additional parameters related to ticket validity, durations and addmissions.

Giftbox

This option defines, whether customer can choose to have the tickets send by a classic post. If it is enabled, a shipping method selection will be offered at checkout. Otherwise the ticket is always just a virtual product, that can be downloaded as PDF file and printed at home.

Variable Start

This requires the Ticket Validity Start and End values to be entered and saved. When checked then the intervals between the selected days will be automatically generated and you can specify different prices for each event happening.

This can be e.g. used when an event is happening at multiple times per day or repeatingly in more days. For example, if you play a movie for one week, 3-times a day at 15:00, 17:00 and 20:00. Then these times and dates can be specified at this field. (2011-02-11 15:00). You can specify as many occurences as needed.

Ticket Validity Start and Ticket Validity End

Ticket validity start and end fields are contain dates. Between these dates the ticket is valid and can be used.

Durations

Specifies a duration of ticket validity. For example, if a festival takes a week, you can sell tickets for one, two, three or more days. This attribute requires also specific data format. First is a number, then space and next letter defines time unit (d – day, w – week, m – month, min – minute and h – hour). Next letters are variable (1 day, 2 days, 1 week, ...).

Admissions

Defines a number, how many times a ticket can be used. This allows you to create e.g. seasonal tickets with more admissions (10, 20, ...). This attribute requires integer value.

3.6.3.2.2. Variable Attributes

Here you can create custom attributes with custom names and values. The principle is the same as in VirtueMart, so you can use this e.g. to define ticket modifications for differnt visitor types (children / adults / seniors) or similar adjustments.

Each attribute has a field for price modification. This also works same as in VirtueMart. First, use a price modification sign (+, - or =), followed with a number value.

+ increases the original prices

- decreases the original price

= overrides the original price

3.6.3.2.3. Object Settings

Object Settings are related to seats selection. At this tab, you can select an existing object and define prices and colors for seat sections.

3.6.3.3. Ticket Template

For every ticket you can create you own layout and design using a WYSIWYG editor. The template created here is used for generation of the PDF tickets.

In the template, you can use following predefined fields:

[%name%] - ticket name

[%price%] - ticket price

[%order_date%] - the date of order creation

[%url%] - ticket URL

[%user_name%] - name of user, who created the order

[%ean%] - inserts image with unique and random EAN code

You can also insert your custom attributes or ticket parameters.

3.6.3.4. Ticket Permissions

At this tab, you can specify ticket-owner organisation and assign permissions for other organisations.

Defined Permissions field contains all existing organisations so you can assign permission for each of them individually. This definition is however used only when Ticket Sell Permission attribute is set to Defined.

The All option means, that all organisations have full permissions for this ticket.

The Owner options means, that all organisations except of owner do not have any permission for the ticket.

Chapter 4. Front-end Functionality

4.1. Browsing and Purchasing Tickets Online

Tickets are mapped on VirtueMart products, so there is no difference between buying tickets and other products.

Ticket detail page is based on VirtueMart fly page, but it is customized to display seats selection or some specific attributes. You can also use VmeTicketBrowsePage for your ticket category. On this page you can filter and sort tickets by their special attributes, such as validity date or event name.

4.2. Cash Desk (Counter) Sales

The component can be also used for counter (cash desk) sales. A special front-end view is available for this purpose. It is useful, when you want to sell tickets on cash desk, but you do not want to allow administration access for the sales employees.

4.2.1. Configuration

At the Tickets view you can select ticket types and currences, that may be sold at the cash desk. Only such tickets will be accepted.

4.2.2. Ticket Sales

At Sell Ticket view you can sell and print tickets at the cash desk.

4.2.3. Order Management

Orders view displays all orders that include tickets you are allowed to manage (this depends on ownership and permissions settings).

Depending on the permissions granted you may be able to edit orders. You can also print the tickets ordered (you can sell tickets by reservation method and print it on cash desk).

4.2.4. Reports

Order Management can also display a total price for all filtered orders. The price is calculated only from order items, where you (user) are the seller and it means that you have received the money for the tickets.

This is useful to check, if the amount of money collected at the cash desk matches with the sales of the day. The list of the tickets sold can be also printed out.

4.3. Ticket Validation

To validate tickets at an event, VMeTicket view is used. Using this view, the ticket validity is checked using the EAN code on the ticket (EAN code reader attached to a PC, mobile or special reading device can be used or the EAN code may be typed in manually).

Ticket validity is checked automatically based on an event you are checking, date and time, as well as whether it has been already used or not. The view then displays a result, whether the ticket is valid or not. If you confirm the entrance, number of allowances is reduced by one.