Rules
A rule is a set of conditions that decide whether something matches. The same rule builder is used in several places: assigning a ticket to a check-in queue, deciding what happens when an order is confirmed, and choosing which badge or NFC template to use. This page explains how the builder works. The fields you can match on depend on what the rule is about: see Ticket rules and Order rules.
Conditions
Section titled “Conditions”A condition tests one field against a value. You choose a field, an operator, and a value. The operators you can pick depend on the field:
- Text and identifiers: is, is not, contains, does not contain, starts with, ends with, is one of, is empty, is not empty.
- Numbers, money, and dates: is, is not, greater than (or equal), less than (or equal), between, is one of.
- Yes or no / checkboxes: is.
Text comparisons ignore capitalisation, so alex matches Alex. Comparisons on a fixed list of options (such as a status or a tag) match exactly.
Condition groups
Section titled “Condition groups”Conditions live inside a group that combines them:
- All matches only when every condition in the group matches.
- Any matches when at least one condition matches.
Groups can contain other groups, so you can build things like “ticket type is VIP and (add-on is Dinner or add-on is Brunch)”.
Matching related records
Section titled “Matching related records”Some fields belong to a record related to the one the rule is about, such as the attendee on a ticket, or the tickets in an order. There are two ways to use them:
- A field on a single related record. You can read one field of a directly related record, for example the attendee’s email on a ticket. This reaches one step only: you can match the attendee’s email, but not the attendee’s employer’s name.
- Matching across a collection. When a record has many related records (an order’s tickets, a ticket’s add-ons), you match with a quantity:
- Any of them match your conditions.
- All of them match.
- None of them match.
- A count of how many match (for example, at least three tickets).
Advanced options
Section titled “Advanced options”Each condition has advanced options:
- Reverse the condition so it matches when the test does not, making it the exact opposite.
- Treat an empty value as a match. By default a condition does not match when the field has no value; you can choose to match instead.
Things to watch for
Section titled “Things to watch for”- A missing or deleted link never matches. If a ticket’s order has been removed, conditions on that order simply do not match, and you cannot reverse that into “matches when the order is missing”.
- Removed option values stop matching. If an option (a status, a tag) is later deleted, a rule that referred to it quietly stops matching rather than erroring.
- Cancelled and refunded add-ons drop out. They are not counted when you match across a collection, which changes an “all”, “none”, or count result.
- Age is the attendee’s age at the event, not today. Age is worked out from the attendee’s date of birth and the event’s start date, so “age is 18 or more” means they will be 18 or older on the event’s start date, not on the day the rule runs. A ticket with no date of birth reads as having no age.
- The first matching rule wins. Where a place uses an ordered list of rules (queues, order confirmation), rules run in priority order and the first match decides the outcome; later rules do not run for that record.
Where rules are used
Section titled “Where rules are used”- Ticket rules match a single ticket or attendee.
- Order rules match a whole order.