Ticket sales flows

Ticket sales flows allow you to easily start selling tickets in Ticketmatic but also support setting up a more advanced ticket sales process that is better integrated in the website. Using ticket sales flows allows you to customize the ticket sales experience and interact with the website for a more integrated result.

Each account has a default ticket sales flow that is active for each event. The sales link for each event is available on the event detail page. This link can be used to instantly start selling tickets in a streamlined and mobile-friendly way, laid out the way you want (see “Styling” below).


You can retrieve the default ticket sales link through the Events app or in the ticket sales setup documentation.

Events app

  1. Go to the Events app and open the event
  2. Retrieve the default link under Sales flow links in the Extra information panel.

Styling and configuring ticket sales flows

You can style ticket sales flows by styling the webskin. See the webskin article for more details.

Go to webskin

The default ticket sales flow supports a simple and straighforward ticket sales proces and the default configuration is fine to get started. If you want, you can tune the ticket sales process from the Settings -> Ticket sales setup module.

Go to ticket sales setup

The ticket sales process is configured by specifying parameters. Parameters can be set at 2 levels:

  • at the setup level: these parameters will be used for all flows
  • at the flow level: these parameters will be used for the specific flow. You can override a parameter at setup level by re-specifying it at the flow level

ticket sales setup

For example: to set the default webskin to be used for all flows:

  1. Click on the edit button next to Widget parameters
  2. Add parameter skinid
  3. Set a value for the parameter
  4. Press Apply

Ticket sales setup documentation

Each ticket sales setup has its own private documentation link where you can find all the info necessary to integrate the ticket sales setup in the website. If applicable, the documentation will also contain al list of all event links, available in both html and json format.

The documentation link can be found in the Info panel of the ticket sales setup module. You can pass on this link to relevant external parties (like the web builder): everyone who has the link will have access to the documentation without needing a Ticketmatic user/password.


Integrated ticket sales flows

At the highest level, you decide whether you want to have ticket sales integrated in your web site or not.

Not integrated means that once your users click on a link to buy tickets on your website, they will be redirected to the Ticketmatic sales flow and will not come back to the website until the very end of the process.

Integrated means that your users can return back to the website after adding tickets to their basket, and choose to checkout the basket at a later time. They can conveniently browse the website with all the content available, and simply add tickets for multiple events to the basket.

Integrated is the recommended flow. It results in a convenient and user-friendly flow that uses the best elements of website and ticket sales pages without much confusion or overlap possible. On the website, users will find nice event content and convenient event browsing and the ticket sales flows can remain very clear without clutter.

The sales flow that is activated by default is a non integrated sales flow, available for all events.

You can switch to an integrated sales flow by:

  1. Implementing the basket plugin on the website
  2. Configuring the default sales flow to return back to the website after adding tickets by checking the Integrated checkbox in the ticket sales setup configuration.

Implementing the basket plugin on the website

The basket plugin is the easiest way to integrate a dynamic basket icon in the website. The basket icon will show how many tickets are in the basket and allows the user to go to the basket and checkout his order by clicking on the icon.

The basket plugin consists of a snippet of html that you need to include in the website and some css classes to style the plugin.

You can select from a list of icons and you can fine-tune the syle in CSS afterwards.

You can find all detailed info to setup the basket plugin on the documentation page of the ticket sales setup (see above).


Advanced ticket sales flow configuration

To configure a specific ticket sales flow, press the Edit button in the ticket sales setup configuration.

ticket sales flow

  • the code is the unique identification of the sales flow and is used in the link. It should only contain lowercase characters and digits
  • the name is the name of the flow, to be used in documentation and communication. Will not be visible to end users.
  • the description should contain a goo description of the flow and will be displayed in the ticket sales setup documentation

Config

The config of a ticket sales flow contains a list of one or more widget configurations. For each item, you define a start and end date and time: during that period the ticket sales flow link will redirect to that widget configuration. Periods should be consecutive, there should be no gap between periods.

For each item you configure the widget to use and the parameters to apply.

The example above shows a configuration where the ticket sales starts at 27/9/2018 at 9h00. Before that time, a simple message will be displayed.

Supported parameters

A ticket sales flow can either be a fixed link, or it can support one or more of following parameters:

  • event
  • product
  • extraevents
  • extraproducts

The supported parameters should be added in the querystring of the flow link, and as value you should use a comma-separated list of event/product codes. In the ticket sales setup documentation, you will always find the list of event-specific links when the event parameter is supported.

Availability

When the ticket sales flow supports an event parameter, the flow is by default available for all active events. If you want to restrict this, you can fill in the field Availability fielddefinition with an event fielddefinition. This field definition should be of type boolean and return true for the events that you want to make available for the flow.

When the ticket sales flow supports a product parameter, you can specify the product types for which the flow should be available.

