September 15, 2024 | 7 min read

Smart Eventact Forms Logic with Expressions

Eventact's "Expressions" feature offers event organizers a powerful tool for creating highly customizable and dynamic registration forms. By leveraging expressions, organizers can implement complex logic to control the visibility of entire forms, specific pages, fields, ticketing options, accommodation choices, and more. This allows for crafting a tailored registration process that meets the unique needs of any event.

Choices

Enhanced Flexibility for Event Personalization

Expressions enable organizers to control and personalize the registration and abstract submission experience based on attendee demographics, previous selections, and user preferences. This is particularly valuable for large-scale events, where organizers need to tailor options, forms, content, or ticketing choices to different participant groups.

Expression Editor and Functionality

Eventact provides an intuitive expression editor for defining advanced rules. The editor allows for the creation of simple conditions by selecting a field, a static value, and the desired relational operator (e.g., equal to, greater than):

{{Contact.Country}} = 'USA'

Additionally, expressions can be used to dynamically introduce options and registration steps based on earlier selections. For instance, if a participant selects a specific workshop ticket, the system can automatically trigger additional questions relevant to attendees of that workshop.

Built-in Functions

For more complex scenarios, Eventact offers a free-form text editor that supports advanced logic through built-in functions. These functions allow for more intelligent customization, such as basing logic on the registrant's country classification (e.g., EU, developing nation) or checking whether an abstract submitter has registered for the event.

Function Categories and Examples:

EACF-type functions:

These functions operate without parameters. To invoke them use the function name in a square bracket.

[EACF_isNotPaxMember]

[EACF_isNotPaxMember] = 0

Registration Functions

isregistered(contactID) - Check if the current registrant has registered to the current event.

isregisteredtoevent(contactID, EventID) - True if the current registrant has registered to the specified event. The specified event can be the current event or any other event under the same account.

isregisteredtoformbypersonidtxt(personID, formID) - True if the current registrant has registered to the specified form.

isregisteredtoformbypersonid(personID, formID) - True if the current registrant has registered to the specified form.

isnotpaxmember(contactID) - True if the current registrant is not already selected as an accompanying person by another registrant.

haskids(contactID) - for recreation registration with family members. Check if the registrant selected to bring children.

hasabstracts(contactID, eventID) - has abstracts that are not incomplete.

absisaccepted - The registrant has submitted an abstract that is in Accepted status.

Previousorders(contactID, RegID, PriceListGroupID) - This function returns the number of orders the person made from the price list group.

For example, if the registrant selected a workshop to present additional options relevant to only workshop participants: use the HTML tag code <code class="highlight" ?></code> for those expression examples:

previousorders({Contact.ContactID},{Registration.RegID},12345) < 1

12345 is the price list group ID. This expression will be true if the registrant has not ordered items from a specific price list group.

Expressions with Countries

You can use the standard {Contact.Country} to return the country name and {Contact.CountryISO} to get the 2 letters ISO code of the person country. For expressions that check if a country is a specific country, we recommend ussing {Contact.CountryISO} because the 2 letters code of a country is language independent, well known, and does not change.

Countries

islmccountryid(countryID) - Returns true if the registrant's country is listed as "Low Middle Income Country" or "Low-Income Country".

islmccountry(countryName) - Returns true if the registrant's country is listed as "Low Middle Income Country" or "Low-Income Country".

isdevelopingcountry(countryName) - Returns true if the registrant's country is listed as "Developing Country".

isdevelopingcountrybyid(countryID) - Returns true if the registrant's country is listed as "Developing Country".

iseucountrybyid(countryID) - Returns true if the registrant's country is an EU Country.

iseucountry(countryName) - Returns true if the registrant's country is an EU Country.

getcountryincomeclass(countryName) - Returns the income class of the registrant's country:

Expressions

Expression with Date Values

Calendar

When you need to write a date value to compare it with a field holding a date you can use the following formats:

22-04-2024

April 21, 1980

More Functions and Assistance

This list of built-in expression functions is not exhaustive. If you need assistance in implementing specific logic for your event, please don't hesitate to contact our support team. We're always happy to help you get the most out of Eventact.

Your Feedback and Suggestions

Your feedback and suggestions are invaluable to us. Please send us your thoughts on how we can continue to enhance Eventact's Expressions feature and empower you provide an even better experience to event attendees.

Read more