Within the app, you can customize just about anything your customer interacts with using the Liquid templating language, similar to Shopify themes and notifications. Shopify has a great help section on this at https://shopify.dev/api/liquid/basics , and we'd encourage you to get familiar with this before continuing.
Below is a list of Evey-specific objects and custom filters. Of course, not all Shopify objects and properties will work within Evey, and the custom Evey objects and filters will not work in Shopify; they are separate systems, but we try to keep them similar where possible.
Objects
attendee
The attendee object is available within all ticket templates and notification templates. It represents the ticket holder and the unique ticket assigned to them. The attendee object has the following attributes:
attendee.ticket_number
The ticket number is the unique and sequential ticket number assigned to every ticket when they are generated. Therefore, no two tickets within an event will have the same ticket number.
attendee.ticket_code
The friendly code for a ticket that is given to the customer. By default, this is a "#" character followed by the unique ticket number, such as "#1001", similar to the order name in Shopify.
attendee.first_name
The first name of the attendee.
attendee.last_name
The last name of the attendee.
attendee. email
The email address of the attendee. This can be blank.
attendee.phone
The phone number of the attendee. This can be blank. This is a formatted output of the phone number that the customer entered when purchasing the ticket; it is a normalized number according to a country’s predominant formatting.
attendee.order_name
The order name/number that caused the attendee to be generated.
attendee.order_status_url
An authenticated URL to the customer's order status page for the order that generated the attendee.
attendee.token
The unique alphanumeric token is assigned to this attendee. This is the secret that makes the ticket only accessible to this customer.
attendee.ticket_url
A URL to the online ticket page for this attendee where they can view/manage their ticket information, present the QR code to be scanned, and any other instructions you've given them.
attendee.checkin_url
A URL to open the check-in interface for this ticket. By default, this is encoded into the QR code for all tickets.
attendee.barcode_value
The QR code value for the attendee, this is what the QR code will decode when scanned. By default, this is the checkin_url but can be overridden by the event organizer.
attendee.event_start_at
The start date/time for the event for this attendee. This is the same as `event.start_at` for one-time events without ticket type date overrides, but for recurring events or events with ticket, type date overrides, this would represent the date for this specific attendee.
attendee.event_start_at_date
The start date (no time) of the event for this attendee.
attendee.event_end_at
The end date/time for this event for this attendee. This is the same as `event.end_at` for one-time events without ticket type date overrides, but for recurring events or events with ticket, type date overrides this would represent the date for this specific attendee.
attendee.event_end_at_date
The end date (no time) of the event for this attendee. If an event doesn't span multiple days, then this will match the attendee.event_start_at_date.
lang
The preferred language of the attendee. This will use the language the customer selected on the storefront before purchasing their ticket or the default language of the storefront itself.
attendee.purchased_on
The date/time (UTC) of when the ticket was purchased or manually generated.
attendee.transferred_to
The attendee object that the current ticket was transferred. This is empty if this was not transferred.
attendee.transferred_from
The attendee object that the current ticket was transferred from. This is empty if this was not transferred from another ticket.
attendee.ticket
A ticket object represents the ticket type that the attendee purchased.
attendee.custom_fields
A map/dict object of custom fields collected on the attendee before checkout (or after on their ticket page). This object includes fields collected using the storefront popup integration, Shopify cart attributes, and Shopify line item properties. Example usage:
##{{ attendee.custom_fields['T-Shirt Size'] }}
event
The event object is available is all templates and represents the event itself. It can be used on tickets and notifications to display event information. The event object has the following attributes:
event.title
The title of the event. This will match the product title in Shopify in most cases.
event.date_type
The date_type attribute represents the type of event date the event organizer configured when setting up the event. This can be one of "one-time", "recurring", or "no-date". If this is empty then it should be assumed to be "one-time".
event.location_type
The location_type attribute represents the type of event location the event organizer configured when setting up the event. This can be one of "venue", "online", or "no-location". If this is empty then it should be assumed to be "venue".
event.location
The name/address of the location that is displayed to the attendee. This is empty for events with "no-location" location type, and has the value of "Online" for events with "online" location type.
event.location_url
The URL of the location that is displayed to the attendee, this could represent a link to directions on a map or some other website. This is empty for events with "no-location" location type, and has the value of the unique virtual event page URL for events with "online" location type.
event.start_at
The starting date/time as configured by the event organizer. This is empty and should be ignored for events that are not "one-time" date type.
event.end_at
The ending date/time as configured by the event organizer. This is empty and should be ignored for events that are not "one-time" date type.
event.contact_email
The contact email address for the event organizer. This is used as the reply-to address for notifications from the event organizer to the customer, as well as to be displayed on customer-facing components as a way to contact the event organizer.
event.tickets
A list of ticket objects, represents the ticket types that can be purchased by or assigned to attendees.
event.custom_fields
Custom fields can be used to enter any information you need about the event. These fields are then exposed in all liquid templates and APIs.
ticket
The ticket object is available as an attribute on the attendee as `attendee.ticket` or as a list on `event.tickets`. It represents the ticket type that was purchased or are available on the event. The ticket object has the following attributes:
ticket.title
The title of the ticket type as defined by the event organizer. This would match the variant title for ticket types that are also variants in Shopify.
ticket.variant_sku
The sku defined on the variant in Shopify for this ticket type.
ticket.variant_barcode
The barcode defined on the variant in Shopify for this ticket type.
ticket.price
The price of the ticket type as defined by the event organizer. This would match the variant price for ticket types that are also variants in Shopify.
ticket.group_size
If the ticket type is a group ticket then this will be a number greater than 1, otherwise it is always 1.
Filters
translate / t
The translate filter (or t for a shorter alias) can be used to display translated strings in templates. The translation strings are defined in the apps translation manager. It will use the preferred language of the attendee to select the appropriate translation string. For example
##{{ "events.general.event" | t }}
and for translation strings that require arguments:
##{{ "events.storefront.ticket_number | t: attendee.ticket_number }}
date
The date filter is another localization filter that allows you to format a date using a supplied date format as an argument. This filter is the same as the date filter but will also use the preferred language of the attendee (similar to the translate filter) to localize and translate parts of the formatted output. For example:
##{{ attendee.event_start_at | date:"%B %e, %Y" }}
The default templates use this to format dates according to date formats defined in the translation manager / locale files. For example:
{% assign date_format = "events.ticket_page.date_format" | t %}
##{{ attendee.event_start_at | date:date_format }}