Testmode

If the testmode checkbox is checked, the flow link will not redirect to the actual widget, but instead show a test page with the flow configuration.

Multilanguage

Sales flows are available in all active account languages. Simply specify query string parameter l with the preferred language code. For example: l=de for german. If you don’t specify the l parameter, the sales flow will be displayed in the default account language.


Passing contactid and/or orderid into the flow

For some advanced ticket sales flows it is necessary to pass the contactid and/or the orderid into the flow. Possible use cases:

  • There is an existing login system for the website, and website users are linked to Ticketmatic contacts. In this case, it makes sense to pass the contactid to the flow, so the user has to provide his personal data only once.
  • When the API is used to create and manipulate an order, it makes sense to pass the orderid to the flow to checkout the order.

Following steps are necessary to accomplish this:

  • Use the API to create a flowsession. You provide a contactid and/or an orderid, and you receive a token. settings/system/ticketsalesflows/flowsession
  • Pass this token as a parameter s in the flow.

Beware that the token you receive is only valid for a short amount of time (a few minutes).

Passing referral information into the flow

By using the referral parameter in a link, every time a new order is created this value will be saved with the order. This way you can add custom tracking to created orders.


Getting info on a finished flow

When a flow is finished, the user will be redirected to the url as specified in the returnurl parameter. Ticketmatic will add a parameter flowinfo to this url, containing a token. This token can be used to retrieve more info on the finished flow: you can retrieve:

  • the order that was created or handled
  • the contactid
  • the reason why the user was redirected to the returnurl

Use api call settings/system/ticketsalesflows/flowinfo/{token} to get this info.

The token you receive will only be valid for a short amount of time (a few minutes).


Widget and parameter overview

Widget addtickets

ParameterDescription
eventcomma-separated list of event ids
productcomma-separated list of product ids
flowthis parameter determines the flow of the widget. Possible values are checkout, return, basket or basketwithcheckout. Default value is checkout
reservemoreticketsif this parameter value has no, the basket page will not show the Reserve more tickets button. Default value is yes
saleschannelidthe web sales channel id that needs to be used. If not specified, the default sales channel is used
ticketinfocomma-separated list of ticket info fields that the user must fill in. default is empty: no extra ticket info will be requested. Possible fields are email and name
extraeventscomma-separated list of extra events that can be sold. The main purpose is upselling. Only suited for simple events without seatingplan and a limited number of prices
extraproductscomma-separated list of extra products that can be sold. The main purpose is upselling
editsee basket widget
panelssee checkout widget
oncompletionsee checkout widget
withauthenticationif this parameter has value yes, the user must be authenticated before being able to enter the wizard. If the user is not authenticated, a login-screen will appear. Default value is no
subscribeif this parameter has value yes, the user will be presented a subscription form. Default value is no

Widget basket

ParameterDescription
flowthis parameter determines the flow of the widget. Possible values are checkout or return. Default value is checkout
editIf the value is yes, the user can edit the basket (e.g. remove tickets). If the value is no, the basket is read-only. Default value is no.
reservemoreticketsif this parameter value has no, the basket page will not show the Reserve more tickets button. Default value is yes.
panelssee checkout widget
oncompletionsee checkout widget

Widget checkout

ParameterDescription
panelscomma-separated list of panels that should be shown. Default = all panels are shown. Possible panels: customer, delivery, payment, voucher
oncompletionwhat to do after completion of the order. Possible values are orderdetail or return. When orderdetail is specified, the customer sees an order detail page. If return is specified, the customer is returned to the specified returnurl.

Widget addoptionbundles

ParameterDescription
productcomma-separated list of product ids
withauthenticationif this parameter has value yes, the user must be authenticated before being able to enter the wizard. If the user is not authenticated, a login-screen will appear. Default value is no
saleschannelidthe web sales channel id that needs to be used. If not specified, the default sales channel is used
subscribeif this parameter has value yes, the user will be presented a subscription form. Default value is no
flowsee addtickets widget
ticketinfosee addtickets widget
reservemoreticketssee basket widget
editsee basket widget
panelssee checkout widget
oncompletionsee checkout widget

Widget subscribe

ParameterDescription
fieldscomma-separated list of fields to show, possible values are customertitle, address, phone, birthdate
requiredfieldscomma-separated list of fields that are required, make sure these fields are in the fields list too. Possible values see fields.
customfieldscomma-separated list of custom field ids
optinscomma-separated list of opt-in ids the user has to answer

Widget waitinglist

ParameterDescription
eventcomma-separated list of event ids

Widget authenticate

Supports skinid, l and returnurl. See Parameters available in all widgets

Widget message

ParameterDescription
titleTitle of the message
messageMessage itself

Questions?

We're always happy to help! Send us an e-mail